2 // System.Xml.XmlTextWriter
5 // Kral Ferch <kral_ferch@hotmail.com>
14 public abstract class XmlWriter
18 private WriteState ws = WriteState.Start;
19 private XmlNamespaceManager namespaceManager = new XmlNamespaceManager (new NameTable ());
25 protected XmlWriter () { }
31 public abstract WriteState WriteState { get; }
33 public abstract string XmlLang { get; }
35 public abstract XmlSpace XmlSpace { get; }
41 public abstract void Close ();
43 public abstract void Flush ();
45 public abstract string LookupPrefix (string ns);
48 public virtual void WriteAttributes (XmlReader reader, bool defattr)
50 throw new NotImplementedException ();
53 public void WriteAttributeString (string localName, string value)
55 WriteAttributeString ("", localName, "", value);
58 public void WriteAttributeString (string localName, string ns, string value)
60 WriteAttributeString ("", localName, ns, value);
63 public void WriteAttributeString (string prefix, string localName, string ns, string value)
65 if ((prefix == "xmlns") || (localName == "xmlns"))
68 WriteStartAttribute (prefix, localName, ns);
72 if ((prefix == "xmlns") || (localName == "xmlns"))
74 if (prefix == "xmlns")
75 namespaceManager.AddNamespace (localName, ns);
77 namespaceManager.AddNamespace ("", ns);
81 public abstract void WriteBase64 (byte[] buffer, int index, int count);
83 public abstract void WriteBinHex (byte[] buffer, int index, int count);
85 public abstract void WriteCData (string text);
87 public abstract void WriteCharEntity (char ch);
89 public abstract void WriteChars (char[] buffer, int index, int count);
91 public abstract void WriteComment (string text);
93 public abstract void WriteDocType (string name, string pubid, string sysid, string subset);
95 public void WriteElementString (string localName, string value)
97 WriteStartElement(localName);
102 public void WriteElementString (string localName, string ns, string value)
104 WriteStartElement(localName, ns);
109 public abstract void WriteEndAttribute ();
111 public abstract void WriteEndDocument ();
113 public abstract void WriteEndElement ();
115 public abstract void WriteEntityRef (string name);
117 public abstract void WriteFullEndElement ();
119 public abstract void WriteName (string name);
121 public abstract void WriteNmToken (string name);
124 public virtual void WriteNode (XmlReader reader, bool defattr)
126 throw new NotImplementedException ();
129 public abstract void WriteProcessingInstruction (string name, string text);
131 public abstract void WriteQualifiedName (string localName, string ns);
133 public abstract void WriteRaw (string data);
135 public abstract void WriteRaw (char[] buffer, int index, int count);
137 public void WriteStartAttribute (string localName, string ns)
139 WriteStartAttribute ("", localName, ns);
142 public abstract void WriteStartAttribute (string prefix, string localName, string ns);
144 public abstract void WriteStartDocument ();
146 public abstract void WriteStartDocument (bool standalone);
148 public void WriteStartElement (string localName)
150 WriteStartElement (String.Empty, localName, String.Empty);
153 public void WriteStartElement (string localName, string ns)
155 WriteStartElement (String.Empty, localName, ns);
158 public abstract void WriteStartElement (string prefix, string localName, string ns);
160 public abstract void WriteString (string text);
162 public abstract void WriteSurrogateCharEntity (char lowChar, char highChar);
164 public abstract void WriteWhitespace (string ws);