XmlTextWriter work on BaseStream, WriteState, and Namespaces.
[mono.git] / mcs / class / System.XML / System.Xml / XmlProcessingInstruction.cs
1 //
2 // System.Xml.XmlProcessingInstruction
3 //
4 // Author:
5 //   Kral Ferch <kral_ferch@hotmail.com>
6 //
7 // (C) 2002 Kral Ferch
8 //
9
10 using System;
11
12 namespace System.Xml
13 {
14         public class XmlProcessingInstruction : XmlLinkedNode
15         {
16                 string target;
17                 string data;
18
19                 #region Constructors
20
21                 protected internal XmlProcessingInstruction (string target, string data, XmlDocument doc) : base(doc)
22                 {
23                         this.target = target;
24                         this.data = data;
25                 }
26
27                 #endregion
28
29                 #region Properties
30
31                 public string Data
32                 {
33                         get { return data; }
34
35                         set { data = value; }
36                 }
37
38                 [MonoTODO]
39                 public override string InnerText
40                 {
41                         get { throw new NotImplementedException (); }
42                         set { throw new NotImplementedException (); }
43                 }
44
45                 public override string LocalName
46                 {
47                         get { return target; }
48                 }
49
50                 public override string Name
51                 {
52                         get { return target; }
53                 }
54
55                 public override XmlNodeType NodeType
56                 {
57                         get { return XmlNodeType.ProcessingInstruction; }
58                 }
59                 
60                 public string Target
61                 {
62                         get { return target; }
63                 }
64
65                 public override string Value
66                 {
67                         get { return data; }
68                         set {
69                                 if (this.IsReadOnly)
70                                         throw new ArgumentException ("This node is read-only.");
71                                 else
72                                         data = value;
73                         }
74                 }
75
76                 #endregion
77
78                 #region Methods
79
80                 public override XmlNode CloneNode (bool deep)
81                 {
82                         return new XmlProcessingInstruction (target, data, OwnerDocument);
83                 }
84
85                 public override void WriteContentTo (XmlWriter w) { }
86
87                 public override void WriteTo (XmlWriter w)
88                 {
89                         w.WriteProcessingInstruction (target, data);
90                 }
91
92                 #endregion
93         }
94 }