using System; namespace System.Xml { /// /// /// /// /* * Section 2.5 of the XML spec says... [Definition: Comments may appear anywhere in a document outside other markup; in addition, they may appear within the document type declaration at places allowed by the grammar. They are not part of the document's character data; an XML processor may, but need not, make it possible for an application to retrieve the text of comments. For compatibility, the string "--" (double-hyphen) must not occur within comments.] Parameter entity references are not recognized within comments. Note that the grammar does not allow a comment ending in --->. Comment ::=   '' */ public class XmlComment : XmlCharacterData { // Private data members // public properties public override string InnerText { get { // TODO - implement XmlComment.InnerText.get throw new NotImplementedException(); } set { // TODO - implement XmlComment.InnerText.set throw new NotImplementedException(); } } public override string LocalName { get { return "#comment"; } } public override string Name { get { return "#comment"; } } public override string Value { get { return Fvalue; } set { // TODO - Do our well-formedness checks on Value.set? (no) Fvalue = value; } } // Public Methods public override XmlNode CloneNode(bool deep) { // TODO - implement XmlComment.CloneNode(bool) throw new NotImplementedException(); } public override void WriteContentTo(XmlWriter w) { // TODO - implement XmlComment.WriteContentTo(XmlWriter) throw new NotImplementedException(); } public override void WriteTo(XmlWriter w) { // TODO - implement XmlComment.WriteTo(XmlWriter) throw new NotImplementedException(); } // Internal methods /// /// Returns an exception object if passed text is not well-formed. /// Text is passed without introductory syntax elements. /// For comments, the leading "" should be stripped. /// /// /// private XmlException wellFormed(string data, XmlInputSource src) { if (data.IndexOf("--") != -1) return new XmlException("Invalid characters (\"--\") in comment", src); if (data[0] == '-') return new XmlException("Invalid comment beginning ()", src); return null; } // Constructors internal XmlComment(XmlDocument aOwner, string txt, XmlInputSource src) : base(aOwner) { XmlException e = wellFormed(txt, src); if ( e == null ) { Fvalue = txt; } else throw e; } } }