2 // System.Xml.XmlLinkedNode
5 // Jason Diamond <jason@injektilo.org>
6 // Kral Ferch <kral_ferch@hotmail.com>
8 // (C) 2002 Jason Diamond, Kral Ferch
15 public abstract class XmlLinkedNode : XmlNode
19 XmlLinkedNode nextSibling;
20 XmlLinkedNode lastLinkedChild;
25 internal XmlLinkedNode(XmlDocument doc) : base(doc) { }
31 public override XmlNode NextSibling
34 if(ParentNode == null) {
37 else if (Object.ReferenceEquals(nextSibling, ParentNode.LastLinkedChild.NextLinkedSibling) == false) {
46 internal XmlLinkedNode NextLinkedSibling
48 get { return nextSibling; }
49 set { nextSibling = value; }
52 public override XmlNode PreviousSibling
55 if (ParentNode != null) {
56 XmlNode node = ParentNode.FirstChild;
59 if (node.NextSibling == this)
61 } while ((node = node.NextSibling) != null);
68 // copied this way from XmlElement
69 internal override XmlLinkedNode LastLinkedChild
71 get { return lastLinkedChild; }
72 set { lastLinkedChild = value; }