2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml / XmlDocumentType.cs
1 //\r
2 // System.Xml.XmlDocumentType.cs\r
3 //\r
4 // Author: Duncan Mak (duncan@ximian.com)\r
5 //\r
6 // (C) Ximian, Inc.\r
7 //\r
8 \r
9 namespace System.Xml\r
10 {\r
11         public class XmlDocumentType  : XmlLinkedNode\r
12         {\r
13                 // Fields\r
14                 string name;            // name of the document type\r
15                 string publicId;        // public identifier on the DOCTYPE\r
16                 string systemId;        // system identifier on the DOCTYPE\r
17                 string internalSubset;  // value of the DTD internal subset\r
18                 \r
19                 // Constructor\r
20                 protected internal XmlDocumentType (string name, string publicId,\r
21                                                     string systemId, string internalSubset,\r
22                                                     XmlDocument doc)\r
23                         : base (doc)\r
24                 {\r
25                         this.name = name;\r
26                         this.publicId = publicId;\r
27                         this.systemId = systemId;\r
28                         this.internalSubset = internalSubset;\r
29                 }\r
30 \r
31 \r
32                 // Properties\r
33                 [MonoTODO]\r
34                 public XmlNamedNodeMap Entities\r
35                 {\r
36                         get { return null; }\r
37                 }\r
38                         \r
39                 public string InternalSubset\r
40                 {\r
41                         get { return internalSubset; }\r
42                 }\r
43 \r
44                 public override bool IsReadOnly\r
45                 {\r
46                         get { return true; } // always return true\r
47                 }\r
48 \r
49                 public override string LocalName\r
50                 {\r
51                         get { return name; }\r
52                 }\r
53 \r
54                 public override string Name\r
55                 {\r
56                         get { return name; }\r
57                 }\r
58 \r
59                 public override XmlNodeType NodeType\r
60                 {\r
61                         get { return XmlNodeType.DocumentType; }\r
62                 }\r
63 \r
64                 [MonoTODO]\r
65                 public XmlNamedNodeMap Notations\r
66                 {\r
67                         get { return null; }\r
68                 }\r
69 \r
70                 public string PublicId\r
71                 {\r
72                         get { return publicId; }\r
73                 }\r
74 \r
75                 public string SystemId\r
76                 {\r
77                         get { return systemId; }\r
78                 }\r
79 \r
80                 // Methods\r
81                 public override XmlNode CloneNode (bool deep)\r
82                 {\r
83                         // deep is ignored\r
84                         return new XmlDocumentType (name, publicId, systemId,\r
85                                                     internalSubset, OwnerDocument);\r
86                 }\r
87                 \r
88                 public override void WriteContentTo (XmlWriter w)\r
89                 {\r
90                         // No effect\r
91                 }\r
92 \r
93                 [MonoTODO]\r
94                 public override void WriteTo (XmlWriter w)\r
95                 {\r
96                 }\r
97         }\r
98 }\r