Home

Awesome

XCST — eXtensible C-Sharp Templates

XCST is a language optimized for the production of XML and other formats. It's a more general-purpose version of XSLT.

See the project home for more information.

Build status Tests

Packages Built From This Repository

PackageDescriptionTargets
Xcst.CompilerCompilation API. Use this package to translate your XCST programs into C# or Visual Basic code..NET 4.6
Xcst.RuntimeRuntime and evaluation API..NET 4.6, .NET Core 2.0, .NET Standard 2.0

System Requirements

The compiler is written in XSLT 2 (depends on Saxon-HE) and sits behind a .NET 4.6 API. This means you need Windows to compile, but can run anywhere. The compiler produces code that is compatible with C# 6 and Visual Basic 14, although template rules are not useful unless you use C# 7 or higher.

The release script (which creates the NuGet packages) and other utility scripts are written in PowerShell 5.1.

The XCST schema is written in Relax NG and converted to XSD using Trang, which requires Java.

Building

Run the following commands to build everything (source and tests).

# restore packages
.\build\restore-packages.ps1

# build solution
MSBuild