public DTMXPathDocument (XmlNameTable nameTable, DTMXPathLinkedNode [] nodes, DTMXPathAttributeNode [] attributes, DTMXPathNamespaceNode [] namespaces, Hashtable idTable) { this.nameTable = nameTable; this.nodes = nodes; this.attributes = attributes; this.namespaces = namespaces; this.idTable = idTable; }
public DTMXPathDocumentWriter (XmlNameTable nt, int defaultCapacity) { nameTable = nt == null ? new NameTable () : nt; nodeCapacity = defaultCapacity; attributeCapacity = nodeCapacity; idTable = new Hashtable (); nodes = new DTMXPathLinkedNode [nodeCapacity]; attributes = new DTMXPathAttributeNode [attributeCapacity]; namespaces = new DTMXPathNamespaceNode [0]; Init (); }
public DTMXPathDocument (XmlNameTable nameTable, DTMXPathLinkedNode [] nodes, DTMXPathAttributeNode [] attributes, DTMXPathNamespaceNode [] namespaces, Hashtable idTable) { root = new DTMXPathNavigator (this, nameTable, nodes, attributes, namespaces, idTable); }
public DTMXPathNavigator (DTMXPathDocument document, XmlNameTable nameTable, DTMXPathLinkedNode [] nodes, DTMXPathAttributeNode [] attributes, DTMXPathNamespaceNode [] namespaces, Hashtable idTable) { this.nodes = nodes; this.attributes = attributes; this.namespaces = namespaces; this.idTable = idTable; this.nameTable = nameTable; this.MoveToRoot (); this.document = document; }
private void Init (XmlReader reader, XmlSpace space, int defaultCapacity) { this.xmlReader = reader; this.validatingReader = reader as XmlValidatingReader; lineInfo = reader as IXmlLineInfo; this.xmlSpace = space; this.nameTable = reader.NameTable; nodeCapacity = defaultCapacity; attributeCapacity = nodeCapacity; idTable = new Hashtable (); nodes = new DTMXPathLinkedNode [nodeCapacity]; attributes = new DTMXPathAttributeNode [attributeCapacity]; namespaces = new DTMXPathNamespaceNode [0]; Compile (); }
// Followings are skipped: nextNsNode (may be next attribute in the same element, or ancestors' nsNode) public void AddNsNode (int declaredElement, string name, string ns, int nextNs) { if (namespaces.Length < nsIndex + 1) { nsCapacity *= 4; SetNsArrayLength (nsCapacity); } #if DTM_CLASS namespaces [nsIndex] = new DTMXPathNamespaceNode (); #endif namespaces [nsIndex].DeclaredElement = declaredElement; namespaces [nsIndex].Name = name; namespaces [nsIndex].Namespace = ns; namespaces [nsIndex].NextNamespace = nextNs; }
private void SetNsArrayLength (int size) { DTMXPathNamespaceNode [] newArr = new DTMXPathNamespaceNode [size]; Array.Copy (namespaces, newArr, System.Math.Min (size, namespaces.Length)); namespaces = newArr; }