{
#region Fields
- private XmlElement ownerElement;
private XmlLinkedNode lastChild;
private string localName;
private string namespaceURI;
#region Constructor
+ [MonoTODO("need to set namespaceURI if prefix is recognized built-in ones like xmlns")]
protected internal XmlAttribute (
string prefix,
string localName,
#region Properties
- [MonoTODO]
public override string BaseURI {
get {
- throw new NotImplementedException ();
+ return OwnerElement.BaseURI;
}
}
}
}
- [MonoTODO]
+ [MonoTODO ("Setter.")]
public override string InnerXml {
get {
- throw new NotImplementedException ();
+ // Not sure why this is an override. Passing through for now.
+ return base.InnerXml;
}
set {
public virtual XmlElement OwnerElement {
get {
- return ownerElement;
+ return base.ParentNode as XmlElement;
}
}
}
}
+ [MonoTODO]
+ // We gotta do more in the set block here
+ // We need to do the proper tests and throw
+ // the correct Exceptions
public override string Prefix {
+ set {
+ prefix = value;
+ }
+
get {
return prefix;
}
public override XmlNode CloneNode (bool deep)
{
- if (deep) { // recursively clone the subtree
- XmlNode node = FirstChild; // Attributes have no ParentNodes
-
+ XmlNode node = new XmlAttribute (prefix, localName, namespaceURI,
+ OwnerDocument);
+ if (deep) {
while ((node != null) && (node.HasChildNodes)) {
- AppendChild (node.NextSibling.CloneNode (false));
+ AppendChild (node.NextSibling.CloneNode (true));
node = node.NextSibling;
}
+ }
- return node;
- } else
- return new XmlAttribute (prefix, localName, namespaceURI,
- OwnerDocument);
- }
-
- internal void SetOwnerElement (XmlElement ownerElement)
- {
- this.ownerElement = ownerElement;
+ return node;
}
- [MonoTODO]
- public override void WriteContentTo(XmlWriter w)
+ public override void WriteContentTo (XmlWriter w)
{
- throw new NotImplementedException ();
+ w.WriteString (Value);
}
- [MonoTODO]
- public override void WriteTo(XmlWriter w)
+ public override void WriteTo (XmlWriter w)
{
- throw new NotImplementedException ();
+ w.WriteAttributeString (prefix, localName, namespaceURI, Value);
}
#endregion
internal override XmlLinkedNode LastLinkedChild {
- get {
- return lastChild;
- }
+ get { return lastChild; }
- set {
- lastChild = value;
- }
+ set { lastChild = value; }
}
}
}