Base class for all XML nodes.
This is intended to track the DOM Core level 2 specification as much as is practically possible.
http://www.w3.org/TR/DOM-Level-2-Core/core.html
var nodeValue: String?
The value of this node, depending on its type. When it is defined to be null, setting it has no effect.
var parentNode: XNode?
The parent of this node. All nodes, except Attr, Document, DocumentFragment, Entity, and Notation may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, this is null.
var childNodes: [XNode]
A NodeList that contains all children of this node. If there are no children, this is a NodeList containing no nodes.
var ownerDocument: XDocument?
The Document object associated with this node. This is also the Document object used to create new nodes. When this node is a Document or a DocumentType which is not used with any Document yet, this is null.
var namespaceURI: String?
The namespace URI of this node, or null if it is unspecified.
This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time.
For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null.
var localName: String?
Returns the local part of the qualified name of this node.
For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null.