creative, Metrology, Post

Document Structure Language

Basic Notation

There are 5 basic objects in DocSL: the Metadocument, the Document, Items, Lines, and Bullets.

The Metadocument is the DocSL file itself, upon which is written the various Items and Bullets used to describe the structure of the final endproduct.

The Document is the rendered endproduct that the Metadocument is describing.

An Item is the basic element that makes up a Metadocument. It denotes a particular object in the Document.

  • “Hard Items” are items that visibly render on the Document; these are placed inside square brackets [ ].

    The Unicode code points for these objects are

    [ (Hexadecimal) / [ (Decimal)

    ] (Hexadecimal) / ] (Decimal)

    Examples include grids, images, titles, etc.

  • “Soft Items” are items that invisibly render on the Document. These are placed inside angle brackets < >.

    The Unicode code points for these objects are

    &#x3008; (Hexadecimal) / &#12296; (Decimal)

    &#x3009; (Hexadecimal) / &#12297; (Decimal)

    Examples include spaces, formatting marks, etc.

A Line is an intrinsic property of the Metadocument. Whereas many Documents have distinct rows upon which things may be written, in a Metadocument they are defined slightly different.

Unlike in most Western instances of the Document, a Line as rendered on the Metadocument need not be above or below Items on other Lines. A Line is denoted with a Bullet (see next description); thus, while the Document will always be much more organized in terms of the positioning of its rows versus its content, the Metadocument can still display items from different Lines on the same row.

However, although it is not required, placing a Line above or below an object per conventional lines may still be preferred, depending on the aesthetic or structural needs of a particular document; not adhering to this convention may also create unwanted clutter as well. For these reasons, structuring the Metadocument as closely as reasonably possible to the 1-Line-per-row ideal is encouraged, and deviations fromt his standard should be used sparingly and only when necessary.

A Bullet, as defined above, is exactly that: a bullet point. It is used to denote the start of a new Line in the Metadocument.

The Unicode code point for this object is

BULLET U+2022;
&#x2022; (Hexadecimal) / &#8226; (Decimal)


Items Available in DocSL Version 1.0

For the first public version of DocSL, there are 15 Hard Items and 10 Soft Items.

Type Name Written As Description
Hard Items
1 Title TITLE Denotes the title of a work (if applicable)
2 Subtitle SUBTITLE Denotes the subtitle of a work (if applicable)
3 Front Matter FRONTMATTER Denotes any front matter not including the title or subtitle
4 Heading HEADING Denotes a text heading
5 Text TEXT Denotes text
6 Paph PARAGRAPH Denotes a paragraph; can be used in combination with or in lieu of TEXT
7 List LIST Denotes an ordered or unordered list
8 Code CODE Denotes code text, either markup, programming, or cryptographic
9 Equation EQUATION Denotes a mathematical equation
10 Formula FORMULA Denotes a mathematical or other formula
11 Table TABLE Denotes a table, such as this one
12 Grid GRID Denotes a 2- or 3-dimensional grid
13 Graph GRAPH Denotes a mathematical graph
14 Diagram DIAGRAM Denotes a diagram (e.g. flowchart, pyramid chart, etc.)
15 Image IMAGE Denotes an image

Type Name Written As Description
Soft Items
1 Multiple Space MULTIPLESPACE Denotes a group of spaces (SPACE U+0020)
2 Fraction Space FRACTIONSPACE Denotes a fraction of a space (SPACE U+0020)
3 Zero-Width Space ZEROWIDTHSPACE Denotes a zero-width space
4 Paragraph Mark PARAGRAPHMARK Denotes a paragraph mark (PILCROW SIGN U+00B6)
5 Direction Mark DIRECTIONMARK Denotes either a Left-to-Right Mark (U+200E) or a Right-to-Left Mark (U+200F)
6 Line Break LINEBREAK Denotes a line break
7 Page Break PAGEBREAK Denotes a page break
8 Field FIELD Denotes placeholders for variable content
9 Header HEADER Denotes a header
10 Footer FOOTER Denotes a footer



Image Credit:

Original work released under a CC BY-SA 4.0 International license.

Text in image uses “EB Garamond” & “Inconsolata”, a serif and monospace typeface released by Georg Duffner and Raph Levien, respectively.

Both typefaces are licensed under the SIL Open Font License version 1.1.