2 // System.Xml.XmlSignificantWhitespace.cs
5 // Duncan Mak (duncan@ximian.com)
7 // (C) Ximian, Inc. http://www.ximian.com
11 using System.Xml.XPath;
15 public class XmlSignificantWhitespace : XmlCharacterData
18 protected internal XmlSignificantWhitespace (string strData, XmlDocument doc)
24 public override string LocalName {
25 get { return "#significant-whitespace"; }
28 public override string Name {
29 get { return "#significant-whitespace"; }
32 public override XmlNodeType NodeType {
33 get { return XmlNodeType.SignificantWhitespace; }
36 internal override XPathNodeType XPathNodeType {
38 return XPathNodeType.SignificantWhitespace;
42 public override string Value {
45 if (IsValidWhitespaceChar (value) == false)
46 throw new ArgumentException ("Invalid whitespace characters.");
52 public override XmlNode CloneNode (bool deep)
54 return new XmlSignificantWhitespace (Data, OwnerDocument);
57 public override void WriteContentTo (XmlWriter w) {}
59 public override void WriteTo (XmlWriter w)
61 w.WriteWhitespace (Data);
64 private bool IsValidWhitespaceChar (string text)
66 foreach (char c in text)
67 if ((c != ' ') && (c != '\r') && (c != '\n') && (c != '\t'))