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 INodeBuilder (and therefore INodeStore / INodeProvider), 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 (NamespaceId.Xml and NamespaceId.Xmlns) 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.