d2e9fa10717aa4045d88aa780bf8a09896553d2e
[mono.git] / mcs / class / System.XML / System.Xml.Schema / XmlSchema.cs
1 // Author: Dwivedi, Ajay kumar\r
2 //            Adwiv@Yahoo.com\r
3 // Author: Dwivedi, Ajay kumar\r
4 //            Adwiv@Yahoo.com\r
5 using System;\r
6 using System.Xml;\r
7 using System.IO;\r
8 using System.Xml.Serialization;\r
9 using System.ComponentModel;\r
10 \r
11 namespace System.Xml.Schema\r
12 {\r
13         /// <summary>\r
14         /// Summary description for XmlSchema.\r
15         /// </summary>\r
16         [XmlRoot] \r
17         public class XmlSchema : XmlSchemaObject\r
18         {\r
19                 //public constants\r
20                 public const string InstanceNamespace = "http://www.w3.org/2001/XMLSchema-instance";\r
21                 public const string Namespace = "http://www.w3.org/2001/XMLSchema";\r
22 \r
23                 //private fields\r
24                 private XmlSchemaForm attributeFormDefault ;\r
25                 private XmlSchemaObjectTable attributeGroups ;\r
26                 private XmlSchemaObjectTable attributes ;\r
27                 private XmlSchemaDerivationMethod blockDefault ;\r
28                 private XmlSchemaForm elementFormDefault ;\r
29                 private XmlSchemaObjectTable elements ;\r
30                 private XmlSchemaDerivationMethod finalDefault ;\r
31                 private XmlSchemaObjectTable groups ;\r
32                 private string id ;\r
33                 private XmlSchemaObjectCollection includes ;\r
34                 private bool isCompiled ;\r
35                 private XmlSchemaObjectCollection items ;\r
36                 private XmlSchemaObjectTable notations ;\r
37                 private XmlSchemaObjectTable schemaTypes ;\r
38                 private string targetNamespace ;\r
39                 private XmlAttribute[] unhandledAttributes ;\r
40                 private string version ;\r
41 \r
42 \r
43                 public XmlSchema()\r
44                 {\r
45                         attributeFormDefault= XmlSchemaForm.None;\r
46                         blockDefault            = XmlSchemaDerivationMethod.None;\r
47                         elementFormDefault      = XmlSchemaForm.None;\r
48                         finalDefault            = XmlSchemaDerivationMethod.None;\r
49                         includes                        = new XmlSchemaObjectCollection();\r
50                         isCompiled                      = false;\r
51                         items                           = new XmlSchemaObjectCollection();\r
52                 }\r
53                 [DefaultValue(XmlSchemaForm.None)]\r
54                 [XmlAttribute]\r
55                 public XmlSchemaForm AttributeFormDefault \r
56                 {\r
57                         get{ return attributeFormDefault; }\r
58                         set{ this.attributeFormDefault = value;}\r
59                 }\r
60                 [XmlIgnore]\r
61                 public XmlSchemaObjectTable AttributeGroups \r
62                 {\r
63                         get{ return attributeGroups; }\r
64                 }\r
65                 [XmlIgnore]\r
66                 public XmlSchemaObjectTable Attributes \r
67                 {\r
68                         get{ return attributes;}\r
69                 }\r
70                 [DefaultValue(XmlSchemaDerivationMethod.None)]\r
71                 [XmlAttribute]\r
72                 public XmlSchemaDerivationMethod BlockDefault \r
73                 {\r
74                         get{ return blockDefault;}\r
75                         set{ blockDefault = value;}\r
76                 }\r
77                 [DefaultValue(XmlSchemaForm.None)]\r
78                 [XmlAttribute]\r
79                 public XmlSchemaForm ElementFormDefault \r
80                 {\r
81                         get{ return elementFormDefault;}\r
82                         set{ elementFormDefault = value;}\r
83                 }\r
84                 [XmlIgnore]\r
85                 public XmlSchemaObjectTable Elements \r
86                 {\r
87                         get{ return elements;}\r
88                 }\r
89                 [DefaultValue(XmlSchemaDerivationMethod.None)]\r
90                 [XmlAttribute]\r
91                 public XmlSchemaDerivationMethod FinalDefault \r
92                 {\r
93                         get{ return finalDefault;}\r
94                         set{ finalDefault = value;}\r
95                 }\r
96                 [XmlIgnore]\r
97                 public XmlSchemaObjectTable Groups \r
98                 {\r
99                         get{ return groups;}\r
100                 }\r
101                 [XmlAttribute]\r
102                 public string Id \r
103                 {\r
104                         get{ return id;}\r
105                         set{ id = value;}\r
106                 }\r
107                 [XmlElement]\r
108                 public XmlSchemaObjectCollection Includes \r
109                 {\r
110                         get{ return includes;}\r
111                 }\r
112                 [XmlIgnore]\r
113                 public bool IsCompiled \r
114                 {\r
115                         get{ return isCompiled;}\r
116                 }\r
117                 [XmlElement]\r
118                 public XmlSchemaObjectCollection Items \r
119                 {\r
120                         get{ return items;}\r
121                 }\r
122                 [XmlIgnore]\r
123                 public XmlSchemaObjectTable Notations \r
124                 {\r
125                         get{ return notations;}\r
126                 }\r
127                 [XmlIgnore]\r
128                 public XmlSchemaObjectTable SchemaTypes \r
129                 {\r
130                         get{ return schemaTypes;}\r
131                 }\r
132                 [XmlAttribute]\r
133                 public string TargetNamespace \r
134                 {\r
135                         get{ return targetNamespace;}\r
136                         set{ targetNamespace = value;}\r
137                 }\r
138                 [XmlAnyAttribute]\r
139                 public XmlAttribute[] UnhandledAttributes \r
140                 {\r
141                         get{ return unhandledAttributes;}\r
142                         set{ unhandledAttributes = value;}\r
143                 }\r
144                 [XmlAttribute]\r
145                 public string Version \r
146                 {\r
147                         get{ return version;}\r
148                         set{ version = value;}\r
149                 }\r
150 \r
151                 // Methods\r
152                 [MonoTODO]\r
153                 public void Compile(System.Xml.Schema.ValidationEventHandler validationEventHandler)\r
154                 {\r
155                 }\r
156 \r
157                 public static XmlSchema Read(TextReader reader, ValidationEventHandler validationEventHandler)\r
158                 {\r
159                         return Read(new XmlTextReader(reader),validationEventHandler);\r
160                 }\r
161                 public static XmlSchema Read(Stream stream, ValidationEventHandler validationEventHandler)\r
162                 {\r
163                         return Read(new XmlTextReader(stream),validationEventHandler);\r
164                 }\r
165                 [MonoTODO]\r
166                 public static XmlSchema Read(XmlReader reader, ValidationEventHandler validationEventHandler)\r
167                 {\r
168                         return null;\r
169                 }\r
170 \r
171                 public void Write(System.IO.Stream stream)\r
172                 {\r
173                         Write(new XmlTextWriter(stream,null),null);\r
174                 }\r
175                 public void Write(System.IO.TextWriter writer)\r
176                 {\r
177                         Write(new XmlTextWriter(writer),null);\r
178                 }\r
179                 public void Write(System.Xml.XmlWriter writer)\r
180                 {\r
181                         Write(writer,null);\r
182                 }\r
183                 public void Write(System.IO.Stream stream, System.Xml.XmlNamespaceManager namespaceManager)\r
184                 {\r
185                         Write(new XmlTextWriter(stream,null),namespaceManager);\r
186                 }\r
187                 public void Write(System.IO.TextWriter writer, System.Xml.XmlNamespaceManager namespaceManager)\r
188                 {\r
189                         Write(new XmlTextWriter(writer),namespaceManager);\r
190                 }\r
191                 [MonoTODO]\r
192                 public void Write(System.Xml.XmlWriter writer, System.Xml.XmlNamespaceManager namespaceManager)\r
193                 {\r
194                 }\r
195         }\r
196 }\r