Realtin.Xdsl
1.0.0
See the version list below for details.
dotnet add package Realtin.Xdsl --version 1.0.0
NuGet\Install-Package Realtin.Xdsl -Version 1.0.0
<PackageReference Include="Realtin.Xdsl" Version="1.0.0" />
<PackageVersion Include="Realtin.Xdsl" Version="1.0.0" />
<PackageReference Include="Realtin.Xdsl" />
paket add Realtin.Xdsl --version 1.0.0
#r "nuget: Realtin.Xdsl, 1.0.0"
#:package Realtin.Xdsl@1.0.0
#addin nuget:?package=Realtin.Xdsl&version=1.0.0
#tool nuget:?package=Realtin.Xdsl&version=1.0.0
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 | Versions 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. |
-
.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.