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

csharp
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.