PhoenixmlDb.XQuery
INodeStore
Adapter that wraps a delegate into the interface. Extended node provider with read-only tree navigation capabilities. Adds namespace resolution and attribute access beyond basic node lookup.
#INodeStore
Namespace: PhoenixmlDb.XQuery
Adapter that wraps a
delegate into the
interface.
Extended node provider with read-only tree navigation capabilities. Adds namespace resolution and attribute access beyond basic node lookup.
Provides a lightweight way to supply node resolution without implementing a full class. Useful for testing, in-memory scenarios, or bridging to existing lookup functions.
Implement this interface when functions like
fn:path
,
fn:id
, or
fn:xml-to-json
need to navigate the tree and resolve namespace URIs. The XSLT and XQuery engines each provide their own implementations backed by their respective node stores.
#Example
var provider = new DelegateNodeProvider(id => myStore.LoadNode(id));
var engine = new QueryEngine(nodeProvider: provider);
#Methods
#GetAttributes(PhoenixmlDb.Xdm.Nodes.XdmElement)
Returns the attributes of an element node.
Parameters:
-
element— The element whose attributes to return.
Returns: The element's attributes, resolved from its attribute ID list.
#GetNamespaceUri(PhoenixmlDb.Core.NamespaceId)
Resolves a
to its namespace URI string.
Parameters:
-
id— The namespace identifier to resolve.
Returns: The namespace URI, or null if the identifier is unknown.