System.XML: added null arguments validation for targetType and namespaceResolver...
[mono.git] / mcs / class / System.XML / System.Xml.Schema / XmlSchemaAnnotated.cs
old mode 100755 (executable)
new mode 100644 (file)
index 88af9fa..a9f788a
@@ -1,43 +1,77 @@
-// Author: Dwivedi, Ajay kumar\r
-//            Adwiv@Yahoo.com\r
-using System;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Xml.Schema\r
-{\r
-       /// <summary>\r
-       /// Summary description for XmlSchemaAnnotated.\r
-       /// </summary>\r
-\r
-       public class XmlSchemaAnnotated : XmlSchemaObject\r
-       {\r
-               private XmlSchemaAnnotation annotation;\r
-               private string id;\r
-               private XmlAttribute[] unhandledAttributes;\r
-\r
-               public XmlSchemaAnnotated()\r
-               {}\r
-               \r
-               [XmlElement("annotation",Namespace="http://www.w3.org/2001/XMLSchema")]\r
-               public XmlSchemaAnnotation Annotation \r
-               { \r
-                       get{ return  annotation; } \r
-                       set{ annotation = value; } \r
-               }\r
-               \r
-               [System.Xml.Serialization.XmlAttribute("id")]\r
-               public string Id \r
-               { \r
-                       get{ return  id; } \r
-                       set{ id = value; } \r
-               }\r
-               \r
-               [XmlAnyAttribute]\r
-               public XmlAttribute[] UnhandledAttributes \r
-               { \r
-                       get{ return unhandledAttributes; } \r
-                       set{ unhandledAttributes = value; } \r
-               }\r
-       }\r
-}\r
+// Author: Dwivedi, Ajay kumar
+//            Adwiv@Yahoo.com
+
+//
+// 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;
+using System.Collections;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Xml.Schema
+{
+       /// <summary>
+       /// Summary description for XmlSchemaAnnotated.
+       /// </summary>
+
+       public class XmlSchemaAnnotated : XmlSchemaObject
+       {
+               private XmlSchemaAnnotation annotation;
+               private string id;
+               private XmlAttribute[] unhandledAttributes;
+
+               public XmlSchemaAnnotated()
+               {}
+               
+               [System.Xml.Serialization.XmlAttribute("id", DataType="ID")]
+               public string Id 
+               { 
+                       get{ return  id; } 
+                       set{ id = value; } 
+               }
+               
+               [XmlElement("annotation", Type=typeof(XmlSchemaAnnotation))]
+               public XmlSchemaAnnotation Annotation 
+               { 
+                       get{ return  annotation; } 
+                       set{ annotation = value; } 
+               }
+               
+               [XmlAnyAttribute]
+               public XmlAttribute[] UnhandledAttributes 
+               { 
+                       get
+                       {
+                               if(unhandledAttributeList != null)
+                               {
+                                       unhandledAttributes = (XmlAttribute[]) unhandledAttributeList.ToArray(typeof(XmlAttribute));
+                                       unhandledAttributeList = null;
+                               }
+                               return unhandledAttributes;
+                       }
+                       set
+                       { 
+                               unhandledAttributes = value; 
+                               unhandledAttributeList = null;
+                       }
+               }
+       }
+}