XmlEntityReference.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // System.Xml.XmlEntityReference.cs
  3. // Author:
  4. // Duncan Mak ([email protected])
  5. //
  6. // (C) Ximian, Inc. http://www.ximian.com
  7. //
  8. using System;
  9. namespace System.Xml
  10. {
  11. public class XmlEntityReference : XmlLinkedNode
  12. {
  13. string entityName;
  14. // Constructor
  15. protected internal XmlEntityReference (string name, XmlDocument doc)
  16. : base (doc)
  17. {
  18. entityName = name;
  19. }
  20. // Properties
  21. [MonoTODO]
  22. public override string BaseURI {
  23. get { throw new NotImplementedException (); }
  24. }
  25. public override bool IsReadOnly {
  26. get { return true; }
  27. }
  28. public override string LocalName {
  29. get { return entityName; } // name of the entity referenced.
  30. }
  31. public override string Name {
  32. get { return entityName; } // name of the entity referenced.
  33. }
  34. public override XmlNodeType NodeType {
  35. get { return XmlNodeType.EntityReference; }
  36. }
  37. public override string Value {
  38. get { return null; } // always return null here.
  39. set {
  40. throw new XmlException ("entity reference cannot be set value.");
  41. }
  42. }
  43. // Methods
  44. public override XmlNode CloneNode (bool deep)
  45. {
  46. // API docs: "The replacement text is not included." XmlNode.CloneNode
  47. // "The replacement text is set when node is inserted." XmlEntityReference.CloneNode
  48. //
  49. return new XmlEntityReference ("", OwnerDocument);
  50. }
  51. public override void WriteContentTo (XmlWriter w)
  52. {
  53. // nothing to write for this object.
  54. }
  55. public override void WriteTo (XmlWriter w)
  56. {
  57. w.WriteRaw("&");
  58. w.WriteName(Name);
  59. w.WriteRaw(";");
  60. }
  61. }
  62. }