71c2aad390cae30676fcc69f901d86746d6ec303
[mono.git] / mcs / class / System.XML / System.Xml.Schema / XmlSchemaCollection.cs
1 // Author: Dwivedi, Ajay kumar\r
2 //            Adwiv@Yahoo.com\r
3 using System;\r
4 using System.Collections;\r
5 using System.Xml;\r
6 \r
7 \r
8 namespace System.Xml.Schema\r
9 {\r
10         /// <summary>\r
11         /// Summary description for XmlSchemaCollection.\r
12         /// </summary>\r
13         public sealed class XmlSchemaCollection : ICollection, IEnumerable\r
14         {\r
15                 //private fields\r
16                 private Hashtable htable;\r
17                 private XmlNameTable ntable;\r
18 \r
19                 [MonoTODO]\r
20                 public XmlSchemaCollection()\r
21                 {\r
22                         htable = new Hashtable();\r
23                         ntable = new NameTable();\r
24                 }\r
25                 public XmlSchemaCollection(XmlNameTable nametable)\r
26                 {\r
27                         htable = new Hashtable();\r
28                         ntable = nametable;\r
29                 }\r
30 \r
31                 //properties\r
32                 public int Count \r
33                 { \r
34                         get\r
35                         { \r
36                                 return this.htable.Count; \r
37                         }\r
38                 }\r
39                 public XmlSchema this[ string ns ] \r
40                 { \r
41                         get\r
42                         {\r
43                                 return (XmlSchema) this.htable[ns];\r
44                         }\r
45                 }\r
46                 public XmlNameTable NameTable \r
47                 { \r
48                         get\r
49                         {\r
50                                 return this.ntable;\r
51                         }\r
52                 }\r
53 \r
54                 // Events\r
55                 public event ValidationEventHandler ValidationEventHandler;\r
56 \r
57                 // Methods\r
58                 [MonoTODO]\r
59                 public XmlSchema Add(string ns, XmlReader reader)\r
60                 {\r
61                         return null;\r
62                 }\r
63                 [MonoTODO]\r
64                 public XmlSchema Add(string ns, string uri)\r
65                 {\r
66                         return null;\r
67                 }\r
68                 [MonoTODO]\r
69                 public XmlSchema Add(XmlSchema schema)\r
70                 {\r
71                         return null;\r
72                 }\r
73 \r
74                 public void Add(XmlSchemaCollection schema)\r
75                 {\r
76                         XmlSchemaCollectionEnumerator xenum = schema.GetEnumerator();\r
77                         while(xenum.MoveNext())\r
78                         {\r
79                                 this.Add(xenum.Current);\r
80                         }\r
81                 }\r
82 \r
83                 public bool Contains(string ns)\r
84                 {\r
85                         return this.htable.Contains(ns);\r
86                 }\r
87                 public bool Contains(System.Xml.Schema.XmlSchema schema)\r
88                 {\r
89                         return this.htable.Contains(schema.TargetNamespace); \r
90                 }\r
91                 public void CopyTo(System.Xml.Schema.XmlSchema[] array, int index)\r
92                 {\r
93 \r
94                 }\r
95                 public XmlSchemaCollectionEnumerator GetEnumerator()\r
96                 {\r
97                         return new XmlSchemaCollectionEnumerator(this.htable);\r
98                 }\r
99                 \r
100                 //assembly Methods\r
101                 [MonoTODO]\r
102                 void ICollection.CopyTo(Array array, int index)\r
103                 {\r
104                 }\r
105                 bool ICollection.IsSynchronized\r
106                 {\r
107                         get { return false; }\r
108                 }\r
109                 IEnumerator IEnumerable.GetEnumerator()\r
110                 {\r
111                         return this.htable.GetEnumerator();\r
112                 }\r
113                 Object ICollection.SyncRoot\r
114                 {\r
115                         get { return this; }\r
116                 }\r
117         }\r
118 }\r