Realtin.Xdsl
1.0.1
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
<PackageReference Include="Realtin.Xdsl" Version="1.0.1" />
<PackageVersion Include="Realtin.Xdsl" Version="1.0.1" />
<PackageReference Include="Realtin.Xdsl" />
paket add Realtin.Xdsl --version 1.0.1
#r "nuget: Realtin.Xdsl, 1.0.1"
#:package Realtin.Xdsl@1.0.1
#addin nuget:?package=Realtin.Xdsl&version=1.0.1
#tool nuget:?package=Realtin.Xdsl&version=1.0.1
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.
Added Enum serialization support, improved resource handling methods, and refactored code for better readability and maintainability.