X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.XML%2FSystem.Xml%2FXmlEntityReference.cs;h=c6f94cf1bb61e420c3e39a36f25c7c378bd4f401;hb=c93d3354b46284b461b8e2328d222262d9a9f96f;hp=3ab2706aa59466591787a3a938b65eeedf364376;hpb=04639cc5f046d3176208c63d3cdf88b33a139f5e;p=mono.git diff --git a/mcs/class/System.XML/System.Xml/XmlEntityReference.cs b/mcs/class/System.XML/System.Xml/XmlEntityReference.cs index 3ab2706aa59..c6f94cf1bb6 100644 --- a/mcs/class/System.XML/System.Xml/XmlEntityReference.cs +++ b/mcs/class/System.XML/System.Xml/XmlEntityReference.cs @@ -1,17 +1,75 @@ +// +// System.Xml.XmlEntityReference.cs +// Author: +// Duncan Mak (duncan@ximian.com) +// +// (C) Ximian, Inc. http://www.ximian.com +// + using System; namespace System.Xml { - /// - /// - /// - public class XmlEntityReference + public class XmlEntityReference : XmlLinkedNode { - // Private data members - - // public properties + string entityName; + // Constructor + protected internal XmlEntityReference (string name, XmlDocument doc) + : base (doc) + { + entityName = name; + } + + // Properties + [MonoTODO] + public override string BaseURI { + get { throw new NotImplementedException (); } + } + + public override bool IsReadOnly { + get { return true; } + } + + public override string LocalName { + get { return entityName; } // name of the entity referenced. + } + + public override string Name { + get { return entityName; } // name of the entity referenced. + } + + public override XmlNodeType NodeType { + get { return XmlNodeType.EntityReference; } + } + + public override string Value { + get { return null; } // always return null here. + set { + throw new XmlException ("entity reference cannot be set value."); + } + } + + // Methods + public override XmlNode CloneNode (bool deep) + { + + // API docs: "The replacement text is not included." XmlNode.CloneNode + // "The replacement text is set when node is inserted." XmlEntityReference.CloneNode + // + return new XmlEntityReference ("", OwnerDocument); + } + + public override void WriteContentTo (XmlWriter w) + { + // nothing to write for this object. + } - // Public Methods + public override void WriteTo (XmlWriter w) + { + w.WriteRaw("&"); + w.WriteName(Name); + w.WriteRaw(";"); + } } }