C# (CSharp) MS.Internal.Xml.Cache Namespace

Classes

Name Description
XPathDocumentBaseIterator Base internal class of all XPathDocument XPathNodeIterator implementations.
XPathDocumentBuilder Implementation of XmlRawWriter that builds nodes in an XPathDocument.
XPathDocumentBuilder.NodePageFactory Allocates pages of nodes for the XPathDocumentBuilder. The initial pages and arrays are fairly small. As each page fills, a new page that is twice as big is allocated. The max size of a page is 65536 nodes, since XPathNode indexes are 16-bits.
XPathDocumentBuilder.TextBlockBuilder This class concatenates adjacent text blocks and tracks TextBlockType and line number information.
XPathDocumentElementChildIterator Iterate over all element children with a particular QName.
XPathDocumentElementDescendantIterator Iterate over all element descendants with a particular QName.
XPathDocumentKindChildIterator Iterate over all content children with a particular XPathNodeType.
XPathDocumentKindDescendantIterator Iterate over all content descendants with a particular XPathNodeType.
XPathDocumentNavigator This is the default XPath/XQuery data model cache implementation. It will be used whenever the user does not supply his own XPathNavigator implementation.
XPathNode Implementation of a Node in the XPath/XQuery data model. 1. All nodes are stored in variable-size pages (max 65536 nodes/page) of XPathNode structuSR. 2. Pages are sequentially numbered. Nodes are allocated in strict document order. 3. Node references take the form of a (page, index) pair. 4. Each node explicitly stores a parent and a sibling reference. 5. If a node has one or more attributes and/or non-collapsed content children, then its first child is stored in the next slot. If the node is in the last slot of a page, then its first child is stored in the first slot of the next page. 6. Attributes are linked together at the start of the child list. 7. Namespaces are allocated in totally separate pages. Elements are associated with declared namespaces via a hashtable map in the document. 8. Name parts are always non-null (string.Empty for nodes without names) 9. XPathNodeInfoAtom contains all information that is common to many nodes in a document, and therefore is atomized to save space. This includes the document, the name, the child, sibling, parent, and value pages, and the schema type. 10. The node structure is 20 bytes in length. Out-of-line overhead is typically 2-4 bytes per node.
XPathNodeHelper Library of XPathNode helper routines.
XPathNodeInfoAtom
XPathNodeInfoTable An atomization table for XPathNodeInfoAtom.
XPathNodePageInfo
XPathNodeRef A reference to a XPathNode is composed of two values: the page on which the node is located, and the node's index in the page.