Realtin.Xdsl 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Realtin.Xdsl --version 1.0.1
                    
NuGet\Install-Package Realtin.Xdsl -Version 1.0.1
                    
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="Realtin.Xdsl" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Realtin.Xdsl" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Realtin.Xdsl" />
                    
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 Realtin.Xdsl --version 1.0.1
                    
#r "nuget: Realtin.Xdsl, 1.0.1"
                    
#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 Realtin.Xdsl@1.0.1
                    
#: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=Realtin.Xdsl&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Realtin.Xdsl&version=1.0.1
                    
Install as a Cake Tool

Realtin.Xdsl

A lightweight, high-performance XML-like Domain Specific Language (XDSL) library for .NET.

Features

  • Fast and memory-efficient XDSL document parsing and writing
  • Support for elements, attributes, tags, and comments
  • Resource loading capabilities
  • Streaming support for large documents
  • Indented and non-indented output formats
  • Async operations support
  • Docker integration ready
  • Benchmarking tools included

Project Structure

The solution consists of three main projects:

  • Realtin.Xdsl: Core library containing the base XDSL implementation
  • Realtin.Xdsl.Experimental: Extended features and experimental implementations
  • Realtin.Xdsl.Lab: Benchmarking and testing project for performance analysis

Getting Started

Installation

Add a reference to the Realtin.Xdsl package in your project:

<PackageReference Include="Realtin.Xdsl" Version="1.0.0" />

Basic Usage

// Create a new XDSL document
var document = new XdslDocument();
// Create and add elements 
var root = document.CreateElement("root", element => { element.CreateElement("child", child => { child.AddAttribute("name", "value"); child.Text = "Hello XDSL!"; }); });
// Write document to string 
string output = document.WriteToString(indented: true);

Key Components

XdslElement

Base class for all XDSL elements, supporting:

  • Hierarchical node structure
  • Attribute management
  • Resource loading
  • Text content

XdslDocument

Represents an XDSL document with capabilities for:

  • Loading and saving documents
  • Managing document structure
  • Version control
  • Document type specification

XdslTextWriter

Provides efficient writing capabilities with:

  • Indented output support
  • Streaming capabilities
  • StringBuilder integration
  • Performance optimizations

Performance

The library is designed with performance in mind:

  • Aggressive inlining of critical methods
  • Minimal allocations
  • Optional pooling for frequently used objects
  • Optimized string operations

Requirements

  • .NET Standard 2.1 or higher
  • C# 13.0 features supported
  • Docker (optional, for containerized testing)

License

GNU GENERAL PUBLIC LICENSE - See LICENSE file for details

Authors

  • Realtin (CodingBoson)
  • BosonWare Technologies

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.3.1 329 8/5/2025
1.2.0 174 7/12/2025
1.0.1 219 6/29/2025
1.0.0 184 6/22/2025

Added Enum serialization support, improved resource handling methods, and refactored code for better readability and maintainability.