- `awk`
- `cat`
+- `cksum`
- `cp`
- `date`
- `echo`
⛩️📰 书社 comes with some parsers; namely :—
- **`parsers/plain.xslt`:**
- Wraps `text/plain` contents in a `<html:pre class="plain">` element.
+ Wraps `text/plain` contents in a `<html:pre>` element.
- **`parsers/record-jar.xslt`:**
- Converts `text/record-jar` contents into a
- `<html:div class="record-jar">` of `<html:dl>` elements (one for
- each record).
+ Converts `text/record-jar` contents into a `<html:div>` of
+ `<html:dl>` elements (one for each record).
- **`parsers/tsv.xslt`:**
- Converts `text/tab-separated-values` contents into an
- `<html:table class="tsv">` element.
+ Converts `text/tab-separated-values` contents into an `<html:table>`
+ element.
New ⛩️📰 书社 parsers which target plaintext formats should have an
`<xslt:template>` element with no `@name` or `@mode` and whose
namespaced (by `@name` or `@mode`) whenever possible, to avoid
conflicts between parsers.
+### Attributes added during parsing
+
+⛩️📰 书社 will add a few attributes to the output of the parsing step,
+ namely :—
+
+- A `@书社:cksum` attribute on toplevel result elements, giving the
+ `cksum` checksum of the corresponding source file.
+
+- For the elements which result from parsing plaintext `<html:script>`
+ elements :—
+
+ - A `@书社:parsed-by` attribute, giving a space‐separated list of
+ parsers which parsed the node.
+ (Generally, this will be a list of one, but it is possible for the
+ result of a parse to be another plaintext node, which may be
+ parsed by a different parser.)
+
+ - A `@书社:media-type` attribute, giving the identified media type of
+ the plaintext node.
+
## Embedding
Documents can be embedded in other documents using a `<书社:link>`
- **`BUILDTIME`:**
The current time.
+- **`CKSUM`:**
+ The checksum of the source file (⅌ `cksum`).
+
- **`GENERATOR`:**
The value of the `GENERATOR` variable (if present).