PhoenixmlDb.Core 2.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package PhoenixmlDb.Core --version 2.4.0
                    
NuGet\Install-Package PhoenixmlDb.Core -Version 2.4.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PhoenixmlDb.Core" Version="2.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PhoenixmlDb.Core" Version="2.4.0" />
                    
Directory.Packages.props
<PackageReference Include="PhoenixmlDb.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PhoenixmlDb.Core --version 2.4.0
                    
#r "nuget: PhoenixmlDb.Core, 2.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PhoenixmlDb.Core@2.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PhoenixmlDb.Core&version=2.4.0
                    
Install as a Cake Addin
#tool nuget:?package=PhoenixmlDb.Core&version=2.4.0
                    
Install as a Cake Tool

PhoenixmlDb.Core

Core types, interfaces, and XDM (XQuery Data Model) implementation for PhoenixmlDb — a modern embedded XML/JSON document database for .NET.

What's in this package

  • Database interfaces — IDocumentDatabase, IContainer, IDocument for storing and retrieving XML/JSON documents
  • XDM node types — XdmElement, XdmAttribute, XdmDocument, etc. — the W3C XQuery Data Model
  • Transaction model — IReadTransaction, IWriteTransaction with MVCC snapshot isolation
  • Index configuration — path, value, full-text, and metadata indexes for fast queries
  • XML parser and serializer — parse XML into XDM trees and serialize back
  • Atomic value types — dates, times, durations, and other XSD types with correct semantics

When to use this package

Directly: If you're building a storage provider, query engine integration, or tooling that works with XDM types.

Indirectly: This package is a dependency of PhoenixmlDb.XQuery, PhoenixmlDb.Xslt, and the CLI tools. You typically don't reference it alone unless you need the core types without query/transform capabilities.

Quick example

using PhoenixmlDb.Core;
using PhoenixmlDb.Xdm.Parsing;

// Parse XML into an XDM tree
var parser = new XmlDocumentParser();
var result = parser.Parse("<order><item>Widget</item></order>");
var doc = result.Document;

// Navigate the tree
var root = doc.Children[0]; // <order> element
Console.WriteLine(root.StringValue); // "Widget"
Package Description
PhoenixmlDb.XQuery XQuery 4.0 query engine
PhoenixmlDb.Xslt XSLT 4.0 transformation engine
PhoenixmlDb.XQuery.Cli xquery command-line tool
PhoenixmlDb.Xslt.Cli xslt command-line tool

Documentation

Full documentation at phoenixml.dev

License

Apache 2.0

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on PhoenixmlDb.Core:

Package Downloads
PhoenixmlDb.XQuery

XQuery 4.0 query engine for PhoenixmlDb

PhoenixmlDb.Xslt

XSLT 4.0 transformation engine for PhoenixmlDb

Phoenixml.Platform.Editor.Xml

XML/XSD vocabulary binding for Phoenixml.Platform — concrete IDocument and ITreeNodeProvider implementations against PhoenixmlDb.Core's XDM, XSD schema validation pipeline.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.6.0 0 10/20/2026
2.5.0 218 10/13/2026
2.4.0 219 10/9/2026
2.3.0 96 10/8/2026
2.2.0 176 10/6/2026
2.1.0 175 10/5/2026
2.0.0 1,667 9/15/2026
1.7.0 951 9/11/2026
1.6.7 979 8/24/2026
1.6.6 201 8/23/2026
1.6.5 199 8/21/2026
1.6.0 175 8/7/2026
1.5.0 130 8/6/2026
1.4.0 120 8/4/2026
1.3.0 375 7/27/2026
1.2.2 311 7/9/2026
1.2.1 174 7/8/2026
1.2.0 344 6/28/2026
1.1.9 343 6/17/2026
1.1.8 224 6/14/2026
Loading failed

**Breaking**, for code that builds `NodeReader` or reads string values of stored nodes directly.
PhoenixmlDb.XQuery and PhoenixmlDb.Xslt are unaffected.

- **BREAKING: `new NodeReader(buffer)` is removed.** A reader takes a `StringValueResolver`, or
 the caller uses `NodeReader.WithoutStringValueResolver(buffer)` to state that it has none.
- **BREAKING: `XdmNode.StrictStringValue` is on by default.** Reading the string value of a node
 that has children, no computed value and no resolver throws `InvalidOperationException`
 instead of returning `""`, which made string comparisons in cross-document queries silently
 wrong (#4). The AppContext switch `PhoenixmlDb.Xdm.StrictStringValue` = `false` restores the old
 behaviour.
- A node with no children and no resolver has the empty string value.
- **A schema that requires XSD 1.1 says so.** A schema whose `xs:schema` has
 `vc:minVersion="1.1"`, or that uses `xs:assert`, `xs:assertion`, `xs:alternative`,
 `xs:openContent`, `xs:defaultOpenContent` or `xs:override` outside a `vc:` guard, fails with a
 message that names the document and the constructs (for example "xs:assert (71)"), instead of
 "Root element is missing" or System.Xml's generic error. The processor implements XSD 1.0; no
 schema that loaded before stops loading.