PhoenixmlDb.XSLT
XdmInMemoryStore
In-memory backing the XSLT engine's XDM tree. Exposed publicly so callers can construct an XDM source tree externally (e.g. via XmlDocumentParser), pass it into overloads that accept an + store, and then chain the typed result back into another transformation without serializing through XML markup.
#XdmInMemoryStore
Namespace: PhoenixmlDb.Xslt
In-memory backing the XSLT engine's XDM tree. Exposed publicly so callers can construct an XDM source tree externally (e.g. via XmlDocumentParser), pass it into overloads that accept an + store, and then chain the typed result back into another transformation without serializing through XML markup.
Implements (and therefore / ), so the same store satisfies both XSLT and XQuery engines. NodeIds and NamespaceIds allocated by this store are scoped to the store instance — they are not portable across stores. The store starts with the well-known XML and XMLNS namespace IDs pre-registered ( and ) so that node trees built externally see the same canonical mappings the engine uses.
#Methods
#AdvanceNextIdBy(UInt64)
Advances the internal NodeId counter by . Used after an external allocator (e.g. XmlDocumentParser) has claimed a contiguous range starting at .
#EnumerateAttributes(PhoenixmlDb.Xdm.Nodes.XdmElement)
Allocation-free attribute iteration: returns a struct enumerator that walks by index (no boxed IEnumerator) and looks up each attribute in the store. Use this on hot paths where the alternative is the yield-iterator state machine.
#PeekNextId
Returns the next NodeId that would be allocated, without consuming it. Used by callers that need to hand the value to an allocator (e.g. XmlDocumentParser) before reserving the range via .
#RegisterKnownNamespace(PhoenixmlDb.Core.NamespaceId,String)
Registers a well-known NamespaceId → URI mapping (does not allocate a new ID).
#Remove(PhoenixmlDb.Core.NodeId)
Removes a node from the store. Used by streaming execution to free temporary nodes after they have been processed.