PhoenixmlDb.XSLT

XsltTransformProvider

Implements using the public API, enabling fn:transform() from XQuery to run XSLT transformations.

#XsltTransformProvider

Namespace: PhoenixmlDb.Xslt

Implements using the public API, enabling fn:transform() from XQuery to run XSLT transformations.

#Properties

Name Description
PreloadedResources Optional pre-fetched contents for URIs that stylesheet-location would otherwise need to fetch over HTTP synchronously. Required on Blazor WebAssembly which cannot block the calling thread for sync HTTP — without this, fn:transform from XQuery hits and throws FOXT0001.

#Methods

#ParseResultToXdmAsync(String,PhoenixmlDb.XQuery.INodeStore,String)

Parses a result XML string back to an XDM document node using the context's node store, or returns the string if the node store doesn't support building or the XML is malformed.

#ReanchorCrossStoreResult(Object,PhoenixmlDb.XQuery.INodeBuilder)

Walks the raw result from TransformToValueAsync, re-parsing any wrappers into the caller's so the returned nodes carry NodeIds that the XQuery side can navigate. Without this, raw-delivery node results reach XQuery anchored to the (now-dying) inner XSLT engine's store; outer-side child navigation, path(), and serialization all return wrong/empty values.

#SerializeNode(PhoenixmlDb.Xdm.Nodes.XdmNode,PhoenixmlDb.XQuery.INodeStore)

Serializes an XDM node to XML markup using the node store from the execution context.

#TransformAsync(Collections.Generic.IDictionary<Object,Object>,PhoenixmlDb.XQuery.Ast.ExecutionContext)