OpenJade 1.4.2

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

OpenJade and OpenSP for .NET

A port of James Clark's OpenJade and OpenSP from C++ to C#.

OpenSP is the SGML parser, OpenJade the DSSSL style engine built on it: it reads an SGML or XML document, applies a DSSSL stylesheet (ISO/IEC 10179), and writes the result through one of its backends. This port keeps the names, the algorithms and the structure of the original — one C# file for each pair of .h and .cxx — so that the C++ sources remain the reference for how it behaves. They are in upstream/ (OpenJade 1.3.2, OpenSP 1.5.2).

Packages

Package What it is
OpenSP the SGML/XML parser
OpenJade the DSSSL engine with the backends of the original: RTF, HTML, TeX, MIF, and the SGML/XML transformation backend

Both target .NET 10.

Command line

The repository also builds the two programs of the original:

dotnet run --project src/Jade -- -t rtf -d stylesheet.dsl document.xml
dotnet run --project src/Nsgmls -- document.sgm

-t selects the backend: rtf, html, tex, mif, sgml, xml, or fot for the flow object tree.

What is added to the original

One addition lives in this port itself, because the parser has to take it: a part of the full page model of ISO/IEC 10179 (12.6.4, 12.6.5). The original reads define-page-model and define-column-set-model and skips them, and has no page-sequence or column-set-sequence. Here they are taken in the features page and multi-column, restricted: a page model has one region filled top to bottom, a column-set model one column subset with its columns and balance?; page-sequence takes initial-page-models and repeat-page-models, column-set-sequence takes column-set-model and the display characteristics. Everything else of the page model is an error where it is written, and a characteristic outside the subset is allowed with its initial value only. It is all in src/OpenJade/Style/PageModel.cs; the backends get the models through FOTBuilder. The original's backends do not set them.

Messages of the style engine go to the messenger with their location, as in the original; an error in a stylesheet fails the run.

The other additions live in a project of their own, dazzle-net, which builds on these packages:

  • The directory flow object class. The transformation backend of the original writes files (entity); directory creates a directory and makes the entities inside it relative to it, so that a stylesheet can lay out a whole tree of generated files — which is what makes the engine usable as a code generator.
  • A PDF backend, still rudimentary: paragraphs, headings, lists and tables, enough for a book set with the DocBook stylesheets.

License

The license of the original, see LICENSE. Copyright © 1994–1998 James Clark, © 1999, 2002 the OpenJade Project, © 2025 Ralf Schleitzer for the port.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on OpenJade:

Package Downloads
Dazzle.Pdf

DSSSL-to-PDF processor using OpenJade: sets the pages itself and writes them with PDFsharp. Includes table support and a clean DssslProcessor API.

Dazzle

A library for processing DSSSL stylesheets using the OpenJade style engine

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.6.1 0 10/31/2026
1.6.0 0 10/31/2026
1.5.0 145 10/20/2026
1.4.2 113 10/20/2026
1.4.1 104 10/20/2026
1.4.0 154 10/19/2026
1.3.6 223 10/16/2026
1.3.5 116 10/5/2026
1.3.4 385 4/16/2026
1.3.3 510 12/11/2025
1.3.2 480 12/11/2025