The xtpxlib-xdoc component contains the following XProc 3.0 pipelines:
Module/Pipeline | Description |
---|---|
docbook-to-pdf.xpl | This turns Docbook (5.1) into a PDF using FOP. |
docbook-to-xhtml.xpl | This turns Docbook (5.1) into XHTML. |
xdoc-to-docbook.xpl | XProc 3.0 pipeline that transforms a DocBook source containing xdoc extensions into "pure" DocBook format. |
xdoc-to-pdf.xpl | Convenience pipeline: Combines the xdoc-to-docbook and the docbook-to-pdf steps in one. |
xdoc-to-xhtml.xpl | Convenience pipeline: Combines the xdoc-to-docbook and the docbook-to-xhtml steps in one. |
docbook-to-pdf.xpl
This turns Docbook (5.1) into a PDF using FOP.
All necessary xdoc
pre-processing (usually with xdoc-to-docbook.xpl) must have been done.
It will only convert a partial DocBook tagset.
If you don't use xdoc-to-docbook.xpl, you have to make sure to get correct xml:base
attributes in, so the pipeline can find includes and images. The following XProc (1.0) code takes care of that:
<p:xinclude> <p:with-option name="fixup-xml-base" select="true()"/> </p:xinclude> <p:add-attribute attribute-name="xml:base" match="/*"> <p:with-option name="attribute-value" select="/reference/to/source/document.xml"/> </p:add-attribute>
Port | Type | Primary? | Description |
---|---|---|---|
source | in | yes | The Docbook source document, fully expanded (with appropriate xml:base attributes) |
result | out | yes | A small report thingie |
docbook-to-xhtml.xpl
File: xpl3/docbook-to-xhtml.xpl
This turns Docbook (5.1) into XHTML.
All necessary xdoc
pre-processing (usually with xdoc-to-docbook.xpl) must have been done.
It will only convert a partial DocBook tagset.
The resulting XHTML will not be directly useable, post-processing the result into a complete and correct HTML page is necessary. The result of this pipeline consists of nested div
elements. There is no surrounding html
or body
element.
xdoc-to-docbook.xpl
File: xpl3/xdoc-to-docbook.xpl
XProc 3.0 pipeline that transforms a DocBook source containing xdoc
extensions into "pure" DocBook format.
Port | Type | Primary? | Description |
---|---|---|---|
source | in | yes | The DocBook source with xdoc extensions |
result | out | yes | The resulting DocBook. |
Option | Type | Rq? | Default | Description |
---|---|---|---|---|
alttarget | xs:string? | () | The target for applying alternate settings. | |
href-parameters | xs:string? | () | Optional reference to a document with parameter settings. See here for details. | |
parameter-filters-map | map(xs:string, xs:string) | map{} | Optional filter settings for processing the parameters. |
xdoc-to-pdf.xpl
Convenience pipeline: Combines the xdoc-to-docbook and the docbook-to-pdf steps in one.
Port | Type | Primary? | Description |
---|---|---|---|
source | in | yes | The Docbook source, with option al xdoc extensions. |
result | out | yes | A small report thingie |
Option | Type | Rq? | Default | Description |
---|---|---|---|---|
alttarget | xs:string? | () | The target for applying alternate settings. | |
chapter-id | xs:string | '' | Specific chapter identifier to output. | |
create-pdf | xs:boolean | true() | Whether to actually create the PDF. | |
fop-config | xs:string | resolve-uri('../../xtpxlib-common/data/fop-default-config.xml', static-base-uri()) | Reference to the FOP configuration file | |
global-resources-directory | xs:string? | () | Images that are tagged as role="global" are searched here (discarding any directory information in the image's URI) | |
href-docbook | xs:string? | () | If set, writes the intermediate full DocBook to this href (so you can inspect it when things go wrong) | |
href-parameters | xs:string? | () | Optional reference to a document with parameter settings. See here for details. | |
href-pdf | xs:string | yes |
| The name of the resulting PDF file, as a URI (an absolute path must have file:// in front). |
href-xsl-fo | xs:string? | () | If set, writes the intermediate XSL-FO to this href (so you can inspect it when things go wrong in FOP) | |
main-font-size | xs:integer | 10 | Main font size as an integer. Usual values somewhere between 8 and 10. | |
output-type | xs:string | 'a4' | Output type. Use either a4 or sb (= standard book size) | |
parameter-filters-map | map(xs:string, xs:string) | map{} | Optional filter settings for processing the parameters. | |
preliminary-version | xs:boolean | false() | If true , adds a preliminary version marker and output any db:remark elements. If false , output of db:remark elements will be suppressed. |
xdoc-to-xhtml.xpl
Convenience pipeline: Combines the xdoc-to-docbook and the docbook-to-xhtml steps in one.
Port | Type | Primary? | Description |
---|---|---|---|
source | in | yes | The Docbook source, with option al xdoc extensions. |
result | out | yes | The resulting XHTML. |
Option | Type | Rq? | Default | Description |
---|---|---|---|---|
add-identifiers | xs:boolean | true() | Add identifiers to elements when no @xml:id is present. | |
add-numbering | xs:boolean | true() | Add numbering to sections, tables, examples, etc. | |
add-roles-as-classes | xs:boolean | true() | Add any roles as classes to the end result. | |
alttarget | xs:string? | () | The target for applying alternate settings. | |
create-header | xs:boolean | true() | Create some header construct | |
href-docbook | xs:string? | () | If set, writes the intermediate full DocBook to this href (so you can inspect it when things go wrong) | |
href-parameters | xs:string? | () | Optional reference to a document with parameter settings. See here for details. | |
parameter-filters-map | map(xs:string, xs:string) | map{} | Optional filter settings for processing the parameters. |
Module/Pipeline | Description |
---|---|
xtpxlib-xdoc.mod.xpl | Library with support pipelines for xdoc and related conversions. |
xtpxlib-xdoc.mod.xpl
File: xpl3mod/xtpxlib-xdoc.mod/xtpxlib-xdoc.mod.xpl
Library with support pipelines for xdoc
and related conversions.
xdoc:markdown-to-docbook
Converts the contents of xdoc:MARKDOWN
elements into DocBook.
This pipeline checks the incoming XML for xdoc:MARKDOWN
elements. The contents of these elements is assumed to contain Markdown. The pipeline tries to convert this into DocBook. The xdoc:MARKDOWN
element is removed/unwrapped.
The contents of an xdoc:MARKDOWN
element is stringified (so any child elements are lost).
The resulting text can be indented, using space characters only (no tabs!). The non-empty line with the minimum indent is assumed to be its left margin.
If you add an header-only="true"
attribute to the xdoc:MARKDOWN
element, only the first paragraph will be output.