xml.xproc.isolate-skippable.xpl Maven / Gradle / Ivy
Show all versions of tts-common Show documentation
Break up sentences into sub-sentences that do not contain skippable elements.
The input document
List of sentences as a d:sentences
document with a d:sentence
child for each sentence. The d:sentence
elements point to the respective DTBook
elements with an id
attribute.
XSLT match pattern to select the skippable elements.
The result document.
For every sentence element that contains one or more skippable elements, that is
pagenum
, noteref
, annoref
, linenum
or
math
,
- the skippable elements do not share any ancestors with other nodes in the sentence
(nodes that are not themselves ancestors of the skippables), and
- the sentence element has no (non-whitespace-only) child text nodes.
The reading order is preserved, and apart from elements that are broken up and wrapper
span
elements that are inserted, the structure of the DTBook is preserved.
Wrapper span
elements
are given a unique id
attribute.
List of skippable elements as a d:skippables
document with a
d:skippable
child for each skippable element. The d:skippable
elements point to the respective DTBook elements with an id
attribute.
px:add-ids
px:set-base-uri
Make sure that skippable elements have an id attribute.
Give the skippable IDs document the same base URI as the source and result documents.