1 // -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
3 // System.Xml.XmlAttribute
6 // Daniel Weber (daniel-weber@austin.rr.com)
8 // (C) 2001 Daniel Weber
15 /// Summary description for XmlAttribute.
17 public class XmlAttribute : XmlNode
19 // ============ private data structures ==============================
20 private XmlNode FOwnerElement;
25 //==== Public Properties ====================================================
28 /// Returns the local name of the attribute. For attributes, this is the same as Name
30 public override string LocalName
39 /// Get the qualified attribute name. Attributes do not have an associated namespace.
41 public override string Name
50 /// Override. Returns the node type.
52 public override XmlNodeType NodeType
56 return XmlNodeType.Attribute;
61 /// Retrieve the XmlElement owner of this attribute, or null if attribute not assigned
63 public virtual XmlElement OwnerElement
67 if (FOwnerElement.NodeType == XmlNodeType.Element)
68 return FOwnerElement as XmlElement;
75 /// Get/Set the value for this node
77 public override string Value
90 //============== Public Methods =============================================
93 /// Return a clone of the node
95 /// <param name="deep">Make copy of all children</param>
96 /// <returns>Cloned node</returns>
97 public override XmlNode CloneNode( bool deep)
99 // TODO - implement XmlAttribute.CloneNode()
100 throw new NotImplementedException();
104 /// Saves all children of the current node to the passed writer
106 /// <param name="w"></param>
107 public override void WriteContentTo(XmlWriter w)
109 // TODO - implement XmlAttribute.WriteContentsTo(XmlWriter)
110 throw new NotImplementedException();
114 /// Saves the current node to writer w
116 /// <param name="w"></param>
117 public override void WriteTo(XmlWriter w)
119 // TODO - implement XmlAttribute.WriteTo(XmlWriter)
120 throw new NotImplementedException();
123 // ============ Internal methods ====================================
124 internal void setOwnerElement( XmlElement newOwnerElement)
126 FOwnerElement = newOwnerElement;
129 // ============ Constructors =========================================
130 internal XmlAttribute ( XmlDocument aOwner, // owner document
131 string attributeName, // cannot be ""
132 string attValue) : base(aOwner)
135 throw new ArgumentException("Null OwnerDocument passed to XmlAttribute constructor");
136 if (attributeName.Length == 0)
137 throw new ArgumentException("Empty string passed to XmlAttribute constructor");
139 FOwnerElement = null;
140 FattrName = attributeName;
141 FattrValue = attValue;