xml.xproc.__processed__html-to-pef.xpl Maven / Gradle / Ivy
HTML to PEF
Transforms a HTML document into a PEF.
Online documentation
- Name:
- Jostein Austvik Jacobsen
- Organization:
- NLB
- E-mail:
- [email protected]
Input HTML
The HTML you want to convert to braille.
Style sheets
A list of XSLT or CSS/SASS style sheets to apply.
Must be a space separated list of URIs, absolute or relative to the input.
Style sheets can also be associated with the source in other ways: linked (using an
['xml-stylesheet' processing instruction](https://www.w3.org/TR/xml-stylesheet) or a ['link'
element](https://www.w3.org/Style/styling-XML#External)), embedded (using a ['style'
element](https://www.w3.org/Style/styling-XML#Embedded)) and/or inlined (using '[style'
attributes](https://www.w3.org/TR/css-style-attr/)).
Style sheets are applied to the document in the following way: XSLT style sheets are applied before
CSS/SASS style sheets. XSLT style sheets are applied one by one, first the ones specified through
this option, then the ones associated with the source document, in the order in which they are
specified.
All CSS/SASS style sheets are applied at once, but the order in which they are specified (first the
ones specified through this option, then the ones associated with the source document) has an
influence on the [cascading order](https://www.w3.org/TR/CSS2/cascade.html#cascading-order).
CSS/SASS style sheets are interpreted according to [braille
CSS](http://braillespecs.github.io/braille-css) rules.
For info on how to use SASS (Syntactically Awesome StyleSheets) see the [SASS
manual](http://sass-lang.com/documentation/file.SASS_REFERENCE.html).
Transformer query
The transformer query.
Include preview
Whether or not to include a preview of the PEF in HTML.
Include plain text file (BRF)
Whether or not to include a plain text ASCII version of the PEF.
Include OBFL
Keeps the intermediary OBFL-file for debugging.
Plain text (BRF) file format
The file format to store the plain text version.
If left blank, the locale information in the input document will be used to select a suitable file format.
ASCII braille table
The ASCII braille table, used to render the PEF preview and, if no plain text file format was specified, the plain text version.
If left blank, the locale information in the input document will be used to select a suitable table.
Page layout: Page width
The number of columns available for printing.
Makes the variable `$page-width` available in style sheets and includes the following rule by default:
~~~sass
@page {
size: $page-width $page-height;
}
~~~
See the CSS specification for more info:
- the [`@page`](http://braillespecs.github.io/braille-css/#h4_the-page-rule) rule
- the [`size`](http://braillespecs.github.io/braille-css/#the-size-property) property
Page layout: Page height
The number of rows available for printing.
Makes the variable `$page-height` available in style sheets and includes the following rule by default:
~~~sass
@page {
size: $page-width $page-height;
}
~~~
See the CSS specification for more info:
- the [`@page`](http://braillespecs.github.io/braille-css/#h4_the-page-rule) rule
- the [`size`](http://braillespecs.github.io/braille-css/#the-size-property) property
Page layout: Duplex
When enabled, will print on both sides of the paper.
Headers/footers: Levels in footer
Specify which headings are rendered in the footer.
Makes the variable `$levels-in-footer` available in style sheets and includes the following rule by
default:
~~~sass
@for $level from 1 through 6 {
@if $levels-in-footer >= $level {
h#{$level} {
string-set: footer content();
}
}
}
~~~
In other words, the `footer` string is updated each time a heading with a level smaller than or
equal to `levels-in-footer` is encountered. In order to use the `footer` string include a rule like
the following in your custom style sheet:
~~~css
@page {
@bottom-center {
content: string(footer);
}
}
~~~
See the CSS specification for more info:
- the [`string-set`](http://braillespecs.github.io/braille-css/#h4_the-string-set-property) property
- the [`@page`](http://braillespecs.github.io/braille-css/#h4_the-page-rule) rule
- the [`string()`](http://braillespecs.github.io/braille-css/#h4_the-string-function) function
Translation/formatting of text: Hyphenation
When enabled, will automatically hyphenate text.
Makes the variable `$hyphenation` available in style sheets and includes the following rule by
default:
~~~sass
@if $hyphenation {
:root {
hyphens: auto;
}
}
~~~
See the CSS specification for more info:
- the [`hyphens`](http://braillespecs.github.io/braille-css/#the-hyphens-property) property
Translation/formatting of text: Line spacing
Single or double line spacing.
Makes the variable `$line-spacing` available in style sheets and includes the following rule by
default:
~~~sass
@if $line-spacing == double {
:root {
line-height: 2;
}
}
~~~
See the CSS specification for more info:
- the [`line-height`](http://braillespecs.github.io/braille-css/#h3_the-line-height-property)
property
Translation/formatting of text: Capital letters
When enabled, will indicate capital letters.
Makes the variable `$capital-letters` available in style sheets and includes the following rule by
default:
~~~sass
@if $capital-letters != true {
:root {
text-transform: lowercase;
}
}
~~~
Block elements: Include captions
When enabled, will include captions for images, tables, and so on.
Makes the variable `$include-captions` available in style sheets and includes the following rule by
default:
~~~sass
caption {
display: if($include-captions, block, none);
}
~~~
Block elements: Include images
When enabled, will include the alt text of the images. When disabled, the images will be completely removed.
Makes the variable `$include-images` available in style sheets and includes the following rule by
default:
~~~sass
@if $include-images {
img::after {
content: attr(alt);
}
}
~~~
Block elements: Include line groups
When disabled, lines in a linegroup are joined together to form one block.
Makes the variable `$include-line-groups` available in style sheets and includes the following rule
by default:
~~~sass
.linegroup .line {
display: if($include-line-groups, block, inline);
}
~~~
Inline elements: Include production notes
When enabled, production notes are included in the content.
Makes the variable `$include-production-notes` available in style sheets and includes the following
rule by default:
~~~sass
.prodnote,
[epub|type~='z3998:production'] {
display: if($include-production-notes, block, none);
}
~~~
Page numbers: Show braille page numbers
When enabled, will number braille pages.
Makes the variable `$show-braille-page-numbers` available in style sheets. In order to use the
variable include a rule like the following in your custom style sheet:
~~~sass
@if $show-braille-page-numbers {
@page {
@top-right {
content: counter(page);
}
}
}
~~~
This will create a page number in the top right corner of every braille page.
See the CSS specification for more info:
- the [`@page`](http://braillespecs.github.io/braille-css/#h4_the-page-rule) rule
- the
[`counter()`](http://braillespecs.github.io/braille-css/#printing-counters-the-counter-function)
function
Page numbers: Show print page numbers
When enabled, will indicate original page numbers.
Makes the variable `$show-print-page-numbers` available in style sheets and includes the following
rule by default:
~~~sass
@if $show-print-page-numbers {
.page-front,
.page-normal,
.page-special,
[epub|type='pagebreak'] {
string-set: print-page attr(title);
}
}
~~~
In order to use the `print-page` string include a rule like the following in your custom style
sheet:
~~~css
@page {
@bottom-right {
content: string(print-page);
}
}
~~~
See the CSS specification for more info:
- the [`string-set`](http://braillespecs.github.io/braille-css/#h4_the-string-set-property) property
- the [`@page`](http://braillespecs.github.io/braille-css/#h4_the-page-rule) rule
- the [`string()`](http://braillespecs.github.io/braille-css/#h4_the-string-function) function
Page numbers: Force braille page break
Force braille page breaks at print page breaks.
Makes the variable `$force-braille-page-break` available in style sheets and includes the following
rule by default:
~~~sass
@if $force-braille-page-break {
.page-front,
.page-normal,
.page-special,
[epub|type='pagebreak'] {
page-break-before: always;
}
}
~~~
See the CSS specification for more info:
- the [`page-break-before`](http://braillespecs.github.io/braille-css/#h4_controlling-page-breaks)
property
Table of contents: Table of contents depth
The depth of the table of contents hierarchy to include. '0' means no table of contents.
A table of contents will be generated from the heading elements present in the document: from `h1`
elements if the specified value for "depth" is 1, from `h1` and `h2` elements if the specified value
is 2, etc. The resulting table of contents has the following nested structure:
~~~xml
<ol id="generated-document-toc">
<li>
<a href="#ch_1">Chapter 1</a>
<list>
<li>
<a href="#ch_1_1">1.1</a>
...
</li>
<li>
<a href="#ch_1_2">1.2</a>
...
</li>
...
</list>
</li>
...
</ol>
~~~
Another one of these is generated but with ID `generated-volume-toc`. `ch_1`, `ch_1_2` etc. are the
IDs of the heading elements from which the list was constructed, and the content of the links are
exact copies of the content of the heading elements. By default the list is not rendered. The list
should be styled and positioned with CSS. The following rules are included by default:
~~~css
#generated-document-toc {
flow: document-toc;
display: -obfl-toc;
-obfl-toc-range: document;
}
#generated-volume-toc {
flow: volume-toc;
display: -obfl-toc;
-obfl-toc-range: volume;
}
~~~
This means that a document range table of contents is added to the named flow called "document-toc",
and a volume range table of contents is added to the named flow called "volume-toc". In order to
consume these named flows use the function `flow()`. For example, to position the document range
table of contents at the beginning of the first volume, and to repeat the volume range table of
content at the beginning of every other volume, include the following additional rules:
~~~css
@volume {
@begin {
content: flow(volume-toc);
}
}
@volume:first {
@begin {
content: flow(document-toc);
}
}
~~~
See the CSS specification for more info:
- the [`display:
obfl-toc`](http://braillespecs.github.io/braille-css/obfl#extending-the-display-property-with--obfl-toc)
value
- the [`flow`](http://braillespecs.github.io/braille-css/#the-flow-property) property
- the [`flow()`](http://braillespecs.github.io/braille-css/#h4_the-flow-function) function
- the [`@volume`](http://braillespecs.github.io/braille-css/#h3_the-volume-rule) rule
- the [`@begin`](http://braillespecs.github.io/braille-css/#h3_the-begin-and-end-rules) rule
Volumes: Maximum number of sheets
The maximum number of sheets in a volume.
Makes the variable `$maximum-number-of-sheets` available in style sheets and includes the following
rule by default:
~~~sass
@volume {
max-length: $maximum-number-of-sheets;
}
~~~
See the CSS specification for more info:
- the [`@volume`](http://braillespecs.github.io/braille-css/#h3_the-volume-rule) rule
- the [`max-length`](http://braillespecs.github.io/braille-css/#h3_the-length-properties) property
Volumes: Allow breaks within sections.
Amount with which volume breaks are allowed within sections.
The value can range from 1 to 10. The lower the value, the more preference is given to volume breaks
right before or `section` elements. The higher the value, the more equal the volumes will be in size.
Volumes: Prefer breaks at higher level sections.
Amount with which preference is given to volume breaks before higher level sections.
The value must be greater or equal to 0. It can be a non-integer. A value of 0 means no preference
is given. A higher value results in volumes that are less equal in size.
PEF
The PEF.
BRF
A plain text ASCII version of the PEF.
Preview
An HTML preview of the PEF.
OBFL
The intermediary OBFL-file (for debugging).
Temporary directory
Directory for storing temporary files during conversion.
px:fileset-create
px:fileset-add-entry
px:fileset-load
px:html-to-fileset