2003-04-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
[mono.git] / mcs / class / System.XML / System.Xml / XmlEntity.cs
1 //
2 // System.Xml.XmlEntity.cs
3 //
4 // Author:
5 //      Duncan Mak  (duncan@ximian.com)
6 //
7 // (C) Ximian, Inc.
8 //
9
10 namespace System.Xml
11 {
12         public class XmlEntity : XmlNode
13         {
14                 #region Constructors
15
16                 internal XmlEntity (string name, string NDATA, string publicId, string systemId,
17                                     XmlDocument doc)
18                         : base (doc)
19                 {
20                         this.name = name;
21                         this.NDATA = NDATA;
22                         this.publicId = publicId;
23                         this.systemId = systemId;
24                         this.baseUri = doc.BaseURI;
25                 }
26
27                 #endregion
28                 
29                 #region Fields
30
31                 string name;
32                 string NDATA;
33                 string publicId;
34                 string systemId;
35                 string baseUri;
36                 XmlLinkedNode lastChild;
37
38                 #endregion
39
40                 #region Properties
41
42                 public override string BaseURI {
43                         get {  return baseUri; }
44                 }
45
46                 [MonoTODO]
47                 public override string InnerText {
48                         get { throw new NotImplementedException (); }
49                         set { throw new InvalidOperationException ("This operation is not supported."); }
50                 }
51
52                 public override string InnerXml {
53                         get { return String.Empty; }
54                         set { throw new InvalidOperationException ("This operation is not supported."); }
55                 }
56
57                 public override bool IsReadOnly {
58                         get { return true; } // always read-only.
59                 }
60
61                 internal override XmlLinkedNode LastLinkedChild {
62                         get { return lastChild; }
63
64                         set { lastChild = value; }
65                 }
66
67                 public override string LocalName {
68                         get { return name; }
69                 }
70
71                 public override string Name {
72                         get { return name; }
73                 }
74
75                 public override XmlNodeType NodeType {
76                         get { return XmlNodeType.Entity; }
77                 }
78
79                 public string NotationName {
80                         get {
81                                 if (NDATA == null)
82                                         return null;
83                                 else
84                                         return NDATA;
85                         }
86                 }
87
88                 public override string OuterXml {
89                         get { return String.Empty; }
90                 }
91
92                 public string PublicId {
93                         get {
94                                 if (publicId == null)
95                                         return null;
96                                 else
97                                         return publicId;
98                         }
99                 }
100
101                 public string SystemId {
102                         get {
103                                 if (publicId == null)
104                                         return null;
105                                 else
106                                         return systemId;
107                         }
108                 }
109                 #endregion
110
111                 #region Methods
112
113                 public override XmlNode CloneNode (bool deep)
114                 {
115                         throw new InvalidOperationException ("This operation is not supported.");
116                 }
117
118                 public override void WriteContentTo (XmlWriter w)
119                 {
120                         // No effect.
121                 }
122
123                 public override void WriteTo (XmlWriter w)
124                 {
125                         // No effect.
126                 }
127
128                 #endregion
129         }
130 }