Skip to content

maxtoroq/XCST

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

986 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

NuGet Packages Built From This Repository

Package Targets
Xcst.Compiler
Compilation API. Use this package to translate your XCST programs into C# or Visual Basic code.
.NET Framework 4.6 / .NET Core 2.0 / .NET Standard 2.0
Xcst.Runtime
Runtime and evaluation API.
.NET Framework 4.6 / .NET Core 2.0 / .NET Standard 2.0

Documentation

The documentation can be found at the project home.

About v2

v2 is the main branch for major version 2. See v1 for version 1 (no longer maintained).

The main focuses of v2 has been porting the compiler from XSLT to XCST and refining the language. While the runtime is not backwards compatible (programs compiled against v1 must be recompiled to run on v2), it is largely compatible because the implementation code is basically the same.

The compiler can generate code for runtime v1 or v2 (the default), but it supports only the latest language, and there are breaking changes. New language features that require special runtime support are not supported when targeting the v1 runtime.

Tests now run on .NET Core and compatibility with this framework is the priority.

What's New

Breaking Changes

Language

Compiler

Runtime

System Requirements

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 XCST schema is written in Relax NG and converted to XSD using Trang, which requires Java.

About

eXtensible C-Sharp Templates

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors