io7m
io7m-jstructural 4.2.0
1.1
Orientation
1.1.1
Overview
1
The jstructural package implements a set of primitives for producing technical documentation. The package provides a RELAX-NG schema describing the format of structural documents and a set of Java tools for producing XHTML 1.0 Strict output.
2
In contrast to other systems such as DocBook, the structural language only defines elements concerning the structure of the document and not the semantics of the elements. The intention is that higher level languages will produce structural documents as output and then use the provided stylesheets to get various services such as table of contents generation, chapter numbering, footnotes, et cetera, without having to re-implement all of those features for each new language.
3
The document you are currently reading was defined in the structural language.
1.1.2
Portability
1
The provided structural to XHTML translator is written in pure Java and should be usable on any JVM that supports Java 6 and newer.
1.1.3
Simplicity
1
As the structural language focuses only on structural elements, it is far simpler than any of the other XML documentation formats. As an example, DocBook, which mixes structural and semantic elements, defines nearly 400 elements as opposed to the 30 or so defined by the structural language.
2
Given the small number of elements and the relatively strict schema, the number of possible permutations of elements is low and, as a result, the XHTML output is easily predictable [0].

[0]
There are various combinations of DocBook elements that are valid according to the schema but cannot realistically be used due to the resulting XHTML output.