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