PhoenixmlDb.Core

PhoenixmlDb.Core API Reference

API documentation for the PhoenixmlDb.Core library

#PhoenixmlDb.Core API Reference

This reference is auto-generated from the .NET XML documentation for the PhoenixmlDb.Core assembly.

#PhoenixmlDb.Core

Type Description
ContainerId A lightweight, strongly-typed identifier for a container within a PhoenixmlDb database.
ContainerInfo Summary information about a container, returned by IDocumentDatabase.ListContainersAsync.
ContainerNotFoundException Thrown when a container with the specified name does not exist in the database.
ContainerOptions Configuration options for an IContainer, controlling indexing, namespace bindings, validation, and whitespace handling.
ContentType Specifies the content format of a stored document.
DatabaseStatistics Aggregate statistics for a PhoenixmlDb database.
DocumentExistsException Thrown when attempting to store a document with a name that already exists and DocumentOptions.Overwrite is set to false.
DocumentId A lightweight, strongly-typed identifier for a document within a container.
DocumentInfo Lightweight summary information about a stored document, returned by IContainer.ListDocumentsAsync and IContainer.QueryMetadataAsync.
DocumentInput One document to write in a batch: name, content, and optional per-document options.
DocumentNotFoundException Thrown when a document with the specified name does not exist in the container.
DocumentOptions Options controlling how a document is stored when calling IContainer.PutDocumentAsync.
DocumentParseException Thrown when document content cannot be parsed as well-formed XML or valid JSON.
FullTextIndexDefinition Defines a full-text index that tokenizes text content for ft:contains() search.
FullTextIndexOptions Controls tokenization and text analysis for full-text indexes created via IndexConfiguration.AddFullTextIndex.
IContainer Primary interaction surface for storing, retrieving, querying, and managing documents within a PhoenixmlDb container.
IDocument Represents a stored document retrieved from a container, providing access to its content, parsed XDM node tree, and application-defined metadata.
IDocumentDatabase Root entry point for all PhoenixmlDb operations.
IReadTransaction A read-only transaction that provides MVCC snapshot isolation over the database.
IWriteTransaction A read-write transaction providing full ACID guarantees for atomic multi-document operations.
IXdmNode Represents a node in the XQuery Data Model (XDM) tree — the parsed, structured representation of a stored XML or JSON document.
IndexConfiguration Provides a fluent API for defining the indexes that accelerate XQuery and metadata queries on a container's documents.
IndexDefinition Abstract base type for all index definitions. Each concrete subtype represents a different index strategy.
MetadataIndexDefinition Defines a metadata index that enables efficient queries by document metadata key-value pairs.
NameIndexDefinition Defines a name index that accelerates element and attribute name lookups.
NamespaceId A lightweight, strongly-typed identifier for an interned namespace URI.
NamespaceRegistry The single source of truth mapping well-known NamespaceId values to their URIs and conventional prefixes.
NodeId A lightweight, strongly-typed identifier for a node within a document's XDM tree.
PathIndexDefinition Defines a path index that accelerates evaluation of XPath path expressions.
QName Represents a qualified name (QName) consisting of a namespace, a local name, and an optional prefix — the XDM representation of element and attribute names.
TransactionException Thrown when a transaction operation fails due to an invalid state or internal error.
TransactionTimeoutException Thrown when a write transaction cannot be acquired within the specified timeout period.
ValidationMode Specifies how documents should be validated when stored in a container.
ValueIndexDefinition Defines a value index that stores typed values for range queries and comparisons.
XQueryException Thrown when an XQuery expression fails to parse or encounters a runtime error during execution.
XdmNodeKind Enumerates the seven node kinds defined by the XQuery Data Model (XDM) specification, plus XdmNodeKind.None as a sentinel value.
XdmValueType Enumerates the XDM (XQuery Data Model) value types that can be used for typed index definitions in IndexConfiguration.AddValueIndex and IndexConfiguration.AddMetadataIndex.
XmlDbException Base exception for all PhoenixmlDb errors. Catch this type to handle any database-related error in a single handler.

#PhoenixmlDb.Core.Metadata

