X-Git-Url: https://git.ladys.computer/Shushe/blobdiff_plain/03f9773767ae7811289561abe5162e8b04578991..d64d93fe12371f87cc42d72e7e874115b28fb252:/README.markdown?ds=inline diff --git a/README.markdown b/README.markdown index 573fb86..6b4f06e 100644 --- a/README.markdown +++ b/README.markdown @@ -102,6 +102,7 @@ In every case, you may supply your own implementation by overriding the - `awk` - `cat` +- `cksum` - `cp` - `date` - `echo` @@ -213,11 +214,8 @@ The following additional variables can be used to control the behaviour A white·space‐separated list of media types to consider X·M·L (default: `application/xml text/xml`). -- **`GENERATOR`:** - The name of the generator program (default: `⛩️📰 书社`). - -- **`VERSION`:** - The current version of `GENERATOR` (default: derived from the current +- **`THISREV`:** + The current version of ⛩️📰 书社 (default: derived from the current git tag/branch/commit). - **`SRCREV`:** @@ -271,16 +269,15 @@ Parsers are used to convert plaintext files into X·M·L trees, as well ⛩️📰 书社 comes with some parsers; namely :⁠— - **`parsers/plain.xslt`:** - Wraps `text/plain` contents in a `` element. + Wraps `text/plain` contents in a `` element. - **`parsers/record-jar.xslt`:** - Converts `text/record-jar` contents into a - `` of `` elements (one for - each record). + Converts `text/record-jar` contents into a `` of + `` elements (one for each record). - **`parsers/tsv.xslt`:** - Converts `text/tab-separated-values` contents into an - `` element. + Converts `text/tab-separated-values` contents into an `` + element. New ⛩️📰 书社 parsers which target plaintext formats should have an `` element with no `@name` or `@mode` and whose @@ -346,6 +343,26 @@ It is **strongly recommended** that auxillary templates in parsers be 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 `` + 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>` @@ -431,8 +448,8 @@ The following params are made available globally in parsers and - **`BUILDTIME`:** The current time. -- **`GENERATOR`:** - The value of the `GENERATOR` variable (if present). +- **`CKSUM`:** + The checksum of the source file (⅌ `cksum`). - **`SRCREV`:** The value of the `SRCREV` variable (if present). @@ -440,8 +457,8 @@ The following params are made available globally in parsers and - **`SRCTIME`:** The time at which the source file was last modified. -- **`VERSION`:** - The value of the `VERSION` variable (if present). +- **`THISREV`:** + The value of the `THISREV` variable (if present). The following params are only available in transforms :⁠—