X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.XML%2FSystem.Xml.Serialization%2FXmlArrayItemAttribute.cs;h=e1f2453e0fef5992c5f10b2175188f7d27992213;hb=363ca995f87b308e585dc410ff80074e8ffb7dc4;hp=adb16b4c2d7d08ac0a012a667fcb10aee00fb8c0;hpb=e50997bcf79b55666538376e90442f3f1a19cd3f;p=mono.git diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlArrayItemAttribute.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlArrayItemAttribute.cs index adb16b4c2d7..e1f2453e0fe 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/XmlArrayItemAttribute.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/XmlArrayItemAttribute.cs @@ -7,6 +7,27 @@ // (C) 2002 John Donagher // +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + using System.Xml.Schema; using System; @@ -23,63 +44,85 @@ namespace System.Xml.Serialization private string elementName; private XmlSchemaForm form; private string ns; - private bool isNullable = true; + private bool isNullable = false; private int nestingLevel; private Type type; - private int order; public XmlArrayItemAttribute () { } public XmlArrayItemAttribute (string elementName) { - ElementName = elementName; + this.elementName = elementName; } + public XmlArrayItemAttribute (Type type) { - Type = type; + this.type = type; } + public XmlArrayItemAttribute (string elementName, Type type) { - ElementName = elementName; - Type = type; + this.elementName = elementName; + this.type = type; } public string DataType { - get { return dataType; } + get { + if (dataType == null) { + return string.Empty; + } + return dataType; + } set { dataType = value; } } + public string ElementName { - get { return elementName; } + get { + if (elementName == null) { + return string.Empty; + } + return elementName; + } set { elementName = value; } } + public XmlSchemaForm Form { get { return form; } set { form = value; } } + public string Namespace { get { return ns; } set { ns = value; } } + public bool IsNullable { get { return isNullable; } set { isNullable = value; } } + public Type Type { get { return type; } set { type = value; } } + public int NestingLevel { get { return nestingLevel; } set { nestingLevel = value; } } - /// - /// Specifies Order in which Memberswill be serialized as Elements. - /// - public int Order + + internal void AddKeyHash (System.Text.StringBuilder sb) { - get{ return order; } - set{ order = value; } + sb.Append ("XAIA "); + KeyHelper.AddField (sb, 1, ns); + KeyHelper.AddField (sb, 2, elementName); + KeyHelper.AddField (sb, 3, form.ToString(), XmlSchemaForm.None.ToString()); + KeyHelper.AddField (sb, 4, isNullable, true); + KeyHelper.AddField (sb, 5, dataType); + KeyHelper.AddField (sb, 6, nestingLevel, 0); + KeyHelper.AddField (sb, 7, type); + sb.Append ('|'); } } }