Type Description
DcTerms Dublin Core Terms (http://purl.org/dc/terms/), the standard document-metadata vocabulary.
MetadataCollection All metadata for one document, keyed by qualified name.
MetadataCollectionExtensions Typed access to a MetadataCollection.
MetadataProperty`1 A typed, discoverable handle on one metadata name in one namespace.
PhxMeta Engine-reserved document metadata (https://schemas.phoenixml.dev/2026/meta).

#PhoenixmlDb.Core.Xml

Type Description
IXmlResourceResolver Host-injectable seam for resolving the resources referenced by an XInclude xi:include element (href, optionally combined with parse).
LocalFileResourceResolver Default IXmlResourceResolver implementation: resolves file: (local filesystem) URIs directly and, unless LocalFileResourceResolver.AllowRemote is set, blocks any other scheme (e.g. http:, https:) as a security precaution against server-side-request-forgery via xi:include href.
XIncludeErrorKind Classifies an XIncludeException so callers (and the XSLT/XQuery engine wirings) can map a failure to the appropriate engine error and tests can assert the cause.
XIncludeException Thrown when XInclude processing (xi:include resolution) fails.
XIncludeLimiter Enforces XInclude expansion resource limits (descent depth, produced-node budget) and carries the xpath1() evaluation timeout. One instance is created per XIncludeProcessor.Expand call and threaded through every recursive path, so a bound cannot be silently skipped on one path (the root cause of the resource-safety audit findings). Single-threaded; not reusable.
XIncludeOptions Configures XInclude 1.0 (xi:include) processing.
XIncludeProcessor XInclude 1.0 processor: expands xi:include elements with parse="xml" (structural inclusion) or parse="text" (textual inclusion, SP2) and an href, resolving each reference against the in-scope base URI, recursing into included content, and detecting cyclic / over-deep inclusion.
XPointerEvaluator Resolves an XInclude xpointer/fragid value against a target XmlDocument, per the W3C XPointer Framework: shorthand (barename), element(), xmlns(), and xpath1() schemes. xpath1() uses System.Xml's built-in XPath 1.0 engine. Returns the selected nodes in document order (empty if nothing is selected); throws a fatal XIncludeException for a grammar-invalid pointer or an invalid xpath1() expression.

#PhoenixmlDb.Xdm

Type Description
DayTimeDuration Represents an xs:dayTimeDuration value as a total seconds count using Decimal precision, supporting arbitrarily large durations.
NamespaceBinding A namespace prefix-to-URI binding, representing a single xmlns:prefix="uri" declaration on an element.
TextNodeItem Lightweight text node marker for XSLT sequence accumulators, distinguishing text nodes from atomic string values.
XdmQName Represents an expanded QName (namespace URI + local name + optional prefix), as used throughout the XDM for node names, type names, and function names.
XdmSequence An ordered sequence of XDM items — the public wire-format for passing values between transformations and queries without serializing through XML markup.
XdmType Enumeration of XDM atomic value types, corresponding to the XML Schema (XSD) type hierarchy.
XdmTypeName Represents an XSD type name used for type annotations on elements and attributes.
XdmValue Represents an XDM atomic value — a typed, immutable value from the XPath/XQuery type system.
XsAnyUri Wrapper type for xs:anyURI values, distinguishing them from plain strings at the CLR type level.
XsDate Represents an xs:date value with optional timezone and support for extended years.
XsDateTime Represents an xs:dateTime value with explicit timezone tracking and support for extended years outside the .NET DateTimeOffset range.
XsDuration Represents an xs:duration value with both month and day-time components, preserving the full XSD duration semantics that TimeSpan cannot.
XsGDay Represents an xs:gDay value (e.g., ---25), stored as its lexical form.
XsGMonth Represents an xs:gMonth value (e.g., --12), stored as its lexical form.
XsGMonthDay Represents an xs:gMonthDay value (e.g., --12-25), stored as its lexical form.
XsGYear Represents an xs:gYear value (e.g., 2005), stored as its lexical form.
XsGYearMonth Represents an xs:gYearMonth value (e.g., 2005-10), stored as its lexical form.
XsTime Represents an xs:time value with optional timezone and sub-second precision.
XsTypedInteger Tags an integer-typed atomic value with its declared XSD type name so instance of can distinguish between e.g. xs:long, xs:nonNegativeInteger, xs:positiveInteger, etc. Without this wrapper, all integer subtypes collapse to CLR long, so xs:long(1) instance of xs:nonNegativeInteger incorrectly returns true (the value fits in range, but the declared types are siblings under xs:integer, not parent/child).
XsTypedString Wrapper for XSD string-derived types (xs:normalizedString, xs:token, xs:language, xs:NMTOKEN, xs:Name, xs:NCName, xs:ID, xs:IDREF, xs:ENTITY) that preserves the declared type name for correct instance of semantics.
XsUntypedAtomic Wrapper type for xs:untypedAtomic values, distinguishing them from xs:string at the CLR type level.
YearMonthDuration Represents an xs:yearMonthDuration value as a count of months, implementing correct XML Schema semantics for month-based date arithmetic.

#PhoenixmlDb.Xdm.Nodes

Type Description
XdmAttribute Represents an XML attribute node in the XDM tree.
XdmComment Represents an XML comment node (<!-- ... -->) in the XDM tree.
XdmDocument Represents an XML document root node in the XDM tree.
XdmElement Represents an XML element node in the XDM tree, including its attributes, children, and namespace declarations.
XdmNamespace Represents a namespace node in the XDM tree, corresponding to an in-scope namespace binding on an element.
XdmNode Abstract base class for all XDM (XPath Data Model) nodes, representing the in-memory structure of XML and JSON documents as defined by the W3C XDM specification.
XdmProcessingInstruction Represents an XML processing instruction (<?target data?>) in the XDM tree.
XdmText Represents a text node containing character data content in the XDM tree.

#PhoenixmlDb.Xdm.Nodes.XdmNode

Type Description
XdmStringValueResolver Computes the string value of a node whose value was not known at construction time.

#PhoenixmlDb.Xdm.Parsing

Type Description
ParseResult The result of parsing an XML document via XmlDocumentParser.
XmlDocumentParser Parses XML content (strings, streams, or readers) into an XDM node tree.
XmlSerializer Serializes XDM node trees back to XML text, completing the round-trip from XmlDocumentParser (parse) to in-memory XDM to XML output.

#PhoenixmlDb.Xdm.Parsing.XmlSerializer

Type Description
Utf8StringWriter A StringWriter that reports its encoding as UTF-8.