XmlNotation.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //
  2. // System.Xml.XmlNotation.cs
  3. //
  4. // Author:
  5. // Duncan Mak ([email protected])
  6. //
  7. // (C) Ximian, Inc.
  8. //
  9. using System;
  10. using System.Xml;
  11. namespace System.Xml
  12. {
  13. public class XmlNotation : XmlNode
  14. {
  15. #region Fields
  16. string localName;
  17. string publicId;
  18. string systemId;
  19. string prefix;
  20. #endregion
  21. #region Constructor
  22. internal XmlNotation (string localName, string prefix, string publicId,
  23. string systemId, XmlDocument doc)
  24. : base (doc)
  25. {
  26. this.localName = localName;
  27. this.prefix = prefix;
  28. this.publicId = publicId;
  29. this.systemId = systemId;
  30. }
  31. #endregion
  32. #region Properties
  33. public override string InnerXml {
  34. get { return String.Empty; }
  35. set { throw new InvalidOperationException ("This operation is not allowed."); }
  36. }
  37. public override bool IsReadOnly {
  38. get { return true; } // Notation nodes are always read-only
  39. }
  40. public override string LocalName {
  41. get { return localName; }
  42. }
  43. public override string Name {
  44. get { return prefix + ":" + localName; }
  45. }
  46. public override XmlNodeType NodeType {
  47. get { return XmlNodeType.Notation; }
  48. }
  49. public override string OuterXml {
  50. get { return String.Empty; }
  51. }
  52. public string PublicId {
  53. get {
  54. if (publicId != null)
  55. return publicId;
  56. else
  57. return null;
  58. }
  59. }
  60. public string SystemId {
  61. get {
  62. if (systemId != null)
  63. return systemId;
  64. else
  65. return null;
  66. }
  67. }
  68. #endregion
  69. #region Methods
  70. public override XmlNode CloneNode (bool deep)
  71. {
  72. throw new InvalidOperationException ("This operation is not allowed.");
  73. }
  74. public override void WriteContentTo (XmlWriter w) { } // has no effect.
  75. public override void WriteTo (XmlWriter w) { } // has no effect.
  76. #endregion
  77. }
  78. }