diff --git a/epub/DocBook-xslTNG-2.2.2.epub b/epub/DocBook-xslTNG-2.2.2.epub new file mode 100644 index 0000000000..7a67248f7f Binary files /dev/null and b/epub/DocBook-xslTNG-2.2.2.epub differ diff --git a/explorer/index.html b/explorer/index.html index e463e30438..5270d912c4 100644 --- a/explorer/index.html +++ b/explorer/index.html @@ -1,4 +1,4 @@ -XSLT Explorer: docbook.xsl

XSLT Explorer: docbook.xsl

48 imports, 1 include, 778 templates, 225 functions, 101 variables, 208 params, 3 FIXME: comments

List of Imports
List of Templates
tp:orderedlist-properties
tp:process-list
tp:apply-localization-template
tp:format-number
tp:group-or-arg
t:inline
tp:filter-callouts
tp:verbatim
tp:verbatim-array
tp:verbatim-lines
tp:verbatim-plain
tp:verbatim-raw
tp:verbatim-table
t:generate-index
t:index-zone-reference
tp:indexed-section
t:mediaobject-img
tp:viewport
t:table-footnotes
tp:resolve-persistent-toc-uris
t:chunk-cleanup
t:chunk-output
t:docbook
tp:cals-colspec
tp:cell
tp:list-of-titles
tp:toc
tp:tocentry-link
tp:link
tp:xref
t:person-name
t:person-name-family-given
t:person-name-first-last
t:person-name-last-first
t:person-name-list
t:glossary-divisions
t:biblioentry
tp:out-of-line-xlink
tp:simple-xlink
t:xlink
t:bottom-nav
t:chunk-footnotes
t:top-nav
List of Functions
fp:estimated-term-length()
fp:select-vert-members()
f:l10n-token()
f:l10n-token()
fp:l10n-token()
fp:minified-css()
f:attributes()
f:attributes()
f:date-format()
f:generate-id()
f:generate-id()
f:gentext-letters()
f:gentext-letters-for-language()
f:href()
f:id()
f:is-true()
f:l10n-language()
f:label-separator()
f:orderedlist-item-number()
f:orderedlist-item-numeration()
f:orderedlist-startingnumber()
fp:css-properties()
fp:lookup-string()
fp:parse-key-value-pairs()
fp:parse-key-value-pairs()
fp:properties()
fp:replace-element()
fp:replace-element()
fp:separator()
f:refsection()
f:relative-path()
f:section()
f:section-depth()
f:spaces()
f:step-number()
f:step-numeration()
f:target()
f:tokenize-on-char()
f:translate-attribute()
f:unique-id()
f:uri-scheme()
fp:common-attributes()
fp:common-attributes()
fp:nearest-relevant-ancestor()
fp:title-properties()
fp:title-properties-override()
f:absolute-length()
f:empty-length()
f:equal-lengths()
f:is-empty-length()
f:length-string()
f:length-units()
f:make-length()
f:make-length()
f:make-length()
f:parse-length()
f:relative-length()
f:highlight-verbatim()
fp:array-append()
fp:array-pad()
fp:balance-line()
fp:balance-markup()
fp:balance-markup()
fp:contains()
fp:following()
fp:inject()
fp:inject-array()
fp:inject-into-chars()
fp:inject-into-line()
fp:injection-array()
fp:line-number()
fp:line-to-chars()
fp:make-lines()
fp:make-lines-array()
fp:open()
fp:unflatten()
fp:unflatten()
fp:unflatten-line()
fp:unflatten-line()
fp:up-to()
fp:validate-injection-array()
fp:verbatim-properties()
f:verbatim-highlight()
f:verbatim-numbered()
f:verbatim-style()
f:verbatim-trim-leading()
f:verbatim-trim-trailing()
fp:fix-text()
fp:iso690()
fp:optional-sep()
f:available-bibliographies()
f:available-bibliographies()
f:available-glossaries()
f:available-glossaries()
f:biblioentries()
f:biblioentries()
f:citations()
f:citations()
f:glossentries()
f:glossentries()
f:glossrefs()
f:glossrefs()
f:pi()
f:pi()
f:pi-attributes()
fp:available-bibliographies()
fp:available-glossaries()
fp:baseform()
fp:pi-attributes()
fp:pi-from-list()
fp:pi-pi-attributes()
fp:group-index()
fp:group-label()
fp:nearest-section()
fp:nearest-section-id()
fp:primary()
fp:scope()
fp:secondary()
fp:tertiary()
f:chunk()
f:chunk-filename()
fp:chunk-exclude()
fp:chunk-include()
fp:chunk-navigation()
fp:matches-expr()
fp:root-base-uri()
fp:trim-common-parts()
fp:trim-common-prefix()
f:css-length()
f:css-property()
f:mediaobject-amend-uri()
f:mediaobject-input-base-uri()
f:mediaobject-type()
f:mediaobject-viewport()
f:object-align()
f:object-contentheight()
f:object-contentwidth()
f:object-height()
f:object-properties()
f:object-properties()
f:object-scale()
f:object-scalefit()
f:object-valign()
f:object-width()
f:in-scope-language()
f:languages()
fp:localization()
fp:localization-list()
fp:localization-template()
fp:lookup-localization-list()
fp:lookup-localization-template()
fp:footnote-mark()
fp:footnote-number()
fp:resolve-persistent-toc()
fp:resolve-persistent-toc-prefix()
fp:run-transforms()
fp:run-transforms()
f:cals-colsep()
f:cals-rowsep()
fp:align-char-pad()
fcals:align()
fcals:align-colspec()
fcals:align-spanspec()
fcals:cell()
fcals:cell-decoration()
fcals:cell-overhang()
fcals:char()
fcals:char-colspec()
fcals:char-spanspec()
fcals:colsep()
fcals:colsep-colspec()
fcals:colsep-spanspec()
fcals:colspan()
fcals:colspec()
fcals:colspec-column-number()
fcals:colspec-for-column()
fcals:column-number()
fcals:decrement-overhang()
fcals:empty-cell-colsep()
fcals:empty-cell-rowsep()
fcals:next-empty-cell()
fcals:overhang()
fcals:overhang-into-row()
fcals:rowsep()
fcals:rowsep-colspec()
fcals:rowsep-spanspec()
fcals:rowspan()
fcals:spanspec()
fcals:table-columns()
fcals:tgroup()
fcals:valign()
fcals:zeros()
fp:colspec-for-colnum()
fp:only-initial-pis()
fp:number()
fp:localization-template-from-xrefstyle()
fp:collapse-years()
fp:collapse-years()
fp:syntax-highlight()
fp:syntax-highlight()
f:syntax-highlight()
f:syntax-highlight()
f:syntax-highlight()
fp:construct-templates()
fp:pick-template()
f:template()
fp:find-xlink-nodes()
fp:pmuj()
fp:pmuj-enabled()
fp:xlink-sources()
fp:xlink-targets()
fp:xlink-xmlns-scheme()
fp:xlink-xpath-scheme()
f:xlink-style()
f:xpointer-idref()
f:chunk-title()
fp:chunk-output-filename()
fp:footnote-mark()
fp:footnote-number()
fp:navigable()
fp:relative-link()
fp:relative-uri()
fp:root-base-uri()
fp:trim-common-parts()
fp:trim-common-prefix()

docbook.xsl

1 import

main.xsl

46 imports

param.xsl

2 variables (2 used only in one other module), 207 params (1 unused)

Instructions
Param $additional-languages
Param $align-char-default as xs:string
Param $align-char-pad
Param $align-char-width
Param $allow-eval as xs:string
Param $annotate-toc
Param $annotation-collection as xs:string
Param $annotation-placement
Param $annotation-style
Param $annotations-js
Param $auto-toc as xs:string
Param $bibliography-collection as xs:string
Param $bibliography-style as xs:string
Param $callout-default-column
Param $chunk-exclude as xs:string*
Param $chunk-include as xs:string*
Param $chunk-nav as xs:string
Param $chunk-nav-js as xs:string
Param $chunk-output-base-uri as xs:string
Param $chunk-renumber-footnotes
Param $chunk-section-depth
Param $classsynopsis-indent
Param $component-numbers as xs:string
Param $component-numbers-inherit as xs:string
Param $control-js as xs:string
Param $copyright-collapse-years
Param $copyright-year-range-separator
Param $dc-metadata as xs:string
Param $debug as xs:string [static]
Param $default-float-style
Param $default-length-magnitude
Param $default-length-unit
Param $personal-name-style
Param $default-theme as xs:string
Param $division-numbers as xs:string
Param $division-numbers-inherit as xs:string
Param $docbook-transclusion
Param $dynamic-profile-error
Param $dynamic-profiles as xs:string
Param $experimental-pmuj
Param $mediaobject-details-placement
Param $formalgroup-nested-object-title-placement
Param $funcsynopsis-default-style
Param $funcsynopsis-table-threshold
Param $generate-html-page as xs:string
Param $generate-index
Param $generate-nested-toc as xs:string
Param $generate-toc as xs:string
Param $generate-trivial-toc as xs:string
Param $generated-id-root
Param $generated-id-sep
Param $generator-metadata as xs:string
Param $glossary-collection as xs:string
Param $glossary-sort-entries
Param $glossary-automatic-divisions
Param $image-property-warning
Param $index-show-entries
Param $indexed-section-groups
Param $lists-of-equations as xs:string
Param $lists-of-examples as xs:string
Param $lists-of-figures as xs:string
Param $lists-of-procedures as xs:string
Param $lists-of-tables as xs:string
Param $local-conventions as xs:string?
Param $mathml-js
Param $mediaobject-accessibility as xs:string
Param $mediaobject-exclude-extensions as xs:string
Param $mediaobject-input-base-uri as xs:string?
Param $mediaobject-grouped-by-type as xs:string
Param $mediaobject-output-paths as xs:string
Param $mediaobject-video-element as xs:string
Param $number-single-appendix
Param $orderedlist-item-numeration
Param $othername-in-middle
Param $output-media
Unused
Param $oxy-markup
Param $pagetoc-dynamic
Param $pagetoc-js
Param $page-style as xs:string
Param $paper-size as xs:string?
Param $persistent-toc-css
Param $persistent-toc-filename as xs:string?
Param $persistent-toc-js
Param $pixels-per-inch
Param $procedure-step-numeration
Param $productionset-lhs-rhs-separator
Param $profile-arch
Param $profile-audience
Param $profile-condition
Param $profile-conformance
Param $profile-lang
Param $profile-os
Param $profile-outputformat
Param $profile-revision
Param $profile-revisionflag
Param $profile-role
Param $profile-security
Param $profile-separator
Param $profile-userlevel
Param $profile-vendor
Param $profile-wordsize
Param $theme-picker as xs:string
Param $transclusion-id-fixup as xs:string
Param $transclusion-prefix-separator as xs:string
Param $transclusion-suffix as xs:string
Param $qandadiv-default-toc
Param $relax-ng-grammar as xs:string?
Param $refentry-generate-name
Param $refentry-generate-title
Param $revhistory-style
Param $section-numbers as xs:string
Param $section-numbers-inherit
Param $segmentedlist-style
Param $show-remarks
Param $sidebar-as-aside
Param $sort-collation
Param $table-accessibility as xs:string
Param $use-docbook-css as xs:string
Param $use-minified-css as xs:string
Param $variablelist-termlength-threshold
Param $verbatim-callouts as xs:string
Param $verbatim-number-every-nth
Param $verbatim-number-first-line
Param $verbatim-number-minlines
Param $verbatim-numbered-elements
Param $verbatim-plain-style as xs:string
Param $verbatim-style-default
Param $verbatim-syntax-highlight-css
Param $verbatim-syntax-highlight-languages
Param $verbatim-trim-leading-blank-lines
Param $verbatim-trim-trailing-blank-lines
Param $xspec as xs:string
Param $transform-original
Param $transform-before
Param $transform-after
Param $dynamic-profile-variables as map(xs:QName, item()*)?
Param $warn-about-missing-localizations as xs:string
Param $sets-number-from as xs:string
Param $books-number-from as xs:string
Param $divisions-number-from as xs:string
Param $components-number-from as xs:string
Param $sections-number-from as xs:string
Param $formal-objects-number-from as xs:string
Param $sets-inherit-from as xs:string
Param $books-inherit-from as xs:string
Param $divisions-inherit-from as xs:string
Param $components-inherit-from as xs:string
Param $sections-inherit-from as xs:string
Param $formal-objects-inherit-from as xs:string
Param $unwrap-paragraphs as xs:string
Param $copy-verbatim-js
Param $translate-suppress-elements
Param $varlistentry-separate-terms
Param $presentation-mode
Param $presentation-js
Param $presentation-css
Param $transformed-docbook-input as xs:string?
Param $transformed-docbook-output as xs:string?
Param $titleabbrev-passthrough as xs:string
Param $variablelist-panelset as xs:string
Variable $vp:static-parameters as map(xs:QName, item()*)
Uses: $debug
Used in: «root»
Variable $vp:dynamic-parameters as map(xs:QName, item()*)
Uses: $additional-languages, $align-char-default, $align-char-pad, $align-char-width, $allow-eval, $annotate-toc, $annotation-collection, $annotation-mark, $annotation-placement, $annotation-style, $annotations-js, $auto-toc, $bibliography-collection, $bibliography-style, $books-inherit-from, $books-number-from, $callout-default-column, $callout-unicode-start, $chunk, $chunk-exclude, $chunk-include, $chunk-nav, $chunk-nav-js, $chunk-output-base-uri, $chunk-renumber-footnotes, $chunk-section-depth, $classsynopsis-indent, $component-numbers, $component-numbers-inherit, $components-inherit-from, $components-number-from, $control-js, $copy-verbatim-js, $copyright-collapse-years, $copyright-year-range-separator, $copyright-year-separator, $date-date-format, $date-dateTime-format, $dc-metadata, $default-float-style, $default-language, $default-length-magnitude, $default-length-unit, $default-theme, $division-numbers, $division-numbers-inherit, $divisions-inherit-from, $divisions-number-from, $docbook-transclusion, $dynamic-profile-error, $dynamic-profile-variables, $dynamic-profiles, $experimental-pmuj, $fallback-js, $footnote-numeration, $formal-object-title-placement, $formal-objects-inherit-from, $formal-objects-number-from, $formalgroup-nested-object-title-placement, $funcsynopsis-default-style, $funcsynopsis-table-threshold, $funcsynopsis-trailing-punctuation, $generate-html-page, $generate-index, $generate-nested-toc, $generate-toc, $generate-trivial-toc, $generated-id-root, $generated-id-sep, $generator-metadata, $gentext-language, $glossary-automatic-divisions, $glossary-collection, $glossary-sort-entries, $html-extension, $image-ignore-scaling, $image-nominal-height, $image-nominal-width, $image-property-warning, $index-on-role, $index-on-type, $index-show-entries, $indexed-section-groups, $inline-xlink-href, $lists-of-equations, $lists-of-examples, $lists-of-figures, $lists-of-procedures, $lists-of-tables, $local-conventions, $mathml-js, $mediaobject-accessibility, $mediaobject-details-placement, $mediaobject-exclude-extensions, $mediaobject-grouped-by-type, $mediaobject-input-base-uri, $mediaobject-output-base-uri, $mediaobject-output-paths, $mediaobject-video-element, $message-level, $nominal-page-width, $number-single-appendix, $olink-databases, $orderedlist-item-numeration, $othername-in-middle, $output-media, $oxy-markup, $page-style, $pagetoc-dynamic, $pagetoc-elements, $pagetoc-js, $paper-size, $persistent-toc, $persistent-toc-css, $persistent-toc-filename, $persistent-toc-js, $persistent-toc-search, $personal-name-style, $pixels-per-inch, $presentation-css, $presentation-js, $presentation-mode, $procedure-step-numeration, $productionset-lhs-rhs-separator, $profile-arch, $profile-audience, $profile-condition, $profile-conformance, $profile-lang, $profile-os, $profile-outputformat, $profile-revision, $profile-revisionflag, $profile-role, $profile-security, $profile-separator, $profile-userlevel, $profile-vendor, $profile-wordsize, $qandadiv-default-toc, $qandaset-default-label, $qandaset-default-toc, $refentry-generate-name, $refentry-generate-title, $relax-ng-grammar, $resource-base-uri, $revhistory-style, $section-numbers, $section-numbers-inherit, $section-toc-depth, $sections-inherit-from, $sections-number-from, $segmentedlist-style, $sets-inherit-from, $sets-number-from, $show-remarks, $sidebar-as-aside, $sort-collation, $table-accessibility, $table-footnote-numeration, $theme-picker, $titleabbrev-passthrough, $transclusion-id-fixup, $transclusion-link-scope, $transclusion-prefix-separator, $transclusion-suffix, $transform-after, $transform-before, $transform-original, $transformed-docbook-input, $transformed-docbook-output, $translate-suppress-elements, $unwrap-paragraphs, $use-docbook-css, $use-minified-css, $user-css-links, $variablelist-panelset, $variablelist-termlength-threshold, $varlistentry-separate-terms, $verbatim-callouts, $verbatim-line-style, $verbatim-number-every-nth, $verbatim-number-first-line, $verbatim-number-minlines, $verbatim-number-separator, $verbatim-numbered-elements, $verbatim-plain-style, $verbatim-space, $verbatim-style-default, $verbatim-syntax-highlight-css, $verbatim-syntax-highlight-languages, $verbatim-syntax-highlighter, $verbatim-table-style, $verbatim-trim-leading-blank-lines, $verbatim-trim-trailing-blank-lines, $warn-about-missing-localizations, $xlink-arclist-after, $xlink-arclist-before, $xlink-arclist-sep, $xlink-arclist-titlesep, $xlink-icon-closed, $xlink-icon-open, $xlink-js, $xlink-style, $xlink-style-default, $xspec
Used in: «root»
Source code
1
+XSLT Explorer: docbook.xsl

XSLT Explorer: docbook.xsl

48 imports, 1 include, 778 templates, 227 functions, 101 variables, 209 params, 3 FIXME: comments

List of Functions
fp:estimated-term-length()
fp:select-vert-members()
f:l10n-token()
f:l10n-token()
fp:l10n-token()
fp:minified-css()
f:attributes()
f:attributes()
f:conditional-orientation-class()
f:date-format()
f:generate-id()
f:generate-id()
f:gentext-letters()
f:gentext-letters-for-language()
f:href()
f:id()
f:is-true()
f:l10n-language()
f:label-separator()
f:orderedlist-item-number()
f:orderedlist-item-numeration()
f:orderedlist-startingnumber()
f:orientation-class()
fp:css-properties()
fp:lookup-string()
fp:parse-key-value-pairs()
fp:parse-key-value-pairs()
fp:properties()
fp:replace-element()
fp:replace-element()
fp:separator()
f:refsection()
f:relative-path()
f:section()
f:section-depth()
f:spaces()
f:step-number()
f:step-numeration()
f:target()
f:tokenize-on-char()
f:translate-attribute()
f:unique-id()
f:uri-scheme()
fp:common-attributes()
fp:common-attributes()
fp:nearest-relevant-ancestor()
fp:title-properties()
fp:title-properties-override()
f:absolute-length()
f:empty-length()
f:equal-lengths()
f:is-empty-length()
f:length-string()
f:length-units()
f:make-length()
f:make-length()
f:make-length()
f:parse-length()
f:relative-length()
f:highlight-verbatim()
fp:array-append()
fp:array-pad()
fp:balance-line()
fp:balance-markup()
fp:balance-markup()
fp:contains()
fp:following()
fp:inject()
fp:inject-array()
fp:inject-into-chars()
fp:inject-into-line()
fp:injection-array()
fp:line-number()
fp:line-to-chars()
fp:make-lines()
fp:make-lines-array()
fp:open()
fp:unflatten()
fp:unflatten()
fp:unflatten-line()
fp:unflatten-line()
fp:up-to()
fp:validate-injection-array()
fp:verbatim-properties()
f:verbatim-highlight()
f:verbatim-numbered()
f:verbatim-style()
f:verbatim-trim-leading()
f:verbatim-trim-trailing()
fp:fix-text()
fp:iso690()
fp:optional-sep()
f:available-bibliographies()
f:available-bibliographies()
f:available-glossaries()
f:available-glossaries()
f:biblioentries()
f:biblioentries()
f:citations()
f:citations()
f:glossentries()
f:glossentries()
f:glossrefs()
f:glossrefs()
f:pi()
f:pi()
f:pi-attributes()
fp:available-bibliographies()
fp:available-glossaries()
fp:baseform()
fp:pi-attributes()
fp:pi-from-list()
fp:pi-pi-attributes()
fp:group-index()
fp:group-label()
fp:nearest-section()
fp:nearest-section-id()
fp:primary()
fp:scope()
fp:secondary()
fp:tertiary()
f:chunk()
f:chunk-filename()
fp:chunk-exclude()
fp:chunk-include()
fp:chunk-navigation()
fp:matches-expr()
fp:root-base-uri()
fp:trim-common-parts()
fp:trim-common-prefix()
f:css-length()
f:css-property()
f:mediaobject-amend-uri()
f:mediaobject-input-base-uri()
f:mediaobject-type()
f:mediaobject-viewport()
f:object-align()
f:object-contentheight()
f:object-contentwidth()
f:object-height()
f:object-properties()
f:object-properties()
f:object-scale()
f:object-scalefit()
f:object-valign()
f:object-width()
f:in-scope-language()
f:languages()
fp:localization()
fp:localization-list()
fp:localization-template()
fp:lookup-localization-list()
fp:lookup-localization-template()
fp:footnote-mark()
fp:footnote-number()
fp:resolve-persistent-toc()
fp:resolve-persistent-toc-prefix()
fp:run-transforms()
fp:run-transforms()
f:cals-colsep()
f:cals-rowsep()
fp:align-char-pad()
fcals:align()
fcals:align-colspec()
fcals:align-spanspec()
fcals:cell()
fcals:cell-decoration()
fcals:cell-overhang()
fcals:char()
fcals:char-colspec()
fcals:char-spanspec()
fcals:colsep()
fcals:colsep-colspec()
fcals:colsep-spanspec()
fcals:colspan()
fcals:colspec()
fcals:colspec-column-number()
fcals:colspec-for-column()
fcals:column-number()
fcals:decrement-overhang()
fcals:empty-cell-colsep()
fcals:empty-cell-rowsep()
fcals:next-empty-cell()
fcals:overhang()
fcals:overhang-into-row()
fcals:rowsep()
fcals:rowsep-colspec()
fcals:rowsep-spanspec()
fcals:rowspan()
fcals:spanspec()
fcals:table-columns()
fcals:tgroup()
fcals:valign()
fcals:zeros()
fp:colspec-for-colnum()
fp:only-initial-pis()
fp:number()
fp:localization-template-from-xrefstyle()
fp:collapse-years()
fp:collapse-years()
fp:syntax-highlight()
fp:syntax-highlight()
f:syntax-highlight()
f:syntax-highlight()
f:syntax-highlight()
fp:construct-templates()
fp:pick-template()
f:template()
fp:find-xlink-nodes()
fp:pmuj()
fp:pmuj-enabled()
fp:xlink-sources()
fp:xlink-targets()
fp:xlink-xmlns-scheme()
fp:xlink-xpath-scheme()
f:xlink-style()
f:xpointer-idref()
f:chunk-title()
fp:chunk-output-filename()
fp:footnote-mark()
fp:footnote-number()
fp:navigable()
fp:relative-link()
fp:relative-uri()
fp:root-base-uri()
fp:trim-common-parts()
fp:trim-common-prefix()

docbook.xsl

1 import

main.xsl

46 imports

param.xsl

2 variables (2 used only in one other module), 208 params (1 unused)

Instructions
Param $additional-languages
Param $align-char-default as xs:string
Param $align-char-pad
Param $align-char-width
Param $allow-eval as xs:string
Param $annotate-toc
Param $annotation-collection as xs:string
Param $annotation-placement
Param $annotation-style
Param $annotations-js
Param $auto-toc as xs:string
Param $bibliography-collection as xs:string
Param $bibliography-style as xs:string
Param $callout-default-column
Param $chunk-exclude as xs:string*
Param $chunk-include as xs:string*
Param $chunk-nav as xs:string
Param $chunk-nav-js as xs:string
Param $chunk-output-base-uri as xs:string
Param $chunk-renumber-footnotes
Param $chunk-section-depth
Param $classsynopsis-indent
Param $component-numbers as xs:string
Param $component-numbers-inherit as xs:string
Param $control-js as xs:string
Param $copyright-collapse-years
Param $copyright-year-range-separator
Param $dc-metadata as xs:string
Param $debug as xs:string [static]
Param $default-float-style
Param $default-length-magnitude
Param $default-length-unit
Param $personal-name-style
Param $default-theme as xs:string
Param $division-numbers as xs:string
Param $division-numbers-inherit as xs:string
Param $docbook-transclusion
Param $dynamic-profile-error
Param $dynamic-profiles as xs:string
Param $experimental-pmuj
Param $mediaobject-details-placement
Param $formalgroup-nested-object-title-placement
Param $funcsynopsis-default-style
Param $funcsynopsis-table-threshold
Param $generate-html-page as xs:string
Param $generate-index
Param $generate-nested-toc as xs:string
Param $generate-toc as xs:string
Param $generate-trivial-toc as xs:string
Param $generated-id-root
Param $generated-id-sep
Param $generator-metadata as xs:string
Param $glossary-collection as xs:string
Param $glossary-sort-entries
Param $glossary-automatic-divisions
Param $image-property-warning
Param $index-show-entries
Param $indexed-section-groups
Param $lists-of-equations as xs:string
Param $lists-of-examples as xs:string
Param $lists-of-figures as xs:string
Param $lists-of-procedures as xs:string
Param $lists-of-tables as xs:string
Param $local-conventions as xs:string?
Param $mathml-js
Param $mediaobject-accessibility as xs:string
Param $mediaobject-exclude-extensions as xs:string
Param $mediaobject-input-base-uri as xs:string?
Param $mediaobject-grouped-by-type as xs:string
Param $mediaobject-output-paths as xs:string
Param $mediaobject-video-element as xs:string
Param $number-single-appendix
Param $orderedlist-item-numeration
Param $othername-in-middle
Param $output-media
Unused
Param $oxy-markup
Param $pagetoc-dynamic
Param $pagetoc-js
Param $page-style as xs:string
Param $paper-size as xs:string?
Param $persistent-toc-css
Param $persistent-toc-filename as xs:string?
Param $persistent-toc-js
Param $pixels-per-inch
Param $procedure-step-numeration
Param $productionset-lhs-rhs-separator
Param $profile-arch
Param $profile-audience
Param $profile-condition
Param $profile-conformance
Param $profile-lang
Param $profile-os
Param $profile-outputformat
Param $profile-revision
Param $profile-revisionflag
Param $profile-role
Param $profile-security
Param $profile-separator
Param $profile-userlevel
Param $profile-vendor
Param $profile-wordsize
Param $theme-picker as xs:string
Param $transclusion-id-fixup as xs:string
Param $transclusion-prefix-separator as xs:string
Param $transclusion-suffix as xs:string
Param $qandadiv-default-toc
Param $relax-ng-grammar as xs:string?
Param $refentry-generate-name
Param $refentry-generate-title
Param $revhistory-style
Param $section-numbers as xs:string
Param $section-numbers-inherit
Param $segmentedlist-style
Param $show-remarks
Param $sidebar-as-aside
Param $sort-collation
Param $table-accessibility as xs:string
Param $use-docbook-css as xs:string
Param $use-minified-css as xs:string
Param $variablelist-termlength-threshold
Param $verbatim-callouts as xs:string
Param $verbatim-number-every-nth
Param $verbatim-number-first-line
Param $verbatim-number-minlines
Param $verbatim-numbered-elements
Param $verbatim-plain-style as xs:string
Param $verbatim-style-default
Param $verbatim-syntax-highlight-css
Param $verbatim-syntax-highlight-languages
Param $verbatim-trim-leading-blank-lines
Param $verbatim-trim-trailing-blank-lines
Param $xspec as xs:string
Param $transform-original
Param $transform-before
Param $transform-after
Param $dynamic-profile-variables as map(xs:QName, item()*)?
Param $warn-about-missing-localizations as xs:string
Param $sets-number-from as xs:string
Param $books-number-from as xs:string
Param $divisions-number-from as xs:string
Param $components-number-from as xs:string
Param $sections-number-from as xs:string
Param $formal-objects-number-from as xs:string
Param $sets-inherit-from as xs:string
Param $books-inherit-from as xs:string
Param $divisions-inherit-from as xs:string
Param $components-inherit-from as xs:string
Param $sections-inherit-from as xs:string
Param $formal-objects-inherit-from as xs:string
Param $unwrap-paragraphs as xs:string
Param $copy-verbatim-js
Param $translate-suppress-elements
Param $varlistentry-separate-terms
Param $presentation-mode
Param $presentation-js
Param $presentation-css
Param $transformed-docbook-input as xs:string?
Param $transformed-docbook-output as xs:string?
Param $titleabbrev-passthrough as xs:string
Param $variablelist-panelset as xs:string
Param $vendor-css as xs:string*
Variable $vp:static-parameters as map(xs:QName, item()*)
Uses: $debug
Used in: «root»
Variable $vp:dynamic-parameters as map(xs:QName, item()*)
Uses: $additional-languages, $align-char-default, $align-char-pad, $align-char-width, $allow-eval, $annotate-toc, $annotation-collection, $annotation-mark, $annotation-placement, $annotation-style, $annotations-js, $auto-toc, $bibliography-collection, $bibliography-style, $books-inherit-from, $books-number-from, $callout-default-column, $callout-unicode-start, $chunk, $chunk-exclude, $chunk-include, $chunk-nav, $chunk-nav-js, $chunk-output-base-uri, $chunk-renumber-footnotes, $chunk-section-depth, $classsynopsis-indent, $component-numbers, $component-numbers-inherit, $components-inherit-from, $components-number-from, $control-js, $copy-verbatim-js, $copyright-collapse-years, $copyright-year-range-separator, $copyright-year-separator, $date-date-format, $date-dateTime-format, $dc-metadata, $default-float-style, $default-language, $default-length-magnitude, $default-length-unit, $default-theme, $division-numbers, $division-numbers-inherit, $divisions-inherit-from, $divisions-number-from, $docbook-transclusion, $dynamic-profile-error, $dynamic-profile-variables, $dynamic-profiles, $experimental-pmuj, $fallback-js, $footnote-numeration, $formal-object-title-placement, $formal-objects-inherit-from, $formal-objects-number-from, $formalgroup-nested-object-title-placement, $funcsynopsis-default-style, $funcsynopsis-table-threshold, $funcsynopsis-trailing-punctuation, $generate-html-page, $generate-index, $generate-nested-toc, $generate-toc, $generate-trivial-toc, $generated-id-root, $generated-id-sep, $generator-metadata, $gentext-language, $glossary-automatic-divisions, $glossary-collection, $glossary-sort-entries, $html-extension, $image-ignore-scaling, $image-nominal-height, $image-nominal-width, $image-property-warning, $index-on-role, $index-on-type, $index-show-entries, $indexed-section-groups, $inline-xlink-href, $lists-of-equations, $lists-of-examples, $lists-of-figures, $lists-of-procedures, $lists-of-tables, $local-conventions, $mathml-js, $mediaobject-accessibility, $mediaobject-details-placement, $mediaobject-exclude-extensions, $mediaobject-grouped-by-type, $mediaobject-input-base-uri, $mediaobject-output-base-uri, $mediaobject-output-paths, $mediaobject-video-element, $message-level, $nominal-page-width, $number-single-appendix, $olink-databases, $orderedlist-item-numeration, $othername-in-middle, $output-media, $oxy-markup, $page-style, $pagetoc-dynamic, $pagetoc-elements, $pagetoc-js, $paper-size, $persistent-toc, $persistent-toc-css, $persistent-toc-filename, $persistent-toc-js, $persistent-toc-search, $personal-name-style, $pixels-per-inch, $presentation-css, $presentation-js, $presentation-mode, $procedure-step-numeration, $productionset-lhs-rhs-separator, $profile-arch, $profile-audience, $profile-condition, $profile-conformance, $profile-lang, $profile-os, $profile-outputformat, $profile-revision, $profile-revisionflag, $profile-role, $profile-security, $profile-separator, $profile-userlevel, $profile-vendor, $profile-wordsize, $qandadiv-default-toc, $qandaset-default-label, $qandaset-default-toc, $refentry-generate-name, $refentry-generate-title, $relax-ng-grammar, $resource-base-uri, $revhistory-style, $section-numbers, $section-numbers-inherit, $section-toc-depth, $sections-inherit-from, $sections-number-from, $segmentedlist-style, $sets-inherit-from, $sets-number-from, $show-remarks, $sidebar-as-aside, $sort-collation, $table-accessibility, $table-footnote-numeration, $theme-picker, $titleabbrev-passthrough, $transclusion-id-fixup, $transclusion-link-scope, $transclusion-prefix-separator, $transclusion-suffix, $transform-after, $transform-before, $transform-original, $transformed-docbook-input, $transformed-docbook-output, $translate-suppress-elements, $unwrap-paragraphs, $use-docbook-css, $use-minified-css, $user-css-links, $variablelist-panelset, $variablelist-termlength-threshold, $varlistentry-separate-terms, $vendor-css, $verbatim-callouts, $verbatim-line-style, $verbatim-number-every-nth, $verbatim-number-first-line, $verbatim-number-minlines, $verbatim-number-separator, $verbatim-numbered-elements, $verbatim-plain-style, $verbatim-space, $verbatim-style-default, $verbatim-syntax-highlight-css, $verbatim-syntax-highlight-languages, $verbatim-syntax-highlighter, $verbatim-table-style, $verbatim-trim-leading-blank-lines, $verbatim-trim-trailing-blank-lines, $warn-about-missing-localizations, $xlink-arclist-after, $xlink-arclist-before, $xlink-arclist-sep, $xlink-arclist-titlesep, $xlink-icon-closed, $xlink-icon-open, $xlink-js, $xlink-style, $xlink-style-default, $xspec
Used in: «root»
Source code
1
 2
 3
 4
@@ -572,6 +572,8 @@
 572
 573
 574
+575
+576
 
<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:db="http://docbook.org/ns/docbook"
@@ -857,6 +859,7 @@
    <xsl:param name="transformed-docbook-output" as="xs:string?" select="()"/>
    <xsl:param name="titleabbrev-passthrough" as="xs:string" select="'true'"/>
    <xsl:param name="variablelist-panelset" as="xs:string" select="'true'"/>
+   <xsl:param name="vendor-css" as="xs:string*" select="()"/>
    <xsl:variable name="vp:static-parameters" as="map(xs:QName, item()*)">
       <xsl:map>
          <xsl:map-entry key="QName('', 'debug')" select="$debug"/>
@@ -1142,6 +1145,7 @@
                         select="$titleabbrev-passthrough"/>
          <xsl:map-entry key="QName('', 'variablelist-panelset')"
                         select="$variablelist-panelset"/>
+         <xsl:map-entry key="QName('', 'vendor-css')" select="$vendor-css"/>
       </xsl:map>
    </xsl:variable>
 </xsl:stylesheet>
@@ -1155,8 +1159,8 @@
 
<xsl:stylesheet xmlns:v="http://docbook.org/ns/docbook/variables"
                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version="3.0">
-   <xsl:variable name="v:VERSION" select="'2.2.1-SNAPSHOT'"/>
-   <xsl:variable name="v:VERSION-ID" select="'ce8e5864'"/>
+   <xsl:variable name="v:VERSION" select="'2.2.2-SNAPSHOT'"/>
+   <xsl:variable name="v:VERSION-ID" select="'7688aa3b'"/>
 </xsl:stylesheet>
 

variable.xsl

60 variables (1 unused, 50 used only in one other module)

Instructions
Variable $v:as-xml
Used by: template
Variable $v:custom-localizations as document-node()?
Variable $v:localization-base-uri
Variable $vp:section-toc-depth as xs:integer
Variable $v:verbatim-table-style
Variable $v:verbatim-line-style
Variable $v:verbatim-plain-style as xs:string*
Variable $v:verbatim-space as node()
Variable $v:verbatim-numbered-elements as xs:string*
Variable $v:verbatim-number-minlines
Variable $v:verbatim-number-every-nth
Variable $v:verbatim-number-first-line
Variable $v:verbatim-callouts as xs:string*
Variable $v:verbatim-syntax-highlight-languages
Variable $v:verbatim-syntax-highlight-options
Variable $v:verbatim-syntax-highlight-pygments-options
Variable $v:mediaobject-output-base-uri as xs:string?
Variable $v:mediaobject-exclude-extensions
Variable $vp:mediaobject-accessibility
Variable $vp:table-accessibility
Variable $v:personal-name-styles
Used by: template
Used in: modules/info.xsl
Variable $v:formal-object-title-placement as map(xs:string,xs:string)
Variable $v:formalgroup-nested-object-title-placement as map(xs:string,xs:string)
Variable $v:mediaobject-details-placement as map(xs:string,xs:string)
Variable $v:arg-choice-opt-open-str
Variable $v:arg-choice-opt-close-str
Variable $v:arg-choice-req-open-str
Variable $v:arg-choice-req-close-str
Variable $v:arg-choice-plain-open-str
Variable $v:arg-choice-plain-close-str
Variable $v:arg-choice-def-open-str
Variable $v:arg-choice-def-close-str
Variable $v:arg-rep-repeat-str
Variable $v:arg-rep-norepeat-str
Variable $v:arg-rep-def-str
Variable $v:arg-or-sep
Used by: template
Variable $v:chunk-renumber-footnotes as xs:boolean
Variable $v:chunk-filter-namespaces as namespace-node()*
Variable $v:admonition-icons
Used by: template
Variable $v:annotation-close as element()
Used by: template
Used in: main.xsl
Variable $v:nominal-page-width
Variable $v:image-nominal-width
Variable $v:image-nominal-height
Variable $v:toc-open as element()
Variable $v:toc-close as element()
Variable $vp:pagetoc-elements as xs:string*
Variable $vp:olinkdb
Used by: template
Used in: modules/titles.xsl
Variable $v:theme-list as element()*
Variable $vp:random-prefix as xs:string
Variable $vp:js-controls as element()*
Variable $v:highlight-js-head-elements as element()*
Variable $v:prism-js-head-elements as element()*
Variable $v:media-type-default as xs:string
Used by: template
Variable $v:media-type-map as map(xs:string, xs:string)
Source code
1
 2
@@ -2622,7 +2626,7 @@
               select="xs:QName('dbe:INVALID-RESULTS-REQUESTED')"/>
 
 </xsl:stylesheet>
-

head.xsl

13 templates, 1 function

Instructions
Template match ≅ db:keywordset
Mode: m:html-head
Matches: db:keywordset
Template match ≅ db:subjectset
Mode: m:html-head
Matches: db:subjectset
Template match ≅ db:meta
Mode: m:html-head
Matches: db:meta
Template match ≅ h:*
Mode: m:html-head
Matches: h:*
Template match ≅ *
Mode: mp:html-head-meta
Matches: *
Template match ≅ *
Mode: m:html-head-script
Matches: *
Template match ≅ *
Function fp:minified-css($css as xs:string) as xs:string
Template match ≅ *
Mode: m:html-head-links
Matches: *
Template match ≅ *
Mode: m:html-head-last
Matches: *
Template match ≅ *
Mode: m:head-additions
Matches: *
Template match ≅ *
Mode: m:html-body-script
Matches: *
Source code
1
+

head.xsl

13 templates, 1 function

Instructions
Template match ≅ db:keywordset
Mode: m:html-head
Matches: db:keywordset
Template match ≅ db:subjectset
Mode: m:html-head
Matches: db:subjectset
Template match ≅ db:meta
Mode: m:html-head
Matches: db:meta
Template match ≅ h:*
Mode: m:html-head
Matches: h:*
Template match ≅ *
Mode: mp:html-head-meta
Matches: *
Template match ≅ *
Mode: m:html-head-script
Matches: *
Function fp:minified-css($css as xs:string) as xs:string
Template match ≅ *
Mode: m:html-head-links
Matches: *
Template match ≅ *
Mode: m:html-head-last
Matches: *
Template match ≅ *
Mode: m:head-additions
Matches: *
Template match ≅ *
Mode: m:html-body-script
Matches: *
Source code
1
 2
 3
 4
@@ -2843,6 +2847,18 @@
 219
 220
 221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
 
<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 xmlns:db="http://docbook.org/ns/docbook"
@@ -3033,6 +3049,18 @@
       <link href="{$resource-base-uri}{fp:minified-css('css/docbook-paged.css')}"
             rel="stylesheet" media="print"/>
     </xsl:if>
+    <xsl:for-each select="$vendor-css">
+      <xsl:choose>
+        <xsl:when test="contains(., '/') or contains(., '\')">
+          <link href="{$resource-base-uri}{.}"
+                rel="stylesheet"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <link href="{$resource-base-uri}{fp:minified-css('css/' || .)}"
+                rel="stylesheet"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
   </xsl:if>
 
   <xsl:if test="f:is-true($presentation-mode)">
@@ -8817,7 +8845,7 @@
 </xsl:function>
 
 </xsl:stylesheet>
-

35 functions (6 unused, 7 used only in one other module), 2 variables

Instructions
Variable $vp:translate-suppress-elements
Function f:translate-attribute($node as element()) as xs:boolean?
Function f:attributes#2($node as element(), $attributes as attribute()*) as attribute()*
Function f:attributes#4($node as element(), $attributes as attribute()*, $extra-classes as xs:string*, $exclude-classes as xs:string*) as attribute()*
Function f:orderedlist-startingnumber($list as element(db:orderedlist)) as xs:integer
Function f:gentext-letters($node as element()) as element(l:letters)
Unused
Function f:gentext-letters-for-language($node as element()) as element(l:letters)
Function fp:properties($context as element(), $properties as array(map(*))) as map(*)
Function f:date-format($context as element()) as xs:string
Function fp:replace-element#3($lines as array(*), $elemno as xs:integer, $new-elem as item()*) as array(*)
Used by: fp:inject()
Function fp:replace-element#5($array as array(*), $elemno as xs:integer, $count as xs:integer, $new-elem as item()*, $newarray as array(*)) as array(*)
Function f:target($id as xs:string, $context as node()) as element()*
Variable $vp:gidmap
Function f:generate-id#2($node as element(), $use-xml-id as xs:boolean) as xs:string
Function f:unique-id($node as element()) as xs:string
Unused
Function fp:css-properties($context as element()?) as attribute()?
Function f:spaces($length as item()*) as xs:string?
Function fp:lookup-string($context as element(), $lookup as element(), $table-name as xs:string) as node()*
Unused
Function fp:separator($node as element(), $key as xs:string) as node()*
Function f:label-separator($node as element()) as node()*
Unused
Function fp:parse-key-value-pairs#1($strings as xs:string*) as map(xs:string,xs:string)
Function fp:parse-key-value-pairs#2($strings as xs:string*, $map as map(xs:string,xs:string)) as map(xs:string,xs:string)
Function f:refsection($node as element()) as xs:boolean
Function f:section($node as element()) as xs:boolean
Unused
Function f:section-depth($node as element()?) as xs:integer
Function f:step-number($node as element(db:step)) as xs:integer+
Function f:step-numeration($node as element(db:step)) as xs:string
Function f:orderedlist-item-number($node as element(db:listitem)) as xs:integer+
Function f:orderedlist-item-numeration($node as element(db:listitem)) as xs:string
Function f:tokenize-on-char($string as xs:string, $char as xs:string) as xs:string*
Used by: template
Function f:relative-path($base as xs:string, $path as xs:string) as xs:string
Used by: template
Source code
1
+

37 functions (6 unused, 7 used only in one other module), 2 variables

Instructions
Variable $vp:translate-suppress-elements
Function f:translate-attribute($node as element()) as xs:boolean?
Function f:attributes#2($node as element(), $attributes as attribute()*) as attribute()*
Function f:attributes#4($node as element(), $attributes as attribute()*, $extra-classes as xs:string*, $exclude-classes as xs:string*) as attribute()*
Function f:orderedlist-startingnumber($list as element(db:orderedlist)) as xs:integer
Function f:gentext-letters($node as element()) as element(l:letters)
Unused
Function f:gentext-letters-for-language($node as element()) as element(l:letters)
Function fp:properties($context as element(), $properties as array(map(*))) as map(*)
Function f:date-format($context as element()) as xs:string
Function fp:replace-element#3($lines as array(*), $elemno as xs:integer, $new-elem as item()*) as array(*)
Used by: fp:inject()
Function fp:replace-element#5($array as array(*), $elemno as xs:integer, $count as xs:integer, $new-elem as item()*, $newarray as array(*)) as array(*)
Function f:target($id as xs:string, $context as node()) as element()*
Variable $vp:gidmap
Function f:generate-id#2($node as element(), $use-xml-id as xs:boolean) as xs:string
Function f:unique-id($node as element()) as xs:string
Unused
Function fp:css-properties($context as element()?) as attribute()?
Function f:spaces($length as item()*) as xs:string?
Function fp:lookup-string($context as element(), $lookup as element(), $table-name as xs:string) as node()*
Unused
Function fp:separator($node as element(), $key as xs:string) as node()*
Function f:label-separator($node as element()) as node()*
Unused
Function fp:parse-key-value-pairs#1($strings as xs:string*) as map(xs:string,xs:string)
Function fp:parse-key-value-pairs#2($strings as xs:string*, $map as map(xs:string,xs:string)) as map(xs:string,xs:string)
Function f:refsection($node as element()) as xs:boolean
Function f:section($node as element()) as xs:boolean
Unused
Function f:section-depth($node as element()?) as xs:integer
Function f:step-number($node as element(db:step)) as xs:integer+
Function f:step-numeration($node as element(db:step)) as xs:string
Function f:orderedlist-item-number($node as element(db:listitem)) as xs:integer+
Function f:orderedlist-item-numeration($node as element(db:listitem)) as xs:string
Function f:tokenize-on-char($string as xs:string, $char as xs:string) as xs:string*
Used by: template
Function f:relative-path($base as xs:string, $path as xs:string) as xs:string
Used by: template
Function f:orientation-class($node as element()) as xs:string?
Function f:conditional-orientation-class($node as element()) as xs:string?
Source code
1
 2
 3
 4
@@ -9604,6 +9632,51 @@
 785
 786
 787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
 
<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 xmlns:array="http://www.w3.org/2005/xpath-functions/array"
@@ -10388,6 +10461,51 @@
     </xsl:otherwise>
   </xsl:choose>
 </xsl:function>  
+
+<xsl:function name="f:orientation-class" as="xs:string?">
+  <xsl:param name="node" as="element()"/>
+
+  <xsl:variable name="nearest"
+                select="($node/ancestor-or-self::*[contains-token(@role,'landscape')
+                                                   or contains-token(@role,'portrait')]
+                         | $node/ancestor-or-self::db:table[@orient]
+                         | $node/ancestor-or-self::db:informaltable[@orient])[last()]"/>
+
+  <xsl:choose>
+    <xsl:when test="$output-media != 'print'"/>
+    <xsl:when test="$nearest/@orient and $nearest/@orient = 'land'">
+      <xsl:sequence select="'landscape'"/>
+    </xsl:when>
+    <xsl:when test="$nearest/@orient">
+      <xsl:sequence select="'portrait'"/>
+    </xsl:when>
+    <xsl:when test="contains-token($nearest/@role, 'landscape')">
+      <xsl:sequence select="'landscape'"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:sequence select="'portrait'"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:function>
+
+<xsl:function name="f:conditional-orientation-class" as="xs:string?">
+  <xsl:param name="node" as="element()"/>
+
+  <xsl:variable name="parent" select="$node/parent::element() ! f:orientation-class(.)"/>
+  <xsl:variable name="orient" select="f:orientation-class($node)"/>
+
+<!--
+  <xsl:message select="node-name($node), 'P:', $parent, ' O:', $orient"/>
+
+      <xsl:sequence select="$orient"/>
+-->
+  <xsl:choose>
+    <xsl:when test="exists($parent) and $parent eq $orient"/>
+    <xsl:otherwise>
+      <xsl:sequence select="$orient"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:function>
   
 </xsl:stylesheet>
 

toc.xsl

33 templates

Instructions
Template match ≅ *
Calls: tp:toc
Mode: m:toc
Matches: *
Template match ≅ /db:article|db:book|db:part|db…
Uses: $auto-toc
Calls: tp:toc
Mode: m:toc
Matches: /db:article, db:book, db:part, db:reference, db:set
Template match ≅ *
Mode: m:persistent-toc
Matches: *
Template match ≅ comment()|processing-instructi…
Mode: m:persistent-toc
Matches: comment(), processing-instruction(), text()
Template match ≅ /db:article|db:book|db:part|db…
Calls: tp:toc
Mode: m:persistent-toc
Matches: /db:article, db:book, db:part, db:reference, db:set
Template tp:toc match ≅
Mode: m:docbook
Template match ≅ *
Mode: m:toc-entry
Matches: *
Template match ≅ comment()|processing-instructi…
Mode: m:toc-entry
Matches: comment(), processing-instruction(), text()
Template match ≅ db:acknowledgements|db:appendi…
Calls: f:id()
Mode: m:toc-entry
Matches: db:acknowledgements, db:appendix, db:article, db:bibliography, db:book, db:chapter, db:dedication, db:glossary, db:index, db:part, db:preface, db:reference, db:sect1, db:sect2, db:sect3, db:sect4, db:sect5, db:section, db:set, db:topic
Template match ≅ db:refentry
Mode: m:toc-entry
Priority: 100
Matches: db:refentry
Template match ≅ *
Mode: m:toc-entry
Priority: 10
Matches: *
Template match ≅ db:bibliodiv|db:colophon|db:gl…
Mode: m:toc-entry
Matches: db:bibliodiv, db:colophon, db:glossdiv, db:indexdiv
Template match ≅ *
Mode: m:toc-nested
Matches: *
Template match ≅ comment()|processing-instructi…
Mode: m:toc-nested
Matches: comment(), processing-instruction(), text()
Template match ≅ db:equation|db:example|db:figu…
Mode: m:toc-nested
Matches: db:equation, db:example, db:figure, db:formalgroup, db:procedure, db:table
Template match ≅ db:refsect1|db:refsect2|db:ref…
Mode: m:toc-nested
Matches: db:refsect1, db:refsect2, db:refsect3, db:refsection, db:sect1, db:sect2, db:sect3, db:sect4, db:sect5, db:section
Template match ≅ *
Mode: m:list-of-figures
Matches: *
Template match ≅ db:book|db:set
Mode: m:list-of-figures
Matches: db:book, db:set
Template match ≅ *
Mode: m:list-of-tables
Matches: *
Template match ≅ db:book|db:set
Mode: m:list-of-tables
Matches: db:book, db:set
Template match ≅ *
Mode: m:list-of-examples
Matches: *
Template match ≅ db:book|db:set
Mode: m:list-of-examples
Matches: db:book, db:set
Template match ≅ *
Mode: m:list-of-equations
Matches: *
Template match ≅ db:book|db:set
Mode: m:list-of-equations
Matches: db:book, db:set
Template match ≅ *
Mode: m:list-of-procedures
Matches: *
Template match ≅ db:book|db:set
Mode: m:list-of-procedures
Matches: db:book, db:set
Template tp:list-of-titles match ≅
Mode: m:docbook
Template match ≅ *
Calls: f:id()
Mode: m:list-of-titles
Matches: *
Template match ≅ db:toc|processing-instruction(…
Mode: m:docbook
Matches: db:toc, processing-instruction('db-toc')
Template match ≅ db:toc
Mode: m:docbook
Matches: db:toc
Template match ≅ db:tocdiv
Mode: m:docbook
Matches: db:tocdiv
Template match ≅ db:tocentry
Mode: m:docbook
Matches: db:tocentry
Source code
1
@@ -11272,7 +11390,7 @@
 </xsl:template>
 
 </xsl:stylesheet>
-

components.xsl

1 template

Instructions
Template match ≅ db:acknowledgements|db:appendi…
Mode: m:docbook
Matches: db:acknowledgements, db:appendix, db:article, db:chapter, db:colophon, db:dedication, db:preface, db:topic
Source code
1
+

components.xsl

1 template

Instructions
Template match ≅ db:acknowledgements|db:appendi…
Mode: m:docbook
Matches: db:acknowledgements, db:appendix, db:article, db:chapter, db:colophon, db:dedication, db:preface, db:topic
Source code
1
 2
 3
 4
@@ -11300,6 +11418,22 @@
 26
 27
 28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
 
<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 xmlns:db="http://docbook.org/ns/docbook"
@@ -11321,7 +11455,23 @@
     <xsl:apply-templates select="." mode="m:attributes"/>
     <xsl:apply-templates select="." mode="m:generate-titlepage"/>
     <xsl:apply-templates select="." mode="m:toc"/>
-    <xsl:apply-templates/>
+
+    <xsl:variable name="section" select="db:section[1] | db:sect1[1]"/>
+    <xsl:choose>
+      <xsl:when test="empty($section)">
+        <xsl:apply-templates/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="nodes" select="$section/preceding-sibling::node()"/>
+        <xsl:apply-templates select="$nodes/self::db:toc"/>
+        <xsl:where-populated>
+          <div class="db-bfs{f:conditional-orientation-class(.) ! concat(' ', .)}">
+            <xsl:apply-templates select="$nodes except $nodes/self::db:toc"/>
+          </div>
+        </xsl:where-populated>
+        <xsl:apply-templates select="$section, $section/following-sibling::node()"/>
+      </xsl:otherwise>
+    </xsl:choose>
   </xsl:element>
 </xsl:template>
 
@@ -30774,7 +30924,7 @@
 </xsl:function>
 
 </xsl:stylesheet>
-

tablehtml.xsl

6 templates

Instructions
Template match ≅ db:table
Mode: m:docbook
Matches: db:table
Template match ≅ db:td/db:table|db:th/db:table
Mode: m:docbook
Priority: 100
Matches: db:td/db:table, db:th/db:table
Template match ≅ db:informaltable
Mode: m:docbook
Matches: db:informaltable
Template match ≅ db:td/db:informaltable|db:th/d…
Mode: m:docbook
Priority: 100
Matches: db:td/db:informaltable, db:th/db:informaltable
Template match ≅ db:caption|db:col|db:colgroup|…
Mode: m:htmltable
Matches: db:caption, db:col, db:colgroup, db:tbody, db:td, db:tfoot, db:th, db:thead, db:tr
Template match ≅ *
Mode: m:htmltable
Matches: *
Source code
1
+

tablehtml.xsl

6 templates

Instructions
Template match ≅ db:table
Mode: m:docbook
Matches: db:table
Template match ≅ db:td/db:table|db:th/db:table
Mode: m:docbook
Priority: 100
Matches: db:td/db:table, db:th/db:table
Template match ≅ db:informaltable
Mode: m:docbook
Matches: db:informaltable
Template match ≅ db:td/db:informaltable|db:th/d…
Mode: m:docbook
Priority: 100
Matches: db:td/db:informaltable, db:th/db:informaltable
Template match ≅ db:caption|db:col|db:colgroup|…
Mode: m:htmltable
Matches: db:caption, db:col, db:colgroup, db:tbody, db:td, db:tfoot, db:th, db:thead, db:tr
Template match ≅ *
Mode: m:htmltable
Matches: *
Source code
1
 2
 3
 4
@@ -30890,7 +31040,7 @@
                 version="3.0">
 
 <xsl:template match="db:table[not(db:tgroup)]">
-  <div class="formalobject {local-name(.)}">
+  <div class="formalobject {local-name(.)}{f:conditional-orientation-class(.) ! concat(' ', .)}">
     <xsl:choose>
       <xsl:when test="@xml:id">
         <xsl:attribute name="id" select="@xml:id"/>
@@ -35027,7 +35177,7 @@
 </xsl:template>
 
 </xsl:stylesheet>
-

attributes.xsl

35 templates, 2 functions

Instructions
Function fp:common-attributes#1($node as element()) as attribute()*
Function fp:common-attributes#2($node as element(), $genid as xs:boolean) as attribute()*
Template match ≅ db:article as attribute()*
Mode: m:attributes
Matches: db:article
Template match ≅ db:book|db:part|db:reference|d… as attribute()*
Mode: m:attributes
Matches: db:book, db:part, db:reference, db:set
Template match ≅ db:acknowledgements|db:appendi… as attribute()*
Mode: m:attributes
Matches: db:acknowledgements, db:appendix, db:chapter, db:colophon, db:dedication, db:partintro, db:preface, db:refentry
Template match ≅ db:refsect1|db:refsect2|db:ref… as attribute()*
Mode: m:attributes
Matches: db:refsect1, db:refsect2, db:refsect3, db:refsection, db:sect1, db:sect2, db:sect3, db:sect4, db:sect5, db:section
Template match ≅ db:refnamediv|db:refsynopsisdi… as attribute()*
Mode: m:attributes
Matches: db:refnamediv, db:refsynopsisdiv
Template match ≅ db:topic as attribute()*
Mode: m:attributes
Matches: db:topic
Template match ≅ db:procedure as attribute()*
Mode: m:attributes
Matches: db:procedure
Template match ≅ db:orderedlist as attribute()*
Mode: m:attributes
Matches: db:orderedlist
Template match ≅ db:listitem|db:member|db:para|… as attribute()*
Mode: m:attributes
Matches: db:listitem, db:member, db:para, db:tbody, db:tfoot, db:thead
Template match ≅ db:simplelist as attribute()*
Mode: m:attributes
Matches: db:simplelist
Template match ≅ db:variablelist as attribute()*
Mode: m:attributes
Matches: db:variablelist
Template match ≅ db:glossentry as attribute()*
Mode: m:attributes
Matches: db:glossentry
Template match ≅ db:bridgehead as attribute()*
Mode: m:attributes
Matches: db:bridgehead
Template match ≅ db:informaltable|db:table as attribute()*
Mode: m:attributes
Matches: db:informaltable, db:table
Template match ≅ db:informaltable|db:table as attribute()*
Mode: m:attributes
Matches: db:informaltable, db:table
Template match ≅ db:row as attribute()*
Mode: m:attributes
Matches: db:row
Template match ≅ db:audiodata|db:imagedata|db:v… as attribute()*
Mode: m:attributes
Matches: db:audiodata, db:imagedata, db:videodata
Template match ≅ db:caution|db:danger|db:import… as attribute()*
Mode: m:attributes
Matches: db:caution, db:danger, db:important, db:note, db:tip, db:warning
Template match ≅ db:address|db:classsynopsisinf… as attribute()*
Mode: m:attributes
Matches: db:address, db:classsynopsisinfo, db:funcsynopsisinfo, db:literallayout, db:programlisting, db:screen, db:synopsis
Template match ≅ db:lhs as attribute()*
Mode: m:attributes
Matches: db:lhs
Template match ≅ db:rhs as attribute()*
Mode: m:attributes
Matches: db:rhs
Template match ≅ db:personname as attribute()*
Mode: m:attributes
Matches: db:personname
Template match ≅ db:link as attribute()*
Mode: m:attributes
Matches: db:link
Template match ≅ db:equation|db:example|db:figu… as attribute()*
Mode: m:attributes
Matches: db:equation, db:example, db:figure, db:formalgroup, db:informalequation, db:informalexample, db:informalfigure
Template match ≅ db:bibliography|db:glossary|db… as attribute()*
Mode: m:attributes
Matches: db:bibliography, db:glossary, db:index
Template match ≅ db:biblioset as attribute()*
Mode: m:attributes
Matches: db:biblioset
Template match ≅ db:biblioentry as attribute()*
Mode: m:attributes
Matches: db:biblioentry
Template match ≅ db:answer|db:bibliodiv|db:glos… as attribute()*
Mode: m:attributes
Matches: db:answer, db:bibliodiv, db:glossdiv, db:indexdiv, db:qandadiv, db:qandaentry, db:qandaset, db:question
Template match ≅ db:annotation as attribute()*
Mode: m:attributes
Matches: db:annotation
Template match ≅ db:toc as attribute()*
Mode: m:attributes
Matches: db:toc
Template match ≅ * as attribute()*
Mode: m:attributes
Matches: *
Template match ≅ @*
Mode: m:docbook
Matches: @*
Template match ≅ @xml:id
Mode: m:docbook
Matches: @xml:id
Template match ≅ @xml:lang
Mode: m:docbook
Matches: @xml:lang
Template match ≅ @dir
Mode: m:docbook
Matches: @dir
Source code
1
+

attributes.xsl

35 templates, 2 functions

Instructions
Function fp:common-attributes#1($node as element()) as attribute()*
Function fp:common-attributes#2($node as element(), $genid as xs:boolean) as attribute()*
Template match ≅ db:article as attribute()*
Mode: m:attributes
Matches: db:article
Template match ≅ db:book|db:part|db:reference|d… as attribute()*
Mode: m:attributes
Matches: db:book, db:part, db:reference, db:set
Template match ≅ db:acknowledgements|db:appendi… as attribute()*
Mode: m:attributes
Matches: db:acknowledgements, db:appendix, db:chapter, db:colophon, db:dedication, db:partintro, db:preface, db:refentry
Template match ≅ db:refsect1|db:refsect2|db:ref… as attribute()*
Mode: m:attributes
Matches: db:refsect1, db:refsect2, db:refsect3, db:refsection, db:sect1, db:sect2, db:sect3, db:sect4, db:sect5, db:section
Template match ≅ db:refnamediv|db:refsynopsisdi… as attribute()*
Mode: m:attributes
Matches: db:refnamediv, db:refsynopsisdiv
Template match ≅ db:topic as attribute()*
Mode: m:attributes
Matches: db:topic
Template match ≅ db:procedure as attribute()*
Mode: m:attributes
Matches: db:procedure
Template match ≅ db:orderedlist as attribute()*
Mode: m:attributes
Matches: db:orderedlist
Template match ≅ db:listitem|db:member|db:para|… as attribute()*
Mode: m:attributes
Matches: db:listitem, db:member, db:para, db:tbody, db:tfoot, db:thead
Template match ≅ db:simplelist as attribute()*
Mode: m:attributes
Matches: db:simplelist
Template match ≅ db:variablelist as attribute()*
Mode: m:attributes
Matches: db:variablelist
Template match ≅ db:glossentry as attribute()*
Mode: m:attributes
Matches: db:glossentry
Template match ≅ db:bridgehead as attribute()*
Mode: m:attributes
Matches: db:bridgehead
Template match ≅ db:informaltable|db:table as attribute()*
Mode: m:attributes
Matches: db:informaltable, db:table
Template match ≅ db:informaltable|db:table as attribute()*
Mode: m:attributes
Matches: db:informaltable, db:table
Template match ≅ db:row as attribute()*
Mode: m:attributes
Matches: db:row
Template match ≅ db:audiodata|db:imagedata|db:v… as attribute()*
Mode: m:attributes
Matches: db:audiodata, db:imagedata, db:videodata
Template match ≅ db:caution|db:danger|db:import… as attribute()*
Mode: m:attributes
Matches: db:caution, db:danger, db:important, db:note, db:tip, db:warning
Template match ≅ db:address|db:classsynopsisinf… as attribute()*
Mode: m:attributes
Matches: db:address, db:classsynopsisinfo, db:funcsynopsisinfo, db:literallayout, db:programlisting, db:screen, db:synopsis
Template match ≅ db:lhs as attribute()*
Mode: m:attributes
Matches: db:lhs
Template match ≅ db:rhs as attribute()*
Mode: m:attributes
Matches: db:rhs
Template match ≅ db:personname as attribute()*
Mode: m:attributes
Matches: db:personname
Template match ≅ db:link as attribute()*
Mode: m:attributes
Matches: db:link
Template match ≅ db:equation|db:example|db:figu… as attribute()*
Mode: m:attributes
Matches: db:equation, db:example, db:figure, db:formalgroup, db:informalequation, db:informalexample, db:informalfigure
Template match ≅ db:bibliography|db:glossary|db… as attribute()*
Mode: m:attributes
Matches: db:bibliography, db:glossary, db:index
Template match ≅ db:biblioset as attribute()*
Mode: m:attributes
Matches: db:biblioset
Template match ≅ db:biblioentry as attribute()*
Mode: m:attributes
Matches: db:biblioentry
Template match ≅ db:answer|db:bibliodiv|db:glos… as attribute()*
Mode: m:attributes
Matches: db:answer, db:bibliodiv, db:glossdiv, db:indexdiv, db:qandadiv, db:qandaentry, db:qandaset, db:question
Template match ≅ db:annotation as attribute()*
Mode: m:attributes
Matches: db:annotation
Template match ≅ db:toc as attribute()*
Mode: m:attributes
Matches: db:toc
Template match ≅ * as attribute()*
Mode: m:attributes
Matches: *
Template match ≅ @*
Mode: m:docbook
Matches: @*
Template match ≅ @xml:id
Mode: m:docbook
Matches: @xml:id
Template match ≅ @xml:lang
Mode: m:docbook
Matches: @xml:lang
Template match ≅ @dir
Mode: m:docbook
Matches: @dir
Source code
1
 2
 3
 4
@@ -35439,6 +35589,12 @@
 410
 411
 412
+413
+414
+415
+416
+417
+418
 
<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 xmlns:db="http://docbook.org/ns/docbook"
@@ -35469,13 +35625,12 @@
 
 <xsl:template match="db:article" mode="m:attributes" as="attribute()*">
   <xsl:variable name="attr" select="fp:common-attributes(.)"/>
+  
   <xsl:sequence select="f:attributes(., $attr,
-                                     (local-name(.),
-                                     'component',
+                                     (local-name(.), 'component',
                                      @status, @otherclass,
-                                     if (@otherclass)
-                                     then 'otherclass'
-                                     else @class),
+                                     if (@otherclass) then 'otherclass' else @class,
+                                     f:conditional-orientation-class(.)),
                                      ())"/>
   <xsl:if test="@label">
     <xsl:attribute name="db-label" select="@label"/>
@@ -35485,8 +35640,10 @@
 <xsl:template match="db:set|db:book|db:part|db:reference"
               mode="m:attributes" as="attribute()*">
   <xsl:variable name="attr" select="fp:common-attributes(.)"/>
+  
   <xsl:sequence
-      select="f:attributes(., $attr, (local-name(.), 'division', @status), ())"/>
+      select="f:attributes(., $attr,
+              (local-name(.), 'division', @status, f:conditional-orientation-class(.)), ())"/>
   <xsl:if test="@label">
     <xsl:attribute name="db-label" select="@label"/>
   </xsl:if>
@@ -35497,8 +35654,10 @@
                      |db:preface|db:chapter|db:appendix"
               mode="m:attributes" as="attribute()*">
   <xsl:variable name="attr" select="fp:common-attributes(.)"/>
+  
   <xsl:sequence
-      select="f:attributes(., $attr, (local-name(.), 'component', @status), ())"/>
+      select="f:attributes(., $attr,
+              (local-name(.), 'component', @status, f:conditional-orientation-class(.)), ())"/>
   <xsl:if test="@label">
     <xsl:attribute name="db-label" select="@label"/>
   </xsl:if>
@@ -35511,8 +35670,9 @@
   <!-- tempting to add a 'section' class here, but note that if we did
        it would become much harder to distinguish a section from a sect1.
        (I'm not sure that matters, but ...) -->
+  
   <xsl:sequence
-      select="f:attributes(., $attr, (local-name(.), @status), ())"/>
+      select="f:attributes(., $attr, (local-name(.), @status, f:conditional-orientation-class(.)), ())"/>
   <xsl:if test="@label">
     <xsl:attribute name="db-label" select="@label"/>
   </xsl:if>
@@ -35609,26 +35769,24 @@
 <xsl:template match="db:table[db:tgroup]|db:informaltable[db:tgroup]"
               mode="m:attributes" as="attribute()*">
   <xsl:variable name="attr" select="fp:common-attributes(.)"/>
+
   <xsl:variable name="pgwide" as="xs:string?">
     <xsl:if test="@pgwide and @pgwide != '0'">
       <xsl:sequence select="'pgwide'"/>
     </xsl:if>
   </xsl:variable>
-  <xsl:variable name="landscape" as="xs:string?">
-    <xsl:if test="@orient = 'land'">
-      <xsl:sequence select="'landscape'"/>
-    </xsl:if>
-  </xsl:variable>
+
   <xsl:variable name="type" as="xs:string"
                 select="if (starts-with(local-name(.),'informal'))
                         then 'informalobject'
                         else 'formalobject'"/>
+
   <xsl:variable name="style"
                 select="tokenize(@tabstyle)"/>
 
   <xsl:sequence
       select="f:attributes(., $attr,
-                           (local-name(.), $pgwide, $type, $landscape, $style),
+                           (local-name(.), $pgwide, $type, $style, f:conditional-orientation-class(.)),
                            ())"/>
 </xsl:template>
 
@@ -35648,11 +35806,7 @@
     </xsl:if>
   </xsl:variable>
 
-  <xsl:variable name="landscape" as="xs:string?">
-    <xsl:if test="@orient = 'land'">
-      <xsl:sequence select="'landscape'"/>
-    </xsl:if>
-  </xsl:variable>
+  <!-- N.B. We can't handle landscape here, it has to be on the table's parent -->
 
   <xsl:variable name="type" as="xs:string"
                 select="if (starts-with(local-name(.),'informal'))
@@ -35664,7 +35818,7 @@
 
   <xsl:sequence
       select="f:attributes(., $attr,
-                           (local-name(.), $pgwide, $type, $landscape, $style),
+                           (local-name(.), $pgwide, $type, $style),
                            ())"/>
 </xsl:template>
 
@@ -35773,13 +35927,21 @@
       <xsl:sequence select="'pgwide'"/>
     </xsl:if>
   </xsl:variable>
+  
+  <!-- landscapeFigure is legacy PI from XSLT 1.0 Stylesheets, 
+       see http://www.sagehill.net/docbookxsl/LandscapeImage.html -->
+  <xsl:variable name="landscape" as="xs:string?">
+    <xsl:if test="contains-token(@role, 'landscape') or processing-instruction('landscapeFigure')">
+      <xsl:sequence select="'landscape'"/>
+    </xsl:if>
+  </xsl:variable>
 
   <xsl:variable name="type"
                 select="if (starts-with(local-name(.), 'informal'))
                         then 'informalobject'
                         else 'formalobject'"/>
 
-  <xsl:sequence select="f:attributes(., $attr, (local-name(.), $type, $pgwide, $class), ())"/>
+  <xsl:sequence select="f:attributes(., $attr, (local-name(.), $type, $pgwide, $landscape, $class), ())"/>
 </xsl:template>
 
 <xsl:template match="db:index|db:bibliography|db:glossary"
@@ -37838,6 +38000,11 @@
 983
 984
 985
+986
+987
+988
+989
+990
 
<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 xmlns:db="http://docbook.org/ns/docbook"
@@ -38491,7 +38658,12 @@
 <xsl:template match="element()">
   <xsl:copy>
     <xsl:apply-templates select="@*"/>
-    <xsl:sequence select="h:db-annotation-marker[@placement='before']/node()"/>
+    <!-- annotations inside the constructed db-bfs div are moved to the top
+         so ignore them when we're *inside* the db-bfs div -->
+    <xsl:if test="not(contains-token(@class, 'db-bfs'))">
+      <xsl:sequence select="h:db-annotation-marker[@placement='before']/node()
+                            |h:div[@class='db-bfs']/h:db-annotation-marker[@placement='before']/node()"/>
+    </xsl:if>
     <xsl:apply-templates select="node()"/>
   </xsl:copy>
 </xsl:template>
@@ -39818,7 +39990,7 @@
 </xsl:function>
 
 </xsl:stylesheet>
-

2 templates, 1 param

Source code
1
+

2 templates, 1 param

Source code
1
 2
 3
 4
@@ -41052,4 +41224,4 @@
 </xsl:function>
 
 </xsl:stylesheet>
-

Generated by XSLT Explorer version 0.1.10 at 10:59 on 28 Sep 2024 with SAXON version HE 12.5.

Source: file:/home/runner/work/xslTNG/xslTNG/build/xslt/docbook.xsl

\ No newline at end of file +
\ No newline at end of file diff --git a/guide/2.2.2/ackno.html b/guide/2.2.2/ackno.html new file mode 100644 index 0000000000..60b10aaf93 --- /dev/null +++ b/guide/2.2.2/ackno.html @@ -0,0 +1,15 @@ +Acknowledgements

Acknowledgements

+ + +

I’d like to thank The Academy, the…no, wrong event.

+ +

DocBook has benefited immeasurably by the time and energy that +innumerable people have poured into it. I thank them all.

+ +

This project has benefited from the generous support of +Michael Kay and Saxonica for Saxon EE and +Micheal Miller and Antenna House for Antenna House Formatter. +

+ +

Bethan Tovey-Walsh designed the lovely xslTNG logo.

+
\ No newline at end of file diff --git a/guide/2.2.2/ch-building.html b/guide/2.2.2/ch-building.html new file mode 100644 index 0000000000..afc4deb1b3 --- /dev/null +++ b/guide/2.2.2/ch-building.html @@ -0,0 +1,153 @@ +Chapter 6. Building the stylesheets

Chapter 6Building the stylesheets

If you wish, you can also clone the distribution and build them +yourself. The distribution is designed to be self contained. In a Unix +or Mac environment, running: +

./gradlew dist

+will build the stylesheets. Building will:

  1. Compile the stylesheets and run the unit tests. The compiled stylesheets +will be available in build/xslt. +

    Running all the tests requires building the reference guide and +a few other things. You can build the stylesheets without running any +of the tests with the makeXslt task.

  2. Compile the extension functions. The compiled extension functions will be +available in build/libs. The jar task +will compile the extensions without running the tests. +

  3. “Compile” the Python script that helps run +the stylesheets. (It’s not really compiled, but several stylesheet-version-specific +strings are interpolated.) +The copyBin task will setup the Python script +without running the tests. +

Important

In principle, it should be possible to build the stylesheets on +Windows. In practice, it isn’t entirely +reliable. It has been much improved as of version 2.1.4, but still +fails randomly on some Windows machines, but not others. It may be +more expedient to build in the Linux subsystem on Windows 10 or in a +Docker container. +

6.1Prerequisites

In order to build the stylesheets, you must configure your +system with several prerequisites:

  • Gradle. The stylesheet +builds use the +Gradle wrapper to assure a consistent environment across systems, it’ll +be downloaded automatically the first time you build. +

  • A modern version of Java. (Java 1.8 or later, for example.) +

  • Python 3 and +the click module. +The Pygmentize program is also +required for syntax highlighting, though that’s not technically a build requirement. +

If you discover other prerequisites that have been overlooked, +or have questions or suggestions about how best to manage them, please +let us know.

6.2Repository structure

The most significant parts of the repository hierarchy are:

  |src/main/xslt
+  |src/main/xslt/transforms
+  |src/main/xslt/modules
+

These are the sources for the stylesheets themselves. The +transform subdirectory contains the preprocessing +stylesheets that are run as separate transforms. The +modules directory doesn’t have any special significance, it +just makes the main entry points easier to find.

You cannot run the XSLT stylesheets directly from the source +location. You must build them first with the +makeXslt build target.

  |src/main/web
+  |src/main/web/resources/css
+  |src/main/web/resources/js
+

These are the CSS and JavaScript files needed for accurate rendering in the +browser or formatter process.

  |src/main/locales/locale-10
+  |src/main/locales/locale
+

The local-10 directory holds copies of the +localization files from the XSLT 1.0 stylesheets. They’re transformed +into the locale versions by the build system. This whole +area is one that needs work.

  |src/test/xspec
+  |src/test/generators
+  |src/test/resources/xml
+  |src/test/resources/expected
+

These are the testing resources. You cannot run the XSpec tests +directly from src/test/xspec. The build system copies them into +build/xspec along with a few XSpec tests generated +automatically by the stylesheets in generators. +

The library of DocBook documents that are used for testing is +stored in the xml directory. The HTML files in +expected correspond to the expected results. The expected +results aren’t usefully viewed in a browser. Only the +body element and its +decendants are stored in the expected results. This avoids a lot of +noise in the +head.

  |src/main/java
+

These are the sources for the extension functions. +

  |src/guide
+  |src/website
+

These are the sources, resources, and ancillary files for the +reference guide and the website.

  |tools
+

The tools directory holds a number of stylesheets and other scripts used +by the build process.

  |lib
+

The lib directory holds third party jar files. This is also where +you can put your Saxon PE or EE files if you have them.

  |build
+  |build/actual
+  |build/xslt
+

The build system puts all of its temporary files under build. It’s +always safe to delete the entire directory and start over, though it will require internet +access and it may take a while.

Test files that you format are published to +build/actual and the images, CSS, and JavaScript resources +are copied under there so that everything will look right in the +browser. For security reasons, some JavaScript features may not work +if you are looking at the documents from the filesystem. You can work +around this by pointing a local web server at the build directory.

The built stylesheets are in build/xslt. You can run +them directly from there.

6.3Build configuration

Several build properties are defined in gradle.properties. +

verbose

If true, enables additional messages in the extension functions.

requireCompileSuccess

If true, the build will fail if there are any errors building the stylesheets.

requireTestSuccess

If true, the build will fail if any tests fail.

xspecVersion

The version of XSpec.

xsltExplorerVersion

The version of XSLT Explorer.

pdftool

Select a tool for formatting PDFs. Expected values are antennahouse +or prince.

antennahouse

The path to the Antenna House Formatter.

prince

The path to the Prince formatter.

There are four additional properties that are used by the +dbtransform target. This target allows you to process arbitrary +documents with the stylesheets. It takes care of loading all of the extension functions.

dbsource

The URI of the source document.

dboutput

The path for outputting the principle result document.

dbstyle

The URI of the base stylesheet, defaults to the main DocBook xslTNG stylesheet.

dbparams

Stylesheet parameters.

You can change these variables in your local version of gradle.properties, +or you can specify them on the command line. For example, to enable verbose +processing, pass -Pverbose=true on the Gradle command line.

6.4Build tasks

The build system is Gradle. Gradle’s +processing model operates in several phases, this allows an initial +configuration phase to construct build targets (called tasks) +dynamically. The DocBook xslTNG Stylesheets +build script uses this facility quite a bit.

In the discussion that follows, testdoc is the +base name of a test document, that is, one of the example files from the +src/test/resources/xml directory. For example, one of the test documents +is src/test/resources/xml/article.001.xml. In the build +targets that would be the “testdoc” article.001. +In an analogous way, “testset” is the root name of an XSpec test file in +src/test/xspec.

The most important tasks are:

makeXslt

This tasks “compiles” the stylesheets into build/xslt. +

report

This task runs all of the tests and generates a unified report in +build/report. This is the default task. +

test

Runs the test suite against the stylesheets. +

jar

Compiles the extension functions and creates the jar file in +build/libs. +

dist

Builds an archive in build/distributions suitable for distribution. +

guide

Builds the reference guide. +

website

Builds the website. +

explorer

Generates the XSLT Explorer +report for the stylesheets in +build/explorer. +

helloWorld

A smoke test target. It just prints a message, but doing so will exercise +a bunch of the build machinery in Gradle. +

6.5Testing tasks

The way tests are managed was completely refactored in version 2.0.13. The new +system is largely automatic.

  1. Create a new test document in src/test/resources/xml. For this +example, we’ll create para.003.xml, an example of a sidebar +in a para. +

  2. Use the build target para.003.html to format the document. +This build target (and several others) exist automatically because the source file has +been created.

  3. Inspect the results (in build/actual/para.003.html) and adjust +the stylesheets until you are satisfied that the results are correct. Each time you make a +stylesheet change, you can re-run the para.003.html target to +rebuild the output.

  4. When you are satisified, run param.003.expected to +update the expected results.

  5. Run the report target to make sure no other tests have broken +as a result of your changes.

More generally, the following targets exist for any source document in +src/test/resources/xml:

testdoc.html

Formats testdoc into HTML and stores the result +in build/actual where it can be viewed in the browser with the appropriate +CSS, JavaScript, images, etc. +

testdoc.expected

Formats testdoc into HTML and stores the result +in src/test/resources/expected. You should only run this +task when you’ve made a change and determined that the new results are correct and should +replace the previously expected results. +

testdoc.pdf.html

Formats testdoc into HTML suitable +for paged media and stores the result in build/actual. +

testdoc.pdf

The .pdf target will generate the +.pdf.html output and then attempt to transform it into PDF +with either AntennaHouse or PrinceXML. Additional configuration may be +necessary to get this to work. +

testdoc.chunk

Formats testdoc into HTML with chunking turned +on. The result is stored in index.html and other files +in build/actual. No attempt is made to avoid having +the output files from different documents overwrite each other. At the moment, +none of the automated tests create chunked output. +

testset.xspec

Runs the testset set of XSpec tests. +The test sets that are available are the sets constructed from build environments and +the sets created by hand (in src/test/xspec). +

6.6Running XSpec

In order to get consistent results across different runs and in different +environments, the XSpec tests run a driver stylesheet, xspec-driver.xsl. +

Note also that the XSpec shell script is modified by the stylesheets.

\ No newline at end of file diff --git a/guide/2.2.2/ch-customizing.html b/guide/2.2.2/ch-customizing.html new file mode 100644 index 0000000000..b2382b9087 --- /dev/null +++ b/guide/2.2.2/ch-customizing.html @@ -0,0 +1,787 @@ +Chapter 3. Customizing the stylesheets

Chapter 3Customizing the stylesheets

In many circumstances, the stylesheets can be used “out of the +box” without any customization. But sometimes you may need to change +the formatting of certain elements. One common reason is to change the +formatting of title pages or navigational features. In other cases, it +may be to support local extensions to DocBook or simply to change the +markup to support a particular use case.

Three approaches are possible, with increasing degrees of +effort: changing stylesheet parameters, creating your own +customization layer, or making broader changes to the stylesheet’s +implementation.

The subject of broader implementation changes is the subject of +Chapter 5, Implementation details. In this chapter, we’ll look at the +easier options.

3.1Changing stylesheet parameters

The DocBook xslTNG Stylesheets define a +lot of parameters. They are all described in IParameter reference. +If the change you want to make has already been parameterized, you may +be able to achieve your goal simply by setting a parameter at runtime.

For example, if you want to change the formatting of dates and times +in date elements, you can simply change the +date and time formatting +parameters. Similarly, if you want to change the numeration style of +ordered lists, you can simply change the ordered list item +numeration parameter.

These changes can be accomplished by simply passing the new +values to the processor, on the command line or in a configuration +file, for example. You do not have to write any XSLT to make these +changes.

Parameter values apply to the entire document processed by the +stylesheets. In some cases, you may wish to change the presentation of +just one or small number of elements. This can often be accomplished +with a db processing instruction in +the source document itself. These customizations can also be +accomplished without writing any XSLT.

If you want to make a change that isn’t supported by a +parameter, or an ad hoc exception that doesn’t have a supporting +processing instruction, you will have to write a customization layer. +(You are invited to submit an issue with your use case if you think it +would be of general interest.) +

You may also find it convenient to write a customization layer +if you want to change several parameters and you find it inconvenient +to pass them all to the processor on every invocation. +

3.2Creating a customization layer

A customization layer is simply an XSLT stylesheet that you +write which extends the DocBook stylesheets. The simplest* customization +layer is:

 1 |<?xml version="1.0" encoding="utf-8"?>
+   |<xsl:stylesheet
+   |    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   |    xmlns:db="http://docbook.org/ns/docbook"
+ 5 |    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+   |    xmlns="http://www.w3.org/1999/xhtml"
+   |    exclude-result-prefixes="db xs"
+   |    version="3.0">
+   | 
+10 |<!-- This href has to point to your local copy
+   |     of the stylesheets. -->
+   |<xsl:import href="docbook/xslt/docbook.xsl"/>
+   | 
+   |</xsl:stylesheet>
+

This customization doesn’t do anything. But you can, for example, redefine +parameters if you wish:

 1 |<?xml version="1.0" encoding="utf-8"?>
+   |<xsl:stylesheet
+   |    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   |    xmlns:db="http://docbook.org/ns/docbook"
+ 5 |    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+   |    xmlns="http://www.w3.org/1999/xhtml"
+   |    exclude-result-prefixes="db xs"
+   |    version="3.0">
+   | 
+10 |<xsl:import href="docbook/xslt/docbook.xsl"/>
+   | 
+   |<xsl:param name="orderedlist-item-numeration"
+   |           select="'1'"/>
+   | 
+15 |<xsl:param name="date-dateTime-format"
+   |           select="'[D01] [MNn,*-3] [Y0001]
+   |                   at [H01]:[m01]'"/>
+   | 
+   |</xsl:stylesheet>
+

This will have the effect of running the DocBook stylesheets with those two +parameters set as specified.

If you want to change the HTML output for an element, you can write a template +for that element in your customization layer. Consider this DocBook document: +

 1 |<?xml version="1.0" encoding="utf-8"?>
+   |<article xmlns="http://docbook.org/ns/docbook"
+   |         version="5.1">
+   |<info>
+ 5 |<title>Sample Document</title>
+   |<date>2020-07-05</date>
+   |</info>
+   | 
+   |<para>This is a sample <productname>DocBook</productname>
+10 |document.</para>
+   | 
+   |</article>
+

Suppose that you decided you wanted to have the +productname element link automatically to the vendor +webpage.

Important

The DocBook xslTNG Stylesheets process +all DocBook elements in the +m:docbook mode. This is different from previous XSLT stylesheets for DocBook +which simply used the default mode.

You must either specify a default mode in your customization layer +or remember to specify the mode on match templates and template applications. +If you forget the mode, you’ll get unexpected results!

One way to do that would be to redefine the template that processes the +productname element:

 1 |<?xml version="1.0" encoding="utf-8"?>
+   |<xsl:stylesheet
+   |    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   |    xmlns:db="http://docbook.org/ns/docbook"
+ 5 |    xmlns:m="http://docbook.org/ns/docbook/modes"  
+   |    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+   |    xmlns="http://www.w3.org/1999/xhtml"
+   |    exclude-result-prefixes="db m xs"  
+   |    version="3.0">
+10 | 
+   |<xsl:import href="docbook/xslt/docbook.xsl"/>
+   | 
+   |<xsl:param name="orderedlist-item-numeration"
+   |           select="'1'"/>
+15 | 
+   |<xsl:param name="date-dateTime-format"
+   |           select="'[D01] [MNn,*-3] [Y0001]
+   |                   at [H01]:[m01]'"/>
+   | 
+20 |<xsl:template match="db:productname"
+   |              mode="m:docbook">  
+   |  <xsl:variable name="name"
+   |                select="normalize-space(.)"/>
+   |
+25 |  <xsl:variable name="url" as="xs:string?">
+   |    <xsl:choose>
+   |      <xsl:when test="$name='DocBook'">
+   |        <xsl:sequence select="'https://docbook.org/'"/>
+   |      </xsl:when>
+30 |      <xsl:when test="$name='DocBook xslTNG Stylesheets'">
+   |        <xsl:sequence select="'https://xsltng.docbook.org/'"/>
+   |      </xsl:when>
+   |      <xsl:when test="$name='Wikipedia'">
+   |        <xsl:sequence select="'https://wikipedia.org/'"/>
+35 |      </xsl:when>
+   |      <xsl:otherwise>
+   |        <!-- Unrecognized -->
+   |      </xsl:otherwise>
+   |    </xsl:choose>
+40 |  </xsl:variable>
+   |                  
+   |  <xsl:choose>
+   |    <xsl:when test="empty($url)">
+   |      <xsl:next-match/>  
+45 |    </xsl:when>
+   |    <xsl:otherwise>
+   |      <a href="{$url}" title="Home page">
+   |        <xsl:next-match/>  
+   |      </a>
+50 |    </xsl:otherwise>
+   |  </xsl:choose>
+   |</xsl:template>
+   | 
+   |</xsl:stylesheet>
+

All of the DocBook elements are processed in the “m:docbook” mode.

Remember to exclude all the namespaces you declare so that they don’t wind up +scattered about in your HTML.

I repeat, all of the DocBook elements are processed in the +“m:docbook” mode. I expect that failure to declare this mode is going to be a common +error.

Yes, this whole listing is rather cramped. +I’m trying to make it all narrow +enough to fit in the display without making horizontal scrolling necessary. +

Calling xsl:next-match invokes the underlying +processing. The effect of this template is to wrap an HTML +“a” around the default processing for +productname.

It’s worth pointing out that if the tag has an +xlink:href attribute, that will generate an HTML +a as well. A more robust stylesheet would check for that, +but I’m trying to keep the example simple.

3.3Managing CSS stylesheets

The HTML that the DocBook xslTNG stylesheets +produce is intended to be clean, robust markup for styling with CSS. +Exactly how you control which stylesheet links are produced has +changed several times. The current scheme is this:

  1. If syntax highlighting is enabled, a link to the +$verbatim-syntax-highlight-css stylesheet is +included. +

  2. If $persistent-toc is +true +a link to the $persistent-toc-css stylesheet +is included. +

  3. If $use-docbook-css is true, +links to the standard DocBook stylesheets are included. Those stylesheets +are docbook.css (for all media), +docbook-screen.css (for screen media), and +docbook-page-setup.css and +docbook-paged.css (for print media). +

  4. The DocBook element that is the context element when the HTML +head is being +generated is processed in the m:html-head-links mode. +By default, that template does nothing, but you can change that in +a customization layer.

  5. If any CSS stylesheets are defined in +$user-css-links, they are included. +

  6. The DocBook element that is the context element when the HTML +head is being +generated is processed in the m:html-head-last mode. +By default, that template does nothing, but you can change that in +a customization layer.

3.4Customizing title pages

All of the titled elements (books, chapters, sections, etc.) have “title pages”. That is, +they have a +header element that contains the +elements from the info that should be presented in the title header. +In practice, info is a wrapper for general metadata about the element and +often contains many elements that shouldn’t be presented.

There’s so much variation both in what goes in the +info elements and in what users need to have in the title header, that +there’s no practical way to control it simply with stylesheet parameters.

Instead the stylesheets offer two customization mechanisms: first, each header is formed +from a header template. You can change the titlepage template in your +customization layer.

For example, the default titlepage template for chapter headers is:

1 |<header>
+  |  <tmp:apply-templates select="db:title">
+  |    <h2><tmp:content/></h2>
+  |  </tmp:apply-templates>
+5 |  <tmp:apply-templates select="db:subtitle">
+  |    <h3><tmp:content/></h3>
+  |  </tmp:apply-templates>
+  |</header>
+

The tmp:apply-templates elements aren’t as sophisticated as +XSLT templates, but they let you select parts of the document. If nothing is +selected, the content is ignored. When the title page template is evaluated, the context +item is the info element.

Inside the tmp:apply-templates, you can decide what HTML markup should +appear. The +tmp:content element will be replaced by the result of processing +the element or elements you selected.

As a consequence of that template, a chapter title page contains the +chapter title in an h2 and +the subtitle in an h3. No +other elements in the info are presented.

Suppose you are writing a book where each chapter has a different author. +You can add the authors to the chapter title page by updating the template in +your customization layer. The stylesheets contain a +$v:templates variable for this purpose. Any templates that you +put inside it will be used before the default templates.

 1 |<xsl:variable name="v:templates" as="document-node()"
+   |              xmlns:v="http://docbook.org/ns/docbook/variables">
+   |  <xsl:document xmlns:tmp="http://docbook.org/ns/docbook/templates"
+   |                xmlns:db="http://docbook.org/ns/docbook"
+ 5 |                xmlns="http://www.w3.org/1999/xhtml">
+   |    <db:chapter context="parent::db:book">
+   |      <header>
+   |        <tmp:apply-templates select="db:title">
+   |          <h2><tmp:content/></h2>
+10 |        </tmp:apply-templates>
+   |        <tmp:apply-templates select="db:subtitle">
+   |          <h3><tmp:content/></h3>
+   |        </tmp:apply-templates>
+   |        <tmp:apply-templates select="db:author">
+15 |          <h3 class="author">
+   |            <tmp:content/>
+   |          </h3>
+   |        </tmp:apply-templates>
+   |      </header>
+20 |    </db:chapter>
+   |  </xsl:document>
+   |</xsl:variable>
+

With that customization, a chapter title page contains the +chapter title in an h2 +and the subtitle and authors in +h3 elements, in that order. +If you change the order of the tmp:apply-template elements, the +order of the elements in the header will change.

Another common requirement is to put a graphic on the title page of a +book. Here’s how you might do that. (This example appears in the test suite +as test book.014.xml.) Add the cover to your +info element:

 1 |<book xmlns="http://docbook.org/ns/docbook" version="5.2">
+   |<info>
+   |  <title>Unit Test: book.014</title>
+   |  <cover>
+ 5 |    <mediaobject>
+   |      <imageobject>
+   |        <imagedata fileref="../media/yoyodyne.png"/>
+   |      </imageobject>
+   |    </mediaobject>
+10 |  </cover>
+   |  <editor>
+   |    <personname>
+   |      <firstname>Norman</firstname>
+   |      <surname>Walsh</surname>
+15 |    </personname>
+   |    <email>ndw@nwalsh.com</email>
+   |  </editor>
+   |</info>
+   |
+20 |</book>
+

Then decide how you want that graphic in the header with a new book template:

 1 |<xsl:variable name="v:templates" as="document-node()"
+   |              xmlns:v="http://docbook.org/ns/docbook/variables">
+   |  <xsl:document xmlns:tmp="http://docbook.org/ns/docbook/templates"
+   |                xmlns:db="http://docbook.org/ns/docbook"
+ 5 |                xmlns="http://www.w3.org/1999/xhtml">
+   |    <db:book>
+   |      <header>
+   |        <tmp:apply-templates select="db:cover/db:mediaobject">
+   |          <div class="cover">
+10 |            <tmp:content/>
+   |          </div>
+   |        </tmp:apply-templates>
+   |        <tmp:apply-templates select="db:title">
+   |          <h1><tmp:content/></h1>
+15 |        </tmp:apply-templates>
+   |        <tmp:apply-templates select="db:editor">
+   |          <div class="editor">
+   |            <h3><tmp:content/></h3>
+   |          </div>
+20 |        </tmp:apply-templates>
+   |      </header>
+   |    </db:book>
+   |  </xsl:document>
+   |</xsl:variable>
+

This template will output the cover image, then the title, then the editor. +If you want to update multiple templates, put them all in the same +$v:templates element as siblings.

Once you’ve output the elements in the header, you can use CSS to +customize their appearance further.

You can get a long way just by updating the title page templates, but not +always far enough. If you can’t achieve what you need by changing a template, +you can take full control.

Each element generates its title page with the m:generate-titlepage +mode. If you add a template in that mode to your customization layer, it has +complete freedom to generate a custom title page.

Here, for example, is a book title page template:

1 |<xsl:template match="db:book" mode="m:generate-titlepage">
+  |  <header>
+  |    <h1>
+  |      <xsl:apply-templates select="db:info/db:title" mode="m:titlepage"/>
+5 |    </h1>
+  |    <p>Hello, world</p>
+  |  </header>
+  |</xsl:template>
+

With this XSLT template in your customization layer, the book title page +will consist of the title in an +h1 +and the phrase “Hello, world” in a paragraph. +In this case, the context item for the XSLT template is the main element, not +its info child. But it will always have an +info child, even if your original document didn’t have a wrapper +around the titlepage metadata.

3.5Managing media

References to external media through imagedata, +videodata, audiodata, and even +textdata can be tricky to manage. On the one hand, it’s +most convenient if the URIs in the source documents point to the +actual media files. This allows extensions, like the image properties +extension function, to access the +files. At the same time, the references generated in the HTML have to +point to the locations where they will be published. It is often, but +not always, the case that the authoring structures and the publishing +structures are the same.

The stylesheets are regularly tested against five possible +arrangements: three where the media are stored in locations relative +to the XML files and two where the media are stored in a separate +hierarchy. These are unimaginative named “mo-1”, “mo-2”, “mo-3”, “mo-4”, +and “mo-5”. +You can find them in the +src/test/resources/xml hierarchy in the repository.

mo-1

All of the XML files are in a single directory, the media are in the same +hierarchy. Media references in the source use relative URIs to refer to the +underlying media: preface.xml refers to the “this is a test” +audio clip as media/this-is-a-test.mp3. +

mo-2

The XML files are in different directories (this changes the +base URI of the media elements). The media are in the same hierarchy. +Media references in the source use relative URIs to refer to the +underlying media: front/preface.xml refers to the “this is a test” +audio clip as ../media/spinning-top.mp4. +

mo-3

The XML files are in different directories, but the structure is +deeper. This scenario represents the case where there might be multiple books, each +with their own media, but also a shared media folder “above” the book hierarchies. +The media are in the same hierarchy, but some are “above” the book. +Media references in the source use relative URIs to refer to the +underlying media: book/front/preface.xml refers to the “this is a test” +audio clip as ../../media/spinning-top.mp4. +

mo-4

The XML files are still in different directories, but the significant change +here is that the media are in their own hierarchy. +Media references in the source use URIs relative to the root of that +hierarchy: book/front/preface.xml refers to the “this is a test” +audio clip as spinning-top.mp4. +

mo-5

The XML files are in different directories and the media are in their own +hierarchy. What’s different here is that the media hierarchy is further +subdivided by media type. +Media references in the source use URIs relative to the root of media +hierarchy without the media type: +book/front/preface.xml still refers to the “this is a test” +audio clip as spinning-top.mp4, but this time it is found in +media/mp4/spinning-top.mp4 rather than directly in +media. +

For each arrangement, we look at five possible output structures:

  1. A single HTML document with the media in the same relative locations +as the sources. +

  2. A single HTML document with the media in a single media +subdirectory. +

  3. “Chunked” HTML output with the media in the same relative locations +as the sources. +

  4. “Chunked” HTML output with the media in custom locations. (This is especially +tricky for the “mo-5” case because there are two kinds of customization involved.) +

  5. “Chunked” HTML output with the media in a single media +subdirectory. +

The list below gives a brief summary of the parameters used to achieve +the desired results for each combination of input and output arrangements.

Note

Remember that in each case, the questions are: can the +stylesheets find the media files to query them and are the correct +HTML references produced? Actually copying the media files from where +they are in the source system to where they need to be in the HTML is +“not our problem.”

mo-1, mo-2, and mo-3 / + scenario 1

No parameters are needed, this combination works correctly with the defaults. +

mo-1, mo-2, and mo-3 / + scenario 2
  |mediaobject-output-base-uri = "media/"
+  |mediaobject-output-paths = "false"
+

The output base URI is relative to the “root” of the HTML result. +Setting the output paths to “false” removes intermediate hierarchy from the +image references. +

mo-1, mo-2, and mo-3 / + scenario 3
  |chunk = "index.html"
+  |chunk-output-base-uri = "/path/to/output/location/"
+

These parameters aren’t related to media objects, they just tell +the stylesheets how and where to “chunk” the output. +

mo-1, mo-2, and mo-3 / + scenario 4
  |chunk = "index.html"
+  |chunk-output-base-uri = "/path/to/output/location/"
+

This combination is really the same as the previous except that +it uses a +custom stylesheet +with a template in the m:mediaobject-output-adjust mode +to add an extra level of hierarchy to the output URIs. This is just an +example of arbitrary, custom processing. +

mo-1, mo-2, and mo-3 / + scenario 5
  |chunk = "index.html"
+  |chunk-output-base-uri = "/path/to/output/location/"
+  |mediaobject-output-base-uri = "media/"
+  |mediaobject-output-paths = "false"
+

The output base URI is relative to the “root” of the HTML result. +Setting the output paths to “false” removes intermediate hierarchy from the +image references. +

mo-4 / + scenario 1
  |mediaobject-input-base-uri = "../media/"
+

The input base URI will be made absolute relative to the base URI +of the input document, so it’s often convenient to specify it as a relative +URI. It’s equally possible to specify it as an absolute URI. +

mo-4 / + scenario 2
  |mediaobject-input-base-uri = "../media/"
+  |mediaobject-output-base-uri = "media/"
+  |mediaobject-output-paths = "true"
+

This example has two images with the same name in different directories, +so it’s necessary to preserve the output paths. +

mo-4 / + scenario 3
  |chunk = "index.html"
+  |chunk-output-base-uri = "/path/to/output/location/"
+  |mediaobject-input-base-uri = "../media/"
+

This is the combination of chunking and a single media directory. +

mo-4 / + scenario 4
  |chunk = "index.html"
+  |chunk-output-base-uri = "/path/to/output/location/"
+  |mediaobject-input-base-uri = "../media/"
+

This combination is really the same as the previous except that +it uses a +custom stylesheet +with a template in the m:mediaobject-output-adjust mode +to add an extra level of hierarchy to the output URIs. This is just an +example of arbitrary, custom processing. +

mo-4 / + scenario 5
  |chunk = "index.html"
+  |chunk-output-base-uri = "/path/to/output/location/"
+  |mediaobject-input-base-uri = "../media/"
+  |mediaobject-output-base-uri = "media/"
+  |mediaobject-output-paths = "true"
+

This is effectively scenario 2 with chunking. +

mo-5 / scenarios 1-5

The “mo-5” scenarios are all the same as the “mo-4” scenarios +with the addition of one more parameter:

  |mediaobject-grouped-by-type = "true"
+

In each case, this adds the extra “media object type” level to the +URI path. +

If you download the source repository, you can see these combinations +in action with the build targets +“mo_number_test_scenario”, +for example, run:

  |./gradlew mo_3_test_2
+

to see the results of processing “mo-3” in scenario 2. The output +will be in the build/actual directory. The build target +all_mo_tests will run them all.

3.6Controlling numeration

Numeration refers to the process(es) by which sets, books, +divisions, components, sections, and formal objects are numbered. +There are three separate aspects to numeration: what’s numbered, where +does numbering begin, and does the number inherit from its ancestors.

Consider this book:

 1 |<book>
+   |  <title>Book title</title>
+   |  <part>
+   |    <title>Part title</title>
+ 5 |    <chapter>
+   |      <title>Chapter title</title>
+   |      <para></para>
+   |    </chapter>
+   |  </part>
+10 |  <part>
+   |    <title>Another part title</title>
+   |    <chapter>
+   |      <title>Another chapter title</title>
+   |      <para></para>
+15 |    </chapter>
+   |    <chapter>
+   |      <title>Yet another chapter title</title>
+   |      <para></para>
+   |    </chapter>
+20 |  </part>
+   |</book>
+

Let’s suppose that parts are numbered “I” and “II”. (The number +format is controlled by the localization, see Chapter 4, Localization.) If chapter +numbering begins at the book level, those chapters will be +numbered “1”, “2”, and “3”. If chapter numbering begins at the division level +(the part), those chapters will be numbered “1”, “1”, and “2”. +If division numbers are inherited, those numbers will be “I.1”, “II.1”, “II.2”. +

In the 1.x versions of these stylesheets, all of the aspects of +numeration were controlled by three now obsolete parameters: +$component-numbers-inherit, +$division-numbers-inherit, and +$section-numbers-inherit. In the 2.x stylesheets, the +various aspects can be controlled independently and the result is +much more consistent, if a bit more complicated.

The default numeration parameters are designed to cover the most +common use cases and are specified with strings so that they’re easy to control +with parameters. Any numeration scheme can be implemented +with a customization layer, but hopefully that will be necessary only rarely and +in uncommon cases.

To simplify the problem, we divide the DocBook elements into six categories:

sets

The set is the only member of this category. +

books

The book is the only member of this category. +

divisions

The divisions elements are part and reference. +

components

The component elements are +acknowledgements, +appendix, +article, +bibliography, +chapter, +colophon, +dedication, +glossary, +index, +partintro, +preface, +refentry, and +setindex. +

sections

The section elements are +section, +sect1, +sect2, +sect3, +sect4, +sect5, +simplesect. +The refentry section elements are not included because they are +not typically numbered.

formal objects

The formal objects are +figure, +table, +example, +equation, +formalgroup, +procedure. +

There’s a bit of complexity here. A formalgroup that contains figures +counts as a figure, a formalgroup that contains tables +counts as a table, etc. An equation or procedure +only counts as a formal object if it has a title.

Six parameters control where numbering starts (or restarts): +$sets-number-from, +$books-number-from, +$divisions-number-from, +$components-number-from, +$sections-number-from, and +$formal-objects-number-from. In each case, the value +of the parameter must be the name of one of the categories. Sets and books +can only number from sets, divisions can number from sets or books, +components can number from sets, books, or divisions, etc. It is also +possible to specify the value root to indicate that elements in +the relevant category are numbered sequentially through the whole document.

To assure consistency, “numbering from” resets when the specified +category or one of its ancestors is encountered. In other words, if +you’re formatting a set of books and numbering components from +divisions, the numbering resets when a new division, book, or set begins.

Six parameters control how numbers are inherited: +$sets-inherit-from, +$books-inherit-from, +$divisions-inherit-from, +$components-inherit-from, +$sections-inherit-from, and +$formal-objects-inherit-from. Like the “number +from” parameters, each parameter takes the value of the categories +above it. In this case, however, you can specify more than one +category.

For example, the default value for formal objects is to +inherit from “component section”. That means that the +first figure in chapter 2 will be labeled “2.1” and the first figure +in the first section in chapter 2 will be labeled “2.1.1”, etc. +This most closely reproduces the numbering from the 1.x stylesheets.

3.6.1Numeration overrides

Although the numeration parameters give you complete control over +numeration, they aren’t simple to use. A few common cases can be handled with +simpler settings: $division-numbers, +$component-numbers, and +$section-numbers. Each of these parameters is “true” by +default and numeration of divisions, components, and sections is handled as +described above. If these parameters are set to “false”, divisions, components, +and sections, respectively, will not be numbered.

Numbering can also be controlled on a per-element basis with the +db processing instruction. + +If the numbered + +pseudo-attribute is “true”, the division, component, or section in which that +processing instruction occurs, and all of its descendants, will be numbered. +If it’s “false”, the element and its descendants will not be numbered.

In this way, it would be possible to have a single chapter or article with +numbered sections even in a book where sections are not normally numbered.

3.7Using glossaries

There are essentially two ways to manage glossaries: you can +author them by hand, or you can compose them automatically from a +collection of glossary entries.

In a glossary authored by hand, no special processing +takes place. The entries appear as they are listed and every entry appears +whether there is a corresponding glossary reference in the document or not. +The author is free to use glossdiv elements +to divide the glossary into sections and the document may have multiple +glossary elements.

If you compose them from glossary collections, only the terms +used in your document (in glossterm or firstterm +elements) will appear in the glossary. The glossary collections can be +managed internally or externally. If multiple definitions appear in +the glossary collections, only the first definition is +included.

The best way to explain automatic glossaries is to use an +example. Let's assume that you have marked the two terms +Apple and +Pear as glossterms in your document. +Your automatic glossary should ultimately contain exactly two entries, +one for each of those terms.

Create a glossary in your document and add auto to the +role attribute on the glossary element. +(If you’re using automatic glossaries, there should only be one glossary +element in your document.) This is the internal glossary.

  • Even if your internal glossary has three entries, one each for Apple, +Jackfruit and Pear, you will end up with a +glossary in the generated document that has only two entries. There will be no entry for +Jackfruit, since there is no corresponding glossterm +or firstterm in the main part of your text.

  • You can also use external glossaries for +this task, which can be identified by the +$glossary-collection parameter, or the +db processing instructions with a +glossary-collection pseudo-attribute in the root element.

    If you use external glossaries, you can leave the internal, +automatic glossary completely empty. As long as there are entries for +Apple and Pear in one of +your external glossaries, you will end up with those two entries in +the generated glossary, even if the external glossaries contain many +more terms. +

  • You can use the internal, automatic glossary in conjunction with +external glossaries. In this case, entries from the internal glossary +take precedence over entries for the same term from external +glossaries. Lets say you have entries for Apple +and Pear among others in your external glossary, +and also a glossentry for Apple in +your internal glossary. In this case you will end up with a glossary +which contains two entries, one for Apple, with +the definition taken from the internal glossary, and one for +Pear with a definition from the +external glossary. +

Entries will appear in the glossary in the same order as they appear in the +internal and external glossaries unless they are sorted. Sorting is controlled +by the $glossary-sort-entries parameter.

An automatic glossary may have glossary divisions. Those are +controlled by the $glossary-automatic-divisions +parameter.

3.7.1Using Schematron to manage the glossary

Schematron rules can help manage the glossary. The +f:glossentries() function (defined in +standalone-functions.xsl in the xslTNG install +directory) has been designed so that it can be integrated into +Schematron independently of the xslTNG stylesheets. You can use it to +check whether a corresponding glossentry exists for a +glossterm or firstterm while you are still +writing. Corresponding Schematron schemas are not yet part of the +xslTNG framework. Example 3.1, however, +shows how you could use schematron to check whether there is exactly one glossentry +for the glossterm and firstterm elements in your document.

 1 |<schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
+   | 
+   |  <xsl:include xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   |    href="standalone-functions.xsl"/>
+ 5 | 
+   |   <ns uri="http://docbook.org/ns/docbook" prefix="db"/>
+   |  <ns uri="http://docbook.org/ns/docbook/functions" prefix="f"/>
+   | 
+   |  <pattern>
+10 |    <rule context="
+   |        db:firstterm
+   |        | db:glossterm[not(ancestor::db:glossary)]">
+   |       <let name="term" value="((@baseform, .)[1])"/>
+   |      <let name="n" value="count(f:glossentries(.))"/>
+15 | 
+   |      <report role="error" test="$n eq 0">No entry for 
+   |        <value-of select="$term"/> in glossary.</report>
+   | 
+   |      <report role="warning" test="$n gt 1"><value-of select="$n"/> 
+20 |        entries for <value-of select="$term"/> in glossary.</report>
+   | 
+   |    </rule>
+   |  </pattern>
+   | 
+25 |</schema>
+

Include the standalone-functions.xsl file. + You have to adjust the path accordingly.

Provide declaration for the namespace of functions from xslTNG.

Use the f:glossentries() function + to get the number of matching glossentry elements for the given glossterm or firstterm

Example 3.1A Schematron schema to check glossary terms

If you want to use Schematron rules with external glossaries, +it’s most convenient to use the db processing instruction +to identify the external glossaries. The +f:glossentries() function will load them automatically (see Example 3.2). +

1 |<article xmlns="http://docbook.org/ns/docbook" version="5.0">
+  |  <?db glossary-collection='resources/glosscollection.xml' ?>
+  |  <title>My document</title>
+  |
+5 |</article>
+
Example 3.2Pass the glossary-collection parameter to Schematron

3.8Using bibliographies

Bibliographies are more complicated than glossaries. +Bibliography entries can be “cooked” (bibliomixed) or “raw” +(biblioentry) and there’s no obvious way to sort +bibliography entries in the general case.

There are also two different cross-referencing mechanisms for +bibliographic entries: by ID, using biblioref or xref, +or with citation that matches on abbrev elements +in the bibliography entry.

Consider this example bibliography:

1 |<bibliography>
+  |<bibliomixed xml:id="bib.xml"><abbrev>XML</abbrev>Tim Bray,
+  |Jean Paoli, </bibliomixed>
+  | 
+5 |<biblioentry><abbrev>MalerElAndaloussi96</abbrev>
+  |  <title>Developing SGML DTDs</title> </biblioentry>
+  |</bibliography>
+

The first entry can be cited in two ways: <biblioref linkend="bib.xml"/> +or <citation>XML</citation>. The second can only be cited with +a <citation>MalerElAndaloussi96</citation> +(it has no xml:id to link to).

Taking all of these variations into account, there are three +ways to construct bibliographies:

  1. Entirely by hand.

  2. Managed by hand, +with empty elements as placeholders.

  3. Managed automatically.

There are tradeoffs to each approach.

When external bibliographies are used, they can be identified either with the +$bibliography-collection parameter or with +db processing instructions with a +bibliography-collection pseudo-attribute in the root element.

3.8.1Entirely by hand

In a bibliography constructed entirely by hand, no special processing +takes place. The entries appear as they are listed and every entry appears +whether it is cited or not. The author is free to use bibliodiv elements +to divide the bibliography into sections and the document may have multiple +bibliography elements.

3.8.2Managed by hand

Bibliographic entries can be complex and may be shared across multiple +documents. One approach to managing this complexity is to store the full entries in +an external bibliography and use only placeholders in your actual document.

A placeholder is an empty entry with an xml:id, or an entry that contains only an +abbrev (if it has both an xml:id and contains only an abbrev, the +ID will be used to search for a matching entry in the external bibliography). +It will be replaced by the full entry from the external bibliography +when the document is formatted.

For example, if the full entries are available externally, the preceding +bibliography example could be shortened to:

1 |<bibliography>
+  |<bibliomixed xml:id="bib.xml"/>
+  |<biblioentry><abbrev>MalerElAndaloussi96</abbrev>
+  |</biblioentry>
+5 |</bibliography>
+

The entries appear in the order listed and every entry appears +whether it is cited or not. The author is free to use bibliodiv elements +to divide the bibliography into sections and the document may have multiple +bibliography elements.

3.8.3Automatic

An automatic bibliography is selected by using the token +auto in the role attribute on a bibliography. +Placeholders can still be used, but they are unnecessary when using +citation for citations.

Any citation that appear in the text will be matched to entries +in the external bibliographies. Those entries will be included +automatically. Automatically added entries appear at the end of the +bibliography (after any internal ones, if the internal bibliography +has entries), in the order that they appear in the external +bibliographies. +If multiple external entries match, only the first is added.

Any bibliography entries in the internal bibliography that +aren’t cited will be removed.

When using the automatic style, there should be only one +bibliography in the document and it cannot contain +divisions.

3.9Creating something completely different

Your input documents go through several pre-processing steps +before they are rendered into HTML. If you want to produce completely +different outputs, the place to start is with root template in the +m:docbook mode.

Consider, for example, +the task of creating a JSON version of the Table of Contents. In principle, you could +write your own stylesheet to do this, but leveraging the +DocBook xslTNG Stylesheets means you can make use of functions like +f:generate-id() to create links.

To produce completely different results, override the root template in the +m:docbook mode:

1 |<xsl:template match="/" mode="m:docbook">
+  |  <xsl:document>
+  |    <!-- your processing here -->
+  |  </xsl:document>
+5 |</xsl:template>
+

This template must return a document node.

Note that you can mix-and-match your processing with default +processing by processing DocBook elements in the +m:docbook mode.

Here is a simple example of a stylesheet that produces a JSON version of the +Table of Contents for a DocBook document:

 1 |<?xml version="1.0" encoding="utf-8"?>
+   |<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   |                xmlns:db="http://docbook.org/ns/docbook"
+   |                xmlns:f="http://docbook.org/ns/docbook/functions"
+ 5 |                xmlns:m="http://docbook.org/ns/docbook/modes"
+   |                xmlns:t="http://docbook.org/ns/docbook/templates"
+   |                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+   |                xmlns="http://www.w3.org/1999/xhtml"
+   |                exclude-result-prefixes="db f m t xs"
+10 |                version="3.0">
+   | 
+   |  <!-- This href has to point to your local copy
+   |       of the stylesheets. -->
+   |  <xsl:import href="docbook/xslt/docbook.xsl"/>
+15 | 
+   |  <xsl:output method="text"/>
+   | 
+   |  <!-- Suppress xslTNG's default HTML output; note that this template
+   |       must return a document node.  -->
+20 |  <xsl:template match="/" mode="m:docbook">
+   |    <xsl:document>
+   |      <xsl:apply-templates select="." mode="TOC"/>
+   |    </xsl:document>
+   |  </xsl:template>
+25 | 
+   |  <!-- The templates below generate a simple JSON ToC. -->
+   | 
+   |  <xsl:template match="/" mode="TOC">
+   |    {"toc": [
+30 |    <xsl:apply-templates mode="TOC"/>
+   |    ]}
+   |  </xsl:template>
+   | 
+   |  <xsl:template match="db:part|db:article|db:section|db:chapter" mode="TOC"
+35 |                expand-text="yes">
+   |    <xsl:if test="preceding-sibling::db:part
+   |                  | preceding-sibling::db:article
+   |                  | preceding-sibling::db:section
+   |                  | preceding-sibling::db:chapter">,&#10;</xsl:if>
+40 |    {{
+   |    "ref": "{f:generate-id(.)}",
+   |    "title": "{normalize-space(db:info/db:title)}",
+   |    "subtitle": "{normalize-space(db:info/db:subtitle)}",
+   |    "items": [
+45 |    <xsl:apply-templates select="db:part|db:article|db:section|db:chapter" mode="TOC"/>
+   |    ]
+   |    }}
+   |  </xsl:template>
+   | 
+50 |  <xsl:template match="*" mode="TOC">
+   |    <xsl:apply-templates select="*" mode="TOC"/>
+   |  </xsl:template>
+   |</xsl:stylesheet>
+
Note

This example is meant as a starting point; it’s not robust as it only handles +a few of the possible elements that might appear in a Table of Contents.

When processing documents this way, be aware that you are transforming the pre-processed, +normalized versions of your input documents. For example, whether or not you put +info wrappers around the titles of your sections, in the pre-processed input, +titles always appear inside info wrappers. +This normalization greatly simplifies processing in many places.


Ok, +technically, this stylesheet has a couple of namespace references that aren’t +strictly necessary so it could be a teeny bit simpler, but you’ll need those +declarations (and more!) if you want to do anything useful.

\ No newline at end of file diff --git a/guide/2.2.2/ch-implementation.html b/guide/2.2.2/ch-implementation.html new file mode 100644 index 0000000000..67b27a3195 --- /dev/null +++ b/guide/2.2.2/ch-implementation.html @@ -0,0 +1,280 @@ +Chapter 5. Implementation details

Chapter 5Implementation details

This section sketches out some features of the implementation. +It would probably be better to build an annotated +Definitive Guide or +something, but this will have to do for now. +

5.1Customizing chunking

Chunking is controlled by the $chunk-include and +$chunk-exclude parameters. These parameters are both +strings that must contain an XPath expression.

For each node in the document, the $chunk-include +parameter is evaluated. If it does not return an empty sequence, the element +is considered a chunking candidate. In this case, the +$chunk-exclude parameter is evaluated. If the exclude +expression does return an empty sequence, then the element identified +becomes a chunk. (If the exclude expression returns a non-empty value, the element +will not become a chunk.)

5.2Lengths and units

Lengths appear in the context of images (width and height) and +tables (column widths). Several different units of length are +possible: absolute lengths (e.g., 3in), relative lengths (e.g., 3*), +and percentages (e.g., 25%). In some contexts, these can be combined: +a column width of “3*+0.5in” should have a width equal to 3 times the +relative width plus ½ inch.

In practice, some of the more complicated forms in TR +9502:1995 have no direct mapping to the units available in +HTML and CSS. The stylesheets attempt to specify a mapping that’s +close. Broadly, they take the nominal width of the table +($nominal-page-width), subtract out the fixed +widths, divide up the remaining widths proportionally among the +relative widths, and compute final widths. The final widths can be +expressed either in absolute terms or as percentages.

In handling the width and height of images, the intrinsic width +and height of the image in pixels are converted into lengths by +dividing by $pixels-per-inch. Nominal widths are +taken into consideration if necessary.

Note

Determining the intrinsic size of an image depends on an extension function. +See Section 2.6, “Extension functions”. Many bitmap image formats are supported. +The bounding box of EPS images is used, if it’s present. The intrinsic size of +SVG images is not available.

The list of recognized units (in, cm, etc.) are taken from +$v:unit-scale.

5.3Verbatim styles

There are four verbatim styles: lines, table, +plain, and raw.

lines

In the lines style, each line of the verbatim environment is +marked up individually. In this style, lines can be numbered and +callouts can be inserted. +

table

In the table style, each line of the verbatim environment is +marked up individually, very much like the lines style. In this style, +lines can be numbered and callouts can be inserted. It differs from +the lines style in that the whole thing is wrapped in a table.

The table has one row and two columns. The line numbers appear in the +first column, the lines in the second. This format was added in order +to improve the display in user agents that don’t support CSS. +Ironically, in the course of adding this style, a number of changes +were made to the way line numbers are formatted in the lines style +making it largely, perhaps entirely, unnecessary. +

plain

In the plain style, callouts can be inserted, but additional markup is not +added (except for the callouts). Consequently, it isn’t possible to do line numbering +or syntax highlighting. (It may be possible to provide these features with JavaScript +libraries in the browser, however.) +

raw

In the raw style, no changes are made to the verbatim content. It’s output as +it appears. Inline markup that it contains, emphasis or other elements, will +be processed, but you cannot add line numbers, callouts, or syntax highlighting. +

Consult IParameter reference for a variety of parameters that control +aspects of verbatim processing.

5.3.1Line numbers

In the lines and table styles, line +numbers may be added to the beginning of some (or all) lines. Prior to version +1.10.0, the stylesheets inserted the numbers without any padding:

  |<span class="line">
+  |  <span class="ln">5</span>
+  |  <span class="ld">The line of text</span>
+  |</span>
+

(The newlines and indentation in these examples are for clarity. In practice, these +are inside a pre where every +space counts and they’re all run together with line breaks only occurring +between lines.)

In a graphical browser with CSS support, this looked fine. But +without CSS, the line numbers and the text that followed them could +flow together and the alignment of the numbers was unclear.

Starting in version 1.10.0, the stylesheets insert padding +spaces before each number so that they will all be aligned. If the +largest line number is three digits long, every number smaller than +100 will be padded to a width of three characters. A single space is +added after the number to separate it from the text that follows. +An additional separator may also be inserted, as shown here.

  |<span class="line">
+  |  <span class="ln"> 5 <span class="nsep">|</span></span>
+  |  <span class="ld">The line of text</span>
+  |</span>
+

These changes have no visible effect when CSS is used to style +the verbatim environment. But without CSS, the numbers are aligned and +separated from the text that follows. The +$verbatim-number-separator is generally +suppressed by CSS, but is visible in text browsers.

5.4Processing mediaobjects

Starting in version 1.11.0, the way media objects are processed has been +refactored. This is designed to support fallback at both the object +level (imageobject, audioaobject, videoobject, +textobject, and imageobjectco) and at the data +level (imagedata, audiodata, videodata, +and textdata within the objects).

Each data element and object element is processed in the +m:mediaobject-info mode. This returns a map for each object +that contains an array of maps, one for each data element:

Table 5.1The object map
KeyValue
content-typesAn array of the distinct content types in the data elements
datasAn array of data maps
extensionsAn array of the distinct extensions in the data elements
nodeThe media object node

Each data map has the following structure:

Table 5.2The data map
KeyValue
alignThe alignment of the data (if specified)
content-typeThe computed content type for the data
contentheightThe content height of the data (if specifieda)
contentwidthThe content width of the data (if specified)
extensionThe extension of the data file (if there is one)
filerefThe original fileref attribute value
heightThe height of the data (if specifieda)
hrefThe computed href value for the HTML element; +this takes account of the $mediaobject-input-base-uri and +$mediaobject-output-base-uri). +
nodeThe data element
paramsAny multimediaparams associated with the data element
propertiesThe properties of the element (as returned by the extension funtions; +this can include EXIF data and metadata)
scaleThe scaling factor (if there is one) or 1.0
scalefitTrue if the image should be scaled to fit (implicitly or explicitly)
uriThe computed absolute URI of the input data
valignThe vertical alignment of the data (if specified)
widthThe width of the data (if specifieid)

DocBook +uses “depth” instead of “height”, but we convert +it to height for consistency with most other systems.

The uri and href properties are computed +by processing the data elements in the m:mediaobject-uris mode.

Armed with information about the objects and the data associated with them, +the stylesheets proceed to choose an object and then process it. Each object is +considered in turn, if any of the data elements it contains were excluded, then it is +rejected. The first object where all of the elements are acceptable is selected.

Consider this example:

 1 |<mediaobject>
+   |<imageobject>
+   |  <imagedata fileref="image.svg"/>
+   |  <imagedata fileref="image.eps"/>
+ 5 |  <imagedata fileref="image.png" width="4in"/>
+   |</imageobject>
+   |<imageobject>
+   |  <imagedata fileref="image.svg"/>
+   |  <imagedata fileref="image.png" width="40em"/>
+10 |</imageobject>
+   |</mediaobject>
+

If this is being processed for online presentation, the default +value of $mediaobject-exclude-extensions will exclude the +EPS file. Because one of it’s data elements was excluded, the processor will choose +the object containing only the SVG and PNG images for online presentation.

Once an object is selected, an appropriate wrapper is created and all +of the alternatives are placed within it. So the example above will result in +picture element containing +a +source for the SVG image and an +img for the fallback PNG. +

Note

Consistent with HTML, only the size, scaling, and alignment attributes of +the last alternative data element are considered! These apply +irrespective of which alternative is selected.

5.4.1Mediaobject URIs

Media object URIs are tricky to handle. It’s most +convenient if the URIs in the source documents point to the actual media files. +This allows extensions, like the image properties +extension function, to access the files. +At the same time, the references generated in the HTML have to point to the +locations where they will be published.

In previous versions, the stylesheets attempted (broadly) to use +the relative difference between the input and output base URIs to work out +the correct relative URIs for media. That imposed restrictions on the +authoring environment that weren’t always easy to work with. +Starting in version 2.0.6, the mechanisms for finding sources +and producing references in the output has changed. Three parameters +are used:

$mediaobject-input-base-uri

If the $mediaobject-input-base-uri is empty (the default), +then URIs in the source document are assumed to be relative to the base URI on +which they occur. This is the usual case if you mix XML and media into the same +directory structure on the filesystem.

If the $mediaobject-input-base-uri is not empty, it is +used to resolve all media URIs. If it’s initialized with a relative URI, that URI will +be made absolute against the base URI if the input document.

$mediaobject-output-base-uri

If the $mediaobject-output-base-uri is empty (the default), +then URIs in the output are treated as parallel to the URIs in the input. If the +reference ../image.png works in the source document, it’s assumed +that will also work in the output document.

If the $mediaobject-output-base-uri is not empty, it is +the base URI used for media objects. If this is a relative URI, it is taken to be +relative to the root of the output hierarchy.

Suppose the output base URI is https://images.example.com/, then +a reference to image.png will appear as +https://images.example.com/image.png in the output.

If the output base URI is media/, then +a reference to image.png will appear as +media/image.png in the output. If the document is chunked, the paths back +to the output directory are relative. In otherwords, if the reference to +image.png appears in a chunk that will be located at +back/appendix.html, then the media URI will be +../media/image.png. +

$mediaobject-output-paths

This parameter controls whether the relative paths in the input URIs apply +to the output URIs as well. If the parameter is true, +the output base URI is media/, and the input URI is +path/to/image.png, then the output reference will be to +media/path/to/image.png. If it’s false, then the output reference +will be to media/image.png. +

For a further discussion of the options, see +Section 3.5, “Managing media”.

Important

The stylesheets are not responsible for actually copying the media files +into the correct locations in the output. The stylesheets only generate the HTML +files and the references. You must copy the images and other media with some +other process.

5.5Templates

It’s difficult to make title pages for documents easy to customize. There +is a lot of variation between documents and the styles can +have very precise design constraints. At the end of the day, if you need complete control, +you can define a template that matches the element in the +m:generate-titlepage mode and generate all of the markup you wish.

The default title page handling attempts to make some declarative customization +possible by using templates. A typical header template looks like this:

 1 |<db:section>
+   |  <header>
+   |    <tmp:apply-templates select="db:title">
+   |      <h2><tmp:content/></h2>
+ 5 |    </tmp:apply-templates>
+   |    <tmp:apply-templates select="db:subtitle">
+   |      <h3><tmp:content/></h3>
+   |    </tmp:apply-templates>
+   |  </header>
+10 |</db:section>
+

Any HTML element in the template will be copied to the output. The semantics +of a “template apply templates” element (tmp:apply-templates) is that +it runs the ordinary xsl:apply-templates instruction on the elements that +match its select expression. If they result is the empty sequence (e.g, if there is no +subtitle), nothing is output. If there is a result, the content of the +tmp:apply-templates element is processed. Anywhere that +tmp:content appears, the result of applying templates will be output.

In this example, if the title is “H2O” and there is no subtitle, +the resulting HTML title page will be:

  |<header>
+  |  <h2>H<sub>2</sub>O</h2>
+  |</header>
+

5.6Annotations

The stylesheets fully support annotations, including a number +of presentation styles enabled by JavaScript in the browser. They also +support an extension of the documented semantics of +annotation.

Annotations are applied to elements with links. Either the +element must point to its annotations (with an annotations +attribute) or the annotations must point to the elements they annotate +(with an annotates attribute). These are documented as +ID/IDREF links but they are not IDREFS attributes +because annotations may be stored separately.

Starting in version 1.5.1, the DocBook xslTNG +Stylesheets1 support a non-standard extension: if you place +the string xpath: in the annotates attribute of +an annotation, then the rest of the attribute is assumed to contain +an XPath expression that points to the element(s) to which the annotation +applies. (If you want to put IDREF values before the xpath: token, +that’s fine, but you can’t put them after; the expression continues to the end +of the attribute value.)

Suppose, for example, that you wanted to annotate the stylesheet +title in the previous paragraph. The standard mechanisms would require that +you either put an xml:id attribute on the element or point to the +annotation from the element. With the XPath extension, you can do this:

1 |<annotation
+  |   annotates="xpath:preceding-sibling::db:para/db:citetitle"
+  |   xmlns:db="http://docbook.org/ns/docbook">
+  |<para>This annotation applies to the stylesheet title.
+5 |For a discussion of this annotation, see the
+  |following paragraphs.</para>
+  |</annotation>
+

When the XPath expression is evaluated, the annotation +element is the context item. Often, this means that you’ll want to start +the expression with id() or /.

The namespace context for the expression is also the annotation +element, that’s why I’ve added the DocBook namespace binding for the +db prefix. In practice, if you’re doing this on +several annotations, you can just put all the namespace bindings on a common +ancestor. All of the bindings in scope on the +annotation element are available in the expression.

Caveats:

  1. There’s no way to have multiple XPath expressions. You can’t put +“xpath:” in there twice. If you want an annotation to apply to +multiple elements, you’ll have to construct a single expression that selects +all the elements, or duplicate the annotation, or use ID/IDREF links.

    If this turns out to be a serious limitation in practice, additional +syntax could be added to support multiple expressions, but it doesn’t +seem necessary.

  2. You can only select elements. There’s no way to select the third word +in a particular paragraph, for example, unless it already has some markup +around it. There’s also no way to select a comment or a processing instruction. +

The placement of the annotation marker (“⌖” by default) can also be +controlled globally and on individual annotations. The +$annotation-placement parameter provides global control. +To specify the position for an individual annotation, put the token +“before” or “after” in the role +attribute on the annotation.

5.7The pre- and post-processing pipeline

Processing a DocBook document is a multi-stage process. The +original document is transformed several times before converting it to +HTML. The standard transformations are:

  1. Adjust the logical structure. Adds an XML base attribute to the root of the +document and converts media object entityref attributes +into fileref attributes. +

  2. Perform XInclude processing. Only occurs if the appropriate +extension function is available and if the document contains XInclude +element. +

  3. Convert DocBook 4.x to DocBook 5.x. Only occurs if the root element is not in +a namespace. +

  4. Peform transclusion. +

  5. Perform profiling. +

  6. Normalize the content. This removes a lot of variation that’s allowed for authoring. +For example, authors aren’t required to use an info element if a formal object +has only a title. This process adds the info element if it’s missing. +

  7. Resolve annotations. +

  8. Process XLink link bases. +

  9. Validate. Only occurs if the appropriate +extension function is available and the stylesheet specifies a +$relax-ng-grammar. +

  10. Process Oxygen change markup. Only occurs if +$oxy-markup is true and the document contains +Oxygen change markup processing instructions. +

A customization can introduce transformations to the original +document using three parameters:

$transform-original

This transform runs before step 1 in the standard transformations. +If this transformation is used, it must take special care to preserve the +base URI of the original document by adding an xml:base +attribute to the root element (if it doesn’t already have one).

Only the first transformation in the list has access to the original base URI. +If it isn’t preserved, relative references to other documents will be resolved against +the static base URI of the stylesheet and not the URI of the original document. That’s +unlikely to be correct.

$transform-before

This transformation runs after step 10. Its +input is the DocBook document that will be transformed into HTML. +

$transform-after

This transformation runs after the DocBook document has been transformed into HTML. +The resulting HTML document is not valid HTML, but contains islands of valid HTML that will +be separated out into chunks by subsequent processing. +

(If you need +to insert a transformation in the middle of the standard transformations, +you’ll have to update the $v:standard-transforms +variable in your customization.)

Each of the transformation variables holds a list of transforms that will +be applied in the order specified. Each member of the list can be a map or a +string. If a string is provided, it’s the equivalent of providing this map: +

  |map {
+  |  'stylesheet-location': $the-string
+  |}
+

The map can have several keys:

Table 5.3The transformation map
KeyValue
stylesheet-locationThe location of the XSLT stylesheet that performs this transformation. +This key is required.
extra-paramsA map of QName/value pairs. These parameters will be made available to +the transformation in addition to all of the standard parameters available to a +standard DocBook stylesheet.
functionsA list of functions (expressed as EQNames). The transformation will only be +run if every extension function listed is available.
testAn arbitrary XPath expression. The expression will be evaluated with the +document as the context item. If it returns an effective boolean value of true, +the transformation will be run.
Annotations
1
+

This annotation applies to the stylesheet title. For a discussion +of this annotation, see the following paragraphs. +

+
\ No newline at end of file diff --git a/guide/2.2.2/ch-localization.html b/guide/2.2.2/ch-localization.html new file mode 100644 index 0000000000..0b3d18ff33 --- /dev/null +++ b/guide/2.2.2/ch-localization.html @@ -0,0 +1,306 @@ +Chapter 4. Localization

Chapter 4Localization

The DocBook xslTNG stylesheets support +localization in more than 70 languages. At the time of this writing: +Afrikaans, Albanian, Amharic, Arabic, Assamese, Asturian, Azerbaijani, +Bangla, Basque, Bosnian, Bulgarian, Catalan, Chinese, Chinese +(Taiwan), Chinese Simplified, Croatian, Czech, Danish, Dutch, English, +Esperanto, Estonian, Finnish, French, Galician, Georgian, German, +Greek, Gujarati, Hebrew, Hindi, Hungarian, Icelandic, Indian Bangla, +Indonesian, Irish, Italian, Japanese, Kannada, Kirghiz, Korean, Latin, +Latvian, Lithuanian, Low German, Malayalam, Marathi, Mongolian, +Northern Sami, Norwegian Bokmål, Norwegian Nynorsk, Oriya, Polish, +Portuguese, Portuguese (Brazil), Punjabi, Romanian, Russian, Serbian +in Cyrillic script, Serbian in Latin script, Slovak, Slovenian, +Spanish, Swedish, Tagalog, Tamil, Telugu, Thai, Turkish, Ukrainian, +Urdu, Vietnamese, Welsh, and Xhosa.

4.1Background

Near the end of the previous millennium, I was working +on the +DSSSL +stylesheets for DocBook. They were popular enough that users of languages +other than English wanted to use them.

I invented a mechanism for doing simple localization +so that the word “Chapter” in “Chapter 5” would, for example, +be spelled “Chapitre” if the +book was in French, and “Розділ” if it was in Ukrainian. +What started as a simple word substitution system grew a few +macro facilities and became a little more sophisticated*.

Over time, with the aid of dozens of volunteers around the world +who contributed files for their languages, the DocBook stylesheets +developed localization capabilities that were for the most part good +enough.

Fast forward a few years and those language-specific +localization files, and some of those mechanisms, were ported to the +XSLT 1.0 stylesheets for DocBook.

Fast forward another decade and those XSLT 1.0 localization +files and some of the mechanisms were ported to the XSLT 2.0 stylesheets +for DocBook.

Fast forward the better part of another +decade and those XSLT 2.0 localization files and some of the +mechanisms were ported to the DocBook xslTNG +stylesheets.

Well. Sort of. Initially, I tried to replace the complex system +of templates with a model that took the text that had to be generated +and decomposed it into logical parts. It worked fine for English and +many other languages, but didn’t account for the complexity of +many others, such as Chinese.**

Starting in version 2.0.0, the xslTNG stylesheets have reverted +back to a templating system. The localization files have been +transformed a little bit to make some of the customization easier (I +hope). They can’t stray too far from the original designs because I +must reuse the localization data I have. I don’t want to devise a +system that requires another army of volunteers to provide new +localization data.

4.1.1Consequences

One unfortunate consequence of this history is that there’s some +cruft in the localization files. There are mappings and possibly +templates that aren’t actually used. Or, at least, they’re not used in +the standard DocBook stylesheet. They might be used in customization +layers.

I made a few attempts to trim out cruft, but found all of the +results unsatisfying. So, at least for the moment, I’ve left it in +place. Like everything on earth, it’s mostly +harmless. +

4.2Overview

In this context, localization mostly refers to “generated text”, +words and symbols that appear in a published DocBook document that +aren’t present in the original XML. Consider Figure 4.1, “Sample book source”.

 1 |<book xmlns="http://docbook.org/ns/docbook"
+   |      version="5.0" xml:lang="en">
+   |<info>
+   |  <title>Localization Example</title>
+ 5 |</info>
+   |<part>
+   |<title>Part the first</title>
+   |<chapter xml:id="chap">
+   |<title>Chapter the first</title>
+10 |<para>This is a tiny sample chapter.
+   |See also <xref linkend="app"/>.</para>
+   |</chapter>
+   |</part>
+   |<appendix xml:id="app">
+15 |<title>An appendix</title>
+   |<para>This is a tiny sample appendix.
+   |See also <xref linkend="chap"/>.</para>
+   |</appendix>
+   |</book>
+
Figure 4.1Sample book source

It might be published as shown in Figure 4.2, “Sample book (annotated)”. +Here we can see examples of several different kinds of generated +text.

Image of a stack of papers with the example book published on the uppermost page. The published book includes additional generated text highlighted.
Figure 4.2Sample book (annotated)

The title “Table of Contents” is entirely generated; it appears +nowhere in the XML. The chapter title appears in the text, but it’s +labeled “1.” in the list of titles, “Chapter 1.” in the chapter itself, +and “Chapter 1” (without the title) in the cross reference.

Now consider a French version of the document in +Figure 4.3, “Sample book source (French)”.

 1 |<book xmlns="http://docbook.org/ns/docbook"
+   |      version="5.0" xml:lang="fr">
+   |<info>
+   |  <title>Exemple de Localisation</title>
+ 5 |</info>
+   |<part>
+   |<title>Première partie</title>
+   |<chapter xml:id="chap">
+   |<title>Chapitre un</title>
+10 |<para>Ceci est un petit exemple de chapitre.
+   |Voir aussi <xref linkend="app"/>.</para>
+   |</chapter>
+   |</part>
+   |<appendix xml:id="app">
+15 |<title>Annexe</title>
+   |<para>Ceci est un petit exemple d’annexe.
+   |Voir aussi <xref linkend="chap"/>.</para>
+   |</appendix>
+   |</book>
+
Figure 4.3Sample book source (French)

In this case, the published version will have different +localization, as +shown in Figure 4.4, “Sample book (French)”.

The published book again, this time with French generated text.
Figure 4.4Sample book (French)

The question is, how is this accomplished? The answer, I’m +afraid, is not simple.

It begins with a localization file.

4.3Localization files

The localization files are in +src/main/locale in the repository. The +localization file is designed to be simple enough to edit by hand. The stylesheets +use compiled versions created by processing the input locale with +src/main/xslt/modules/xform-locale.xsl to produce +the files in +xslt/locale in the distribution.

A locale begins by defining the language it supports and +providing an English language name for it. The language +attribute identifies the language (in the same terms as +xml:lang) to which this localization applies.

That’s followed by metadata about the file (authors, etc.), then +mappings, groups, lists, and letters as shown in +Figure 4.5, “Example locale file (excerpted)”. We’ll consider each +section in detail below.

 1 |<locale xmlns="http://docbook.org/ns/docbook/l10n/source"
+   |        xmlns:db="http://docbook.org/ns/docbook"
+   |        language="en" english-language-name="English">
+   |  <info>
+ 5 |    
+   |  </info>
+   |  <mappings>
+   |    <gentext key="above">above</gentext>
+   |    
+10 |  </mappings>
+   |  <group name="title">
+   |    <template match="self::db:chapter">{chapter} %l%.%c</template>
+   |    
+   |  </group>
+15 |  <list name="_default">
+   |    <items>%c</items>
+   |    <items>%c {and} %c</items>
+   |    <items>%c<repeat>, %c</repeat>, {and} %c</items>
+   |  </list>
+20 |  <letters>
+   |    
+   |  </letters>
+   |</locale>
+
Figure 4.5Example locale file (excerpted)

4.3.1Mappings

The mappings section is a simple list of key/value pairs. +Each gentext element defines a key and its replacement.

1 |  <mappings>
+  |    <gentext key="above">above</gentext>
+  |    <gentext key="abstract">Abstract</gentext>
+  |    
+5 |    <gentext key="xrefto">xref to</gentext>
+  |   </mappings>
+

These mappings serve two purposes. For many languages, a lot of the +work of defining a new localization is just updating these mappings. +For a stylesheet customization layer, it provides a mechanism for remapping +on an ad hoc basis.

In a localization template, any key entered in curly braces will +be replaced by the mapping. In other words, for the example above, +{abstract} will be replaced by the word “Abstract”. +This mapping is done when the document is transformed, not when the +localization file is compiled.

4.3.2Group

Groups are the primary templating system. In a context where +generated text is required, a group is selected and within that group, +a template is selected. The template is selected by evaluating the +expression in the match attribute with the current node +as the context item. A template with the match express true() +will always succeed; it is used as a fallback.

The title-numbered group determines how +titles are formatted if they are numbered, (there’s also +title-unnumbered when titles aren’t being +numbered):

1 |<group name="title-numbered">
+  |   <template match="self::db:section[ancestor::db:preface]">%c</template>
+  |   
+  |   <template match="self::db:appendix">{Appendix} %l%.%c</template>
+5 |   
+  |   <template match="self::db:warning">%c</template>
+  |   <template match="true()">%l%.%c</template>
+  |</group>
+

(Note that not all titles are numbered, +this is just the group that’s used if they could be. See +$division-numbers, +$component-numbers, and +$section-numbers.)

Within a template, two kinds of substitution are performed: names in +curly braces are replaced by the corresponding mapping and %-letter values +are substituted as follows:

Table 4.1Template %-letter substitutions
%-letterSubstitution
%cThe content (for example, the text of the title)
%lThe label (for example, “Chapter 1” or “see also”)
%pThe page number (not yet implemented)
%oThe olink title (not yet implemented)
%.The separator (often, “. ”)
%%A literal % character

If the title group is being used to generate +text for the chapter from our example +document:

  • The chapter context is used to select +the template ({chapter} %l%.%c).

  • The string {chapter} is replaced by the mapping for +chapter, which is “Chapter” in English.

  • The label %l is “1” because this is the first +chapter. (In fact, constructing the label uses templates from the +localization file as well.)

  • The separator %. is “. ”. (Like the label, this is +also constructed from a separate query to the localization file.)

  • And the content %c is “Chapter the first”. (There’s no markup +in this title, but if there was, it would be retained. The content is a list of items, +not a string.)

  • Literal text, such as the non-breakable space between “{chapter}” +and “%l”, is retained verbatim. +

4.3.3List

List elements are used to format items that can be repeated (terms +in a variable list, lists of authors, lists of “see also” terms, etc.). +The list consists of a series of items. Within each item, one or more +content replacements is specified with %c. The items +must be arranged so that there’s a match for one, two, three, etc. items.

If an item contains a repeat, that repeat will be used for as many +items as necessary to complete the list formatting. The default +list format is:

1 |   <list name="_default">
+  |      <items>%c</items>
+  |      <items>%c {and} %c</items>
+  |      <items>%c<repeat>, %c</repeat>, {and} %c</items>
+5 |   </list>
+

Consider how a list of four authors in an authorgroup +would be formatted. Call them A, B, C, D, for simplicity (and assume +there’s no list for “authorgroup”, so the +“_default” will be used).

The first two items match one and two items, respectively. They +aren’t appropriate for a list of four items. The third item contains +three items and a repeat, so that can be used for a list of four (or +more) items.

The first %c is “A”. The second %c is +in a repeat, followed by another %c. There are three +elements left in the list at this point, so two will be used in the +repeat and the last one will follow it.

The result will be A, B, C, and D where the +word “and” was found by looking for the and key in +the mappings.

4.3.4Letters

The letters group is used to identify the lexical order and grouping +of letters.

 1 |   <letters>
+   |      <l i="-1"/>
+   |      <l i="0">Symbols</l>
+   |      <l i="10">A</l>
+ 5 |      <l i="10">a</l>
+   |      
+   |      <l i="20">B</l>
+   |      <l i="20">b</l>
+   |      
+10 |   </letters>
+

All of the symbols with the same “i” value will be grouped +together.

This mechanism dates from the days before XSLT supported +language-specific collations. It is used in generated indexes, but perhaps it should simply +be phased out.

4.4Customizing a localization

For many users, the localizations provided are entirely sufficient. +But if you want to change them, you have a few options.

4.4.1Replacing entire localization files

If you want to replace an entire localization file (if, for example, +you want to apply the same changes to a set of stylesheets), you can +approach that as follows:

  1. Copy the localization source files.

  2. Update the ones you wish to change.

  3. Compile them all with +src/main/xslt/modules/xform-locale.xsl saving +the output in a new location.

  4. In your stylesheet, change the +$v:localization-base-uri to point to the directory +where the new locales reside. Those locale files will be used. +

4.4.2Overriding mappings, groups, etc.

If you only want to override a small number of localization +features, it may be simpler to do so directly in your stylesheet. +The variable $v:custom-localizations will be merged +with the default localizations before transformation begins. +But you can only override existing groups with the procedure described here. +You cannot use $v:custom-localizations to define new groups.

Suppose, for example, that you wanted:

  • The table of contents title to simply be “Contents”, +

  • To omit the word “Appendix” from the appendix title, and +

  • To change the form of the cross reference to +appendixes to read “App. A” instead of “Appendix A”. +

The following customization would accomplish that:

 1 |<xsl:variable name="v:custom-localizations">
+   |  <locale xmlns="http://docbook.org/ns/docbook/l10n/source"
+   |          language="en"
+   |          english-language-name="English">
+ 5 |    <mappings>
+   |      <gentext key="TableofContents">Contents</gentext>
+   |    </mappings>
+   |    <group name="title-numbered">
+   |      <template name="appendix">%l%.%c</template>
+10 |    </group>
+   |    <group name="xref-number">
+   |      <template name="appendix">App. %l</template>
+   |    </group>
+   |  </locale>
+15 |</xsl:variable>
+

Note that it defines (a portion of) a locale source file for the +language en. These changes only apply to that +locale.

This fragment replaces the mapping for +TableofContents and the templates for numbered +titles and numbered cross references.

To update multiple languages, put additional locale +elements in the variable as siblings.

Formatting our example document above now produces:

The published book again, this time with different generated text.
Figure 4.6Sample book (Alternate)

4.4.3Changing the group

Sometimes, rather than change a template, you want to change +which group of templates is used. This is controlled by two variables: +$v:user-title-groups and +$v:user-xref-groups. +

4.4.3.1Changing the title group

The $v:user-title-groups element consists of a +list of title elements, each with an xpath +attribute, a group attribute, and an optional template +attribute.

Suppose the stylesheet is trying to generate a title for an +element. It considers each title element in turn. The +xpath expression is evaluated with the element as the +context item. If the effective boolean value of the expression is +true(), then that title is selected and templates from +the corresponding group are used.

If a template attribute is present, a template with +that name is used. Otherwise the local name of the element is used as +the template name.

By default, sections in a preface are not numbered. That’s +because the default title groups include:

  |<title xpath="self::db:section[ancestor::db:preface]"
+  |       group="title-unnumbered"/>
+

If you add a title that matches sections in a preface to +$v:user-title-groups, it will take precedence. +For example:

  |<title xpath="self::db:section"
+  |       group="title-numbered"/>
+

Because all of the user groups are consulted first, it isn’t +necessary to include the predicate that limits this title to sections +in a preface (although it wouldn’t change the result if you did).

4.4.3.2Changing the cross reference group

Cross references are processed just like titles, except that the +$v:user-xref-groups element consists of a +list of crossref elements. (See also +Section 2.10, “Customize individual cross references”, for a discussion +of how individual cross references can be customized.)

The default for cross references to chapters and appendixes is +“xref-number-and-title”, so you get things like “Chapter +1. The Chapter Title”. In order to get a different presentation in the +localization example used in this chapter, the following localization +is used:

  |<xsl:variable name="v:user-xref-groups" as="element()*">
+  |  <crossref xpath="self::db:chapter|self::db:appendix"
+  |            context="xref-number"/>
+  |</xsl:variable>
+

That’s why the cross reference to the first chapter is just +“Chapter 1”. +

4.5Caveats

There’s currently little documentation to tell you which group +or template to change. The names are supposed to be somewhat self +explanatory (for speakers of English), but sometimes you just have to +look in the stylesheet.

The formalgroup element is unique in DocBook in that +its label depends on what it contains. A formalgroup of +figure elements is itself a “Figure” where a +formalgroup of example elements is an +“Example”. +If you need to change it, you may have to create your own +template for the formalgroup element in the +m:headline mode. The default version is in +modules/titles.xsl.


I’m not sure you’d pick a twenty-something, monolingual Anglophone +American to do this work if you were planning ahead, but that’s what +happened.

Turns out a fifty-something, monolingual Anglophone American isn’t +much of an improvement, really.

\ No newline at end of file diff --git a/guide/2.2.2/ch-overview.html b/guide/2.2.2/ch-overview.html new file mode 100644 index 0000000000..4228e1d85c --- /dev/null +++ b/guide/2.2.2/ch-overview.html @@ -0,0 +1,53 @@ +Chapter 1. Overview

Chapter 1Overview

Before we get started, let’s look at what the stylesheets do and +where you can get them!

1.1What do the stylesheets do?

The DocBook xslTNG stylesheets transform +DocBook V5.x into HTML. The intent is that they support all of DocBook +V5.2, including the DocBook Publishers elements. (The +test suite report +gives a precise summary of the current state of coverage.) They will also +process DocBook V4.x documents by first converting them (tranforming +source elements that have changed, adding the namespace, etc.) into +5.x documents.

Some parts of DocBook, especially the modeling parts, are very +open-ended. One could, in principle, write a function synopsis for any +programming language. The stylesheets are naturally going to support +only a subset of languages out of the box. Every attempt has been made +to make customizations easy where it’s anticipated that they may be +necessary.

The stylesheets can also be used to produce paged media such as +PDF files. This works by having a slightly different HTML +transformation initially, and then by further transforming the HTML so +that it can be formatted with an appropriate CSS formatter to produce +paged output. This is similar, but not the same as producing XSL +Formatting Objects and then transforming those.

Producing other output formats, EPUB files, for example, is +planned for the future but no specific schedule is promised. There are no +plans at the moment to produce XSL FO stylesheets.

1.2Getting the stylesheets

There are three ways to get the stylesheets: you can +download the latest release from +GitHub, you can get them from Maven, +or you can clone +the repository +and build them yourself. We’ll cover +the first two options in this chapter; Chapter 6, Building the stylesheets covers +the last option in detail.

1.2.1Download the latest release

The latest release is always available from the +GitHub +releases page. At the time of publication, the latest release was +version 2.2.2-SNAPSHOT.

Distributed this way, you’ll get a ZIP file that contains the stylesheets +plus a number of ancillary files and tools. These are mostly covered in +the next chapter Chapter 2, Using the stylesheets.

You can unzip the file anywhere that’s convenient: in your home +directory or in a system-wide location.

1.2.2Getting the release from Maven

The latest release is always available +from +Maven*. +

The group, artifact, and version ID for the latest release at +the time of publication is:

org.docbook:docbook-xslTNG:2.2.2-SNAPSHOT

If you’re comfortable using Maven, I’m going to assume that’s all you +need to know.

The Maven distribution differs from the zip file in a couple of ways:

  1. It doesn’t bundle any of the dependencies. The +ZIP file is more akin +to +an +“uber” or “fat” jar; it includes (some of) the core dependencies so +that it works out-of-the-box. Maven is designed to resolve dependencies, +so that shouldn’t be necessary here.

  2. The Maven jar doesn’t include the Python script or the extra resources +(CSS and JavaScript files) because it doesn’t seem like it would be convenient +to extract them from the Maven jar (which will probably be installed deep in +some repository hierarchy well out of sight). Consequently, you may want to +download the distribution periodically as well. +


With the caveat that it sometimes takes a few +hours for the releases to make their way from the registry onto the website. +If you’re chasing the very latest release and it’s just been published, it +may be available before it appears on the website.

\ No newline at end of file diff --git a/guide/2.2.2/ch-preface.html b/guide/2.2.2/ch-preface.html new file mode 100644 index 0000000000..d2ccb7181a --- /dev/null +++ b/guide/2.2.2/ch-preface.html @@ -0,0 +1,73 @@ +Preface

Preface

These stylesheets are the third +iteration of stylesheets for DocBook that I’ve written. I started working on the +XSLT 1.0 +Stylesheets for DocBook in the 90’s, before XSLT 1.0 was +even a W3C Recommendation. I started working on the +XSLT 2.0 +Stylesheets for DocBook just around the time when XSLT 2.0 became +a W3C Recommendation. I wrote most of +DocBook xslTNG just a month or so before the third anniversary +of the XSLT 3.0 Recommendation.

Why did it take so long?

To answer that question, we need to reflect for a moment on XSLT and + its place in the XML ecosystem. When XSLT arrived on the scene, we + were near the peak of XML enthusiasm. Not only was XML supported + everywhere, it was possible to imagine XSLT everywhere as well. + Certainly, the presence of XSLT in the browser felt significant at + the time. +

The ubiquity of XML and the fact that XSLT was “just an XML + vocabulary” may have contributed to another significant phenomenon: + lots of users who did not self identify as programmers were learning + to use XSLT and doing significant things with it. +

There were other tools available for transforming markup at the + time, and arguably some of them were better than XSLT, but they were + programming languages and you had to be a programmer to use them. + They were also mostly commercial applications not widely available + to casual users. +

XSLT was free, it was everywhere, and it was used by everyone, not + “just” programmers. It was the clear winner than and remains the + clear winner today in terms of markup transformation. +

You could do a lot of things with XSLT 1.0. You could do a lot more + things than you might at first even have thought possible. (In fact, + you could do all things, but the + Turing complete nature of XSLT isn’t relevant here.) Some very + common tasks, like grouping, were possible but difficult. Lots of + very useful things were either not possible or required extensions: + regular expressions, functions, date and time formatting, creating + special characters in the output, to name just a few. +

XSLT 2.0 solved all of these problems (and more). Significantly, I + think, all of these new features appealed directly to almost all + users of XSLT 1.0. Everyone had encountered a grouping problem + (building an index, for example). Everyone had wanted regular + expression matching or date formatting. Lots of users wanted to + write more sophisticated predicates (and many were willing to learn + how to use functions to achieve that result). +

XSLT 3.0 arguably introduces larger and + more dramatic features than XSLT 2.0 did. There are a bunch of new + features designed to enable streaming processing; there are + significant software engineering improvements: packaging, exception + handling, and assertions; there are common programming language + constructs like maps and arrays. There is also a selection of + features inherited from updates to XPath (new functions, a subset of + let syntax, and support for higher order + functions, for example). +

What’s curious, I think, is that many of these features are probably + less immediately appealing to many (most?) current users. XSLT 2.0 + doesn’t feel constraining in the same way that XSLT 1.0 did, and the + features in XSLT 3.0 don’t immediately and obviously solve problems + that most users have. +

Streaming, for example, is incredibly powerful and it’s an important + and significant milestone in markup processing. It makes it possible + to solve whole classes of problems that were previously impossible + to solve or required enormously expensive hardware. But my laptop + will quite easily process a book full of complex markup that runs to + hundreds of pages. I don’t have any problems that require a + streaming processor. +

Likewise, packaging is useful and important. The DocBook + xslTNG stylesheets should absolutely be a package. But + that’s not true of a lot of stylesheets. There might be software + engineering benefit in making a package even for stylesheets that + you don’t intend to distribute, but that’s more likely to appeal to + people who think of what they’re doing is programming. +

Nevertheless, there are lots of good reasons to use XSLT 3.0 even if + you are “only” transforming documents and even if you don’t think of + writing transformations as programming. +

\ No newline at end of file diff --git a/guide/2.2.2/ch-using.html b/guide/2.2.2/ch-using.html new file mode 100644 index 0000000000..766d2366c6 --- /dev/null +++ b/guide/2.2.2/ch-using.html @@ -0,0 +1,664 @@ +Chapter 2. Using the stylesheets

Chapter 2Using the stylesheets

In principle, the stylesheets will run with any conformant XSLT +3.0 processor. For many users, that means +Saxon. Although earlier versions +may work, Saxon 10.1 or later is recommended.

In principle, the instructions for using the stylesheets are +straightforward: using your XSLT 3.0 processor of choice, transform your +DocBook source documents with the docbook.xsl +stylesheet in the xslt +directory of the distribution.

In practice, for most users, running the stylesheets will +require getting a Java environment configured appropriately. For many, +one of the most significant challenges is getting all of the +dependencies sorted out. Modern software development, for better or +worse, often consists of one library relying on another which relies +on another, etc.

The DocBook xslTNG stylesheets attempt to +simplify this process, especially for the “out of the box” experience +by providing two convenience methods for running the stylesheets: a +jar file with a Main class, and a Python script +that attempts, among other things, to make sure all of the +dependencies are available.

If you’re an experience Java user, you may prefer to simply run +the stylesheets +directly with Java.

Irrespective of which method you choose, running the stylesheets +is simply a matter of processing your input document +myfile.xml with +xslt/docbook.xsl. For example: +

  |$ saxon myfile.xml -xsl:xslt/docbook.xsl -o:myfile.html
+

The exact path to docbook.xsl will vary, of course, +but it’s in the xslt directory of the +distribution.

Note

The resulting HTML document contains references to CSS stylesheets +and possibly JavaScript libraries. The output won’t look as nice in your browser +if those resources aren’t available. They’re in the resources directory of the distribution. A quick and easy way to see the +results is simply to send the output to the samples +directory from the distribution. The resources have already been copied into +that directory. In the longer run, you’ll want to make sure that they get +copied into the output directory for each of your projects.

Alternatively, you can copy them to a web location of your choosing and +point to them there. You can even point to them in +the +DocBook CDN, but beware that those are not immutable. The “current” +version will change with every release and versioned releases will not persist +indefinitely.

Change the $resource-base-uri to adjust the paths +used in the output document.

Many aspects of the transformation can be controlled simply by +setting parameters (see IParameter reference). It’s also possible +to change the transformation by writing your own customization layer +(see Chapter 3, Customizing the stylesheets).

2.1Using the Jar

The ZIP distribution includes a +JAR file that you can run directly. That +JAR file is +$ROOT/libs/docbook-xslTNG-version.jar +where “$ROOT” is whatever directory you chose +to unzip the distribution into and version is the +stylesheet version.

Assuming you unzipped the version 2.2.2-SNAPSHOT distribution into +/home/ndw/xsltng, you can run +the JAR like this:

java -jar /home/ndw/xsltng/libs/docbook-xslTNG-2.2.2-SNAPSHOT.jar

Let’s try it out. Open a shell window and change to the samples directory, +/home/ndw/xsltng/samples assuming you unzipped +it as described above. Now run the java command:

  |$ java -jar ../libs/docbook-xslTNG-2.2.2-SNAPSHOT.jar article.xml
+  |<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
+  |…more HTML here...
+  |<nav class="bottom"></nav></body></html>
+

That big splash of HTML was your first DocBook document +formatted by the stylesheets! Slightly more usefully, you can save +that HTML in a file: +

  |$ java -jar ../libs/docbook-xslTNG-2.2.2-SNAPSHOT.jar article.xml \
+  |        -o:article.html
+

If you now open article.html in your +favorite web browser, you’ll see the transformed sample document +which should look like Figure 2.1, “The sample document: article.xml”. +

This is a rendering of the sample document. It consists of the +title “Sample Article” centered on the screen with a short paragraph +of text below it. The text reads: This is a very simple DocBook +document. It serves as a kind of "smoke test" to demonstrate that the +stylesheets are working. +

A rendering of the sample document
Figure 2.1The sample document: article.xml

The JAR file, run this way, accepts the same +command line options as Saxon, with a few caveats:

No -x, -y, or -r options

The executable in the JAR file automatically configures Saxon to +use a catalog-based resolver and points the resolver at a catalog that +includes the files in the distribution. +

No -init option

The DocBook xslTNG +extension functions will be registered +automatically.

Multiple -catalog options

You can repeat the -catalog option. All of the catalogs +you specify will be searched before the default catalog.

Default stylesheet

If you do not specify a stylesheet with the -xsl option, +the xslt/docbook.xsl stylesheet will be used automatically. +

2.2Using the Python script

The ZIP distribution includes a +Python script in the bin directory. +This helper script is a convenience wrapper around Saxon. It sets up +the Java classpath and automatically configures a catalog resolver and +the DocBook extension functions.

Important

The script requires the click and +pygments packages, +which you must install with pip before +running the script. For example:

  |python3 -m pip install pygments=2.6.1 click
+

This script behaves much like the JAR file described in +Section 2.1, “Using the Jar”. In particular, +it accepts the same +command line options as Saxon, with +the same caveats.

The significant feature of the Python script is that it will +attempt to sort out the dependencies for you. It assumes that you’ve +used Maven to install the package and its dependencies, so you’ll +have to have installed +Maven. How you do that varies by platform, but your package +manager probably has it.

The following command will assure that you’ve downloaded all of +the necessary dependencies. You only have to do this once.

  |$ mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
+  |      -Dartifact=org.docbook:docbook-xslTNG:2.2.2-SNAPSHOT
+

That might take a while.

The script will work through the dependencies that you have +installed, and the things that they depend on, and construct a Java +class path that includes them all.

The script stores its configuration in +.docbook-xsltng.json in your home directory.

Options passed to the script are processed as follows: the +initial options, all introduced by two hyphens, are interpreted by +this script; all the remaining options are passed directly to +Saxon.

The script options are:

--help

Prints a usage message. +

--config:filename

Use filename as the configuration +file. The default configuration file is +.docbook-xsltng.json in your home directory. +

--resources:dir

This option will copy the resources directory (the CSS and JavaScript files) +from the distribution into the directory where your output files are going, +dir. If +dir is not specified, the script attempts to +work out the directory from the -o option provided to Saxon. +If no directory is specified and it can’t work out what the directory is, it does nothing. +

--java:javaexec

Use javaexec as the Java executable. +The default java executable is the first one on your PATH. +

--home:dir

Use dir as the DocBook +xslTNG home directory. This should be the location where +you unzipped the distribution. (You probably shouldn’t change this.) +

--verbose

Enables verbose mode; it prints more +messages about what it finds. +

--debug

Enables debug mode. Instead of running the +transformation, it will print out the command that would have been run. +

--

Immediately stop interpreting options. Everything that follows this option +will be passed to Saxon, even if it begins with two hyphens. +

2.3Run with Java

Assuming you’ve organized your class path so that all of the +dependencies are available (you may find that using a tool like Gradle +or Maven simplifies this process), simply run the Saxon class.

For Saxon HE, the class is net.sf.saxon.Transform. +For Saxon PE and EE, the class is com.saxonica.Transform.

2.4Run with Docker

This is experimental.

The docker directory +contains an experimental Dockerfile. Using docker allows you to +isolate the environment necessary to run the DocBook xslTNG +Stylesheets from your local environment. (If you’re using Linux, see +Section 2.4.1, “Docker on Linux”.)

Using Docker is a three step process. Step 0, you have to have +installed Docker!

  1. Build the docker image. In the docker directory, run the docker build +command:

      |$ docker build -t docbook-xsltng .
    +

    The “-t” option provides a tag for the image; +you can make this anything you want. There’s a VERSION +build argument if you want to build a particular release. For example,

      |$ docker build --build-arg VERSION=2.2.2-SNAPSHOT -t docbook-xsltng .
    +

    will build a Docker image for the 2.2.2-SNAPSHOT release of the +stylesheets irrespective of the version in the Dockerfile.

  2. Run the image, for example:

      |$ docker run docbook-xsltng samples/article.xml
    +

    If you chose a different tag when you built the image, use that +tag in place of docbook-xsltng in the run +command. Everything after the container tag becomes options to the +docbook Python script. +

Note

The context the script runs in is inside +the container. It can’t for example, see your local filesystem. The +example above works because the distribution is unpacked inside the +container. So the article.xml document isn’t the +one on your local filesystem.

You can use the Docker facilities for mounting directories to +change what documents the script can access. For example: +

  |$ docker run -v /tmp:/output -v /path/to/samples:/input \
+  |       docbook-xsltng /input/article.xml chunk=index.html \
+  |       chunk-output-base-uri=/output/
+

Assuming that the “samples” directory in the distribution is +located at /path/to/samples, this will chunk the +article.xml sample document that the script sees +in /input +(which is where you mounted samples) and it will write the +output to /output (which is where you mounted +/tmp).

When the script finishes, the chunked output will be in +/tmp.

Tip

If you choose to use Docker, you don’t have to rebuild the container +everytime a new stylesheet release occurs. You can simply mount the new +xslt directory into the container +like any other directory.

2.4.1Docker on Linux

When a Docker container running on Linux writes to the local +filesystem, for example because you mounted it in a container, any +files written by the container will be owned by “root”. This can be +quite inconvenient.

If there’s an elegant solution to this problem, I haven’t found it. +Some users have reported success using podman, +a Docker-compatible, open source alternative that apparently doesn’t exhibit this behavior. +

The following approach will work with Docker, but it’s a bit more complicated.

  1. Create a volume, say docbook-output, +with the docker volume command.

      |docker volume create docbook-output
    +
  2. Instead of mounting a directory on the local filesystem in the container, mount +the volume.

  3. Run the transformation.

  4. In order to copy the files off the volume, the volume has to be +mounted on a running container. You can start one with docker run, +for example:

      |docker run —mount source=docbook-output,target=/out \
    +  |       --name copy-helper -d busyboxy sleep 3600
    +
  5. Copy the files out of the container. For a single file, docker cp will +do the trick:

      |docker cp copy-helper:/out/filename.html .
    +

    If there are multiple output files, you can copy them individually, or you can use +docker exec:

      |docker exec copy-helper \
    +  |       /bin/sh -c 'cd /out && tar cf - .' > out.tar
    +

    That’ll copy all the files into the out.tar archive which you can +expand wherever you like.

  6. When you have the files, you can stop and remove the container with:

      |docker stop copy-helper
    +  |docker rm copy-helper
    +
  7. You may want to remove the volume you created as well:

      |docker volume rm docbook-output
    +

    and recreate it for the next transformation. If you don’t, be +aware that the content of the volume will persist. If you resuse the +volume for other transformations, the output from the various +transformations will be mingled together on the volume.

    And, perhaps obviously, if you remove the volume before you copy +the files off of it, the files will be lost.

In short: using a Docker container on Linux is somewhat less convenient.

2.5Run in Oxygen

Oxygen” is a family +of tools for XML authoring and development. The DocBook +xslTNG Stylesheets are not currently shipped with Oxygen. To +take advantage of the xslTNG stylesheets, you must setup the transformation scenarios +yourself.

  1. Download the nosaxon xslTNG release that you want to use in Oxygen + (docbook-xslTNG-nosaxon-version.zip) and unzip + it somewhere in your filesystem. + (Oxygen includes Saxon EE; the integration will be cleaner if the release you + use does not include a different version of Saxon.)

  2. Define a transformation scenario with + path/xslt/docbook.xsl as the XSLT + file (where path is where you unzipped the release in the previous step.

  3. In order to use the extension functions defined in + Section 2.6, you have to add the + docbook-xslTNG-version.jar library as an + Extension and set + org.docbook.xslt.extensions as the Initializer class + in the Advanced Saxon HE/PE/EE XQuery Transformation Options for + the transformation scenario.

    Without this step the basic transformation will work, but extensions like + image metadate extraction with ext:image-metadata will + not be available.

  4. Set the stylesheet parameters accordingly in the transformation scenario.

  5. Run the transformation to generate HTML output. You will have to copy the + resources/css and resources/js directories to + the output location in order to get the styling and interactive features.

2.6Extension functions

The stylesheets are distributed with several extension functions:

ext:cwd()

Returns the “current working directory” where the processor is running. +

ext:image-properties()

Returns basic properties of an image, width and height. +

ext:image-metadata()

Returns much more comprehensive image properties and understands +far more image types than ext:image-properties(). +Requires the metadata-extractor libraries. +

ext:pygmentize()

Runs the external Pygments processor on +a verbatim listing to add syntax highlighting. +

ext:pygmentize-available()

Returns true if the external Pygments processor +is available on the current system. +

ext:xinclude()

Performs XInclude processing. This extension supports +the basic XPointer schemes, RFC 5147 fragment identifiers, +and search, a scheme that supports searching in text +documents. +

ext:validate-with-relax-ng()

Performs RELAX NG validation. +

At the time of this writing, all of these extension functions require +Saxon 10.1 or later. +Make sure that the docbook-xsltng-version.jar +file is on your class path and use the Saxon -init option to +load them:

-init:org.docbook.xsltng.extensions.Register

2.6.1Extension function debugging

When an extension function fails, or produces result other than +what you expect, it can be difficult sometimes to work out what +happened. You can enable debugging messages by setting the the system +property org.docbook.xsltng.verbose.

Setting the property to the value “true” enables +all of the debugging messages. For a more selective approach, set it +to a comma separated list of keyword values.

The following keywords are recognized:

registration

Enables messages related to function registration. +

image-properties

Enables messages related to image properties. +

image-errors

Enables messages related to image properties, but only when the +function was unable to find the properties or encountered some sort of error +condition. +

pygmentize-show-command

Enables a message that will show the pygmentize command as it was run. +

pygmentize-show-results

Enables a message that will show the output of the pygmentize command, +before it is processed by the function. +

pygmentize-errors

Enables messages related to errors encountered attempting to highlight +listings with pygmentize. +

2.7“Chunked” output

Transforming myfile.xml with +docbook.xsl usually produces a single HTML +document. For large documents, books like this one for example, it’s +sometimes desirable to break the input document into a collection of +web pages. You can achieve this with the +DocBook xslTNG Stylesheets by setting +two parameters: +

$chunk

This parameter should be set to the name that you want to use for the +first, or top, page of the result. The name +index.html is a common choice. +

$chunk-output-base-uri

This parameter should be set to the absolute path where you want +to use as the base URI for the result documents, for example +/home/ndw/output/guide/.

Note

The trailing slash is important, this is a URI. If you specify +only /home/ndw/output/guide, the +base URI will be taken to be /home/ndw/output/, +and the documents won’t have the URIs you expect.

This output URI has nothing to do with where your documents are +ultimately published and the documents themselves won’t contain any references +to it. It simply establishes the root of output. If you’re running your +XSLT processor from the command line, it’s likely that the documents will +be written to that location. If you’re running an XProc pipeline, it simply +controls the URIs that appear on the secondary result port. +

Many aspects of chunking can be easily customized. A few of the most +relevant parameters and templates are: +

$chunk-include and +$chunk-exclude

Taken together, these two parameters determine what elements in your +source document will be considered “chunks” in the output.

$persistent-toc

If this parameter is true, then a JavaScript +“fly-out” table of contents will be available on every page.

$chunk-nav

This parameter, discussed more thoroughly in +Section 2.7.1, “Keyboard navigation” enables keyboard navigation between +chunks.

t:top-nav and +t:bottom-nav

These templates control how the top-of-page and bottom-of-page +navigation aids are constructed.

2.7.1Keyboard navigation

If the $chunk-nav parameter is +true, a reference to an additional JavaScript library will +be included in the resulting pages. This library supports keyboard +navigation between the pages. The navigation keys are described in the +parameter reference page. +

2.8Presentation mode

Presentation mode implements paged navigation through a document. +For presentation mode, a single document is used (rather than chunking) with +some JavaScript code providing the user interface.

As the name implies, it’s designed for use in presentations:

  • It uses generally +larger fonts by default and works best for many small pages

  • Each unit of a +document (part, chapter, article, section, etc.) becomes a page.

  • Presentation mode replaces earlier “slides” and “speaker notes” implementations.

Beyond the paginated navigation, presentation mode has three key features:

Synchronization

When served with https +(or from localhost with +http), presentation mode can use +local storage to synchronize display in different browser windows.

Add

  |<meta xmlns="http://www.w3.org/1999/xhtml"
+  |      name="localStorage.key" content="keyName"/>
+

to the info of your document.

The key name is irrelevant, but is used to coordinate between windows. +All documents with the same key name will be synchronized together. +* +

Synchronized displays are useful for reading speaker notes in one view +while presenting the “normal” view to your audience.

Speaker notes

Speaker notes can be placed on any page. +They are not displayed as part of the normal presentation. +They can be revealed by selecting notes view (pressing S). +

Use the speaker-notes role to add speaker notes. +

Progressive reveal

Any elements marked with the role reveal will +be hidden initially. Navigating forward or pressing Space will reveal them.

When applied to lists, the behavior applies to +all of the items except the first.

If an item is marked both reveal and transitory, +it will be revealed in turn and then concealed again when the next item is revealed. +This allows one to create the illusion, for example, of bullet items being replaced.

In sort, you get:

  • Quick and easy presentations from DocBook documents. +

  • No special markup required. +

  • Easy navigation. +

  • Clean look and feel. +

  • Advanced features: +

    • Synchronized display +

    • Speaker notes +

    • Progressive and transitory reveals +

Pressing F1 in a presentation mode document will display +a summary of the keyboard navigation shortcuts.

There’s a small customization layer in the distribution, +presentation.xsl that enables presentation mode +and changes some of the generated text so that the labels “Part”, “Chapter”, and so forth aren’t +in the output.

2.9Effectivity attributes and profiling

When documenting computer hardware and software systems, it’s +very common to have different documentation sets that overlap +signficantly. Documentation for two different models of network +router, for example, might differ only in a few specific details. Or a +user guide aimed at experts might have a lot in common with the new user +guide.

2.9.1Effectivity

There are many ways to address this problem, but one of the +simplest is to identify the “effectivity” of different parts of a +document. Effectivity in this context means identifying the parts +of a document that are effective for different audiences.

When a document is formatted, the stylesheets can selectively +include or omit elements based on their configured effectivity. This +“profiled” version of the document is the one that’s explicitly +targeted to the audience specified.

DocBook supports a wide variety of common attributes for this +purpose:

Table 2.1Common DocBook effectivity attributes
AttributeNominal effectivity axis
archThe architecture, Intel or AMD
audienceThe audience, operations or development
conditionAny condition (semantically neutral)
conformanceThe conformance level
osThe operating system, Windows or Linux
outputformatThe output format, print or online
revisionThe revision, 3.4 or 4.0.
securityThe security, secret or top-secret
userlevelThe user level, novice or expert
vendorThe vendor, Acme or Yoyodyne
wordsizeThe word size, 32 or 64 bit
Note

DocBook places no constraints on the values used for effectivity +and the stylesheets don’t either. You’re free to use “cat” and “dog” +as effectivity values in the wordsize attribute, if you +wish. The further you deviate from the nominal meaning, the more +important it is to document your system!

Consider Example 2.1, “A contrived effectivity example”.

<para>This is an utterly contrived example of
+some common text. Options are introduced with the
+<phrase os="windows">/</phrase>
+<phrase os="mac;linux">-</phrase> character.</para>
Example 2.1A contrived effectivity example

If this document is formatted with the $profile-os +parameter set to “windows”, it will produce:

This is an utterly contrived example of +some common text. Options are introduced with the +/ + character.

If “mac” or “linux” is specified, it will produce:

This is an utterly contrived example of +some common text. Options are introduced with the + +- character.

Important

If the document is formatted without any profiling, all +of the versions will be included:

This is an utterly contrived example of +some common text. Options are introduced with the +/ +- character.

That is unlikely to work well.

2.9.2Other common Attributes

In addition, the stylesheets support profiling on several common attributes +that are not explicitly for effectivity: xml:lang, revisionflag, +and role.

The role attribute is multi-valued

The stylesheets treat the role attribute as +multi-valued, similar to the class attribute in HTML. It +may contain a sequence of tokens, seperated by whitespace. This allows you, for example, +to classify a section as informal which should be printed in +landscape orientation with the role value +“informal landscape”.

2.9.3Profiling

The profiling parameters are applied to every document: +$profile-arch, +$profile-audience, +$profile-condition, +$profile-conformance, +$profile-lang, +$profile-os, +$profile-outputformat, +$profile-revision, +$profile-revisionflag, +$profile-role, +$profile-security, +$profile-userlevel, +$profile-vendor, and +$profile-wordsize. Each of these values is treated +as a string and broken into tokens at the +$profile-separator.

For every element in the source document:

  • If it specifies a value for an effectivity attribute, the value +is split into tokens at the +$profile-separator.

  • If the corresponding profile parameter is not empty, then the +element is discarded unless at least one of the tokens in the profile +parameter list is also in the effectivity list.

In practice, elements that don’t specify effectivity are always included +and profile parameters that are empty don’t exclude any elements.

2.9.4Dynamic profiling

Dynamic profiling is a feature that allows you to profile the output +of the stylesheets according to the runtime values of stylesheet parameters. +You can, for example, produce different output depending on whether or not +chunking is enabled or JavaScript is being used for annotations.

To enable dynamic profiling, set the $dynamic-profiles +parameter to “true”.

In the interest of performance, security, and legibility, +dynamic profiles don’t support arbitrary expressions. +You can use a variable name by itself, $flag, which tests +if that variable is true, or you can use a +simple comparison, $var=value which tests if (the string value of) +$var has the value value. +(If $var is a list, it’s an existential +test.) You also can’t use boolean operators or any other fancy expressions. +

If you really need to have a dynamic profile based on some +arbitrary condition, you can do it by making a customization layer +that stores that computation in a variable and then testing that +variable in your dynamic profile.

An element with dynamic profiling will be published if none of +it’s profile expressions evaluate to false. This is slightly different +from the ordinary profiling semantic which publishes the element if +any of it’s values match.

2.10Customize individual cross references

Most kinds of generated text apply across an entire document: do you want chapters +to be numbered? Should generated text be in English or French? What form should numbered +and unnumbered sections have? The mechanisms for changing this generated text are +described in Chapter 4, Localization. These mechanisms control the formatting +of cross references.

But it’s sometimes desirable to be able to change the format of a +cross reference on an individual basis (that is, on the basis of the +context in which the reference occurs, not the +nature of what is referenced). You might, for +example, want to shorten a cross reference to just a label if it’s +already been referenced several times.

Consider a cross reference to a section: +see <xref linkend="syntax-highlighting"/>. +In the localization style of this guide, that is rendered like this: +see Section 2.11, “Syntax highlighting”.

The text that is generated by a cross reference can be customized +for individual references with the xrefstyle attribute. +For example, +see <xref linkend="syntax-highlighting" xrefstyle="%l"/>, +will produce a result like this: +see 2.11.

You can use the %c, %l and +%p values from Table 4.1, “Template %-letter substitutions” in +xrefstyle. There is also an additional +%label for the full Label, which is +the component`s name and number. The use of these percent-values is +explained in the following table, where all cross references target +the next section called Syntax highlighting.

Value of xref/@xrefstyleResultRemark
(@xrefstyle is absent)Section 2.11, “Syntax highlighting”Default
%cSyntax highlightingContent, e. g. title of target
%l2.11Label, ususally the targets number.
%labelSection 2.11The full Label, ususally the targets number and name.
%pPage number. Intended for print output (PDF). Displayed as "#" in HTML, + unless you differentiate between the output formats for print and online. See Section 2.10.1 for a possible + solution.
%label (%c)Section 2.11 (Syntax highlighting)You can use different %-letters and combine with text

Legacy values for xrefstyle

In order to support migration from XSLT 1.0 Stylesheets, xslTNG supports the +template: Syntax which is explained in +“Customizing + with an xrefstyle attribute / Using template:” in + the book “DocBook XSL: The Complete + Guide”. This is summarized in the following + table.

Value of xref/@xrefstyleResultRemark
template:the chapter numbered %nthe chapter numbered 2.11XSLT 1.0 Legacy Syntax
template:the chapter called %tthe chapter called Syntax highlightingXSLT 1.0 Legacy Syntax

2.10.1Using pagenumber in cross-references

The %p makes little sense in HTML output, since there are no page numbers. + If you use it anyway, it will be displayed as "#", which can be + confusing for readers. A possible solution for this problem is the use of the + outputformat attribute, that was intoduced in Section 2.9, “Effectivity attributes and profiling” and + Table 2.1.

This cross reference to Section 2.11 + will include the target`s page number only when the + @profile.outputformat parameter is "print", but without + the annoying # in HTML.

1 |This cross reference to 
+  |<xref linkend="syntax-highlighting"  xrefstyle="%label/>
+  |<phrase outputformat="print"> 
+  |  on <xref linkend="syntax-highlighting" xrefstyle="page %p"/>
+5 |</phrase>
+  |will reference the page number only when the
+  |@profile.outputformat parameter is print, but
+  |without the annoying # in HTML.
+
Example 2.2Use outputformat to deal with page numbers in cross references

2.11Syntax highlighting

Program listings and other verbatim environments can be “syntax highlighted”, +that is, the significant tokens in the listing can be colored differently (keywords in red, +quoted strings in blue, that sort of thing).

The default syntax highlighter is Pygments, an external +Python program. This has the advantage that the highlighted listing is available to +the stylesheets. The stylesheets can then render line numbers, call outs, and other +features.

But running an external program for every verbatim environment requires +having the external program and also, if there are many verbatim +environments, may slow down the formatting process

An alternative is to use a JavaScript highlighter in the browser such as +highlight.js or Prism. This approach +has no impact on formatting and doesn’t require an external process. However, it means the +xslTNG Stylesheets have no control over the process. Most of the +verbatim options only apply when Pygments is used.

The choice of syntax highlighter is determined by the +$verbatim-syntax-highlighter parameter.

2.12Persistent table of contents

The persistent Table of Contents (ToC) provides a full ToC for +an entire document accessible from each chunked +page.

The ToC is accessed by clicking on the “book” icon in the upper right +corner of the page as shown in Figure 2.2, “Opening the ToC”.

Screen capture with an arrow pointing at the closed book icon in the upper-right corner.
Figure 2.2Opening the ToC

The icon and other aspects of the style can be changed by providing +$persistent-toc-css.

Once open, the ToC is displayed. A long ToC will be scrolled to +the location of the current page in the document as shown in +Figure 2.3, “The Persistent ToC”.

Screen capture showing the persistent ToC window on the right.
Figure 2.3The Persistent ToC

The persistent ToC popup is transient by default, meaning that +it will disappear if you use it to navigate to a different page. If +you open the popup by “shift-clicking” on it, the ToC will persist +until you dismiss it. This can also be accomplished by selecting the +check box in the ToC. The presense of the search bar is controlled by +the $persistent-toc-search parameter.

2.12.1Persistent ToC data

The data used by the persistent ToC can be stored in a separate +file or stored in each chunk. This is controlled by the +$persistent-toc-filename.

  1. If chunking is enabled and the +$persistent-toc-filename parameter is non-empty, +it’s used as a filename and a single copy of the ToC will be saved in +that file.

    The benefit of this approach is that the HTML chunks are +smaller. If the persistent ToC is written into every chunk, the size +of each HTML chunk increases in proportion to the size of the ToC. For +a large document with lots of small pages, this can be a significant +percentage of the overall size.

    There are two disadvantages:

    1. This will not work if the documents are accessed with +file: URIs: you must use http (and in some +environments, perhaps https) to load the documents. The +browser will (quite reasonably) not allow JavaScript to load documents +from the filesystem.

    2. Also, with this approach, opening the ToC requires another +document to be loaded into the browser. For a large ToC, this can +introduce visible latency, although browser caching tends to reduce +that after the document has been loaded once. +

  2. If the +$persistent-toc-filename parameter is the empty +sequence, a copy of the ToC is stored in each chunk.

    Note

    When stored in each chunk, the Table of Contents is secreted away in a +script element so that +it will be ignored by screen readers and other user agents that don’t +support JavaScript or CSS. +

    The benefit of this approach is that it requires no additional +document to be loaded and will work even if the documents are loaded +with file URIs.

    The disadvantage of this approach is that it increases the size of +each chunk. Whether that matters depends on the size of the ToC, the relative +size of the chunks, bandwidth and other constraints.

  3. If chunking is not being used, there will +only be one HTML result and the ToC will always be stored in that chunk. +

2.13On-page table of contents

Documents come in many shapes and sizes. Consequently, there are +a variety of navigation mechanisms available. For long documents, such as books, +a Table of Contents (ToC) is traditional (as are indexes). For web presentation, +long documents may be broken into chunks, for example at the chapter level. +In this case, header and footer navigation between chunks is almost always +available. For large documents a “persistent +ToC” can enable quick navigation from any chunk.

You can also enable an on-page ToC. The on-page ToC provides a +navigation mechanism for sections within a page. By default, it +appears on the right of the page if the window is wide enough to +comfortably display it next to the main body.

The current implementation requires JavaScript. In fact it is not +constructed from the DocBook markup, but instead from the HTML markup when +the page is rendered. To be precise, the ToC is constructed from HTML +section elements that +begin with a header that +contains an +h1h6 +element. It is therefore either a bug or a feature, depending on your perspective, +that a customization layer that changes how sections are marked up will change +what appears in the ToC. If you simply wish to suppress a particular section +from appearing in the ToC, add nopagetoc to its +class attribute.

Several parameters control presentation and formatting of the on-page ToC.

$pagetoc-elements

A list of the names of the elements (technically, the classes of +the sections) that should get an on-page ToC. It’s empty by default (meaning no +such ToC is rendered). For the standard presentation of this guide, +the list is set to preface chapter appendix refentry. +(The sneaky among you may wonder if you could simply set it to “component” +because that class is used for all those elements; “Yes. Yes, you could.”) +

$pagetoc-dynamic

Determines whether or not the ToC is “dynamic”. Inspired by +Kevin Drum’s +table of contents progress +animation, the ToC keeps track of the reader’s location in the main +view and highlights the corresponding sections in the ToC (albeit without the +clever SVG animation of the original).

Set this parameter to false if you find the animation distracting. +(If the animation is enabled, a control is provided to let the reader turn it off, +in case they find it distracting.)

$pagetoc-js

This is the JavaScript that implements the on-page ToC. Changing this +parameter allows you to replace it with JavaScript of your own invention. +

CSS

There is no pagetoc-css parameter; the CSS is integrated +into the standard CSS. You can find it in the pagetoc.scss file +in the repository if you want to change the presentation. (Don’t change that file, +simply add overriding rules later in the cascade.) +

There is also a JavaScript API that you can use to control some features +of the presentation. This is done by adding a DocBook property to +the browser’s window object. The value of the DocBook property +should be a map. To control the on-page ToC, add a pagetoc property +to the DocBook map. The value of this property must also be a map.

The properties of the pagetoc map can be used to change +the display:

decorated

This is the markup used for the user-control on the on-page ToC when +the ToC is decorated. The default value is “”. +

plain

This is the markup used for the user-control on the on-page ToC when +the ToC is plain (not decorated). The default value is “”. +

hidden

This is the markup used for the user-control on the on-page ToC when +the ToC is hidden. The default value is “”. +

nothing_to_reveal

This property controls how the on-page ToC is rendered if there are +no additional sections to be revealed. It can have the value +“hide”, to hide the ToC, “plain” to +make its presentation plain in this case, or “decorated” to +use the decorated style. The ToC will not appear if there are no sections. +

To use the JavaScript API, make sure your assignments to the +DocBook object are performed before the +on-page ToC JavaScript is executed.

2.14Paged-media (print output)

Formatters, the tools that turn markup of any sort into +aesthetically pleasing (or even passably acceptable) printed pages are +fiendishly difficult to write.

In the XML space, there have been a number of standards and +vendor-specific solutions to this problem. The current standards are +XSL FO and CSS. +

At present, the DocBook xslTNG Stylesheets +are focused on CSS for print output. There’s a customization layer +that produces “paged-media-ready” HTML that can be processed with +a CSS formatter such as Antenna House +or Prince.

To get print output, format your documents with the +print.xsl stylesheet instead of the +docbook.xsl stylesheet. The additional cleanup provided +by print.xsl assures that footnotes, annotations, and +other elements will appear in the right place, and with reasonable +presentation, in the printed version.

The resulting HTML document can be formatted directly with a +CSS paged-media formatter.

2.14.1Landscape orientation

The default orientation for pages in print output is portrait. The +stylesheets support a simple mechanism for selecting landscape pages. This works +in many common cases, but you may need additional CSS if you have complex requirements.

Note

This feature enables whole pages with a landscape orientation. +It doesn’t support rotating a single block element (paragraph, table, figure, etc.) to +lanscape orientation within an otherwise portrait page. If you rotate +a single block element, it will introduce a page break before and after the element. +

Rotations within an otherwise portrait page might be possible with custom +CSS, depending on your formatting engine.

The stylesheets slightly abuse the role attribute +(which is multi-valued) for this +purpose. Placing the token landscape in the role attribute +will select lanscape orientation for the element on which the role +attribute appears. (Placing the token portrait in the role +attribute will select portrait orientation in an otherwise landscape document.)

This may apply to the whole book or +article, or to individual chapter, section or +appendix elements.

You can also print individual tables or figures in landscape, if they are +too wide for portrait pages. For wide tables, you should use the +orient attribute with the value land, because it is +provided precisely for this purpose. However, in the interests of a uniform +solution, the role attribute with the value landscape +can also be used for tables.

For legacy reasons, the landscapeFigure processing instruction from the XSLT 1.0 stylesheets is also supported for figure and +informalfigure elements, as described +in Chapter 18 of Bob Staytons Complete Guide. +

2.14.1.1AntennaHouse extensions

The rotation mechanism supported by standard CSS rotates the entire page, +including any running headers and footers. For documents that are read online, +this has some real advantages as the PDF viewer is likely to show the landscape +pages “the right way up”.

But for documents that are going to be printed, or where a more +traditional presentation is desirable, the goal is usually to rotate the +content of the page, but not the page itself.

This can be accomplished with the AntennaHouse formatter using the +$vendor-css extension. In an otherwise portrait document, +including the vendor-ahf-portrait.css file using +$vendor-css will present landscape rotations in the +portrait page. If the document is being printed on landscape pages, +including the vendor-ahf-landscape.css file using +$vendor-css will present portrait +rotations in the landscape page.

2.15EPUB output

The DocBook xslTNG Stylesheets will +produce output designed for EPUB(3) if you use the +epub.xsl stylesheet instead of +docbook.xsl. This is new in version 1.11.0 and +may be incomplete. The output conforms to +EPUBCheck +version 3.2.

Producing an EPUB file is a slightly complicated process. You +must produce (X)HTML that conforms to strict requirements, you must +produce a media type document containing a specific text string, you +must produce a manifest that identifies all of the content including +all the images, stylesheets, fonts, etc, and you must finally create a +ZIP archive (with some special consideration as well).

The stylesheets can only do part of this process. In some future +release where we use, for example, an XProc 3.0 pipeline, it may be +practical to do more.

When you run the EPUB stylesheet, the principle result document is the +media type document. This has two useful side effects: first, it establishes the +output base URI from which all the relative documents can be created, and second, if +you fail to process some element in the input, you’re likely to get extra text characters +in the principle result document. That will cause tools to reject the EPUB and draw your +attention to the error.

The stylesheets also produce the META-INF files and the OPS +directory containing the document parts and the manifest.

There are two parameters specific to EPUB:

pub-id

This is the unique identifier for your EPUB. If you don’t specify one, a random +one will be generated for you. +

manifest-extra

This is a URI. If it’s specified, then it must be an XML document and that will +be added to the EPUB manifest. This is how you can add links to media and other resources +that the stylesheets don’t know about. +

2.15.1Adding metadata

You can add elements to the info element of the root element of your +document to add metadata to your EPUB files. Elements in the Dublin Core namespace +will be copied through. You can also add the elements +meta and link in the special namespace +http://docbook.org/ns/docbook/epub.

2.15.2EPUB in action

The Getting +Started project has been updated to show how to create EPUB +from a book. The project has support for dealing with external media, +fonts, and constructing the final ZIP file.

2.16Ad hoc CSS styling

Generally speaking, it’s considered good practice to separate +content from presentation. On the web, this is most often accomplished +with clean, structural HTML as the content and CSS styling providing +the presentation. Indeed, that’s how the output from the +DocBook xslTNG Stylesheets is +structured.

And yet, sometimes you need to tweak individual elements in +small ways. For example, you may want to change the style of a single +programlisting to avoid a page break inside it. Or perhaps +you need to make some adjustment to a single image.

In principle, this can be done in a completely “hands off” +manner: add an ID to the element and add an ID selector to the +external CSS file. In practice, that’s a bit tedious and there’s +nothing in the source to suggest that the styling is required or even +exists.

HTML allows for inline styles with the style attribute and starting in version 2.1.5, +the xslTNG stylesheets provide a way to access this feature.

DocBook allows namespace qualified attributes on any element. +Adding attributes in the https://xsltng.docbook.org/ns/css +namespace to an element will add those properties to the HTML style attribute. For example:

  |<para xmlns:css="https://xsltng.docbook.org/ns/css"
+  |      css:border="1px solid blue" css:border-radius="0.5em"
+  |      css:padding="0.5em">This
+  |is a paragraph with a border.</para>
+

Will be rendered as you expect:

This +is a paragraph with a border.

The generated HTML wraps up the CSS properties in a style +attribute:

  |<p style="padding:0.5em;border:1px solid blue;border-radius:0.5em;"
+  |>This is a pargraph with a border.</p>
+

To facilitate different properties based on the output medium, the stylesheets +will also look for attributes in the +“https://xsltng.docbook.org/ns/css#$output-media” +namespace. For example, this paragraph:

1 |<para xmlns:p-css="https://xsltng.docbook.org/ns/css#print"
+  |      xmlns:css="https://xsltng.docbook.org/ns/css"
+  |      css:background-color="#ffaaaa"
+  |      p-css:background-color="#bbbbbb">This paragraph
+5 |has a background color.
+  |</para>
+

Will be rendered with a pinkish background online and with a grey +background in print:

This paragraph +has a background color. +

By default, the stylesheets set +$output-media to screen for +“ordinary output”, epub for EPUB, and +print for paged media.


In other words, if you have two different documents +that use the same key name and you attempt to view them simultanously +on synchronized windows, you’ll get a tangled mess.

\ No newline at end of file diff --git a/guide/2.2.2/ch00.html b/guide/2.2.2/ch00.html new file mode 100644 index 0000000000..270b8afce3 --- /dev/null +++ b/guide/2.2.2/ch00.html @@ -0,0 +1,17 @@ + + + + + + +

This page has moved.

+ + + diff --git a/guide/2.2.2/ch01.html b/guide/2.2.2/ch01.html new file mode 100644 index 0000000000..69e28e41b4 --- /dev/null +++ b/guide/2.2.2/ch01.html @@ -0,0 +1,17 @@ + + + + + + +

This page has moved.

+ + + diff --git a/guide/2.2.2/ch02.html b/guide/2.2.2/ch02.html new file mode 100644 index 0000000000..aff25ec900 --- /dev/null +++ b/guide/2.2.2/ch02.html @@ -0,0 +1,18 @@ + + + + + + +

This page has moved.

+ + + + diff --git a/guide/2.2.2/ch03.html b/guide/2.2.2/ch03.html new file mode 100644 index 0000000000..77392ce155 --- /dev/null +++ b/guide/2.2.2/ch03.html @@ -0,0 +1,17 @@ + + + + + + +

This page has moved.

+ + + diff --git a/guide/2.2.2/ch04.html b/guide/2.2.2/ch04.html new file mode 100644 index 0000000000..8272a0b1cd --- /dev/null +++ b/guide/2.2.2/ch04.html @@ -0,0 +1,17 @@ + + + + + + +

This page has moved.

+ + + diff --git a/guide/2.2.2/ch05.html b/guide/2.2.2/ch05.html new file mode 100644 index 0000000000..926cb20821 --- /dev/null +++ b/guide/2.2.2/ch05.html @@ -0,0 +1,17 @@ + + + + + + +

This page has moved.

+ + + diff --git a/guide/2.2.2/copyright.html b/guide/2.2.2/copyright.html new file mode 100644 index 0000000000..13dcd9748a --- /dev/null +++ b/guide/2.2.2/copyright.html @@ -0,0 +1,14 @@ +Copyright

Copyright

DocBook xslTNG
+Copyright © 2020–2024 Norman Walsh.
+All Rights Reserved.

Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, +Version 1.1 or any later version published by the Free Software +Foundation. +A copy of the license is included in Appendix B, GNU Free Documentation License.

Many of the designations used by manufacturers and sellers to +distinguish their products are claimed as trademarks. Where those +designations appear in this book and the authors were aware +of a trademark claim, the designations have been printed in caps or +initial caps.

While every precaution has been taken in the preparation of this +book, the publisher and author assume no responsibility for errors or +omissions, or for damages resulting from the use of the information +contained herein.

\ No newline at end of file diff --git a/guide/2.2.2/css/docbook-epub.css b/guide/2.2.2/css/docbook-epub.css new file mode 100644 index 0000000000..5dbce7cd96 --- /dev/null +++ b/guide/2.2.2/css/docbook-epub.css @@ -0,0 +1,2150 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */ +/* No embedded fonts by default. */ +:root { + --symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint"; + --body-family: serif, var(--symbol-fonts); + --title-family: sans-serif, var(--symbol-fonts); + --mono-family: monospace, var(--symbol-fonts); +} + +:root { + /* The default theme. */ + --background-color: #fffff8; + --surface-color: #fffff8; + --primary-color: #7f7f7f; + --primary-variant-color: #5f5f5f; + --secondary-color: #ffbc42; + --error-color: #ffafaf; + --error-border-color: #b00020; + --on-background-color: #000000; + --on-surface-color: #000000; + --on-primary-color: #ffffff; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #000000; + --enabled-color: rgb(240,240,240); + --hovered-color: rgb(235,235,235); + --focused-color: rgb(221,221,221); + --modal-overlay-color: rgba(255,255,255,0.85); + --panelset-color: #f7f7f0; + --border-color: var(--primary-color); + --header-color: var(--background-color); + --on-header-color: var(--on-background-color); + --sidebar-color: var(--primary-color); + --on-sidebar-color: var(--on-primary-color); + --table-border-style: 1px solid var(--primary-color); + --default-font-size: 13.5pt; + --default-line-height: 1.75rem; + --line-number-width: 4em; + --numbered-separator-style: 1px solid var(--primary-color); + --numbered-number-color: var(--on-surface-color); + --numbered-background-color: var(--focused-color); + --verbatim-odd-background-color: var(--hovered-color); + --verbatim-even-background-color: var(--enabled-color); + --verbatim-line-highlight-background-color: var(--primary-color); + --verbatim-line-highlight-color: var(--on-primary-color); + --revadded-background-color: var(--primary-color); + --revadded-color: var(--on-primary-color); + --revadded-before: ""; + --revadded-after: ""; + --revchanged-background-color: var(--secondary-color); + --revchanged-color: var(--on-secondary-color); + --revchanged-before: ""; + --revchanged-after: ""; + --revdeleted-background-color: var(--error-color); + --revdeleted-color: var(--on-error-color); + --revdeleted-before: ""; + --revdeleted-after: ""; + --note-border-color: var(--primary-color); + --note-border-style: 2pt solid var(--note-border-color); + --note-color: var(--surface-color); + --on-note-color: var(--on-surface-color); + --tip-border-color: var(--primary-color); + --tip-border-style: 2pt solid var(--tip-border-color); + --tip-color: var(--surface-color); + --on-tip-color: var(--on-surface-color); + --important-border-color: var(--secondary-color); + --important-border-style: 2pt solid var(--important-border-color); + --important-color: var(--surface-color); + --on-important-color: var(--on-surface-color); + --caution-border-color: var(--secondary-color); + --caution-border-style: 2pt solid var(--caution-border-color); + --caution-color: var(--surface-color); + --on-caution-color: var(--on-surface-color); + --warning-border-color: var(--error-border-color); + --warning-border-style: 2pt solid var(--warning-border-color); + --warning-color: var(--error-color); + --on-warning-color: var(--on-error-color); + --danger-border-color: var(--error-border-color); + --danger-border-style: 2pt solid var(--danger-border-color); + --danger-color: var(--error-color); + --on-danger-color: var(--on-error-color); + --debug-background-color: var(--error-color); + --debug-color: var(--on-error-color); + --remark-background-color: var(--primary-color); + --remark-color: var(--on-primary-color); + --remark-border-color: var(--primary-color); + --remark-border-style: 1px solid var(--remark-border-color); + --annotation-separator-border-style: 2px dashed var(--border-color); + --annotation-header-background-color: var(--surface-color); + --annotation-header-color: var(--on-surface-color); + --annotation-header-separator-border-style: 1px solid var(--primary-color); + --annotation-body-border-style: 1px solid var(--primary-color); + --nav-background-color: var(--surface-color); + --error-border-style: 1px solid var(--error-border-color); + --keycap-box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.75); +} + +/* These choices are inspired by the material design system. Someone + with actual graphical design skills would do it better. Pull + requests gleefully accepted. +*/ +html.materials-dark { + --background-color: #121212; + --surface-color: #121212; + --primary-color: #bb86fc; + --primary-variant-color: #3700b3; + --secondary-color: #03dac6; + --error-color: #cf6679; + --error-border-color: #b00020; + --on-background-color: #ffffff; + --on-surface-color: #ffffff; + --on-primary-color: #000000; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #000000; + --enabled-color: rgb(44,33,56); + --hovered-color: rgb(49,38,63); + --focused-color: rgb(63,51,74); + --modal-overlay-color: rgba(18,18,18,0.85); + --keycap-box-shadow: 1px 1px 1px 0px rgba(255,255,255,0.75); +} + +html.materials-light { + --background-color: #ffffff; + --surface-color: #ffffff; + --primary-color: #6200ee; + --primary-variant-color: #3700b3; + --secondary-color: #03dac6; + --error-color: #b00020; + --error-border-color: #cf6679; + --on-background-color: #000000; + --on-surface-color: #000000; + --on-primary-color: #ffffff; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #ffffff; + --enabled-color: rgb(240,240,240); + --hovered-color: rgb(235,235,235); + --focused-color: rgb(221,221,221); + --modal-overlay-color: rgba(255,255,255,0.85); +} + +html { + padding: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; + font-family: var(--body-family); +} + +body { + padding-top: 0; + padding-left: 0; + padding-right: 0; + padding-bottom: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 1rem; + margin-right: 1rem; +} + +.error * { + background-color: var(--error-color); + color: var(--on-error-color); + padding-left: 2px; + padding-right: 2px; +} + +span.error { + display: inline-block; + border: var(--error-border-style); + border-radius: 4px; + padding: 2px; + margin-right: 0.5em; +} + +span.error::before { + content: " ☞ "; +} + +span.error::after { + content: " ☜ "; +} + +span.error.broken-link::after { + content: " 🔗 "; +} + +.firstterm { + font-weight: bold; +} + +.trademark::after { + content: "™"; +} + +.trademark.trade::after { + content: "™"; +} + +.trademark.copyright::after { + content: "©"; + vertical-align: super; + font-size: 85%; +} + +.trademark.registered::after { + content: "®"; + vertical-align: super; + font-size: 85%; +} + +.trademark.service::after { + content: "℠"; + vertical-align: super; +} + +.xlink-arc-list { + display: none; +} + +/* ============================================================ */ +.debug { + display: block; + padding-top: 1em; + padding-bottom: 1em; + padding-left: 1em; + background-color: var(--debug-background-color); + color: var(--debug-color); +} + +.remark { + border: var(--remark-border-style); + border-radius: 3px; + padding-left: 4px; + padding-right: 4px; + color: var(--on-surface-color); + background: repeating-linear-gradient(135deg, var(--focused-color), var(--focused-color) 5px, var(--enabled-color) 5px, var(--enabled-color) 10px); +} + +span.remark { + margin-left: 0.5em; + margin-right: 0.5em; +} + +.keycap { + font-family: var(--mono-family); + background-color: var(--verbatim-odd-background-color); + border: 1px solid var(--numbered-number-color); + border-radius: 3px; + padding-top: 0.1em; + padding-bottom: 0.1em; + padding-left: 0.3em; + padding-right: 0.3em; + margin: 0; + font-size: 85%; + box-shadow: var(--keycap-box-shadow); +} + +.keycombo .keycap + .keycap { + margin-left: 0.4em; +} + +code { + font-family: var(--mono-family); + background-color: var(--verbatim-odd-background-color); + border: 1px solid var(--focused-color); + border-radius: 6px; + padding-top: 0.1em; + padding-bottom: 0.1em; + padding-left: 0.3em; + padding-right: 0.3em; + margin: 0; + font-size: 85%; +} + +.toc code { + background-color: inherit; + border: none; + padding: inherit; +} + +code.email { + background-color: inherit; + border: inherit; + font-size: 95%; + padding-left: 0; + padding-right: 0; +} + +pre code, +.cmdsynopsis code { + border: none; + background-color: inherit; + padding: 0; + font-size: 0.85rem; /* code = 85% */ + margin: 0; +} + +pre > code { + padding: initial; +} + +.literal { + background-color: inherit; +} + +.nobreak { + white-space: nowrap; +} + +.break { + white-space: normal; +} + +.userinput { + font-weight: bold; +} + +a, a:visited { + color: inherit; +} + +a.pmuj { + text-decoration: none; +} + +.xref-area, +.xref-areaset, +.xref-co { + text-decoration: none; +} + +.xref { + font-style: italic; +} + +.xref-pagenum { + content: target-counter(attr(href), page); + font-style: normal; +} + +.xref-area, +.xref-areaset, +.xref-co, +.xref-step, +.xref-listitem { + font-style: normal; +} + +.xref .prefix, +.xref .sep, +.xref-question .label, +.xref-answer .label { + font-style: normal; +} + +.footnote-number a, +.footnote-number a:visited { + text-decoration: none; +} + +/* ============================================================ */ +h1, h2, h3, h4, h5, h6 { + color: var(--on-header-color); + background-color: var(--header-color); + font-family: var(--title-family); + font-weight: normal; + font-style: normal; + page-break-after: avoid; +} + +h1 { + margin-top: 4rem; + margin-bottom: 1.5rem; + font-size: 3.2rem; + line-height: 1; +} + +h2 { + font-weight: 400; + margin-top: 2.1rem; + margin-bottom: 2rem; + font-size: 2.2rem; + line-height: 1; +} + +h3 { + font-weight: 400; + font-size: 1.7rem; + margin-top: 2rem; + margin-bottom: 0; + line-height: 1; +} + +h4 { + font-weight: 400; + font-size: 1.5rem; + margin-top: 2rem; + margin-bottom: 0; + line-height: 1; +} + +h5 { + font-weight: 400; + font-size: 1rem; + margin-top: 1.5rem; + margin-bottom: 0; + line-height: 1; +} + +h6 { + font-weight: 400; + font-size: 1rem; + margin-top: 1.5rem; + margin-bottom: 0; + line-height: 1; +} + +.title { + color: var(--on-header-color); + background-color: var(--header-color); + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.5em; +} + +cite.title { + font-weight: inherit; + font-family: inherit; +} + +.set > .list-of-titles > .lot > .title, +.book > .list-of-titles > .lot > .title, +.part > .list-of-titles > .lot > .title { + font-weight: 400; + font-size: 1.5rem; + margin-top: 2rem; + margin-bottom: 1rem; + line-height: 1rem; +} + +header { + page-break-after: avoid; +} + +header .authorgroup { + margin-bottom: 2rem; +} + +/* ============================================================ */ +.article > header { + text-align: center; + margin-bottom: 2em; +} + +.article > header .abstract { + text-align: left; + margin-left: 5em; + margin-right: 5em; + border: 1px solid var(--border-color); + padding-left: 1em; + padding-right: 1em; + border-radius: 0.5em; +} + +.set > header, +.book > header { + margin-bottom: 2rem; + margin-top: 1rem; + padding-left: 1rem; + padding-right: 1rem; + padding-top: 1rem; + padding-bottom: 1rem; + border: 1px solid var(--border-color); + border-radius: 0.5em; +} + +.set > header h1, +.book > header h1 { + margin-top: 0; +} + +.revhistory .title { + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.5em; + border-bottom: 1px solid var(--border-color); +} + +.revhistory table { + width: 100%; +} + +.revhistory table tr th, +.revhistory table tr td { + vertical-align: top; +} + +.revhistory td p { + margin: 0; + padding: 0; +} + +/* ============================================================ */ +.lot { + margin-top: 1em; +} + +.toc li { + text-indent: -2em; + padding-left: 2em; +} + +ul.toc, +.toc ul { + list-style: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} + +.bibliolist, +.glosslist { + margin-top: 1em; +} + +.iso690 .author { + text-transform: uppercase; +} + +.iso690.article .part .firstname, +.iso690.article .part .givenname { + text-transform: none; +} + +.iso690.patent .country, .iso690.patent .patenttype { + font-style: italic; +} + +.iso690 .title { + font-weight: inherit; + font-family: inherit; + color: inherit; + background-color: inherit; + margin-bottom: inherit; +} + +/* ============================================================ */ +.index-list ul { + list-style: none; + padding-left: 2rem; +} + +.index-list > ul, +.generated-index > ul, +.generated-indexdiv > ul { + padding-left: 0; +} + +/* ============================================================ */ +.pgwide, +.pgwide .fgbody { + width: 100%; +} + +.formalgroup { + margin-top: 1rem; +} + +.fgbody > div { + display: inline-block; +} + +.pgwide .fgbody > div { + width: calc(50% - 0.5rem); +} + +.fgbody > div:nth-child(even) { + margin-left: 0.5rem; +} + +.fgbody > .figure, +.fgbody > .example, +.fgbody > .equation { + padding-top: inherit; +} + +table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; +} + +.inlinemediaobject, +.inlinemediaobject div { + display: inline-block; +} + +.mediaobject .caption { + font-family: var(--title-family); + font-size: 80%; + margin-left: 2em; + margin-right: 2em; + font-style: italic; +} +.mediaobject .caption p { + margin-top: 0; +} + +td, th { + padding: 0.25em; + text-align: left; +} + +td.bottom, +th.bottom { + vertical-align: bottom; +} + +td.middle, +th.middle { + vertical-align: middle; +} + +td.top, +th.top { + vertical-align: top; +} + +td.center, +th.center { + text-align: center; +} + +td.left, +th.left { + text-align: left; +} + +td.right, +th.right { + text-align: right; +} + +td.justify, +th.justify { + text-align: justify; +} + +td.btop, +th.btop { + border-top: var(--table-border-style); +} + +td.bleft, +th.bleft { + border-left: var(--table-border-style); +} + +td.colsep, +th.colsep { + border-right: var(--table-border-style); +} + +td.rowsep, +th.rowsep { + border-bottom: var(--table-border-style); +} + +td.char, +th.char { + font-family: monospace; + text-align: right; +} + +.media-wrapper { + width: 100%; +} + +.media { + display: inline-block; +} + +div > .viewport-table { + display: table; + width: 100%; +} + +span > .viewport-table { + display: inline-table; +} + +.viewport-row { + display: table-row; +} + +.viewport-cell { + display: table-cell; +} + +.viewport-cell > span { + display: block; + line-height: 1rem; +} + +.viewport { + display: inline-block; +} + +.intrinsic-width img, +.intrinsic-width svg { + width: 100%; +} + +.intrinsic-height img, +.intrinsic-height svg { + height: 100%; +} + +.intrinsic-both img, +.intrinsic-both svg { + width: 100%; + height: 100%; +} + +.admonition { + border-radius: 0.5rem; + min-height: 3rem; + padding-top: 0; + margin-bottom: 1rem; + margin-top: 1rem; + margin-right: 4px; + display: table; + width: 100%; +} + +.admonition > div { + display: table-row; +} + +.admonition .icon { + display: table-cell; + padding-top: 1.5rem; + width: 4.5rem; + text-align: center; + vertical-align: top; + font-size: 300%; + color: var(--note-border-color); +} + +.admonition .body { + display: table-cell; + padding-right: 1rem; +} + +.admonition header { + padding-top: 0.5rem; +} + +.note { + border: var(--note-border-style); + background-color: var(--note-color); + color: var(--on-note-color); +} +.note .icon { + color: var(--note-border-color); +} +.note .title { + background-color: var(--note-color); + color: var(--on-note-color); +} +.note code { + border-color: var(--note-border-color); + background-color: var(--note-color); +} +.note pre code { + background-color: inherit; + border-color: inherit; +} + +.tip { + border: var(--tip-border-style); + background-color: var(--tip-color); + color: var(--on-tip-color); +} +.tip .icon { + color: var(--tip-border-color); +} +.tip .title { + background-color: var(--tip-color); + color: var(--on-tip-color); +} +.tip code { + border-color: var(--tip-border-color); + background-color: var(--tip-color); +} +.tip pre code { + background-color: inherit; + border-color: inherit; +} + +.important { + border: var(--important-border-style); + background-color: var(--important-color); + color: var(--on-important-color); +} +.important .icon { + padding-top: 2rem; + color: var(--important-border-color); +} +.important .title { + background-color: var(--important-color); + color: var(--on-important-color); +} +.important code { + background-color: var(--important-color); + border-color: var(--important-border-color); +} +.important pre code { + background-color: inherit; + border-color: inherit; +} + +.caution { + border: var(--caution-border-style); + background-color: var(--caution-color); + color: var(--on-caution-color); +} +.caution .icon { + color: var(--caution-border-color); +} +.caution .title { + background-color: var(--caution-color); + color: var(--on-caution-color); +} +.caution code { + background-color: var(--caution-color); + border-color: var(--caution-border-color); +} +.caution pre code { + background-color: inherit; + border-color: inherit; +} + +.warning { + border: var(--warning-border-style); + background-color: var(--warning-color); + color: var(--on-warning-color); +} +.warning .icon { + color: var(--warning-border-color); +} +.warning .title { + background-color: var(--warning-color); + color: var(--on-warning-color); +} +.warning code { + background-color: var(--warning-color); + border-color: var(--warning-border-color); +} +.warning pre code { + background-color: inherit; + border-color: inherit; +} + +.danger { + border: var(--danger-border-style); + background-color: var(--danger-color); + color: var(--on-danger-color); +} +.danger .icon { + color: var(--danger-border-color); +} +.danger .title { + background-color: var(--danger-color); + color: var(--on-danger-color); +} +.danger code { + background-color: var(--danger-color); + border-color: var(--danger-border-color); +} +.danger pre code { + background-color: inherit; + border-color: inherit; +} + +/* ============================================================ */ +.pre-wrap { + overflow-x: auto; + margin-top: 1em; + margin-bottom: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 0; + margin-left: 0.5em; + margin-right: 0.5em; +} + +pre sup { + line-height: 0; +} + +pre.verblines { + margin-left: 0; + margin-right: 0; +} + +pre.address, +pre.literallayout { + font-family: var(--body-family); + margin-left: auto; + margin-right: auto; +} + +pre.monospaced { + font-family: var(--mono-family); +} + +pre.programlisting, +pre.screen { + line-height: 1.25rem; +} + +pre.verblines .nsep { + display: none; +} + +/* Adapted from https://stackoverflow.com/questions/41306797/html-how-to-add-line-numbers-to-a-source-code-block */ +pre.verblines span.line:nth-child(odd) { + background-color: var(--verbatim-odd-background-color); +} + +pre.verblines span.line:nth-child(even) { + background-color: var(--verbatim-even-background-color); +} + +/* Make the background of even lines the same as odd lines for + "monochrome" listings. */ +pre.verblines.monochrome span.line:nth-child(even) { + background-color: var(--verbatim-odd-background-color); +} + +pre.address span.line:nth-child(odd), +pre.literallayout span.line:nth-child(odd) { + background-color: inherit; +} + +pre.address span.line:nth-child(even), +pre.literallayout span.line:nth-child(even) { + background-color: inherit; +} + +pre.verblines span.ln { + font-family: var(--mono-family); + width: 4px; + padding-top: 4px; + padding-bottom: 4px; + text-align: right; +} + +pre.verblines.numbered span.ln { + width: var(--line-number-width); +} + +pre.address span.ln, +pre.literallayout span.ln { + padding-top: 0; + padding-bottom: 0; +} + +pre.verblines { + display: table; + table-layout: fixed; + width: 100%; /* anything but auto, otherwise fixed layout not guaranteed */ + white-space: pre; +} + +pre.verblines span.line { + display: table-row; +} + +pre.verblines span.ln { + display: table-cell; +} + +pre.numbered span.ln { + background-color: var(--numbered-background-color); + user-select: none; + -webkit-user-select: none; +} + +pre.numbered span.ln { + width: var(--line-number-width); + margin-right: 0.5em; +} + +pre.verblines span.ld { + display: table-cell; + padding-top: 4px; + padding-bottom: 4px; +} + +pre.address span.ld, +pre.literallayout span.ld { + padding-top: 0; + padding-bottom: 0; +} + +pre.verblines.numbered span.ld { + border-left: var(--numbered-separator-style); + padding-left: 0.25em; +} + +pre.verblines span.line.highlight { + background-color: var(--verbatim-line-highlight-background-color); + color: var(--verbatim-line-highlight-color); +} + +table.verbatim { + width: 100%; +} + +table.verbatim tr td { + /* N.B. 100vw not 100%. If you specify 100%, Safari calculates the width is 0 */ + width: calc(100vw - var(--line-number-width)); + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; +} + +table.verbatim tr td:first-child { + width: var(--line-number-width); + padding-left: 0; + padding-right: 0; +} + +table.verbatim tr td pre { + margin-left: 0; + margin-right: 0; +} + +/* ============================================================ */ +.productionset .productions { + display: table; + table-layout: fixed; + width: 100%; +} + +.productionset .productions .production { + display: table-row; +} + +.productionset .productions .production .lhs, +.productionset .productions .production .rhs, +.productionset .productions .production .lhssep { + font-family: var(--mono-family); +} + +.productionset .productions .production .lhs, +.productionset .productions .production .lhssep, +.productionset .productions .production .rhs, +.productionset .productions .production .constraint { + display: table-cell; +} + +.productionset .productions .production .lhs { + width: 25%; + white-space: nowrap; +} + +.productionset .productions .production .lhssep { + width: 3em; + text-align: center; +} + +.productionset .productions .production .constraint { + width: 2em; +} + +.lineannotation { + font-family: var(--body-family); + font-style: italic; +} + +.constraintdef { + min-height: 3rem; + margin-left: 1rem; + padding-top: 1rem; + margin-bottom: 1rem; +} + +.constraintdef .title { + font-weight: bold; + font-family: var(--title-family); +} + +/* ============================================================ */ +.qandadiv { + margin-top: 1em; +} + +.qandalist .qanda { + display: table; + table-layout: fixed; + width: 100%; +} + +.qandaentry .question, +.qandaentry .answer { + display: table-row; +} + +.qandaentry .question > .label, +.qandaentry .answer > .label { + display: table-cell; + width: 3em; +} + +.qandaentry .question > .body, +.qandaentry .answer > .body { + display: table-cell; +} + +.question p, +.answer p { + margin-top: 0; +} + +/* ============================================================ */ +.funcprototype table td { + padding: 0; +} + +.funcprototype table.params { + margin-top: 1em; +} + +.funcprototype table.params td { + padding-right: 1em; +} + +.funcprototype { + margin-top: 1em; + font-family: var(--mono-family); +} + +.funcprototype .paramdef { + font-family: var(--mono-family); +} + +.funcprototype .parameter { + font-family: var(--body-family); + font-style: italic; +} + +.funcprototype .function { + font-weight: bold; +} + +/* ============================================================ */ +.linegroup { + margin-left: 2em; +} + +.speaker::after { + content: ":"; +} + +.linegroup .speaker { + margin-left: -2em; +} + +/* ============================================================ */ +.formalpara .title { + display: inline-block; + font-weight: bold; +} + +.formalpara .title::after { + content: "."; + margin-right: 0.5em; +} + +.formalpara .titlepunct::after { + content: ""; + margin-right: 0.5em; +} + +blockquote { + margin-top: 1em; +} + +blockquote p { + margin-top: 0; +} + +blockquote .title { + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.25em; +} + +blockquote p + .attribution { + /* Tuck it back up closer to the preceding paragraph */ + margin-top: -1em; +} + +.attribution::before { + content: "—"; +} + +.attribution { + margin-left: 50%; +} + +/* ============================================================ */ +.formalobject + .formalobject { + margin-top: 1rem; +} + +.figure, +.example, +.equation { + padding-top: 1em; +} + +.figure, +.example { + border: 1px solid var(--border-color); + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.figure details p, +.example details p { + margin-left: 1rem; + margin-right: 1rem; +} + +.figure .title { + font-family: var(--title-family); +} + +.figure .media { + width: 100%; + text-align: center; +} + +.figure img { + margin-left: auto; + margin-right: auto; +} + +.floatcenter { + text-align: center; +} + +.floatright { + float: right; +} + +.floatleft { + float: left; +} + +/* ============================================================ */ +.cmdsynopsis { + margin-top: 1em; + margin-bottom: 1em; + margin-left: 3em; + text-indent: -3em; +} + +.synopfragment { + margin-top: 1em; +} + +.synopfragmentref { + font-style: italic; +} + +.synopfragmentref a, +.synopfragmentref a:visited { + text-decoration: none; +} + +.synopfragmentref-number { + font-family: var(--mono-family); + font-style: normal; + font-weight: bold; + font-size: 10pt; +} + +.cmdsynopsis .command, +.cmdsynopsis .cmdpunct, +.cmdsynopsis .group, +.cmdsynopsis .arg { + font-family: var(--mono-family); +} + +.calloutlist { + margin-bottom: 1em; +} + +.calloutlist dl { + margin-bottom: 0; +} + +.calloutlist dl dt { + clear: both; + float: left; + width: 1.25em; +} + +.calloutlist dl dd { + margin-left: 1.25em; + line-height: 1.5rem; /* tuck them together a little */ +} + +.calloutlist dd > p:first-child { + margin-top: 0; +} + +.calloutlist dd:last-child > p:last-child { + margin-bottom: 0; +} + +a.callout-bug, +a.callout-bug:visited { + text-decoration: none; +} + +/* ============================================================ */ +.revadded { + background-color: var(--revadded-background-color); + color: var(--revadded-color); +} + +.revadded::before { + content: var(--revadded-before); +} + +.revadded::after { + content: var(--revadded-after); +} + +.revchanged { + background-color: var(--revchanged-background-color); + color: var(--revchanged-color); +} + +.revchanged::before { + content: var(--revchanged-before); +} + +.revchanged::after { + content: var(--revchanged-after); +} + +.revdeleted { + background-color: var(--revdeleted-background-color); + color: var(--revdeleted-color); +} + +.revdeleted::before { + content: var(--revdeleted-before); +} + +.revdeleted::after { + content: var(--revdeleted-after); +} + +.revoff .revadded, +.revoff .revchanged { + background-color: inherit; + color: inherit; +} + +.revoff .revdeleted { + display: none; +} + +.revoff .revadded::before, +.revoff .revchanged::before, +.revoff .revdeleted::before, +.revoff .revadded::after, +.revoff .revchanged::after, +.revoff .revdeleted::after { + content: ""; +} + +/* ============================================================ */ +ul[db-mark=disc], +li[db-mark=disc], +ul[db-mark=bullet], +li[db-mark=bullet] { + list-style-type: disc; +} + +ul[db-mark=round], +li[db-mark=round] { + list-style-type: circle; +} + +ul[db-mark=box], +li[db-mark=box] { + list-style-type: square; +} + +/* ============================================================ */ +.simplelistvert, +.simplelisthoriz { + display: table; +} + +.simplelist .row { + display: table-row; +} + +.simplelist .row span { + display: table-cell; +} + +/* ============================================================ */ +.glossdiv { + margin-top: 1em; +} + +.glossdiv dl dt { + padding-left: 1em; +} + +/* ============================================================ */ +.sidebar { + background-color: var(--sidebar-color); + color: var(--on-sidebar-color); + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + padding-top: 1em; + border-radius: 0.5em; +} + +.sidebar .title { + background-color: var(--sidebar-color); + color: var(--on-sidebar-color); +} + +.sidebar code { + background-color: var(--sidebar-color); +} + +/* ============================================================ */ +.msgexplan { + margin-left: 2rem; +} + +/* ============================================================ */ +.foreignphrase { + font-style: italic; +} + +.bold { + font-weight: bold; +} + +.strikethrough { + text-decoration: line-through; +} + +.underline { + text-decoration: underline; +} + +em { + font-style: italic; +} + +em em { + font-style: normal; +} + +em em em { + font-style: italic; +} + +em em em em { + font-style: normal; +} + +em em em em em { + font-style: italic; +} + +em em me em em em { + font-style: normal; +} + +/* ============================================================ */ +/* Inline annotations */ +.annotations { + border-top: var(--annotation-separator-border-style); + padding-top: 1em; + margin-top: 6em; +} + +a.annomark, +a.annomark:visited { + text-decoration: none; + color: inherit; +} + +.annotation-wrapper { + margin-bottom: 1em; +} + +.annotation-body { + border: var(--annotation-body-border-style); + border-bottom-left-radius: 0.25em; + border-bottom-right-radius: 0.25em; +} + +.annotation-header { + height: 2em; + background-color: var(--annotation-header-background-color); + color: var(--annotation-header-color); + padding-left: 1em; + padding-right: 0.5em; + border-bottom: var(--annotation-header-separator-border-style); +} + +.annotation-header .annotation-close { + float: right; +} + +.annotation-content { + padding-left: 1em; + padding-right: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +/* ============================================================ */ +/* XLink extended links. The ".js" classes only apply if + JavaScript XLink processing is available and enabled. +*/ +.xlink .source { + border-bottom: 1px dotted black; + cursor: pointer; +} + +.xlink-arc-list { + display: inline; + font-style: normal; + cursor: pointer; + font-size: 70%; +} + +.xlink-arc-list.js::before { + content: " "; /* thin space */ +} + +.nhrefs.js .xlink-arc-delim { + display: none; +} + +.nhrefs.js { + font-style: normal; + display: none; + margin-left: 4px; + margin-right: 0; + padding-bottom: 1em; + border: 2px solid var(--primary-variant-color); + border-radius: 4px; + z-index: 2; + background-color: var(--primary-color); + color: var(--on-primary-color); +} + +.nhrefs.js .arc { + display: list-item; + margin-left: 1.5em; + padding-right: 1em; +} + +.nhrefs.js .xlink-arc-title { + display: block; + background-color: var(--primary-variant-color); + color: var(--on-primary-variant-color); + margin-left: 0; + margin-bottom: 0.5em; + text-align: center; +} + +:root { + --popup-annotation-color: var(--surface-color); + --on-popup-annotation-color: var(--on-surface-color); + --popup-annotation-border-color: var(--primary-color); + --popup-annotation-border-style: 1px solid var(--popup-annotation-border-color); + --popup-annotation-header-color: var(--primary-color); + --on-popup-annotation-header-color: var(--on-primary-color); + --popup-annotation-header-separator-border-style: 1px solid var(--popup-annotation-border-color); + --js-controls-border-color: var(--primary-color); + --js-controls-border-style: 1px solid var(--js-controls-border-color); + --js-controls-header-color: var(--primary-color); + --on-js-controls-header-color: var(--on-primary-color); + --js-controls-header-separator-border-style: 1px solid var(--popup-annotation-border-color); + --js-controls-color: var(--surface-color); + --on-js-controls-color: var(--on-surface-color); +} + +html { + color: var(--on-background-color); + background-color: var(--background-color); + width: 100%; + line-height: var(--default-line-height); + font-size: var(--default-font-size); + scroll-padding-top: 40px; + height: 100%; +} + +/* https://www.smashingmagazine.com/2020/07/css-techniques-legibility/ */ +@supports (font-size-adjust: 1) { + html { + font-size-adjust: 0.5; + } +} +body { + height: 100%; + min-height: 100%; + margin-left: 0; + margin-right: 0; + display: grid; + grid-template-rows: 1fr auto; + grid-template-columns: 100%; +} + +body.draft { + background-image: url("draft-left.svg"); + background-position: 2% 2%; + background-repeat: no-repeat; + background-size: 10%; + background-attachment: fixed; +} + +main { + max-width: 50rem; + margin-left: auto; + margin-right: auto; +} + +@media screen and (max-width: 60rem) { + main { + margin-left: 1rem; + margin-right: 1rem; + } +} +@media screen and (min-width: 70rem) { + main { + min-width: 50rem; + } +} +main { + padding-top: 3rem; +} + +.book + .book { + border-top: var(--division-separator-border-style); + margin-top: 6em; + padding-top: 6em; +} + +.refentry + .refentry { + border-top: var(--division-separator-border-style); + margin-top: 6em; + padding-top: 6em; +} + +.book > .dedication > header, +.article > .dedication > header, +.book .chapter > header, +.book .preface > header, +.book .appendix > header, +.book .part > header { + margin-top: 4rem; + padding-top: 2rem; + border-top: 0.25rem solid var(--border-color); +} + +.dedication + .dedication > header { + border-top: inherit; +} + +.colophon { + margin-top: 6rem; + margin-bottom: 6rem; + margin-left: 6rem; + margin-right: 6rem; + border: 1px solid var(--border-color); + border-radius: 1em; + padding-left: 2em; + padding-right: 2em; + padding-bottom: 2em; +} + +.set header h1, +.book header h1 { + text-align: center; +} + +.footnotes { + margin-top: 2em; +} + +.table-footnotes { + margin-top: 0; +} + +.footnotes div.footnote-number { + display: inline-block; + width: 0.75rem; + height: 0; + margin-left: -0.75rem; + margin-top: 0.5rem; + vertical-align: top; +} + +.footnotes div.footnote-body { + display: inline-block; +} + +.footnotes .footnote { + margin-left: 0.75rem; +} + +.footnote p { + margin-bottom: 0; +} + +.footnotes hr { + max-width: 1in; + margin: 0; +} + +.calloutlist dl { + display: grid; + grid-template-columns: max-content auto; +} + +.calloutlist dl dt { + float: none; + width: inherit; + grid-column-start: 1; +} + +.calloutlist dl dd { + margin-left: 1em; + grid-column-start: 2; +} + +.callout-bug { + user-select: none; +} + +/* ============================================================ */ +nav table td.previous { + text-align: left; +} + +nav table td.up { + text-align: center; +} + +nav table td.next { + text-align: right; +} + +nav.bottom { + background-color: var(--nav-background-color); +} + +nav.bottom table { + border-top: 2px solid var(--border-color); + margin-bottom: 1rem; + width: 100%; +} + +nav.bottom table .previous { + padding-left: 4rem; +} + +nav.bottom table .next { + padding-right: 4rem; +} + +nav.top { + position: fixed; + top: 0; + width: 100%; + background-color: var(--nav-background-color); + opacity: 1; + z-index: 100; /* make sure floating elements go under it! */ +} + +body.home nav.top { + display: none; +} + +nav.top div { + border-bottom: 1px solid var(--border-color); + padding-left: 4rem; + padding-right: 4rem; +} + +/* ============================================================ */ +/* Javascript annotations */ +.copyVerbIcon { + border: 1px solid var(--hovered-color); + border-radius: 0.2rem; +} + +.copyVerbIcon:hover { + cursor: pointer; + border: 1px solid var(--primary-color); +} + +/* ============================================================ */ +/* Javascript annotations */ +.popup-annotation-wrapper { + display: none; + position: fixed; + left: 0; + top: 0; + height: 100%; + width: 100%; + background-color: var(--modal-overlay-color); +} + +.popup-annotation-body { + background-color: var(--popup-annotation-color); + color: var(--on-popup-annotation-color); + border: var(--popup-annotation-border-style); + width: 50%; + min-height: 40%; + max-height: 50%; + margin-top: 10%; + margin-left: auto; + margin-right: auto; + border-radius: 0.15em; + display: grid; + grid-template-rows: auto 1fr; + grid-template-columns: 100%; +} + +.wide .popup-annotation-body { + width: 80%; +} + +.tall .popup-annotation-body { + max-height: 80%; +} + +.popup-annotation-header { + height: 2em; + background-color: var(--popup-annotation-header-color); + color: var(--on-popup-annotation-header-color); + padding-left: 1em; + padding-right: 0.5em; + border-bottom: var(--popup-annotation-header-separator-border-style); +} + +.popup-annotation-header .annotation-close { + float: right; + cursor: pointer; + font-size: 125%; +} + +.popup-annotation-header .annotation-title { + padding-top: 0.1em; +} + +.popup-annotation-content { + padding-left: 1em; + padding-right: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; + overflow: auto; +} + +.annotation-close { + padding-top: 4px; +} + +/* ============================================================ */ +/* Javascript controls */ +.js-controls-wrapper { + display: none; + position: fixed; + left: 0; + top: 0; + height: 100%; + width: 100%; + background-color: var(--modal-overlay-color); +} + +.js-controls-body { + background-color: var(--js-controls-color); + color: var(--on-js-controls-color); + border: var(--js-controls-border-style); + max-width: 300px; + margin-top: 5px; + margin-left: 10px; + opacity: 1; +} + +.js-controls-header { + height: 2em; + background-color: var(--js-controls-header-color); + color: var(--on-js-controls-header-color); + padding-left: 1em; + padding-right: 0.5em; + border-bottom: var(--js-controls-header-separator-border-style); +} + +.js-controls-header .js-controls-close { + float: right; + cursor: pointer; + font-size: 125%; +} + +.js-controls-header .js-controls-title { + padding-top: 0.1em; +} + +.js-controls-content { + background-color: var(--js-controls-color); + color: var(--on-js-controls-color); + padding: 1em; +} + +.js-controls-buttons { + text-align: center; + padding-bottom: 0.5em; +} + +.js-controls-buttons button { + display: inline-block; + text-align: center; + font-size: 14pt; + background-color: var(--enabled-color); + border-radius: 5px; + border: 2px solid var(--primary-color); + color: var(--on-surface-color); + text-align: center; + padding: 5px; + width: 3em; + transition: all 0.5s; + cursor: pointer; + margin: 5px; +} + +.js-controls-reload { + text-align: center; + background-color: var(--error-color); + color: var(--on-error-color); +} + +/* ============================================================ */ +/* Audio/video fallback. */ +.fallback { + border: solid 2px var(--error-color); + padding: 1rem; + border-radius: 4px; +} + +/* ============================================================ */ +/* Panel sets */ +/* Based on https://codepen.io/alvarotrigo/pen/RwLzvQz by Álvaro */ +.panelset { + display: flex; + flex-wrap: wrap; +} + +.panelset label { + order: 1; + display: block; + padding: 1rem 2rem; + margin-right: 0.2rem; + cursor: pointer; + transition: background ease 0.2s; + border-top-left-radius: 0.5em; + border-top-right-radius: 0.5em; + color: var(--primary-color); +} + +.panelset .paneltab { + order: 99; /* Put the tabs last */ + flex-grow: 1; + width: 100%; + display: none; + padding: 1rem; + border: 2px solid var(--focused-color); + background-color: var(--panelset-color); +} + +.panelset input[type=radio] { + display: none; +} + +.panelset input[type=radio]:checked + label { + border-bottom: 2px solid var(--focused-color); + border-left: 1px solid var(--focused-color); + background-color: var(--panelset-color); + color: var(--on-background-color); +} + +.panelset label:hover { + border: 2px solid var(--focused-color); + color: var(--on-background-color); + border-top-left-radius: 0.5em; + border-top-right-radius: 0.5em; +} + +.panelset input[type=radio]:checked + label + .paneltab { + display: block; +} + +/* ============================================================ */ +@media screen and (max-width: 1199px) { + nav.top div { + padding-left: 2rem; + padding-right: 2rem; + } + nav.bottom table .previous { + padding-left: 2rem; + } + nav.bottom table .next { + padding-right: 2rem; + } +} +@media screen and (max-width: 767px) { + nav.top div { + padding-left: 1rem; + padding-right: 1rem; + } + nav.bottom table .previous { + padding-left: 1rem; + } + nav.bottom table .next { + padding-right: 1rem; + } +} +/* + * This is xlink.css providing support for multi-targeted links. + * The "js" class is added by JavaScript. This enables graceful + * fallback in the non-JS case. +*/ +.xlink .source { + border-bottom: 1px dotted black; + cursor: pointer; +} + +.xlink-arc-list { + display: inline; + font-style: normal; + cursor: pointer; + font-size: 70%; +} + +.xlink-arc-list.js::before { + content: " "; /* thin space */ +} + +.nhrefs.js .xlink-arc-delim { + display: none; +} + +.nhrefs.js { + font-style: normal; + display: none; + margin-left: 4px; + margin-right: 0; + padding-bottom: 1em; + border: 2px solid var(--primary-variant-color); + border-radius: 4px; + z-index: 2; + background-color: var(--primary-color); + color: var(--on-primary-color); +} + +.nhrefs.js .arc { + display: list-item; + margin-left: 1.5em; + padding-right: 1em; +} + +.nhrefs.js .xlink-arc-title { + display: block; + background-color: #afafaf; + margin-left: 0; + margin-bottom: 0.5em; + text-align: center; +} + +/* + * This is oxy-markup.css. This CSS supports oXygen change markup + * processing instructions, converted to DocBook proper and then to + * HTML classes/spans. + */ +.oxy_insert { + background-color: transparent; + color: #009900; +} + +.oxy_insert::before { + content: var(--revadded-before); +} + +.oxy_insert::after { + content: var(--revadded-after); +} + +.oxy_delete { + background-color: transparent; + color: #cc3333; + text-decoration: line-through; +} + +.oxy_delete::before { + content: var(--revdeleted-before); +} + +.oxy_delete::after { + content: var(--revdeleted-after); +} + +/* The background color doesn't work the way I expect in epub; + so turn it off for now. */ +:root { + --background-color: inherit; +} + +/* The border looks awful in an EPUB */ +.book > header { + border: none; +} diff --git a/guide/2.2.2/css/docbook-epub.min.css b/guide/2.2.2/css/docbook-epub.min.css new file mode 100644 index 0000000000..97417b57be --- /dev/null +++ b/guide/2.2.2/css/docbook-epub.min.css @@ -0,0 +1 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */:root{--symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint";--body-family: serif, var(--symbol-fonts);--title-family: sans-serif, var(--symbol-fonts);--mono-family: monospace, var(--symbol-fonts)}:root{--background-color: #fffff8;--surface-color: #fffff8;--primary-color: #7f7f7f;--primary-variant-color: #5f5f5f;--secondary-color: #ffbc42;--error-color: #ffafaf;--error-border-color: #b00020;--on-background-color: #000000;--on-surface-color: #000000;--on-primary-color: #ffffff;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #000000;--enabled-color: rgb(240,240,240);--hovered-color: rgb(235,235,235);--focused-color: rgb(221,221,221);--modal-overlay-color: rgba(255,255,255,0.85);--panelset-color: #f7f7f0;--border-color: var(--primary-color);--header-color: var(--background-color);--on-header-color: var(--on-background-color);--sidebar-color: var(--primary-color);--on-sidebar-color: var(--on-primary-color);--table-border-style: 1px solid var(--primary-color);--default-font-size: 13.5pt;--default-line-height: 1.75rem;--line-number-width: 4em;--numbered-separator-style: 1px solid var(--primary-color);--numbered-number-color: var(--on-surface-color);--numbered-background-color: var(--focused-color);--verbatim-odd-background-color: var(--hovered-color);--verbatim-even-background-color: var(--enabled-color);--verbatim-line-highlight-background-color: var(--primary-color);--verbatim-line-highlight-color: var(--on-primary-color);--revadded-background-color: var(--primary-color);--revadded-color: var(--on-primary-color);--revadded-before: "";--revadded-after: "";--revchanged-background-color: var(--secondary-color);--revchanged-color: var(--on-secondary-color);--revchanged-before: "";--revchanged-after: "";--revdeleted-background-color: var(--error-color);--revdeleted-color: var(--on-error-color);--revdeleted-before: "";--revdeleted-after: "";--note-border-color: var(--primary-color);--note-border-style: 2pt solid var(--note-border-color);--note-color: var(--surface-color);--on-note-color: var(--on-surface-color);--tip-border-color: var(--primary-color);--tip-border-style: 2pt solid var(--tip-border-color);--tip-color: var(--surface-color);--on-tip-color: var(--on-surface-color);--important-border-color: var(--secondary-color);--important-border-style: 2pt solid var(--important-border-color);--important-color: var(--surface-color);--on-important-color: var(--on-surface-color);--caution-border-color: var(--secondary-color);--caution-border-style: 2pt solid var(--caution-border-color);--caution-color: var(--surface-color);--on-caution-color: var(--on-surface-color);--warning-border-color: var(--error-border-color);--warning-border-style: 2pt solid var(--warning-border-color);--warning-color: var(--error-color);--on-warning-color: var(--on-error-color);--danger-border-color: var(--error-border-color);--danger-border-style: 2pt solid var(--danger-border-color);--danger-color: var(--error-color);--on-danger-color: var(--on-error-color);--debug-background-color: var(--error-color);--debug-color: var(--on-error-color);--remark-background-color: var(--primary-color);--remark-color: var(--on-primary-color);--remark-border-color: var(--primary-color);--remark-border-style: 1px solid var(--remark-border-color);--annotation-separator-border-style: 2px dashed var(--border-color);--annotation-header-background-color: var(--surface-color);--annotation-header-color: var(--on-surface-color);--annotation-header-separator-border-style: 1px solid var(--primary-color);--annotation-body-border-style: 1px solid var(--primary-color);--nav-background-color: var(--surface-color);--error-border-style: 1px solid var(--error-border-color);--keycap-box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.75)}html.materials-dark{--background-color: #121212;--surface-color: #121212;--primary-color: #bb86fc;--primary-variant-color: #3700b3;--secondary-color: #03dac6;--error-color: #cf6679;--error-border-color: #b00020;--on-background-color: #ffffff;--on-surface-color: #ffffff;--on-primary-color: #000000;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #000000;--enabled-color: rgb(44,33,56);--hovered-color: rgb(49,38,63);--focused-color: rgb(63,51,74);--modal-overlay-color: rgba(18,18,18,0.85);--keycap-box-shadow: 1px 1px 1px 0px rgba(255,255,255,0.75)}html.materials-light{--background-color: #ffffff;--surface-color: #ffffff;--primary-color: #6200ee;--primary-variant-color: #3700b3;--secondary-color: #03dac6;--error-color: #b00020;--error-border-color: #cf6679;--on-background-color: #000000;--on-surface-color: #000000;--on-primary-color: #ffffff;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #ffffff;--enabled-color: rgb(240,240,240);--hovered-color: rgb(235,235,235);--focused-color: rgb(221,221,221);--modal-overlay-color: rgba(255,255,255,0.85)}html{padding:0;margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto;font-family:var(--body-family)}body{padding-top:0;padding-left:0;padding-right:0;padding-bottom:0;margin-top:0;margin-bottom:0;margin-left:1rem;margin-right:1rem}.error *{background-color:var(--error-color);color:var(--on-error-color);padding-left:2px;padding-right:2px}span.error{display:inline-block;border:var(--error-border-style);border-radius:4px;padding:2px;margin-right:.5em}span.error::before{content:" ☞ "}span.error::after{content:" ☜ "}span.error.broken-link::after{content:" 🔗 "}.firstterm{font-weight:bold}.trademark::after{content:"™"}.trademark.trade::after{content:"™"}.trademark.copyright::after{content:"©";vertical-align:super;font-size:85%}.trademark.registered::after{content:"®";vertical-align:super;font-size:85%}.trademark.service::after{content:"℠";vertical-align:super}.xlink-arc-list{display:none}.debug{display:block;padding-top:1em;padding-bottom:1em;padding-left:1em;background-color:var(--debug-background-color);color:var(--debug-color)}.remark{border:var(--remark-border-style);border-radius:3px;padding-left:4px;padding-right:4px;color:var(--on-surface-color);background:repeating-linear-gradient(135deg, var(--focused-color), var(--focused-color) 5px, var(--enabled-color) 5px, var(--enabled-color) 10px)}span.remark{margin-left:.5em;margin-right:.5em}.keycap{font-family:var(--mono-family);background-color:var(--verbatim-odd-background-color);border:1px solid var(--numbered-number-color);border-radius:3px;padding-top:.1em;padding-bottom:.1em;padding-left:.3em;padding-right:.3em;margin:0;font-size:85%;box-shadow:var(--keycap-box-shadow)}.keycombo .keycap+.keycap{margin-left:.4em}code{font-family:var(--mono-family);background-color:var(--verbatim-odd-background-color);border:1px solid var(--focused-color);border-radius:6px;padding-top:.1em;padding-bottom:.1em;padding-left:.3em;padding-right:.3em;margin:0;font-size:85%}.toc code{background-color:inherit;border:none;padding:inherit}code.email{background-color:inherit;border:inherit;font-size:95%;padding-left:0;padding-right:0}pre code,.cmdsynopsis code{border:none;background-color:inherit;padding:0;font-size:.85rem;margin:0}pre>code{padding:initial}.literal{background-color:inherit}.nobreak{white-space:nowrap}.break{white-space:normal}.userinput{font-weight:bold}a,a:visited{color:inherit}a.pmuj{text-decoration:none}.xref-area,.xref-areaset,.xref-co{text-decoration:none}.xref{font-style:italic}.xref-pagenum{content:target-counter(attr(href), page);font-style:normal}.xref-area,.xref-areaset,.xref-co,.xref-step,.xref-listitem{font-style:normal}.xref .prefix,.xref .sep,.xref-question .label,.xref-answer .label{font-style:normal}.footnote-number a,.footnote-number a:visited{text-decoration:none}h1,h2,h3,h4,h5,h6{color:var(--on-header-color);background-color:var(--header-color);font-family:var(--title-family);font-weight:normal;font-style:normal;page-break-after:avoid}h1{margin-top:4rem;margin-bottom:1.5rem;font-size:3.2rem;line-height:1}h2{font-weight:400;margin-top:2.1rem;margin-bottom:2rem;font-size:2.2rem;line-height:1}h3{font-weight:400;font-size:1.7rem;margin-top:2rem;margin-bottom:0;line-height:1}h4{font-weight:400;font-size:1.5rem;margin-top:2rem;margin-bottom:0;line-height:1}h5{font-weight:400;font-size:1rem;margin-top:1.5rem;margin-bottom:0;line-height:1}h6{font-weight:400;font-size:1rem;margin-top:1.5rem;margin-bottom:0;line-height:1}.title{color:var(--on-header-color);background-color:var(--header-color);font-weight:bold;font-family:var(--title-family);margin-bottom:.5em}cite.title{font-weight:inherit;font-family:inherit}.set>.list-of-titles>.lot>.title,.book>.list-of-titles>.lot>.title,.part>.list-of-titles>.lot>.title{font-weight:400;font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;line-height:1rem}header{page-break-after:avoid}header .authorgroup{margin-bottom:2rem}.article>header{text-align:center;margin-bottom:2em}.article>header .abstract{text-align:left;margin-left:5em;margin-right:5em;border:1px solid var(--border-color);padding-left:1em;padding-right:1em;border-radius:.5em}.set>header,.book>header{margin-bottom:2rem;margin-top:1rem;padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem;border:1px solid var(--border-color);border-radius:.5em}.set>header h1,.book>header h1{margin-top:0}.revhistory .title{font-weight:bold;font-family:var(--title-family);margin-bottom:.5em;border-bottom:1px solid var(--border-color)}.revhistory table{width:100%}.revhistory table tr th,.revhistory table tr td{vertical-align:top}.revhistory td p{margin:0;padding:0}.lot{margin-top:1em}.toc li{text-indent:-2em;padding-left:2em}ul.toc,.toc ul{list-style:none;margin-top:0;margin-bottom:0;padding-left:0}.bibliolist,.glosslist{margin-top:1em}.iso690 .author{text-transform:uppercase}.iso690.article .part .firstname,.iso690.article .part .givenname{text-transform:none}.iso690.patent .country,.iso690.patent .patenttype{font-style:italic}.iso690 .title{font-weight:inherit;font-family:inherit;color:inherit;background-color:inherit;margin-bottom:inherit}.index-list ul{list-style:none;padding-left:2rem}.index-list>ul,.generated-index>ul,.generated-indexdiv>ul{padding-left:0}.pgwide,.pgwide .fgbody{width:100%}.formalgroup{margin-top:1rem}.fgbody>div{display:inline-block}.pgwide .fgbody>div{width:calc(50% - .5rem)}.fgbody>div:nth-child(even){margin-left:.5rem}.fgbody>.figure,.fgbody>.example,.fgbody>.equation{padding-top:inherit}table{table-layout:fixed;border-spacing:0;border-collapse:collapse}.inlinemediaobject,.inlinemediaobject div{display:inline-block}.mediaobject .caption{font-family:var(--title-family);font-size:80%;margin-left:2em;margin-right:2em;font-style:italic}.mediaobject .caption p{margin-top:0}td,th{padding:.25em;text-align:left}td.bottom,th.bottom{vertical-align:bottom}td.middle,th.middle{vertical-align:middle}td.top,th.top{vertical-align:top}td.center,th.center{text-align:center}td.left,th.left{text-align:left}td.right,th.right{text-align:right}td.justify,th.justify{text-align:justify}td.btop,th.btop{border-top:var(--table-border-style)}td.bleft,th.bleft{border-left:var(--table-border-style)}td.colsep,th.colsep{border-right:var(--table-border-style)}td.rowsep,th.rowsep{border-bottom:var(--table-border-style)}td.char,th.char{font-family:monospace;text-align:right}.media-wrapper{width:100%}.media{display:inline-block}div>.viewport-table{display:table;width:100%}span>.viewport-table{display:inline-table}.viewport-row{display:table-row}.viewport-cell{display:table-cell}.viewport-cell>span{display:block;line-height:1rem}.viewport{display:inline-block}.intrinsic-width img,.intrinsic-width svg{width:100%}.intrinsic-height img,.intrinsic-height svg{height:100%}.intrinsic-both img,.intrinsic-both svg{width:100%;height:100%}.admonition{border-radius:.5rem;min-height:3rem;padding-top:0;margin-bottom:1rem;margin-top:1rem;margin-right:4px;display:table;width:100%}.admonition>div{display:table-row}.admonition .icon{display:table-cell;padding-top:1.5rem;width:4.5rem;text-align:center;vertical-align:top;font-size:300%;color:var(--note-border-color)}.admonition .body{display:table-cell;padding-right:1rem}.admonition header{padding-top:.5rem}.note{border:var(--note-border-style);background-color:var(--note-color);color:var(--on-note-color)}.note .icon{color:var(--note-border-color)}.note .title{background-color:var(--note-color);color:var(--on-note-color)}.note code{border-color:var(--note-border-color);background-color:var(--note-color)}.note pre code{background-color:inherit;border-color:inherit}.tip{border:var(--tip-border-style);background-color:var(--tip-color);color:var(--on-tip-color)}.tip .icon{color:var(--tip-border-color)}.tip .title{background-color:var(--tip-color);color:var(--on-tip-color)}.tip code{border-color:var(--tip-border-color);background-color:var(--tip-color)}.tip pre code{background-color:inherit;border-color:inherit}.important{border:var(--important-border-style);background-color:var(--important-color);color:var(--on-important-color)}.important .icon{padding-top:2rem;color:var(--important-border-color)}.important .title{background-color:var(--important-color);color:var(--on-important-color)}.important code{background-color:var(--important-color);border-color:var(--important-border-color)}.important pre code{background-color:inherit;border-color:inherit}.caution{border:var(--caution-border-style);background-color:var(--caution-color);color:var(--on-caution-color)}.caution .icon{color:var(--caution-border-color)}.caution .title{background-color:var(--caution-color);color:var(--on-caution-color)}.caution code{background-color:var(--caution-color);border-color:var(--caution-border-color)}.caution pre code{background-color:inherit;border-color:inherit}.warning{border:var(--warning-border-style);background-color:var(--warning-color);color:var(--on-warning-color)}.warning .icon{color:var(--warning-border-color)}.warning .title{background-color:var(--warning-color);color:var(--on-warning-color)}.warning code{background-color:var(--warning-color);border-color:var(--warning-border-color)}.warning pre code{background-color:inherit;border-color:inherit}.danger{border:var(--danger-border-style);background-color:var(--danger-color);color:var(--on-danger-color)}.danger .icon{color:var(--danger-border-color)}.danger .title{background-color:var(--danger-color);color:var(--on-danger-color)}.danger code{background-color:var(--danger-color);border-color:var(--danger-border-color)}.danger pre code{background-color:inherit;border-color:inherit}.pre-wrap{overflow-x:auto;margin-top:1em;margin-bottom:1em}pre{margin-top:0;margin-bottom:0;margin-left:.5em;margin-right:.5em}pre sup{line-height:0}pre.verblines{margin-left:0;margin-right:0}pre.address,pre.literallayout{font-family:var(--body-family);margin-left:auto;margin-right:auto}pre.monospaced{font-family:var(--mono-family)}pre.programlisting,pre.screen{line-height:1.25rem}pre.verblines .nsep{display:none}pre.verblines span.line:nth-child(odd){background-color:var(--verbatim-odd-background-color)}pre.verblines span.line:nth-child(even){background-color:var(--verbatim-even-background-color)}pre.verblines.monochrome span.line:nth-child(even){background-color:var(--verbatim-odd-background-color)}pre.address span.line:nth-child(odd),pre.literallayout span.line:nth-child(odd){background-color:inherit}pre.address span.line:nth-child(even),pre.literallayout span.line:nth-child(even){background-color:inherit}pre.verblines span.ln{font-family:var(--mono-family);width:4px;padding-top:4px;padding-bottom:4px;text-align:right}pre.verblines.numbered span.ln{width:var(--line-number-width)}pre.address span.ln,pre.literallayout span.ln{padding-top:0;padding-bottom:0}pre.verblines{display:table;table-layout:fixed;width:100%;white-space:pre}pre.verblines span.line{display:table-row}pre.verblines span.ln{display:table-cell}pre.numbered span.ln{background-color:var(--numbered-background-color);user-select:none;-webkit-user-select:none}pre.numbered span.ln{width:var(--line-number-width);margin-right:.5em}pre.verblines span.ld{display:table-cell;padding-top:4px;padding-bottom:4px}pre.address span.ld,pre.literallayout span.ld{padding-top:0;padding-bottom:0}pre.verblines.numbered span.ld{border-left:var(--numbered-separator-style);padding-left:.25em}pre.verblines span.line.highlight{background-color:var(--verbatim-line-highlight-background-color);color:var(--verbatim-line-highlight-color)}table.verbatim{width:100%}table.verbatim tr td{width:calc(100vw - var(--line-number-width));padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}table.verbatim tr td:first-child{width:var(--line-number-width);padding-left:0;padding-right:0}table.verbatim tr td pre{margin-left:0;margin-right:0}.productionset .productions{display:table;table-layout:fixed;width:100%}.productionset .productions .production{display:table-row}.productionset .productions .production .lhs,.productionset .productions .production .rhs,.productionset .productions .production .lhssep{font-family:var(--mono-family)}.productionset .productions .production .lhs,.productionset .productions .production .lhssep,.productionset .productions .production .rhs,.productionset .productions .production .constraint{display:table-cell}.productionset .productions .production .lhs{width:25%;white-space:nowrap}.productionset .productions .production .lhssep{width:3em;text-align:center}.productionset .productions .production .constraint{width:2em}.lineannotation{font-family:var(--body-family);font-style:italic}.constraintdef{min-height:3rem;margin-left:1rem;padding-top:1rem;margin-bottom:1rem}.constraintdef .title{font-weight:bold;font-family:var(--title-family)}.qandadiv{margin-top:1em}.qandalist .qanda{display:table;table-layout:fixed;width:100%}.qandaentry .question,.qandaentry .answer{display:table-row}.qandaentry .question>.label,.qandaentry .answer>.label{display:table-cell;width:3em}.qandaentry .question>.body,.qandaentry .answer>.body{display:table-cell}.question p,.answer p{margin-top:0}.funcprototype table td{padding:0}.funcprototype table.params{margin-top:1em}.funcprototype table.params td{padding-right:1em}.funcprototype{margin-top:1em;font-family:var(--mono-family)}.funcprototype .paramdef{font-family:var(--mono-family)}.funcprototype .parameter{font-family:var(--body-family);font-style:italic}.funcprototype .function{font-weight:bold}.linegroup{margin-left:2em}.speaker::after{content:":"}.linegroup .speaker{margin-left:-2em}.formalpara .title{display:inline-block;font-weight:bold}.formalpara .title::after{content:".";margin-right:.5em}.formalpara .titlepunct::after{content:"";margin-right:.5em}blockquote{margin-top:1em}blockquote p{margin-top:0}blockquote .title{font-weight:bold;font-family:var(--title-family);margin-bottom:.25em}blockquote p+.attribution{margin-top:-1em}.attribution::before{content:"—"}.attribution{margin-left:50%}.formalobject+.formalobject{margin-top:1rem}.figure,.example,.equation{padding-top:1em}.figure,.example{border:1px solid var(--border-color);padding-left:.5rem;padding-right:.5rem}.figure details p,.example details p{margin-left:1rem;margin-right:1rem}.figure .title{font-family:var(--title-family)}.figure .media{width:100%;text-align:center}.figure img{margin-left:auto;margin-right:auto}.floatcenter{text-align:center}.floatright{float:right}.floatleft{float:left}.cmdsynopsis{margin-top:1em;margin-bottom:1em;margin-left:3em;text-indent:-3em}.synopfragment{margin-top:1em}.synopfragmentref{font-style:italic}.synopfragmentref a,.synopfragmentref a:visited{text-decoration:none}.synopfragmentref-number{font-family:var(--mono-family);font-style:normal;font-weight:bold;font-size:10pt}.cmdsynopsis .command,.cmdsynopsis .cmdpunct,.cmdsynopsis .group,.cmdsynopsis .arg{font-family:var(--mono-family)}.calloutlist{margin-bottom:1em}.calloutlist dl{margin-bottom:0}.calloutlist dl dt{clear:both;float:left;width:1.25em}.calloutlist dl dd{margin-left:1.25em;line-height:1.5rem}.calloutlist dd>p:first-child{margin-top:0}.calloutlist dd:last-child>p:last-child{margin-bottom:0}a.callout-bug,a.callout-bug:visited{text-decoration:none}.revadded{background-color:var(--revadded-background-color);color:var(--revadded-color)}.revadded::before{content:var(--revadded-before)}.revadded::after{content:var(--revadded-after)}.revchanged{background-color:var(--revchanged-background-color);color:var(--revchanged-color)}.revchanged::before{content:var(--revchanged-before)}.revchanged::after{content:var(--revchanged-after)}.revdeleted{background-color:var(--revdeleted-background-color);color:var(--revdeleted-color)}.revdeleted::before{content:var(--revdeleted-before)}.revdeleted::after{content:var(--revdeleted-after)}.revoff .revadded,.revoff .revchanged{background-color:inherit;color:inherit}.revoff .revdeleted{display:none}.revoff .revadded::before,.revoff .revchanged::before,.revoff .revdeleted::before,.revoff .revadded::after,.revoff .revchanged::after,.revoff .revdeleted::after{content:""}ul[db-mark=disc],li[db-mark=disc],ul[db-mark=bullet],li[db-mark=bullet]{list-style-type:disc}ul[db-mark=round],li[db-mark=round]{list-style-type:circle}ul[db-mark=box],li[db-mark=box]{list-style-type:square}.simplelistvert,.simplelisthoriz{display:table}.simplelist .row{display:table-row}.simplelist .row span{display:table-cell}.glossdiv{margin-top:1em}.glossdiv dl dt{padding-left:1em}.sidebar{background-color:var(--sidebar-color);color:var(--on-sidebar-color);padding-left:1em;padding-right:1em;padding-bottom:1em;padding-top:1em;border-radius:.5em}.sidebar .title{background-color:var(--sidebar-color);color:var(--on-sidebar-color)}.sidebar code{background-color:var(--sidebar-color)}.msgexplan{margin-left:2rem}.foreignphrase{font-style:italic}.bold{font-weight:bold}.strikethrough{text-decoration:line-through}.underline{text-decoration:underline}em{font-style:italic}em em{font-style:normal}em em em{font-style:italic}em em em em{font-style:normal}em em em em em{font-style:italic}em em me em em em{font-style:normal}.annotations{border-top:var(--annotation-separator-border-style);padding-top:1em;margin-top:6em}a.annomark,a.annomark:visited{text-decoration:none;color:inherit}.annotation-wrapper{margin-bottom:1em}.annotation-body{border:var(--annotation-body-border-style);border-bottom-left-radius:.25em;border-bottom-right-radius:.25em}.annotation-header{height:2em;background-color:var(--annotation-header-background-color);color:var(--annotation-header-color);padding-left:1em;padding-right:.5em;border-bottom:var(--annotation-header-separator-border-style)}.annotation-header .annotation-close{float:right}.annotation-content{padding-left:1em;padding-right:1em;padding-top:.5em;padding-bottom:.5em}.xlink .source{border-bottom:1px dotted #000;cursor:pointer}.xlink-arc-list{display:inline;font-style:normal;cursor:pointer;font-size:70%}.xlink-arc-list.js::before{content:" "}.nhrefs.js .xlink-arc-delim{display:none}.nhrefs.js{font-style:normal;display:none;margin-left:4px;margin-right:0;padding-bottom:1em;border:2px solid var(--primary-variant-color);border-radius:4px;z-index:2;background-color:var(--primary-color);color:var(--on-primary-color)}.nhrefs.js .arc{display:list-item;margin-left:1.5em;padding-right:1em}.nhrefs.js .xlink-arc-title{display:block;background-color:var(--primary-variant-color);color:var(--on-primary-variant-color);margin-left:0;margin-bottom:.5em;text-align:center}:root{--popup-annotation-color: var(--surface-color);--on-popup-annotation-color: var(--on-surface-color);--popup-annotation-border-color: var(--primary-color);--popup-annotation-border-style: 1px solid var(--popup-annotation-border-color);--popup-annotation-header-color: var(--primary-color);--on-popup-annotation-header-color: var(--on-primary-color);--popup-annotation-header-separator-border-style: 1px solid var(--popup-annotation-border-color);--js-controls-border-color: var(--primary-color);--js-controls-border-style: 1px solid var(--js-controls-border-color);--js-controls-header-color: var(--primary-color);--on-js-controls-header-color: var(--on-primary-color);--js-controls-header-separator-border-style: 1px solid var(--popup-annotation-border-color);--js-controls-color: var(--surface-color);--on-js-controls-color: var(--on-surface-color)}html{color:var(--on-background-color);background-color:var(--background-color);width:100%;line-height:var(--default-line-height);font-size:var(--default-font-size);scroll-padding-top:40px;height:100%}@supports(font-size-adjust: 1){html{font-size-adjust:.5}}body{height:100%;min-height:100%;margin-left:0;margin-right:0;display:grid;grid-template-rows:1fr auto;grid-template-columns:100%}body.draft{background-image:url("draft-left.svg");background-position:2% 2%;background-repeat:no-repeat;background-size:10%;background-attachment:fixed}main{max-width:50rem;margin-left:auto;margin-right:auto}@media screen and (max-width: 60rem){main{margin-left:1rem;margin-right:1rem}}@media screen and (min-width: 70rem){main{min-width:50rem}}main{padding-top:3rem}.book+.book{border-top:var(--division-separator-border-style);margin-top:6em;padding-top:6em}.refentry+.refentry{border-top:var(--division-separator-border-style);margin-top:6em;padding-top:6em}.book>.dedication>header,.article>.dedication>header,.book .chapter>header,.book .preface>header,.book .appendix>header,.book .part>header{margin-top:4rem;padding-top:2rem;border-top:.25rem solid var(--border-color)}.dedication+.dedication>header{border-top:inherit}.colophon{margin-top:6rem;margin-bottom:6rem;margin-left:6rem;margin-right:6rem;border:1px solid var(--border-color);border-radius:1em;padding-left:2em;padding-right:2em;padding-bottom:2em}.set header h1,.book header h1{text-align:center}.footnotes{margin-top:2em}.table-footnotes{margin-top:0}.footnotes div.footnote-number{display:inline-block;width:.75rem;height:0;margin-left:-0.75rem;margin-top:.5rem;vertical-align:top}.footnotes div.footnote-body{display:inline-block}.footnotes .footnote{margin-left:.75rem}.footnote p{margin-bottom:0}.footnotes hr{max-width:1in;margin:0}.calloutlist dl{display:grid;grid-template-columns:max-content auto}.calloutlist dl dt{float:none;width:inherit;grid-column-start:1}.calloutlist dl dd{margin-left:1em;grid-column-start:2}.callout-bug{user-select:none}nav table td.previous{text-align:left}nav table td.up{text-align:center}nav table td.next{text-align:right}nav.bottom{background-color:var(--nav-background-color)}nav.bottom table{border-top:2px solid var(--border-color);margin-bottom:1rem;width:100%}nav.bottom table .previous{padding-left:4rem}nav.bottom table .next{padding-right:4rem}nav.top{position:fixed;top:0;width:100%;background-color:var(--nav-background-color);opacity:1;z-index:100}body.home nav.top{display:none}nav.top div{border-bottom:1px solid var(--border-color);padding-left:4rem;padding-right:4rem}.copyVerbIcon{border:1px solid var(--hovered-color);border-radius:.2rem}.copyVerbIcon:hover{cursor:pointer;border:1px solid var(--primary-color)}.popup-annotation-wrapper{display:none;position:fixed;left:0;top:0;height:100%;width:100%;background-color:var(--modal-overlay-color)}.popup-annotation-body{background-color:var(--popup-annotation-color);color:var(--on-popup-annotation-color);border:var(--popup-annotation-border-style);width:50%;min-height:40%;max-height:50%;margin-top:10%;margin-left:auto;margin-right:auto;border-radius:.15em;display:grid;grid-template-rows:auto 1fr;grid-template-columns:100%}.wide .popup-annotation-body{width:80%}.tall .popup-annotation-body{max-height:80%}.popup-annotation-header{height:2em;background-color:var(--popup-annotation-header-color);color:var(--on-popup-annotation-header-color);padding-left:1em;padding-right:.5em;border-bottom:var(--popup-annotation-header-separator-border-style)}.popup-annotation-header .annotation-close{float:right;cursor:pointer;font-size:125%}.popup-annotation-header .annotation-title{padding-top:.1em}.popup-annotation-content{padding-left:1em;padding-right:1em;padding-top:.5em;padding-bottom:.5em;overflow:auto}.annotation-close{padding-top:4px}.js-controls-wrapper{display:none;position:fixed;left:0;top:0;height:100%;width:100%;background-color:var(--modal-overlay-color)}.js-controls-body{background-color:var(--js-controls-color);color:var(--on-js-controls-color);border:var(--js-controls-border-style);max-width:300px;margin-top:5px;margin-left:10px;opacity:1}.js-controls-header{height:2em;background-color:var(--js-controls-header-color);color:var(--on-js-controls-header-color);padding-left:1em;padding-right:.5em;border-bottom:var(--js-controls-header-separator-border-style)}.js-controls-header .js-controls-close{float:right;cursor:pointer;font-size:125%}.js-controls-header .js-controls-title{padding-top:.1em}.js-controls-content{background-color:var(--js-controls-color);color:var(--on-js-controls-color);padding:1em}.js-controls-buttons{text-align:center;padding-bottom:.5em}.js-controls-buttons button{display:inline-block;text-align:center;font-size:14pt;background-color:var(--enabled-color);border-radius:5px;border:2px solid var(--primary-color);color:var(--on-surface-color);text-align:center;padding:5px;width:3em;transition:all .5s;cursor:pointer;margin:5px}.js-controls-reload{text-align:center;background-color:var(--error-color);color:var(--on-error-color)}.fallback{border:solid 2px var(--error-color);padding:1rem;border-radius:4px}.panelset{display:flex;flex-wrap:wrap}.panelset label{order:1;display:block;padding:1rem 2rem;margin-right:.2rem;cursor:pointer;transition:background ease .2s;border-top-left-radius:.5em;border-top-right-radius:.5em;color:var(--primary-color)}.panelset .paneltab{order:99;flex-grow:1;width:100%;display:none;padding:1rem;border:2px solid var(--focused-color);background-color:var(--panelset-color)}.panelset input[type=radio]{display:none}.panelset input[type=radio]:checked+label{border-bottom:2px solid var(--focused-color);border-left:1px solid var(--focused-color);background-color:var(--panelset-color);color:var(--on-background-color)}.panelset label:hover{border:2px solid var(--focused-color);color:var(--on-background-color);border-top-left-radius:.5em;border-top-right-radius:.5em}.panelset input[type=radio]:checked+label+.paneltab{display:block}@media screen and (max-width: 1199px){nav.top div{padding-left:2rem;padding-right:2rem}nav.bottom table .previous{padding-left:2rem}nav.bottom table .next{padding-right:2rem}}@media screen and (max-width: 767px){nav.top div{padding-left:1rem;padding-right:1rem}nav.bottom table .previous{padding-left:1rem}nav.bottom table .next{padding-right:1rem}}.xlink .source{border-bottom:1px dotted #000;cursor:pointer}.xlink-arc-list{display:inline;font-style:normal;cursor:pointer;font-size:70%}.xlink-arc-list.js::before{content:" "}.nhrefs.js .xlink-arc-delim{display:none}.nhrefs.js{font-style:normal;display:none;margin-left:4px;margin-right:0;padding-bottom:1em;border:2px solid var(--primary-variant-color);border-radius:4px;z-index:2;background-color:var(--primary-color);color:var(--on-primary-color)}.nhrefs.js .arc{display:list-item;margin-left:1.5em;padding-right:1em}.nhrefs.js .xlink-arc-title{display:block;background-color:#afafaf;margin-left:0;margin-bottom:.5em;text-align:center}.oxy_insert{background-color:transparent;color:#090}.oxy_insert::before{content:var(--revadded-before)}.oxy_insert::after{content:var(--revadded-after)}.oxy_delete{background-color:transparent;color:#c33;text-decoration:line-through}.oxy_delete::before{content:var(--revdeleted-before)}.oxy_delete::after{content:var(--revdeleted-after)}:root{--background-color: inherit}.book>header{border:none} diff --git a/guide/2.2.2/css/docbook-paged.css b/guide/2.2.2/css/docbook-paged.css new file mode 100644 index 0000000000..f4360aa8f2 --- /dev/null +++ b/guide/2.2.2/css/docbook-paged.css @@ -0,0 +1,3608 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */ +/* No embedded fonts by default. */ +:root { + --symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint"; + --body-family: serif, var(--symbol-fonts); + --title-family: sans-serif, var(--symbol-fonts); + --mono-family: monospace, var(--symbol-fonts); +} + +:root { + /* The default theme. */ + --background-color: #fffff8; + --surface-color: #fffff8; + --primary-color: #7f7f7f; + --primary-variant-color: #5f5f5f; + --secondary-color: #ffbc42; + --error-color: #ffafaf; + --error-border-color: #b00020; + --on-background-color: #000000; + --on-surface-color: #000000; + --on-primary-color: #ffffff; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #000000; + --enabled-color: rgb(240,240,240); + --hovered-color: rgb(235,235,235); + --focused-color: rgb(221,221,221); + --modal-overlay-color: rgba(255,255,255,0.85); + --panelset-color: #f7f7f0; + --border-color: var(--primary-color); + --header-color: var(--background-color); + --on-header-color: var(--on-background-color); + --sidebar-color: var(--primary-color); + --on-sidebar-color: var(--on-primary-color); + --table-border-style: 1px solid var(--primary-color); + --default-font-size: 13.5pt; + --default-line-height: 1.75rem; + --line-number-width: 4em; + --numbered-separator-style: 1px solid var(--primary-color); + --numbered-number-color: var(--on-surface-color); + --numbered-background-color: var(--focused-color); + --verbatim-odd-background-color: var(--hovered-color); + --verbatim-even-background-color: var(--enabled-color); + --verbatim-line-highlight-background-color: var(--primary-color); + --verbatim-line-highlight-color: var(--on-primary-color); + --revadded-background-color: var(--primary-color); + --revadded-color: var(--on-primary-color); + --revadded-before: ""; + --revadded-after: ""; + --revchanged-background-color: var(--secondary-color); + --revchanged-color: var(--on-secondary-color); + --revchanged-before: ""; + --revchanged-after: ""; + --revdeleted-background-color: var(--error-color); + --revdeleted-color: var(--on-error-color); + --revdeleted-before: ""; + --revdeleted-after: ""; + --note-border-color: var(--primary-color); + --note-border-style: 2pt solid var(--note-border-color); + --note-color: var(--surface-color); + --on-note-color: var(--on-surface-color); + --tip-border-color: var(--primary-color); + --tip-border-style: 2pt solid var(--tip-border-color); + --tip-color: var(--surface-color); + --on-tip-color: var(--on-surface-color); + --important-border-color: var(--secondary-color); + --important-border-style: 2pt solid var(--important-border-color); + --important-color: var(--surface-color); + --on-important-color: var(--on-surface-color); + --caution-border-color: var(--secondary-color); + --caution-border-style: 2pt solid var(--caution-border-color); + --caution-color: var(--surface-color); + --on-caution-color: var(--on-surface-color); + --warning-border-color: var(--error-border-color); + --warning-border-style: 2pt solid var(--warning-border-color); + --warning-color: var(--error-color); + --on-warning-color: var(--on-error-color); + --danger-border-color: var(--error-border-color); + --danger-border-style: 2pt solid var(--danger-border-color); + --danger-color: var(--error-color); + --on-danger-color: var(--on-error-color); + --debug-background-color: var(--error-color); + --debug-color: var(--on-error-color); + --remark-background-color: var(--primary-color); + --remark-color: var(--on-primary-color); + --remark-border-color: var(--primary-color); + --remark-border-style: 1px solid var(--remark-border-color); + --annotation-separator-border-style: 2px dashed var(--border-color); + --annotation-header-background-color: var(--surface-color); + --annotation-header-color: var(--on-surface-color); + --annotation-header-separator-border-style: 1px solid var(--primary-color); + --annotation-body-border-style: 1px solid var(--primary-color); + --nav-background-color: var(--surface-color); + --error-border-style: 1px solid var(--error-border-color); + --keycap-box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.75); +} + +/* These choices are inspired by the material design system. Someone + with actual graphical design skills would do it better. Pull + requests gleefully accepted. +*/ +html.materials-dark { + --background-color: #121212; + --surface-color: #121212; + --primary-color: #bb86fc; + --primary-variant-color: #3700b3; + --secondary-color: #03dac6; + --error-color: #cf6679; + --error-border-color: #b00020; + --on-background-color: #ffffff; + --on-surface-color: #ffffff; + --on-primary-color: #000000; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #000000; + --enabled-color: rgb(44,33,56); + --hovered-color: rgb(49,38,63); + --focused-color: rgb(63,51,74); + --modal-overlay-color: rgba(18,18,18,0.85); + --keycap-box-shadow: 1px 1px 1px 0px rgba(255,255,255,0.75); +} + +html.materials-light { + --background-color: #ffffff; + --surface-color: #ffffff; + --primary-color: #6200ee; + --primary-variant-color: #3700b3; + --secondary-color: #03dac6; + --error-color: #b00020; + --error-border-color: #cf6679; + --on-background-color: #000000; + --on-surface-color: #000000; + --on-primary-color: #ffffff; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #ffffff; + --enabled-color: rgb(240,240,240); + --hovered-color: rgb(235,235,235); + --focused-color: rgb(221,221,221); + --modal-overlay-color: rgba(255,255,255,0.85); +} + +html { + padding: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; + font-family: var(--body-family); +} + +body { + padding-top: 0; + padding-left: 0; + padding-right: 0; + padding-bottom: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 1rem; + margin-right: 1rem; +} + +.error * { + background-color: var(--error-color); + color: var(--on-error-color); + padding-left: 2px; + padding-right: 2px; +} + +span.error { + display: inline-block; + border: var(--error-border-style); + border-radius: 4px; + padding: 2px; + margin-right: 0.5em; +} + +span.error::before { + content: " ☞ "; +} + +span.error::after { + content: " ☜ "; +} + +span.error.broken-link::after { + content: " 🔗 "; +} + +.firstterm { + font-weight: bold; +} + +.trademark::after { + content: "™"; +} + +.trademark.trade::after { + content: "™"; +} + +.trademark.copyright::after { + content: "©"; + vertical-align: super; + font-size: 85%; +} + +.trademark.registered::after { + content: "®"; + vertical-align: super; + font-size: 85%; +} + +.trademark.service::after { + content: "℠"; + vertical-align: super; +} + +.xlink-arc-list { + display: none; +} + +/* ============================================================ */ +.debug { + display: block; + padding-top: 1em; + padding-bottom: 1em; + padding-left: 1em; + background-color: var(--debug-background-color); + color: var(--debug-color); +} + +.remark { + border: var(--remark-border-style); + border-radius: 3px; + padding-left: 4px; + padding-right: 4px; + color: var(--on-surface-color); + background: repeating-linear-gradient(135deg, var(--focused-color), var(--focused-color) 5px, var(--enabled-color) 5px, var(--enabled-color) 10px); +} + +span.remark { + margin-left: 0.5em; + margin-right: 0.5em; +} + +.keycap { + font-family: var(--mono-family); + background-color: var(--verbatim-odd-background-color); + border: 1px solid var(--numbered-number-color); + border-radius: 3px; + padding-top: 0.1em; + padding-bottom: 0.1em; + padding-left: 0.3em; + padding-right: 0.3em; + margin: 0; + font-size: 85%; + box-shadow: var(--keycap-box-shadow); +} + +.keycombo .keycap + .keycap { + margin-left: 0.4em; +} + +code { + font-family: var(--mono-family); + background-color: var(--verbatim-odd-background-color); + border: 1px solid var(--focused-color); + border-radius: 6px; + padding-top: 0.1em; + padding-bottom: 0.1em; + padding-left: 0.3em; + padding-right: 0.3em; + margin: 0; + font-size: 85%; +} + +.toc code { + background-color: inherit; + border: none; + padding: inherit; +} + +code.email { + background-color: inherit; + border: inherit; + font-size: 95%; + padding-left: 0; + padding-right: 0; +} + +pre code, +.cmdsynopsis code { + border: none; + background-color: inherit; + padding: 0; + font-size: 0.85rem; /* code = 85% */ + margin: 0; +} + +pre > code { + padding: initial; +} + +.literal { + background-color: inherit; +} + +.nobreak { + white-space: nowrap; +} + +.break { + white-space: normal; +} + +.userinput { + font-weight: bold; +} + +a, a:visited { + color: inherit; +} + +a.pmuj { + text-decoration: none; +} + +.xref-area, +.xref-areaset, +.xref-co { + text-decoration: none; +} + +.xref { + font-style: italic; +} + +.xref-pagenum { + content: target-counter(attr(href), page); + font-style: normal; +} + +.xref-area, +.xref-areaset, +.xref-co, +.xref-step, +.xref-listitem { + font-style: normal; +} + +.xref .prefix, +.xref .sep, +.xref-question .label, +.xref-answer .label { + font-style: normal; +} + +.footnote-number a, +.footnote-number a:visited { + text-decoration: none; +} + +/* ============================================================ */ +h1, h2, h3, h4, h5, h6 { + color: var(--on-header-color); + background-color: var(--header-color); + font-family: var(--title-family); + font-weight: normal; + font-style: normal; + page-break-after: avoid; +} + +h1 { + margin-top: 4rem; + margin-bottom: 1.5rem; + font-size: 3.2rem; + line-height: 1; +} + +h2 { + font-weight: 400; + margin-top: 2.1rem; + margin-bottom: 2rem; + font-size: 2.2rem; + line-height: 1; +} + +h3 { + font-weight: 400; + font-size: 1.7rem; + margin-top: 2rem; + margin-bottom: 0; + line-height: 1; +} + +h4 { + font-weight: 400; + font-size: 1.5rem; + margin-top: 2rem; + margin-bottom: 0; + line-height: 1; +} + +h5 { + font-weight: 400; + font-size: 1rem; + margin-top: 1.5rem; + margin-bottom: 0; + line-height: 1; +} + +h6 { + font-weight: 400; + font-size: 1rem; + margin-top: 1.5rem; + margin-bottom: 0; + line-height: 1; +} + +.title { + color: var(--on-header-color); + background-color: var(--header-color); + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.5em; +} + +cite.title { + font-weight: inherit; + font-family: inherit; +} + +.set > .list-of-titles > .lot > .title, +.book > .list-of-titles > .lot > .title, +.part > .list-of-titles > .lot > .title { + font-weight: 400; + font-size: 1.5rem; + margin-top: 2rem; + margin-bottom: 1rem; + line-height: 1rem; +} + +header { + page-break-after: avoid; +} + +header .authorgroup { + margin-bottom: 2rem; +} + +/* ============================================================ */ +.article > header { + text-align: center; + margin-bottom: 2em; +} + +.article > header .abstract { + text-align: left; + margin-left: 5em; + margin-right: 5em; + border: 1px solid var(--border-color); + padding-left: 1em; + padding-right: 1em; + border-radius: 0.5em; +} + +.set > header, +.book > header { + margin-bottom: 2rem; + margin-top: 1rem; + padding-left: 1rem; + padding-right: 1rem; + padding-top: 1rem; + padding-bottom: 1rem; + border: 1px solid var(--border-color); + border-radius: 0.5em; +} + +.set > header h1, +.book > header h1 { + margin-top: 0; +} + +.revhistory .title { + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.5em; + border-bottom: 1px solid var(--border-color); +} + +.revhistory table { + width: 100%; +} + +.revhistory table tr th, +.revhistory table tr td { + vertical-align: top; +} + +.revhistory td p { + margin: 0; + padding: 0; +} + +/* ============================================================ */ +.lot { + margin-top: 1em; +} + +.toc li { + text-indent: -2em; + padding-left: 2em; +} + +ul.toc, +.toc ul { + list-style: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} + +.bibliolist, +.glosslist { + margin-top: 1em; +} + +.iso690 .author { + text-transform: uppercase; +} + +.iso690.article .part .firstname, +.iso690.article .part .givenname { + text-transform: none; +} + +.iso690.patent .country, .iso690.patent .patenttype { + font-style: italic; +} + +.iso690 .title { + font-weight: inherit; + font-family: inherit; + color: inherit; + background-color: inherit; + margin-bottom: inherit; +} + +/* ============================================================ */ +.index-list ul { + list-style: none; + padding-left: 2rem; +} + +.index-list > ul, +.generated-index > ul, +.generated-indexdiv > ul { + padding-left: 0; +} + +/* ============================================================ */ +.pgwide, +.pgwide .fgbody { + width: 100%; +} + +.formalgroup { + margin-top: 1rem; +} + +.fgbody > div { + display: inline-block; +} + +.pgwide .fgbody > div { + width: calc(50% - 0.5rem); +} + +.fgbody > div:nth-child(even) { + margin-left: 0.5rem; +} + +.fgbody > .figure, +.fgbody > .example, +.fgbody > .equation { + padding-top: inherit; +} + +table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; +} + +.inlinemediaobject, +.inlinemediaobject div { + display: inline-block; +} + +.mediaobject .caption { + font-family: var(--title-family); + font-size: 80%; + margin-left: 2em; + margin-right: 2em; + font-style: italic; +} +.mediaobject .caption p { + margin-top: 0; +} + +td, th { + padding: 0.25em; + text-align: left; +} + +td.bottom, +th.bottom { + vertical-align: bottom; +} + +td.middle, +th.middle { + vertical-align: middle; +} + +td.top, +th.top { + vertical-align: top; +} + +td.center, +th.center { + text-align: center; +} + +td.left, +th.left { + text-align: left; +} + +td.right, +th.right { + text-align: right; +} + +td.justify, +th.justify { + text-align: justify; +} + +td.btop, +th.btop { + border-top: var(--table-border-style); +} + +td.bleft, +th.bleft { + border-left: var(--table-border-style); +} + +td.colsep, +th.colsep { + border-right: var(--table-border-style); +} + +td.rowsep, +th.rowsep { + border-bottom: var(--table-border-style); +} + +td.char, +th.char { + font-family: monospace; + text-align: right; +} + +.media-wrapper { + width: 100%; +} + +.media { + display: inline-block; +} + +div > .viewport-table { + display: table; + width: 100%; +} + +span > .viewport-table { + display: inline-table; +} + +.viewport-row { + display: table-row; +} + +.viewport-cell { + display: table-cell; +} + +.viewport-cell > span { + display: block; + line-height: 1rem; +} + +.viewport { + display: inline-block; +} + +.intrinsic-width img, +.intrinsic-width svg { + width: 100%; +} + +.intrinsic-height img, +.intrinsic-height svg { + height: 100%; +} + +.intrinsic-both img, +.intrinsic-both svg { + width: 100%; + height: 100%; +} + +.admonition { + border-radius: 0.5rem; + min-height: 3rem; + padding-top: 0; + margin-bottom: 1rem; + margin-top: 1rem; + margin-right: 4px; + display: table; + width: 100%; +} + +.admonition > div { + display: table-row; +} + +.admonition .icon { + display: table-cell; + padding-top: 1.5rem; + width: 4.5rem; + text-align: center; + vertical-align: top; + font-size: 300%; + color: var(--note-border-color); +} + +.admonition .body { + display: table-cell; + padding-right: 1rem; +} + +.admonition header { + padding-top: 0.5rem; +} + +.note { + border: var(--note-border-style); + background-color: var(--note-color); + color: var(--on-note-color); +} +.note .icon { + color: var(--note-border-color); +} +.note .title { + background-color: var(--note-color); + color: var(--on-note-color); +} +.note code { + border-color: var(--note-border-color); + background-color: var(--note-color); +} +.note pre code { + background-color: inherit; + border-color: inherit; +} + +.tip { + border: var(--tip-border-style); + background-color: var(--tip-color); + color: var(--on-tip-color); +} +.tip .icon { + color: var(--tip-border-color); +} +.tip .title { + background-color: var(--tip-color); + color: var(--on-tip-color); +} +.tip code { + border-color: var(--tip-border-color); + background-color: var(--tip-color); +} +.tip pre code { + background-color: inherit; + border-color: inherit; +} + +.important { + border: var(--important-border-style); + background-color: var(--important-color); + color: var(--on-important-color); +} +.important .icon { + padding-top: 2rem; + color: var(--important-border-color); +} +.important .title { + background-color: var(--important-color); + color: var(--on-important-color); +} +.important code { + background-color: var(--important-color); + border-color: var(--important-border-color); +} +.important pre code { + background-color: inherit; + border-color: inherit; +} + +.caution { + border: var(--caution-border-style); + background-color: var(--caution-color); + color: var(--on-caution-color); +} +.caution .icon { + color: var(--caution-border-color); +} +.caution .title { + background-color: var(--caution-color); + color: var(--on-caution-color); +} +.caution code { + background-color: var(--caution-color); + border-color: var(--caution-border-color); +} +.caution pre code { + background-color: inherit; + border-color: inherit; +} + +.warning { + border: var(--warning-border-style); + background-color: var(--warning-color); + color: var(--on-warning-color); +} +.warning .icon { + color: var(--warning-border-color); +} +.warning .title { + background-color: var(--warning-color); + color: var(--on-warning-color); +} +.warning code { + background-color: var(--warning-color); + border-color: var(--warning-border-color); +} +.warning pre code { + background-color: inherit; + border-color: inherit; +} + +.danger { + border: var(--danger-border-style); + background-color: var(--danger-color); + color: var(--on-danger-color); +} +.danger .icon { + color: var(--danger-border-color); +} +.danger .title { + background-color: var(--danger-color); + color: var(--on-danger-color); +} +.danger code { + background-color: var(--danger-color); + border-color: var(--danger-border-color); +} +.danger pre code { + background-color: inherit; + border-color: inherit; +} + +/* ============================================================ */ +.pre-wrap { + overflow-x: auto; + margin-top: 1em; + margin-bottom: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 0; + margin-left: 0.5em; + margin-right: 0.5em; +} + +pre sup { + line-height: 0; +} + +pre.verblines { + margin-left: 0; + margin-right: 0; +} + +pre.address, +pre.literallayout { + font-family: var(--body-family); + margin-left: auto; + margin-right: auto; +} + +pre.monospaced { + font-family: var(--mono-family); +} + +pre.programlisting, +pre.screen { + line-height: 1.25rem; +} + +pre.verblines .nsep { + display: none; +} + +/* Adapted from https://stackoverflow.com/questions/41306797/html-how-to-add-line-numbers-to-a-source-code-block */ +pre.verblines span.line:nth-child(odd) { + background-color: var(--verbatim-odd-background-color); +} + +pre.verblines span.line:nth-child(even) { + background-color: var(--verbatim-even-background-color); +} + +/* Make the background of even lines the same as odd lines for + "monochrome" listings. */ +pre.verblines.monochrome span.line:nth-child(even) { + background-color: var(--verbatim-odd-background-color); +} + +pre.address span.line:nth-child(odd), +pre.literallayout span.line:nth-child(odd) { + background-color: inherit; +} + +pre.address span.line:nth-child(even), +pre.literallayout span.line:nth-child(even) { + background-color: inherit; +} + +pre.verblines span.ln { + font-family: var(--mono-family); + width: 4px; + padding-top: 4px; + padding-bottom: 4px; + text-align: right; +} + +pre.verblines.numbered span.ln { + width: var(--line-number-width); +} + +pre.address span.ln, +pre.literallayout span.ln { + padding-top: 0; + padding-bottom: 0; +} + +pre.verblines { + display: table; + table-layout: fixed; + width: 100%; /* anything but auto, otherwise fixed layout not guaranteed */ + white-space: pre; +} + +pre.verblines span.line { + display: table-row; +} + +pre.verblines span.ln { + display: table-cell; +} + +pre.numbered span.ln { + background-color: var(--numbered-background-color); + user-select: none; + -webkit-user-select: none; +} + +pre.numbered span.ln { + width: var(--line-number-width); + margin-right: 0.5em; +} + +pre.verblines span.ld { + display: table-cell; + padding-top: 4px; + padding-bottom: 4px; +} + +pre.address span.ld, +pre.literallayout span.ld { + padding-top: 0; + padding-bottom: 0; +} + +pre.verblines.numbered span.ld { + border-left: var(--numbered-separator-style); + padding-left: 0.25em; +} + +pre.verblines span.line.highlight { + background-color: var(--verbatim-line-highlight-background-color); + color: var(--verbatim-line-highlight-color); +} + +table.verbatim { + width: 100%; +} + +table.verbatim tr td { + /* N.B. 100vw not 100%. If you specify 100%, Safari calculates the width is 0 */ + width: calc(100vw - var(--line-number-width)); + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; +} + +table.verbatim tr td:first-child { + width: var(--line-number-width); + padding-left: 0; + padding-right: 0; +} + +table.verbatim tr td pre { + margin-left: 0; + margin-right: 0; +} + +/* ============================================================ */ +.productionset .productions { + display: table; + table-layout: fixed; + width: 100%; +} + +.productionset .productions .production { + display: table-row; +} + +.productionset .productions .production .lhs, +.productionset .productions .production .rhs, +.productionset .productions .production .lhssep { + font-family: var(--mono-family); +} + +.productionset .productions .production .lhs, +.productionset .productions .production .lhssep, +.productionset .productions .production .rhs, +.productionset .productions .production .constraint { + display: table-cell; +} + +.productionset .productions .production .lhs { + width: 25%; + white-space: nowrap; +} + +.productionset .productions .production .lhssep { + width: 3em; + text-align: center; +} + +.productionset .productions .production .constraint { + width: 2em; +} + +.lineannotation { + font-family: var(--body-family); + font-style: italic; +} + +.constraintdef { + min-height: 3rem; + margin-left: 1rem; + padding-top: 1rem; + margin-bottom: 1rem; +} + +.constraintdef .title { + font-weight: bold; + font-family: var(--title-family); +} + +/* ============================================================ */ +.qandadiv { + margin-top: 1em; +} + +.qandalist .qanda { + display: table; + table-layout: fixed; + width: 100%; +} + +.qandaentry .question, +.qandaentry .answer { + display: table-row; +} + +.qandaentry .question > .label, +.qandaentry .answer > .label { + display: table-cell; + width: 3em; +} + +.qandaentry .question > .body, +.qandaentry .answer > .body { + display: table-cell; +} + +.question p, +.answer p { + margin-top: 0; +} + +/* ============================================================ */ +.funcprototype table td { + padding: 0; +} + +.funcprototype table.params { + margin-top: 1em; +} + +.funcprototype table.params td { + padding-right: 1em; +} + +.funcprototype { + margin-top: 1em; + font-family: var(--mono-family); +} + +.funcprototype .paramdef { + font-family: var(--mono-family); +} + +.funcprototype .parameter { + font-family: var(--body-family); + font-style: italic; +} + +.funcprototype .function { + font-weight: bold; +} + +/* ============================================================ */ +.linegroup { + margin-left: 2em; +} + +.speaker::after { + content: ":"; +} + +.linegroup .speaker { + margin-left: -2em; +} + +/* ============================================================ */ +.formalpara .title { + display: inline-block; + font-weight: bold; +} + +.formalpara .title::after { + content: "."; + margin-right: 0.5em; +} + +.formalpara .titlepunct::after { + content: ""; + margin-right: 0.5em; +} + +blockquote { + margin-top: 1em; +} + +blockquote p { + margin-top: 0; +} + +blockquote .title { + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.25em; +} + +blockquote p + .attribution { + /* Tuck it back up closer to the preceding paragraph */ + margin-top: -1em; +} + +.attribution::before { + content: "—"; +} + +.attribution { + margin-left: 50%; +} + +/* ============================================================ */ +.formalobject + .formalobject { + margin-top: 1rem; +} + +.figure, +.example, +.equation { + padding-top: 1em; +} + +.figure, +.example { + border: 1px solid var(--border-color); + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.figure details p, +.example details p { + margin-left: 1rem; + margin-right: 1rem; +} + +.figure .title { + font-family: var(--title-family); +} + +.figure .media { + width: 100%; + text-align: center; +} + +.figure img { + margin-left: auto; + margin-right: auto; +} + +.floatcenter { + text-align: center; +} + +.floatright { + float: right; +} + +.floatleft { + float: left; +} + +/* ============================================================ */ +.cmdsynopsis { + margin-top: 1em; + margin-bottom: 1em; + margin-left: 3em; + text-indent: -3em; +} + +.synopfragment { + margin-top: 1em; +} + +.synopfragmentref { + font-style: italic; +} + +.synopfragmentref a, +.synopfragmentref a:visited { + text-decoration: none; +} + +.synopfragmentref-number { + font-family: var(--mono-family); + font-style: normal; + font-weight: bold; + font-size: 10pt; +} + +.cmdsynopsis .command, +.cmdsynopsis .cmdpunct, +.cmdsynopsis .group, +.cmdsynopsis .arg { + font-family: var(--mono-family); +} + +.calloutlist { + margin-bottom: 1em; +} + +.calloutlist dl { + margin-bottom: 0; +} + +.calloutlist dl dt { + clear: both; + float: left; + width: 1.25em; +} + +.calloutlist dl dd { + margin-left: 1.25em; + line-height: 1.5rem; /* tuck them together a little */ +} + +.calloutlist dd > p:first-child { + margin-top: 0; +} + +.calloutlist dd:last-child > p:last-child { + margin-bottom: 0; +} + +a.callout-bug, +a.callout-bug:visited { + text-decoration: none; +} + +/* ============================================================ */ +.revadded { + background-color: var(--revadded-background-color); + color: var(--revadded-color); +} + +.revadded::before { + content: var(--revadded-before); +} + +.revadded::after { + content: var(--revadded-after); +} + +.revchanged { + background-color: var(--revchanged-background-color); + color: var(--revchanged-color); +} + +.revchanged::before { + content: var(--revchanged-before); +} + +.revchanged::after { + content: var(--revchanged-after); +} + +.revdeleted { + background-color: var(--revdeleted-background-color); + color: var(--revdeleted-color); +} + +.revdeleted::before { + content: var(--revdeleted-before); +} + +.revdeleted::after { + content: var(--revdeleted-after); +} + +.revoff .revadded, +.revoff .revchanged { + background-color: inherit; + color: inherit; +} + +.revoff .revdeleted { + display: none; +} + +.revoff .revadded::before, +.revoff .revchanged::before, +.revoff .revdeleted::before, +.revoff .revadded::after, +.revoff .revchanged::after, +.revoff .revdeleted::after { + content: ""; +} + +/* ============================================================ */ +ul[db-mark=disc], +li[db-mark=disc], +ul[db-mark=bullet], +li[db-mark=bullet] { + list-style-type: disc; +} + +ul[db-mark=round], +li[db-mark=round] { + list-style-type: circle; +} + +ul[db-mark=box], +li[db-mark=box] { + list-style-type: square; +} + +/* ============================================================ */ +.simplelistvert, +.simplelisthoriz { + display: table; +} + +.simplelist .row { + display: table-row; +} + +.simplelist .row span { + display: table-cell; +} + +/* ============================================================ */ +.glossdiv { + margin-top: 1em; +} + +.glossdiv dl dt { + padding-left: 1em; +} + +/* ============================================================ */ +.sidebar { + background-color: var(--sidebar-color); + color: var(--on-sidebar-color); + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + padding-top: 1em; + border-radius: 0.5em; +} + +.sidebar .title { + background-color: var(--sidebar-color); + color: var(--on-sidebar-color); +} + +.sidebar code { + background-color: var(--sidebar-color); +} + +/* ============================================================ */ +.msgexplan { + margin-left: 2rem; +} + +/* ============================================================ */ +.foreignphrase { + font-style: italic; +} + +.bold { + font-weight: bold; +} + +.strikethrough { + text-decoration: line-through; +} + +.underline { + text-decoration: underline; +} + +em { + font-style: italic; +} + +em em { + font-style: normal; +} + +em em em { + font-style: italic; +} + +em em em em { + font-style: normal; +} + +em em em em em { + font-style: italic; +} + +em em me em em em { + font-style: normal; +} + +/* ============================================================ */ +/* Inline annotations */ +.annotations { + border-top: var(--annotation-separator-border-style); + padding-top: 1em; + margin-top: 6em; +} + +a.annomark, +a.annomark:visited { + text-decoration: none; + color: inherit; +} + +.annotation-wrapper { + margin-bottom: 1em; +} + +.annotation-body { + border: var(--annotation-body-border-style); + border-bottom-left-radius: 0.25em; + border-bottom-right-radius: 0.25em; +} + +.annotation-header { + height: 2em; + background-color: var(--annotation-header-background-color); + color: var(--annotation-header-color); + padding-left: 1em; + padding-right: 0.5em; + border-bottom: var(--annotation-header-separator-border-style); +} + +.annotation-header .annotation-close { + float: right; +} + +.annotation-content { + padding-left: 1em; + padding-right: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +/* ============================================================ */ +/* XLink extended links. The ".js" classes only apply if + JavaScript XLink processing is available and enabled. +*/ +.xlink .source { + border-bottom: 1px dotted black; + cursor: pointer; +} + +.xlink-arc-list { + display: inline; + font-style: normal; + cursor: pointer; + font-size: 70%; +} + +.xlink-arc-list.js::before { + content: " "; /* thin space */ +} + +.nhrefs.js .xlink-arc-delim { + display: none; +} + +.nhrefs.js { + font-style: normal; + display: none; + margin-left: 4px; + margin-right: 0; + padding-bottom: 1em; + border: 2px solid var(--primary-variant-color); + border-radius: 4px; + z-index: 2; + background-color: var(--primary-color); + color: var(--on-primary-color); +} + +.nhrefs.js .arc { + display: list-item; + margin-left: 1.5em; + padding-right: 1em; +} + +.nhrefs.js .xlink-arc-title { + display: block; + background-color: var(--primary-variant-color); + color: var(--on-primary-variant-color); + margin-left: 0; + margin-bottom: 0.5em; + text-align: center; +} + +/* ************************************************************ + +There are four things to consider: + +1. Page size + + Layouts for A4, A5, and (US) Letter are provided. + +2. Page style + + In "article" style, page margins are uniform and every page + has the same headers and footers. In "book" style, the page + margins shift on recto/verso pages to account for the gutter + and the headers and footers vary on recto/verso pages. + +3. Draft mode + + In draft mode, a "draft" watermark is added to each page. + +4. Landscape mode + + In landscape mode, pages are rotated 90 degrees. Pages + are portrait unless landscape is requested. + +************************************************************ */ +:root { + --margin-inner: 1in; + --margin-outer: 1in; + --margin-above: 1in; + --margin-below: 1in; + font-size: var(--default-font-size); + line-height: var(--default-line-height); +} + +html.article-style.A4 { + --margin-inner: 2.5cm; + --margin-outer: 2.5cm; +} + +html.article-style.A5 { + --margin-inner: 1.9cm; + --margin-outer: 1.9cm; +} + +html.article-style.Letter { + --margin-inner: 1.0in; + --margin-outer: 1.0in; +} + +html.book-style.A4 { + --margin-inner: 2.8cm; + --margin-outer: 2.5cm; +} + +html.book-style.A5 { + --margin-inner: 2.2cm; + --margin-outer: 1.9cm; +} + +html.book-style.Letter { + --margin-inner: 1.25in; + --margin-outer: 1.0in; +} + +@page { + margin-top: var(--margin-above); + margin-bottom: var(--margin-below); + /* n.b. both --margin-outer so that pages are centered by default */ + margin-left: var(--margin-outer); + margin-right: var(--margin-outer); + counter-reset: footnote; + @top-left { + content: ""; + } + @top-center { + content: ""; + } + @top-right { + content: ""; + } + @bottom-left { + content: ""; + } + @bottom-center { + content: ""; + } + @bottom-right { + content: ""; + } + @footnote { + float: bottom page; + border-top: thin solid black; + border-length: 30%; + padding-top: 0.5em; + } +} +/* The default page margin boxes are bank */ +@page A4-article-flow-portrait { + size: A4; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-portrait:first { + size: A4; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-portrait:blank { + size: A4; +} +@page A4-article-flow-portrait-draft { + size: A4; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-portrait-draft:first { + size: A4; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-portrait-draft:blank { + size: A4; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A4-article-flow-landscape { + size: A4 landscape; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-landscape:first { + size: A4 landscape; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-landscape:blank { + size: A4 landscape; +} +@page A4-article-flow-landscape-draft { + size: A4 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-landscape-draft:first { + size: A4 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A4-article-flow-landscape-draft:blank { + size: A4 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A5-article-flow-portrait { + size: A5; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-portrait:first { + size: A5; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-portrait:blank { + size: A5; +} +@page A5-article-flow-portrait-draft { + size: A5; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-portrait-draft:first { + size: A5; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-portrait-draft:blank { + size: A5; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A5-article-flow-landscape { + size: A5 landscape; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-landscape:first { + size: A5 landscape; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-landscape:blank { + size: A5 landscape; +} +@page A5-article-flow-landscape-draft { + size: A5 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-landscape-draft:first { + size: A5 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page A5-article-flow-landscape-draft:blank { + size: A5 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page Letter-article-flow-portrait { + size: Letter; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-portrait:first { + size: Letter; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-portrait:blank { + size: Letter; +} +@page Letter-article-flow-portrait-draft { + size: Letter; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-portrait-draft:first { + size: Letter; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-portrait-draft:blank { + size: Letter; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page Letter-article-flow-landscape { + size: Letter landscape; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-landscape:first { + size: Letter landscape; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-landscape:blank { + size: Letter landscape; +} +@page Letter-article-flow-landscape-draft { + size: Letter landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-landscape-draft:first { + size: Letter landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + @top-center { + content: string(DocumentTitle); + } + @bottom-center { + content: counter(page); + } +} +@page Letter-article-flow-landscape-draft:blank { + size: Letter landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A4-book-title-flow-portrait { + size: A4; +} +@page A4-book-flow-portrait:right { + size: A4; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-portrait:right:first { + size: A4; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-portrait:right:blank { + size: A4; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-portrait:left { + size: A4; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-portrait:left:first { + size: A4; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-portrait:left:blank { + size: A4; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A4-book-title-flow-portrait-draft { + size: A4; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A4-book-flow-portrait-draft:right { + size: A4; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-portrait-draft:right:first { + size: A4; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-portrait-draft:right:blank { + size: A4; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-portrait-draft:left { + size: A4; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-portrait-draft:left:first { + size: A4; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-portrait-draft:left:blank { + size: A4; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A4-book-title-flow-landscape { + size: A4 landscape; +} +@page A4-book-flow-landscape:right { + size: A4 landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-landscape:right:first { + size: A4 landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-landscape:right:blank { + size: A4 landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-landscape:left { + size: A4 landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-landscape:left:first { + size: A4 landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-landscape:left:blank { + size: A4 landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A4-book-title-flow-landscape-draft { + size: A4 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A4-book-flow-landscape-draft:right { + size: A4 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-landscape-draft:right:first { + size: A4 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-landscape-draft:right:blank { + size: A4 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A4-book-flow-landscape-draft:left { + size: A4 landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-landscape-draft:left:first { + size: A4 landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A4-book-flow-landscape-draft:left:blank { + size: A4 landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-title-flow-portrait { + size: A5; +} +@page A5-book-flow-portrait:right { + size: A5; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-portrait:right:first { + size: A5; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-portrait:right:blank { + size: A5; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-portrait:left { + size: A5; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-portrait:left:first { + size: A5; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-portrait:left:blank { + size: A5; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-title-flow-portrait-draft { + size: A5; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A5-book-flow-portrait-draft:right { + size: A5; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-portrait-draft:right:first { + size: A5; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-portrait-draft:right:blank { + size: A5; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-portrait-draft:left { + size: A5; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-portrait-draft:left:first { + size: A5; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-portrait-draft:left:blank { + size: A5; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-title-flow-landscape { + size: A5 landscape; +} +@page A5-book-flow-landscape:right { + size: A5 landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-landscape:right:first { + size: A5 landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-landscape:right:blank { + size: A5 landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-landscape:left { + size: A5 landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-landscape:left:first { + size: A5 landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-landscape:left:blank { + size: A5 landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-title-flow-landscape-draft { + size: A5 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page A5-book-flow-landscape-draft:right { + size: A5 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-landscape-draft:right:first { + size: A5 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-landscape-draft:right:blank { + size: A5 landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page A5-book-flow-landscape-draft:left { + size: A5 landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-landscape-draft:left:first { + size: A5 landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page A5-book-flow-landscape-draft:left:blank { + size: A5 landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-title-flow-portrait { + size: Letter; +} +@page Letter-book-flow-portrait:right { + size: Letter; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-portrait:right:first { + size: Letter; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-portrait:right:blank { + size: Letter; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-portrait:left { + size: Letter; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-portrait:left:first { + size: Letter; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-portrait:left:blank { + size: Letter; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-title-flow-portrait-draft { + size: Letter; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page Letter-book-flow-portrait-draft:right { + size: Letter; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-portrait-draft:right:first { + size: Letter; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-portrait-draft:right:blank { + size: Letter; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-portrait-draft:left { + size: Letter; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-portrait-draft:left:first { + size: Letter; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-portrait-draft:left:blank { + size: Letter; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-title-flow-landscape { + size: Letter landscape; +} +@page Letter-book-flow-landscape:right { + size: Letter landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-landscape:right:first { + size: Letter landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-landscape:right:blank { + size: Letter landscape; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-landscape:left { + size: Letter landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-landscape:left:first { + size: Letter landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-landscape:left:blank { + size: Letter landscape; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-title-flow-landscape-draft { + size: Letter landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; +} +@page Letter-book-flow-landscape-draft:right { + size: Letter landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @top-center { + content: string(SectionTitle); + } + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-landscape-draft:right:first { + size: Letter landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-landscape-draft:right:blank { + size: Letter landscape; + background-image: url("draft-right.svg"); + background-position: calc(100% - 0.5cm) 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + @bottom-right { + content: counter(page); + } +} +@page Letter-book-flow-landscape-draft:left { + size: Letter landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @top-center { + content: string(ComponentTitle); + } + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-landscape-draft:left:first { + size: Letter landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +@page Letter-book-flow-landscape-draft:left:blank { + size: Letter landscape; + background-image: url("draft-left.svg"); + background-position: 0.5cm 0.5cm; + background-repeat: no-repeat; + background-size: 2.5cm; + background-origin: border-box; + background-clip: border-box; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + @bottom-left { + content: counter(page); + } +} +/* ============================================================ */ +/* Pick the correct page style to start */ +html.article-style.A4 body { + string-set: DocumentTitle ""; + page: A4-article-flow-portrait; +} + +html.article-style.A4 body .db-bfs.portrait, +html.article-style.A4 body .division.portrait, +html.article-style.A4 body .component.portrait, +html.article-style.A4 body .section.portrait, +html.article-style.A4 body .formalobject.portrait, +html.article-style.A4 body .informalobject.portrait, +html.article-style.A4 body .list-of-titles.portrait { + page: A4-article-flow-portrait; +} + +html.article-style.A4 body.landscape { + string-set: DocumentTitle ""; + page: A4-article-flow-landscape; +} + +html.article-style.A4 body .db-bfs.landscape, +html.article-style.A4 body .division.landscape, +html.article-style.A4 body .component.landscape, +html.article-style.A4 body .section.landscape, +html.article-style.A4 body .formalobject.landscape, +html.article-style.A4 body .informalobject.landscape, +html.article-style.A4 body .list-of-titles.landscape { + page: A4-article-flow-landscape; +} + +html.article-style.A4 body.draft.portrait { + string-set: DocumentTitle ""; + page: A4-article-flow-draft-portrait; +} + +html.article-style.A4 body .db-bfs.draft.portrait, +html.article-style.A4 body .division.draft.portrait, +html.article-style.A4 body .component.draft.portrait, +html.article-style.A4 body .section.draft.portrait, +html.article-style.A4 body .formalobject.draft.portrait, +html.article-style.A4 body .informalobject.draft.portrait, +html.article-style.A4 body .list-of-titles.draft.portrait { + page: A4-article-flow-draft-portrait; +} + +html.article-style.A4 body.draft.landscape { + string-set: DocumentTitle ""; + page: A4-article-flow-draft-landscape; +} + +html.article-style.A4 body .db-bfs.draft.landscape, +html.article-style.A4 body .division.draft.landscape, +html.article-style.A4 body .component.draft.landscape, +html.article-style.A4 body .section.draft.landscape, +html.article-style.A4 body .formalobject.draft.landscape, +html.article-style.A4 body .informalobject.draft.landscape, +html.article-style.A4 body .list-of-titles.draft.landscape { + page: A4-article-flow-draft-landscape; +} + +html.article-style.A5 body { + string-set: DocumentTitle ""; + page: A5-article-flow-portrait; +} + +html.article-style.A5 body .db-bfs.portrait, +html.article-style.A5 body .division.portrait, +html.article-style.A5 body .component.portrait, +html.article-style.A5 body .section.portrait, +html.article-style.A5 body .formalobject.portrait, +html.article-style.A5 body .informalobject.portrait, +html.article-style.A5 body .list-of-titles.portrait { + page: A5-article-flow-portrait; +} + +html.article-style.A5 body.landscape { + string-set: DocumentTitle ""; + page: A5-article-flow-landscape; +} + +html.article-style.A5 body .db-bfs.landscape, +html.article-style.A5 body .division.landscape, +html.article-style.A5 body .component.landscape, +html.article-style.A5 body .section.landscape, +html.article-style.A5 body .formalobject.landscape, +html.article-style.A5 body .informalobject.landscape, +html.article-style.A5 body .list-of-titles.landscape { + page: A5-article-flow-landscape; +} + +html.article-style.A5 body.draft.portrait { + string-set: DocumentTitle ""; + page: A5-article-flow-draft-portrait; +} + +html.article-style.A5 body .db-bfs.draft.portrait, +html.article-style.A5 body .division.draft.portrait, +html.article-style.A5 body .component.draft.portrait, +html.article-style.A5 body .section.draft.portrait, +html.article-style.A5 body .formalobject.draft.portrait, +html.article-style.A5 body .informalobject.draft.portrait, +html.article-style.A5 body .list-of-titles.draft.portrait { + page: A5-article-flow-draft-portrait; +} + +html.article-style.A5 body.draft.landscape { + string-set: DocumentTitle ""; + page: A5-article-flow-draft-landscape; +} + +html.article-style.A5 body .db-bfs.draft.landscape, +html.article-style.A5 body .division.draft.landscape, +html.article-style.A5 body .component.draft.landscape, +html.article-style.A5 body .section.draft.landscape, +html.article-style.A5 body .formalobject.draft.landscape, +html.article-style.A5 body .informalobject.draft.landscape, +html.article-style.A5 body .list-of-titles.draft.landscape { + page: A5-article-flow-draft-landscape; +} + +html.article-style.Letter body { + string-set: DocumentTitle ""; + page: Letter-article-flow-portrait; +} + +html.article-style.Letter body .db-bfs.portrait, +html.article-style.Letter body .division.portrait, +html.article-style.Letter body .component.portrait, +html.article-style.Letter body .section.portrait, +html.article-style.Letter body .formalobject.portrait, +html.article-style.Letter body .informalobject.portrait, +html.article-style.Letter body .list-of-titles.portrait { + page: Letter-article-flow-portrait; +} + +html.article-style.Letter body.landscape { + string-set: DocumentTitle ""; + page: Letter-article-flow-landscape; +} + +html.article-style.Letter body .db-bfs.landscape, +html.article-style.Letter body .division.landscape, +html.article-style.Letter body .component.landscape, +html.article-style.Letter body .section.landscape, +html.article-style.Letter body .formalobject.landscape, +html.article-style.Letter body .informalobject.landscape, +html.article-style.Letter body .list-of-titles.landscape { + page: Letter-article-flow-landscape; +} + +html.article-style.Letter body.draft.portrait { + string-set: DocumentTitle ""; + page: Letter-article-flow-draft-portrait; +} + +html.article-style.Letter body .db-bfs.draft.portrait, +html.article-style.Letter body .division.draft.portrait, +html.article-style.Letter body .component.draft.portrait, +html.article-style.Letter body .section.draft.portrait, +html.article-style.Letter body .formalobject.draft.portrait, +html.article-style.Letter body .informalobject.draft.portrait, +html.article-style.Letter body .list-of-titles.draft.portrait { + page: Letter-article-flow-draft-portrait; +} + +html.article-style.Letter body.draft.landscape { + string-set: DocumentTitle ""; + page: Letter-article-flow-draft-landscape; +} + +html.article-style.Letter body .db-bfs.draft.landscape, +html.article-style.Letter body .division.draft.landscape, +html.article-style.Letter body .component.draft.landscape, +html.article-style.Letter body .section.draft.landscape, +html.article-style.Letter body .formalobject.draft.landscape, +html.article-style.Letter body .informalobject.draft.landscape, +html.article-style.Letter body .list-of-titles.draft.landscape { + page: Letter-article-flow-draft-landscape; +} + +html.book-style.A4 body { + page: A4-book-title-flow-portrait; +} + +html.book-style.A4 body .list-of-titles { + counter-reset: page; +} + +html.book-style.A4 body .division, +html.book-style.A4 body .component, +html.book-style.A4 body .list-of-titles { + break-before: right; +} + +html.book-style.A4 body .division.portrait, +html.book-style.A4 body .component.portrait, +html.book-style.A4 body .list-of-titles.portrait { + break-before: right; + page: A4-book-flow-portrait; +} + +html.book-style.A4 body .section.portrait, +html.book-style.A4 body .formalobject.portrait, +html.book-style.A4 body .informalobject.portrait { + page: A4-book-flow-portrait; +} + +html.book-style.A4 body.landscape { + page: A4-book-title-flow-landscape; +} + +html.book-style.A4 body .division.landscape, +html.book-style.A4 body .component.landscape, +html.book-style.A4 body .list-of-titles.landscape { + break-before: right; + page: A4-book-flow-landscape; +} + +html.book-style.A4 body .section.landscape, +html.book-style.A4 body .formalobject.landscape, +html.book-style.A4 body .informalobject.landscape { + page: A4-book-flow-landscape; +} + +html.book-style.A4 body.draft.portrait { + page: A4-book-title-flow-draft-portrait; +} + +html.book-style.A4 body .division.draft.portrait, +html.book-style.A4 body .component.draft.portrait, +html.book-style.A4 body .list-of-titles.draft.portrait { + break-before: right; + page: A4-book-flow-draft-portrait; +} + +html.book-style.A4 body .section.draft.portrait, +html.book-style.A4 body .formalobject.draft.portrait, +html.book-style.A4 body .informalobject.draft.portrait { + page: A4-book-flow-draft-portrait; +} + +html.book-style.A4 body.draft.landscape { + page: A4-book-title-draft-landscape; +} + +html.book-style.A4 body .division.draft.landscape, +html.book-style.A4 body .component.draft.landscape, +html.book-style.A4 body .list-of-titles.draft.landscape { + break-before: right; + page: A4-book-draft-landscape; +} + +html.book-style.A4 body .section.draft.landscape, +html.book-style.A4 body .formalobject.draft.landscape, +html.book-style.A4 body .informalobject.draft.landscape { + page: A4-book-draft-landscape; +} + +html.book-style.A5 body { + page: A5-book-title-flow-portrait; +} + +html.book-style.A5 body .list-of-titles { + counter-reset: page; +} + +html.book-style.A5 body .division, +html.book-style.A5 body .component, +html.book-style.A5 body .list-of-titles { + break-before: right; +} + +html.book-style.A5 body .division.portrait, +html.book-style.A5 body .component.portrait, +html.book-style.A5 body .list-of-titles.portrait { + break-before: right; + page: A5-book-flow-portrait; +} + +html.book-style.A5 body .section.portrait, +html.book-style.A5 body .formalobject.portrait, +html.book-style.A5 body .informalobject.portrait { + page: A5-book-flow-portrait; +} + +html.book-style.A5 body.landscape { + page: A5-book-title-flow-landscape; +} + +html.book-style.A5 body .division.landscape, +html.book-style.A5 body .component.landscape, +html.book-style.A5 body .list-of-titles.landscape { + break-before: right; + page: A5-book-flow-landscape; +} + +html.book-style.A5 body .section.landscape, +html.book-style.A5 body .formalobject.landscape, +html.book-style.A5 body .informalobject.landscape { + page: A5-book-flow-landscape; +} + +html.book-style.A5 body.draft.portrait { + page: A5-book-title-flow-draft-portrait; +} + +html.book-style.A5 body .division.draft.portrait, +html.book-style.A5 body .component.draft.portrait, +html.book-style.A5 body .list-of-titles.draft.portrait { + break-before: right; + page: A5-book-flow-draft-portrait; +} + +html.book-style.A5 body .section.draft.portrait, +html.book-style.A5 body .formalobject.draft.portrait, +html.book-style.A5 body .informalobject.draft.portrait { + page: A5-book-flow-draft-portrait; +} + +html.book-style.A5 body.draft.landscape { + page: A5-book-title-draft-landscape; +} + +html.book-style.A5 body .division.draft.landscape, +html.book-style.A5 body .component.draft.landscape, +html.book-style.A5 body .list-of-titles.draft.landscape { + break-before: right; + page: A5-book-draft-landscape; +} + +html.book-style.A5 body .section.draft.landscape, +html.book-style.A5 body .formalobject.draft.landscape, +html.book-style.A5 body .informalobject.draft.landscape { + page: A5-book-draft-landscape; +} + +html.book-style.Letter body { + page: Letter-book-title-flow-portrait; +} + +html.book-style.Letter body .list-of-titles { + counter-reset: page; +} + +html.book-style.Letter body .division, +html.book-style.Letter body .component, +html.book-style.Letter body .list-of-titles { + break-before: right; +} + +html.book-style.Letter body .division.portrait, +html.book-style.Letter body .component.portrait, +html.book-style.Letter body .list-of-titles.portrait { + break-before: right; + page: Letter-book-flow-portrait; +} + +html.book-style.Letter body .section.portrait, +html.book-style.Letter body .formalobject.portrait, +html.book-style.Letter body .informalobject.portrait { + page: Letter-book-flow-portrait; +} + +html.book-style.Letter body.landscape { + page: Letter-book-title-flow-landscape; +} + +html.book-style.Letter body .division.landscape, +html.book-style.Letter body .component.landscape, +html.book-style.Letter body .list-of-titles.landscape { + break-before: right; + page: Letter-book-flow-landscape; +} + +html.book-style.Letter body .section.landscape, +html.book-style.Letter body .formalobject.landscape, +html.book-style.Letter body .informalobject.landscape { + page: Letter-book-flow-landscape; +} + +html.book-style.Letter body.draft.portrait { + page: Letter-book-title-flow-draft-portrait; +} + +html.book-style.Letter body .division.draft.portrait, +html.book-style.Letter body .component.draft.portrait, +html.book-style.Letter body .list-of-titles.draft.portrait { + break-before: right; + page: Letter-book-flow-draft-portrait; +} + +html.book-style.Letter body .section.draft.portrait, +html.book-style.Letter body .formalobject.draft.portrait, +html.book-style.Letter body .informalobject.draft.portrait { + page: Letter-book-flow-draft-portrait; +} + +html.book-style.Letter body.draft.landscape { + page: Letter-book-title-draft-landscape; +} + +html.book-style.Letter body .division.draft.landscape, +html.book-style.Letter body .component.draft.landscape, +html.book-style.Letter body .list-of-titles.draft.landscape { + break-before: right; + page: Letter-book-draft-landscape; +} + +html.book-style.Letter body .section.draft.landscape, +html.book-style.Letter body .formalobject.draft.landscape, +html.book-style.Letter body .informalobject.draft.landscape { + page: Letter-book-draft-landscape; +} + +/* ============================================================ */ +/* +html.article-style > header { + page-break-after: always; +} + +html.article-style .list-of-titles { + break-before: always; +} + +.article-style .division { + break-before: always; +} +*/ +html.article-style .list-of-titles div .title { + string-set: ComponentTitle content(); +} + +:root { + --background-color: inherit; + hyphens: auto; +} + +body { + margin-left: 0; + margin-right: 0; +} + +.book > header { + padding: 0; + border: inherit; +} + +.division > header > h1 { + string-set: DocumentTitle content(), DivisionTitle content(), ComponentTitle "", SectionTitle ""; +} + +.component > header > h1 { + string-set: DocumentTitle content(), DivisionTitle content(), ComponentTitle content(), SectionTitle ""; +} + +.division > header > h2 { + string-set: DivisionTitle content(), ComponentTitle "", SectionTitle ""; +} + +.component > header > h2 { + string-set: ComponentTitle content(), SectionTitle ""; +} + +.section > header > h1, +.section > header > h2, +.section > header > h3 { + string-set: SectionTitle content(); +} + +.page-break-avoid { + page-break-inside: avoid; +} + +h1 { + bookmark-level: 1; + bookmark-state: closed; +} + +h2 { + bookmark-level: 2; + bookmark-state: closed; +} + +.article > header > h2 { + bookmark-level: none; +} + +.verbatim { + hyphens: none; +} + +.example header { + page-break-before: avoid; +} + +.book .lot { + margin-top: 1em; +} + +.part .list-of-titles { + display: none; +} + +.toc a::after { + content: leader(dotted) " " target-counter(attr(href url), page); +} + +.footnote { + float: footnote; + margin-left: 0.75rem; + font-size: 1rem; + font-weight: normal; + font-family: var(--body-family); +} + +.table-footnotes { + padding-top: 0.25rem; +} + +.table-footnotes .footnote { + float: none; + text-indent: -0.75rem; + margin-left: 0.75rem; +} + +.indexref::before { + content: target-counter(attr(href url), page); +} + +details { + display: none; +} + +a, a:visited { + text-decoration: none; +} + +.error * { + background-color: inherit; + color: inherit; + padding: inherit; +} + +span.error { + display: inline; + border: none; + padding: inherit; + margin: inherit; +} + +span.error::before { + content: none; +} + +span.error::after { + content: none; +} + +span.error.broken-link::after { + content: none; +} + +.annotations { + border-top: none; + page-break-before: always; +} + +.xlink-arc-list { + font-style: normal; +} + +.xlink-arc-delim { + display: inline; +} + +.admonition { + background-color: inherit; +} + +.admonition .icon { + color: inherit; +} + +.admonition .icon { + padding-top: 3.5rem; +} + +.division body > header .copyright { + float: bottom; +} + +.article > header .abstract { + margin-left: 1em; + margin-right: 1em; + font-style: italic; + border: none; +} + +/* Work around bug in AntennaHouse V7.0 MR2 for MacOSX */ +span.footnote p { + margin-bottom: 0pt; +} + +/* ============================================================ */ +.book-style .component > header { + padding-top: 0; + margin-top: 0; +} + +.book-style .component > header h1, +.book-style .component > header h2, +.book-style .component > header h3 { + padding-top: 0; + margin-top: 0; +} diff --git a/guide/2.2.2/css/docbook-paged.min.css b/guide/2.2.2/css/docbook-paged.min.css new file mode 100644 index 0000000000..b25f9de963 --- /dev/null +++ b/guide/2.2.2/css/docbook-paged.min.css @@ -0,0 +1 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */:root{--symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint";--body-family: serif, var(--symbol-fonts);--title-family: sans-serif, var(--symbol-fonts);--mono-family: monospace, var(--symbol-fonts)}:root{--background-color: #fffff8;--surface-color: #fffff8;--primary-color: #7f7f7f;--primary-variant-color: #5f5f5f;--secondary-color: #ffbc42;--error-color: #ffafaf;--error-border-color: #b00020;--on-background-color: #000000;--on-surface-color: #000000;--on-primary-color: #ffffff;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #000000;--enabled-color: rgb(240,240,240);--hovered-color: rgb(235,235,235);--focused-color: rgb(221,221,221);--modal-overlay-color: rgba(255,255,255,0.85);--panelset-color: #f7f7f0;--border-color: var(--primary-color);--header-color: var(--background-color);--on-header-color: var(--on-background-color);--sidebar-color: var(--primary-color);--on-sidebar-color: var(--on-primary-color);--table-border-style: 1px solid var(--primary-color);--default-font-size: 13.5pt;--default-line-height: 1.75rem;--line-number-width: 4em;--numbered-separator-style: 1px solid var(--primary-color);--numbered-number-color: var(--on-surface-color);--numbered-background-color: var(--focused-color);--verbatim-odd-background-color: var(--hovered-color);--verbatim-even-background-color: var(--enabled-color);--verbatim-line-highlight-background-color: var(--primary-color);--verbatim-line-highlight-color: var(--on-primary-color);--revadded-background-color: var(--primary-color);--revadded-color: var(--on-primary-color);--revadded-before: "";--revadded-after: "";--revchanged-background-color: var(--secondary-color);--revchanged-color: var(--on-secondary-color);--revchanged-before: "";--revchanged-after: "";--revdeleted-background-color: var(--error-color);--revdeleted-color: var(--on-error-color);--revdeleted-before: "";--revdeleted-after: "";--note-border-color: var(--primary-color);--note-border-style: 2pt solid var(--note-border-color);--note-color: var(--surface-color);--on-note-color: var(--on-surface-color);--tip-border-color: var(--primary-color);--tip-border-style: 2pt solid var(--tip-border-color);--tip-color: var(--surface-color);--on-tip-color: var(--on-surface-color);--important-border-color: var(--secondary-color);--important-border-style: 2pt solid var(--important-border-color);--important-color: var(--surface-color);--on-important-color: var(--on-surface-color);--caution-border-color: var(--secondary-color);--caution-border-style: 2pt solid var(--caution-border-color);--caution-color: var(--surface-color);--on-caution-color: var(--on-surface-color);--warning-border-color: var(--error-border-color);--warning-border-style: 2pt solid var(--warning-border-color);--warning-color: var(--error-color);--on-warning-color: var(--on-error-color);--danger-border-color: var(--error-border-color);--danger-border-style: 2pt solid var(--danger-border-color);--danger-color: var(--error-color);--on-danger-color: var(--on-error-color);--debug-background-color: var(--error-color);--debug-color: var(--on-error-color);--remark-background-color: var(--primary-color);--remark-color: var(--on-primary-color);--remark-border-color: var(--primary-color);--remark-border-style: 1px solid var(--remark-border-color);--annotation-separator-border-style: 2px dashed var(--border-color);--annotation-header-background-color: var(--surface-color);--annotation-header-color: var(--on-surface-color);--annotation-header-separator-border-style: 1px solid var(--primary-color);--annotation-body-border-style: 1px solid var(--primary-color);--nav-background-color: var(--surface-color);--error-border-style: 1px solid var(--error-border-color);--keycap-box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.75)}html.materials-dark{--background-color: #121212;--surface-color: #121212;--primary-color: #bb86fc;--primary-variant-color: #3700b3;--secondary-color: #03dac6;--error-color: #cf6679;--error-border-color: #b00020;--on-background-color: #ffffff;--on-surface-color: #ffffff;--on-primary-color: #000000;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #000000;--enabled-color: rgb(44,33,56);--hovered-color: rgb(49,38,63);--focused-color: rgb(63,51,74);--modal-overlay-color: rgba(18,18,18,0.85);--keycap-box-shadow: 1px 1px 1px 0px rgba(255,255,255,0.75)}html.materials-light{--background-color: #ffffff;--surface-color: #ffffff;--primary-color: #6200ee;--primary-variant-color: #3700b3;--secondary-color: #03dac6;--error-color: #b00020;--error-border-color: #cf6679;--on-background-color: #000000;--on-surface-color: #000000;--on-primary-color: #ffffff;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #ffffff;--enabled-color: rgb(240,240,240);--hovered-color: rgb(235,235,235);--focused-color: rgb(221,221,221);--modal-overlay-color: rgba(255,255,255,0.85)}html{padding:0;margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto;font-family:var(--body-family)}body{padding-top:0;padding-left:0;padding-right:0;padding-bottom:0;margin-top:0;margin-bottom:0;margin-left:1rem;margin-right:1rem}.error *{background-color:var(--error-color);color:var(--on-error-color);padding-left:2px;padding-right:2px}span.error{display:inline-block;border:var(--error-border-style);border-radius:4px;padding:2px;margin-right:.5em}span.error::before{content:" ☞ "}span.error::after{content:" ☜ "}span.error.broken-link::after{content:" 🔗 "}.firstterm{font-weight:bold}.trademark::after{content:"™"}.trademark.trade::after{content:"™"}.trademark.copyright::after{content:"©";vertical-align:super;font-size:85%}.trademark.registered::after{content:"®";vertical-align:super;font-size:85%}.trademark.service::after{content:"℠";vertical-align:super}.xlink-arc-list{display:none}.debug{display:block;padding-top:1em;padding-bottom:1em;padding-left:1em;background-color:var(--debug-background-color);color:var(--debug-color)}.remark{border:var(--remark-border-style);border-radius:3px;padding-left:4px;padding-right:4px;color:var(--on-surface-color);background:repeating-linear-gradient(135deg, var(--focused-color), var(--focused-color) 5px, var(--enabled-color) 5px, var(--enabled-color) 10px)}span.remark{margin-left:.5em;margin-right:.5em}.keycap{font-family:var(--mono-family);background-color:var(--verbatim-odd-background-color);border:1px solid var(--numbered-number-color);border-radius:3px;padding-top:.1em;padding-bottom:.1em;padding-left:.3em;padding-right:.3em;margin:0;font-size:85%;box-shadow:var(--keycap-box-shadow)}.keycombo .keycap+.keycap{margin-left:.4em}code{font-family:var(--mono-family);background-color:var(--verbatim-odd-background-color);border:1px solid var(--focused-color);border-radius:6px;padding-top:.1em;padding-bottom:.1em;padding-left:.3em;padding-right:.3em;margin:0;font-size:85%}.toc code{background-color:inherit;border:none;padding:inherit}code.email{background-color:inherit;border:inherit;font-size:95%;padding-left:0;padding-right:0}pre code,.cmdsynopsis code{border:none;background-color:inherit;padding:0;font-size:.85rem;margin:0}pre>code{padding:initial}.literal{background-color:inherit}.nobreak{white-space:nowrap}.break{white-space:normal}.userinput{font-weight:bold}a,a:visited{color:inherit}a.pmuj{text-decoration:none}.xref-area,.xref-areaset,.xref-co{text-decoration:none}.xref{font-style:italic}.xref-pagenum{content:target-counter(attr(href), page);font-style:normal}.xref-area,.xref-areaset,.xref-co,.xref-step,.xref-listitem{font-style:normal}.xref .prefix,.xref .sep,.xref-question .label,.xref-answer .label{font-style:normal}.footnote-number a,.footnote-number a:visited{text-decoration:none}h1,h2,h3,h4,h5,h6{color:var(--on-header-color);background-color:var(--header-color);font-family:var(--title-family);font-weight:normal;font-style:normal;page-break-after:avoid}h1{margin-top:4rem;margin-bottom:1.5rem;font-size:3.2rem;line-height:1}h2{font-weight:400;margin-top:2.1rem;margin-bottom:2rem;font-size:2.2rem;line-height:1}h3{font-weight:400;font-size:1.7rem;margin-top:2rem;margin-bottom:0;line-height:1}h4{font-weight:400;font-size:1.5rem;margin-top:2rem;margin-bottom:0;line-height:1}h5{font-weight:400;font-size:1rem;margin-top:1.5rem;margin-bottom:0;line-height:1}h6{font-weight:400;font-size:1rem;margin-top:1.5rem;margin-bottom:0;line-height:1}.title{color:var(--on-header-color);background-color:var(--header-color);font-weight:bold;font-family:var(--title-family);margin-bottom:.5em}cite.title{font-weight:inherit;font-family:inherit}.set>.list-of-titles>.lot>.title,.book>.list-of-titles>.lot>.title,.part>.list-of-titles>.lot>.title{font-weight:400;font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;line-height:1rem}header{page-break-after:avoid}header .authorgroup{margin-bottom:2rem}.article>header{text-align:center;margin-bottom:2em}.article>header .abstract{text-align:left;margin-left:5em;margin-right:5em;border:1px solid var(--border-color);padding-left:1em;padding-right:1em;border-radius:.5em}.set>header,.book>header{margin-bottom:2rem;margin-top:1rem;padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem;border:1px solid var(--border-color);border-radius:.5em}.set>header h1,.book>header h1{margin-top:0}.revhistory .title{font-weight:bold;font-family:var(--title-family);margin-bottom:.5em;border-bottom:1px solid var(--border-color)}.revhistory table{width:100%}.revhistory table tr th,.revhistory table tr td{vertical-align:top}.revhistory td p{margin:0;padding:0}.lot{margin-top:1em}.toc li{text-indent:-2em;padding-left:2em}ul.toc,.toc ul{list-style:none;margin-top:0;margin-bottom:0;padding-left:0}.bibliolist,.glosslist{margin-top:1em}.iso690 .author{text-transform:uppercase}.iso690.article .part .firstname,.iso690.article .part .givenname{text-transform:none}.iso690.patent .country,.iso690.patent .patenttype{font-style:italic}.iso690 .title{font-weight:inherit;font-family:inherit;color:inherit;background-color:inherit;margin-bottom:inherit}.index-list ul{list-style:none;padding-left:2rem}.index-list>ul,.generated-index>ul,.generated-indexdiv>ul{padding-left:0}.pgwide,.pgwide .fgbody{width:100%}.formalgroup{margin-top:1rem}.fgbody>div{display:inline-block}.pgwide .fgbody>div{width:calc(50% - .5rem)}.fgbody>div:nth-child(even){margin-left:.5rem}.fgbody>.figure,.fgbody>.example,.fgbody>.equation{padding-top:inherit}table{table-layout:fixed;border-spacing:0;border-collapse:collapse}.inlinemediaobject,.inlinemediaobject div{display:inline-block}.mediaobject .caption{font-family:var(--title-family);font-size:80%;margin-left:2em;margin-right:2em;font-style:italic}.mediaobject .caption p{margin-top:0}td,th{padding:.25em;text-align:left}td.bottom,th.bottom{vertical-align:bottom}td.middle,th.middle{vertical-align:middle}td.top,th.top{vertical-align:top}td.center,th.center{text-align:center}td.left,th.left{text-align:left}td.right,th.right{text-align:right}td.justify,th.justify{text-align:justify}td.btop,th.btop{border-top:var(--table-border-style)}td.bleft,th.bleft{border-left:var(--table-border-style)}td.colsep,th.colsep{border-right:var(--table-border-style)}td.rowsep,th.rowsep{border-bottom:var(--table-border-style)}td.char,th.char{font-family:monospace;text-align:right}.media-wrapper{width:100%}.media{display:inline-block}div>.viewport-table{display:table;width:100%}span>.viewport-table{display:inline-table}.viewport-row{display:table-row}.viewport-cell{display:table-cell}.viewport-cell>span{display:block;line-height:1rem}.viewport{display:inline-block}.intrinsic-width img,.intrinsic-width svg{width:100%}.intrinsic-height img,.intrinsic-height svg{height:100%}.intrinsic-both img,.intrinsic-both svg{width:100%;height:100%}.admonition{border-radius:.5rem;min-height:3rem;padding-top:0;margin-bottom:1rem;margin-top:1rem;margin-right:4px;display:table;width:100%}.admonition>div{display:table-row}.admonition .icon{display:table-cell;padding-top:1.5rem;width:4.5rem;text-align:center;vertical-align:top;font-size:300%;color:var(--note-border-color)}.admonition .body{display:table-cell;padding-right:1rem}.admonition header{padding-top:.5rem}.note{border:var(--note-border-style);background-color:var(--note-color);color:var(--on-note-color)}.note .icon{color:var(--note-border-color)}.note .title{background-color:var(--note-color);color:var(--on-note-color)}.note code{border-color:var(--note-border-color);background-color:var(--note-color)}.note pre code{background-color:inherit;border-color:inherit}.tip{border:var(--tip-border-style);background-color:var(--tip-color);color:var(--on-tip-color)}.tip .icon{color:var(--tip-border-color)}.tip .title{background-color:var(--tip-color);color:var(--on-tip-color)}.tip code{border-color:var(--tip-border-color);background-color:var(--tip-color)}.tip pre code{background-color:inherit;border-color:inherit}.important{border:var(--important-border-style);background-color:var(--important-color);color:var(--on-important-color)}.important .icon{padding-top:2rem;color:var(--important-border-color)}.important .title{background-color:var(--important-color);color:var(--on-important-color)}.important code{background-color:var(--important-color);border-color:var(--important-border-color)}.important pre code{background-color:inherit;border-color:inherit}.caution{border:var(--caution-border-style);background-color:var(--caution-color);color:var(--on-caution-color)}.caution .icon{color:var(--caution-border-color)}.caution .title{background-color:var(--caution-color);color:var(--on-caution-color)}.caution code{background-color:var(--caution-color);border-color:var(--caution-border-color)}.caution pre code{background-color:inherit;border-color:inherit}.warning{border:var(--warning-border-style);background-color:var(--warning-color);color:var(--on-warning-color)}.warning .icon{color:var(--warning-border-color)}.warning .title{background-color:var(--warning-color);color:var(--on-warning-color)}.warning code{background-color:var(--warning-color);border-color:var(--warning-border-color)}.warning pre code{background-color:inherit;border-color:inherit}.danger{border:var(--danger-border-style);background-color:var(--danger-color);color:var(--on-danger-color)}.danger .icon{color:var(--danger-border-color)}.danger .title{background-color:var(--danger-color);color:var(--on-danger-color)}.danger code{background-color:var(--danger-color);border-color:var(--danger-border-color)}.danger pre code{background-color:inherit;border-color:inherit}.pre-wrap{overflow-x:auto;margin-top:1em;margin-bottom:1em}pre{margin-top:0;margin-bottom:0;margin-left:.5em;margin-right:.5em}pre sup{line-height:0}pre.verblines{margin-left:0;margin-right:0}pre.address,pre.literallayout{font-family:var(--body-family);margin-left:auto;margin-right:auto}pre.monospaced{font-family:var(--mono-family)}pre.programlisting,pre.screen{line-height:1.25rem}pre.verblines .nsep{display:none}pre.verblines span.line:nth-child(odd){background-color:var(--verbatim-odd-background-color)}pre.verblines span.line:nth-child(even){background-color:var(--verbatim-even-background-color)}pre.verblines.monochrome span.line:nth-child(even){background-color:var(--verbatim-odd-background-color)}pre.address span.line:nth-child(odd),pre.literallayout span.line:nth-child(odd){background-color:inherit}pre.address span.line:nth-child(even),pre.literallayout span.line:nth-child(even){background-color:inherit}pre.verblines span.ln{font-family:var(--mono-family);width:4px;padding-top:4px;padding-bottom:4px;text-align:right}pre.verblines.numbered span.ln{width:var(--line-number-width)}pre.address span.ln,pre.literallayout span.ln{padding-top:0;padding-bottom:0}pre.verblines{display:table;table-layout:fixed;width:100%;white-space:pre}pre.verblines span.line{display:table-row}pre.verblines span.ln{display:table-cell}pre.numbered span.ln{background-color:var(--numbered-background-color);user-select:none;-webkit-user-select:none}pre.numbered span.ln{width:var(--line-number-width);margin-right:.5em}pre.verblines span.ld{display:table-cell;padding-top:4px;padding-bottom:4px}pre.address span.ld,pre.literallayout span.ld{padding-top:0;padding-bottom:0}pre.verblines.numbered span.ld{border-left:var(--numbered-separator-style);padding-left:.25em}pre.verblines span.line.highlight{background-color:var(--verbatim-line-highlight-background-color);color:var(--verbatim-line-highlight-color)}table.verbatim{width:100%}table.verbatim tr td{width:calc(100vw - var(--line-number-width));padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}table.verbatim tr td:first-child{width:var(--line-number-width);padding-left:0;padding-right:0}table.verbatim tr td pre{margin-left:0;margin-right:0}.productionset .productions{display:table;table-layout:fixed;width:100%}.productionset .productions .production{display:table-row}.productionset .productions .production .lhs,.productionset .productions .production .rhs,.productionset .productions .production .lhssep{font-family:var(--mono-family)}.productionset .productions .production .lhs,.productionset .productions .production .lhssep,.productionset .productions .production .rhs,.productionset .productions .production .constraint{display:table-cell}.productionset .productions .production .lhs{width:25%;white-space:nowrap}.productionset .productions .production .lhssep{width:3em;text-align:center}.productionset .productions .production .constraint{width:2em}.lineannotation{font-family:var(--body-family);font-style:italic}.constraintdef{min-height:3rem;margin-left:1rem;padding-top:1rem;margin-bottom:1rem}.constraintdef .title{font-weight:bold;font-family:var(--title-family)}.qandadiv{margin-top:1em}.qandalist .qanda{display:table;table-layout:fixed;width:100%}.qandaentry .question,.qandaentry .answer{display:table-row}.qandaentry .question>.label,.qandaentry .answer>.label{display:table-cell;width:3em}.qandaentry .question>.body,.qandaentry .answer>.body{display:table-cell}.question p,.answer p{margin-top:0}.funcprototype table td{padding:0}.funcprototype table.params{margin-top:1em}.funcprototype table.params td{padding-right:1em}.funcprototype{margin-top:1em;font-family:var(--mono-family)}.funcprototype .paramdef{font-family:var(--mono-family)}.funcprototype .parameter{font-family:var(--body-family);font-style:italic}.funcprototype .function{font-weight:bold}.linegroup{margin-left:2em}.speaker::after{content:":"}.linegroup .speaker{margin-left:-2em}.formalpara .title{display:inline-block;font-weight:bold}.formalpara .title::after{content:".";margin-right:.5em}.formalpara .titlepunct::after{content:"";margin-right:.5em}blockquote{margin-top:1em}blockquote p{margin-top:0}blockquote .title{font-weight:bold;font-family:var(--title-family);margin-bottom:.25em}blockquote p+.attribution{margin-top:-1em}.attribution::before{content:"—"}.attribution{margin-left:50%}.formalobject+.formalobject{margin-top:1rem}.figure,.example,.equation{padding-top:1em}.figure,.example{border:1px solid var(--border-color);padding-left:.5rem;padding-right:.5rem}.figure details p,.example details p{margin-left:1rem;margin-right:1rem}.figure .title{font-family:var(--title-family)}.figure .media{width:100%;text-align:center}.figure img{margin-left:auto;margin-right:auto}.floatcenter{text-align:center}.floatright{float:right}.floatleft{float:left}.cmdsynopsis{margin-top:1em;margin-bottom:1em;margin-left:3em;text-indent:-3em}.synopfragment{margin-top:1em}.synopfragmentref{font-style:italic}.synopfragmentref a,.synopfragmentref a:visited{text-decoration:none}.synopfragmentref-number{font-family:var(--mono-family);font-style:normal;font-weight:bold;font-size:10pt}.cmdsynopsis .command,.cmdsynopsis .cmdpunct,.cmdsynopsis .group,.cmdsynopsis .arg{font-family:var(--mono-family)}.calloutlist{margin-bottom:1em}.calloutlist dl{margin-bottom:0}.calloutlist dl dt{clear:both;float:left;width:1.25em}.calloutlist dl dd{margin-left:1.25em;line-height:1.5rem}.calloutlist dd>p:first-child{margin-top:0}.calloutlist dd:last-child>p:last-child{margin-bottom:0}a.callout-bug,a.callout-bug:visited{text-decoration:none}.revadded{background-color:var(--revadded-background-color);color:var(--revadded-color)}.revadded::before{content:var(--revadded-before)}.revadded::after{content:var(--revadded-after)}.revchanged{background-color:var(--revchanged-background-color);color:var(--revchanged-color)}.revchanged::before{content:var(--revchanged-before)}.revchanged::after{content:var(--revchanged-after)}.revdeleted{background-color:var(--revdeleted-background-color);color:var(--revdeleted-color)}.revdeleted::before{content:var(--revdeleted-before)}.revdeleted::after{content:var(--revdeleted-after)}.revoff .revadded,.revoff .revchanged{background-color:inherit;color:inherit}.revoff .revdeleted{display:none}.revoff .revadded::before,.revoff .revchanged::before,.revoff .revdeleted::before,.revoff .revadded::after,.revoff .revchanged::after,.revoff .revdeleted::after{content:""}ul[db-mark=disc],li[db-mark=disc],ul[db-mark=bullet],li[db-mark=bullet]{list-style-type:disc}ul[db-mark=round],li[db-mark=round]{list-style-type:circle}ul[db-mark=box],li[db-mark=box]{list-style-type:square}.simplelistvert,.simplelisthoriz{display:table}.simplelist .row{display:table-row}.simplelist .row span{display:table-cell}.glossdiv{margin-top:1em}.glossdiv dl dt{padding-left:1em}.sidebar{background-color:var(--sidebar-color);color:var(--on-sidebar-color);padding-left:1em;padding-right:1em;padding-bottom:1em;padding-top:1em;border-radius:.5em}.sidebar .title{background-color:var(--sidebar-color);color:var(--on-sidebar-color)}.sidebar code{background-color:var(--sidebar-color)}.msgexplan{margin-left:2rem}.foreignphrase{font-style:italic}.bold{font-weight:bold}.strikethrough{text-decoration:line-through}.underline{text-decoration:underline}em{font-style:italic}em em{font-style:normal}em em em{font-style:italic}em em em em{font-style:normal}em em em em em{font-style:italic}em em me em em em{font-style:normal}.annotations{border-top:var(--annotation-separator-border-style);padding-top:1em;margin-top:6em}a.annomark,a.annomark:visited{text-decoration:none;color:inherit}.annotation-wrapper{margin-bottom:1em}.annotation-body{border:var(--annotation-body-border-style);border-bottom-left-radius:.25em;border-bottom-right-radius:.25em}.annotation-header{height:2em;background-color:var(--annotation-header-background-color);color:var(--annotation-header-color);padding-left:1em;padding-right:.5em;border-bottom:var(--annotation-header-separator-border-style)}.annotation-header .annotation-close{float:right}.annotation-content{padding-left:1em;padding-right:1em;padding-top:.5em;padding-bottom:.5em}.xlink .source{border-bottom:1px dotted #000;cursor:pointer}.xlink-arc-list{display:inline;font-style:normal;cursor:pointer;font-size:70%}.xlink-arc-list.js::before{content:" "}.nhrefs.js .xlink-arc-delim{display:none}.nhrefs.js{font-style:normal;display:none;margin-left:4px;margin-right:0;padding-bottom:1em;border:2px solid var(--primary-variant-color);border-radius:4px;z-index:2;background-color:var(--primary-color);color:var(--on-primary-color)}.nhrefs.js .arc{display:list-item;margin-left:1.5em;padding-right:1em}.nhrefs.js .xlink-arc-title{display:block;background-color:var(--primary-variant-color);color:var(--on-primary-variant-color);margin-left:0;margin-bottom:.5em;text-align:center}:root{--margin-inner: 1in;--margin-outer: 1in;--margin-above: 1in;--margin-below: 1in;font-size:var(--default-font-size);line-height:var(--default-line-height)}html.article-style.A4{--margin-inner: 2.5cm;--margin-outer: 2.5cm}html.article-style.A5{--margin-inner: 1.9cm;--margin-outer: 1.9cm}html.article-style.Letter{--margin-inner: 1.0in;--margin-outer: 1.0in}html.book-style.A4{--margin-inner: 2.8cm;--margin-outer: 2.5cm}html.book-style.A5{--margin-inner: 2.2cm;--margin-outer: 1.9cm}html.book-style.Letter{--margin-inner: 1.25in;--margin-outer: 1.0in}@page{margin-top:var(--margin-above);margin-bottom:var(--margin-below);margin-left:var(--margin-outer);margin-right:var(--margin-outer);counter-reset:footnote;@top-left{content:""}@top-center{content:""}@top-right{content:""}@bottom-left{content:""}@bottom-center{content:""}@bottom-right{content:""}@footnote{float:bottom page;border-top:thin solid #000;border-length:30%;padding-top:.5em}}@page A4-article-flow-portrait{size:A4;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-portrait:first{size:A4;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-portrait:blank{size:A4}@page A4-article-flow-portrait-draft{size:A4;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-portrait-draft:first{size:A4;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-portrait-draft:blank{size:A4;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A4-article-flow-landscape{size:A4 landscape;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-landscape:first{size:A4 landscape;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-landscape:blank{size:A4 landscape}@page A4-article-flow-landscape-draft{size:A4 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-landscape-draft:first{size:A4 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A4-article-flow-landscape-draft:blank{size:A4 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A5-article-flow-portrait{size:A5;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-portrait:first{size:A5;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-portrait:blank{size:A5}@page A5-article-flow-portrait-draft{size:A5;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-portrait-draft:first{size:A5;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-portrait-draft:blank{size:A5;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A5-article-flow-landscape{size:A5 landscape;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-landscape:first{size:A5 landscape;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-landscape:blank{size:A5 landscape}@page A5-article-flow-landscape-draft{size:A5 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-landscape-draft:first{size:A5 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page A5-article-flow-landscape-draft:blank{size:A5 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page Letter-article-flow-portrait{size:Letter;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-portrait:first{size:Letter;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-portrait:blank{size:Letter}@page Letter-article-flow-portrait-draft{size:Letter;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-portrait-draft:first{size:Letter;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-portrait-draft:blank{size:Letter;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page Letter-article-flow-landscape{size:Letter landscape;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-landscape:first{size:Letter landscape;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-landscape:blank{size:Letter landscape}@page Letter-article-flow-landscape-draft{size:Letter landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-landscape-draft:first{size:Letter landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;@top-center{content:string(DocumentTitle)}@bottom-center{content:counter(page)}}@page Letter-article-flow-landscape-draft:blank{size:Letter landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A4-book-title-flow-portrait{size:A4}@page A4-book-flow-portrait:right{size:A4;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A4-book-flow-portrait:right:first{size:A4;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-portrait:right:blank{size:A4;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-portrait:left{size:A4;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A4-book-flow-portrait:left:first{size:A4;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A4-book-flow-portrait:left:blank{size:A4;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A4-book-title-flow-portrait-draft{size:A4;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A4-book-flow-portrait-draft:right{size:A4;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A4-book-flow-portrait-draft:right:first{size:A4;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-portrait-draft:right:blank{size:A4;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-portrait-draft:left{size:A4;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A4-book-flow-portrait-draft:left:first{size:A4;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A4-book-flow-portrait-draft:left:blank{size:A4;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A4-book-title-flow-landscape{size:A4 landscape}@page A4-book-flow-landscape:right{size:A4 landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A4-book-flow-landscape:right:first{size:A4 landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-landscape:right:blank{size:A4 landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-landscape:left{size:A4 landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A4-book-flow-landscape:left:first{size:A4 landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A4-book-flow-landscape:left:blank{size:A4 landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A4-book-title-flow-landscape-draft{size:A4 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A4-book-flow-landscape-draft:right{size:A4 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A4-book-flow-landscape-draft:right:first{size:A4 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-landscape-draft:right:blank{size:A4 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A4-book-flow-landscape-draft:left{size:A4 landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A4-book-flow-landscape-draft:left:first{size:A4 landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A4-book-flow-landscape-draft:left:blank{size:A4 landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-title-flow-portrait{size:A5}@page A5-book-flow-portrait:right{size:A5;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A5-book-flow-portrait:right:first{size:A5;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-portrait:right:blank{size:A5;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-portrait:left{size:A5;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A5-book-flow-portrait:left:first{size:A5;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-flow-portrait:left:blank{size:A5;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-title-flow-portrait-draft{size:A5;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A5-book-flow-portrait-draft:right{size:A5;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A5-book-flow-portrait-draft:right:first{size:A5;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-portrait-draft:right:blank{size:A5;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-portrait-draft:left{size:A5;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A5-book-flow-portrait-draft:left:first{size:A5;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-flow-portrait-draft:left:blank{size:A5;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-title-flow-landscape{size:A5 landscape}@page A5-book-flow-landscape:right{size:A5 landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A5-book-flow-landscape:right:first{size:A5 landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-landscape:right:blank{size:A5 landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-landscape:left{size:A5 landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A5-book-flow-landscape:left:first{size:A5 landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-flow-landscape:left:blank{size:A5 landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-title-flow-landscape-draft{size:A5 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page A5-book-flow-landscape-draft:right{size:A5 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page A5-book-flow-landscape-draft:right:first{size:A5 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-landscape-draft:right:blank{size:A5 landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page A5-book-flow-landscape-draft:left{size:A5 landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page A5-book-flow-landscape-draft:left:first{size:A5 landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page A5-book-flow-landscape-draft:left:blank{size:A5 landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-title-flow-portrait{size:Letter}@page Letter-book-flow-portrait:right{size:Letter;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page Letter-book-flow-portrait:right:first{size:Letter;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-portrait:right:blank{size:Letter;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-portrait:left{size:Letter;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page Letter-book-flow-portrait:left:first{size:Letter;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-flow-portrait:left:blank{size:Letter;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-title-flow-portrait-draft{size:Letter;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page Letter-book-flow-portrait-draft:right{size:Letter;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page Letter-book-flow-portrait-draft:right:first{size:Letter;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-portrait-draft:right:blank{size:Letter;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-portrait-draft:left{size:Letter;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page Letter-book-flow-portrait-draft:left:first{size:Letter;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-flow-portrait-draft:left:blank{size:Letter;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-title-flow-landscape{size:Letter landscape}@page Letter-book-flow-landscape:right{size:Letter landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page Letter-book-flow-landscape:right:first{size:Letter landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-landscape:right:blank{size:Letter landscape;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-landscape:left{size:Letter landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page Letter-book-flow-landscape:left:first{size:Letter landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-flow-landscape:left:blank{size:Letter landscape;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-title-flow-landscape-draft{size:Letter landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box}@page Letter-book-flow-landscape-draft:right{size:Letter landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@top-center{content:string(SectionTitle)}@bottom-right{content:counter(page)}}@page Letter-book-flow-landscape-draft:right:first{size:Letter landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-landscape-draft:right:blank{size:Letter landscape;background-image:url("draft-right.svg");background-position:calc(100% - .5cm) .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-inner);margin-right:var(--margin-outer);@bottom-right{content:counter(page)}}@page Letter-book-flow-landscape-draft:left{size:Letter landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@top-center{content:string(ComponentTitle)}@bottom-left{content:counter(page)}}@page Letter-book-flow-landscape-draft:left:first{size:Letter landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}@page Letter-book-flow-landscape-draft:left:blank{size:Letter landscape;background-image:url("draft-left.svg");background-position:.5cm .5cm;background-repeat:no-repeat;background-size:2.5cm;background-origin:border-box;background-clip:border-box;margin-left:var(--margin-outer);margin-right:var(--margin-inner);@bottom-left{content:counter(page)}}html.article-style.A4 body{string-set:DocumentTitle "";page:A4-article-flow-portrait}html.article-style.A4 body .db-bfs.portrait,html.article-style.A4 body .division.portrait,html.article-style.A4 body .component.portrait,html.article-style.A4 body .section.portrait,html.article-style.A4 body .formalobject.portrait,html.article-style.A4 body .informalobject.portrait,html.article-style.A4 body .list-of-titles.portrait{page:A4-article-flow-portrait}html.article-style.A4 body.landscape{string-set:DocumentTitle "";page:A4-article-flow-landscape}html.article-style.A4 body .db-bfs.landscape,html.article-style.A4 body .division.landscape,html.article-style.A4 body .component.landscape,html.article-style.A4 body .section.landscape,html.article-style.A4 body .formalobject.landscape,html.article-style.A4 body .informalobject.landscape,html.article-style.A4 body .list-of-titles.landscape{page:A4-article-flow-landscape}html.article-style.A4 body.draft.portrait{string-set:DocumentTitle "";page:A4-article-flow-draft-portrait}html.article-style.A4 body .db-bfs.draft.portrait,html.article-style.A4 body .division.draft.portrait,html.article-style.A4 body .component.draft.portrait,html.article-style.A4 body .section.draft.portrait,html.article-style.A4 body .formalobject.draft.portrait,html.article-style.A4 body .informalobject.draft.portrait,html.article-style.A4 body .list-of-titles.draft.portrait{page:A4-article-flow-draft-portrait}html.article-style.A4 body.draft.landscape{string-set:DocumentTitle "";page:A4-article-flow-draft-landscape}html.article-style.A4 body .db-bfs.draft.landscape,html.article-style.A4 body .division.draft.landscape,html.article-style.A4 body .component.draft.landscape,html.article-style.A4 body .section.draft.landscape,html.article-style.A4 body .formalobject.draft.landscape,html.article-style.A4 body .informalobject.draft.landscape,html.article-style.A4 body .list-of-titles.draft.landscape{page:A4-article-flow-draft-landscape}html.article-style.A5 body{string-set:DocumentTitle "";page:A5-article-flow-portrait}html.article-style.A5 body .db-bfs.portrait,html.article-style.A5 body .division.portrait,html.article-style.A5 body .component.portrait,html.article-style.A5 body .section.portrait,html.article-style.A5 body .formalobject.portrait,html.article-style.A5 body .informalobject.portrait,html.article-style.A5 body .list-of-titles.portrait{page:A5-article-flow-portrait}html.article-style.A5 body.landscape{string-set:DocumentTitle "";page:A5-article-flow-landscape}html.article-style.A5 body .db-bfs.landscape,html.article-style.A5 body .division.landscape,html.article-style.A5 body .component.landscape,html.article-style.A5 body .section.landscape,html.article-style.A5 body .formalobject.landscape,html.article-style.A5 body .informalobject.landscape,html.article-style.A5 body .list-of-titles.landscape{page:A5-article-flow-landscape}html.article-style.A5 body.draft.portrait{string-set:DocumentTitle "";page:A5-article-flow-draft-portrait}html.article-style.A5 body .db-bfs.draft.portrait,html.article-style.A5 body .division.draft.portrait,html.article-style.A5 body .component.draft.portrait,html.article-style.A5 body .section.draft.portrait,html.article-style.A5 body .formalobject.draft.portrait,html.article-style.A5 body .informalobject.draft.portrait,html.article-style.A5 body .list-of-titles.draft.portrait{page:A5-article-flow-draft-portrait}html.article-style.A5 body.draft.landscape{string-set:DocumentTitle "";page:A5-article-flow-draft-landscape}html.article-style.A5 body .db-bfs.draft.landscape,html.article-style.A5 body .division.draft.landscape,html.article-style.A5 body .component.draft.landscape,html.article-style.A5 body .section.draft.landscape,html.article-style.A5 body .formalobject.draft.landscape,html.article-style.A5 body .informalobject.draft.landscape,html.article-style.A5 body .list-of-titles.draft.landscape{page:A5-article-flow-draft-landscape}html.article-style.Letter body{string-set:DocumentTitle "";page:Letter-article-flow-portrait}html.article-style.Letter body .db-bfs.portrait,html.article-style.Letter body .division.portrait,html.article-style.Letter body .component.portrait,html.article-style.Letter body .section.portrait,html.article-style.Letter body .formalobject.portrait,html.article-style.Letter body .informalobject.portrait,html.article-style.Letter body .list-of-titles.portrait{page:Letter-article-flow-portrait}html.article-style.Letter body.landscape{string-set:DocumentTitle "";page:Letter-article-flow-landscape}html.article-style.Letter body .db-bfs.landscape,html.article-style.Letter body .division.landscape,html.article-style.Letter body .component.landscape,html.article-style.Letter body .section.landscape,html.article-style.Letter body .formalobject.landscape,html.article-style.Letter body .informalobject.landscape,html.article-style.Letter body .list-of-titles.landscape{page:Letter-article-flow-landscape}html.article-style.Letter body.draft.portrait{string-set:DocumentTitle "";page:Letter-article-flow-draft-portrait}html.article-style.Letter body .db-bfs.draft.portrait,html.article-style.Letter body .division.draft.portrait,html.article-style.Letter body .component.draft.portrait,html.article-style.Letter body .section.draft.portrait,html.article-style.Letter body .formalobject.draft.portrait,html.article-style.Letter body .informalobject.draft.portrait,html.article-style.Letter body .list-of-titles.draft.portrait{page:Letter-article-flow-draft-portrait}html.article-style.Letter body.draft.landscape{string-set:DocumentTitle "";page:Letter-article-flow-draft-landscape}html.article-style.Letter body .db-bfs.draft.landscape,html.article-style.Letter body .division.draft.landscape,html.article-style.Letter body .component.draft.landscape,html.article-style.Letter body .section.draft.landscape,html.article-style.Letter body .formalobject.draft.landscape,html.article-style.Letter body .informalobject.draft.landscape,html.article-style.Letter body .list-of-titles.draft.landscape{page:Letter-article-flow-draft-landscape}html.book-style.A4 body{page:A4-book-title-flow-portrait}html.book-style.A4 body .list-of-titles{counter-reset:page}html.book-style.A4 body .division,html.book-style.A4 body .component,html.book-style.A4 body .list-of-titles{break-before:right}html.book-style.A4 body .division.portrait,html.book-style.A4 body .component.portrait,html.book-style.A4 body .list-of-titles.portrait{break-before:right;page:A4-book-flow-portrait}html.book-style.A4 body .section.portrait,html.book-style.A4 body .formalobject.portrait,html.book-style.A4 body .informalobject.portrait{page:A4-book-flow-portrait}html.book-style.A4 body.landscape{page:A4-book-title-flow-landscape}html.book-style.A4 body .division.landscape,html.book-style.A4 body .component.landscape,html.book-style.A4 body .list-of-titles.landscape{break-before:right;page:A4-book-flow-landscape}html.book-style.A4 body .section.landscape,html.book-style.A4 body .formalobject.landscape,html.book-style.A4 body .informalobject.landscape{page:A4-book-flow-landscape}html.book-style.A4 body.draft.portrait{page:A4-book-title-flow-draft-portrait}html.book-style.A4 body .division.draft.portrait,html.book-style.A4 body .component.draft.portrait,html.book-style.A4 body .list-of-titles.draft.portrait{break-before:right;page:A4-book-flow-draft-portrait}html.book-style.A4 body .section.draft.portrait,html.book-style.A4 body .formalobject.draft.portrait,html.book-style.A4 body .informalobject.draft.portrait{page:A4-book-flow-draft-portrait}html.book-style.A4 body.draft.landscape{page:A4-book-title-draft-landscape}html.book-style.A4 body .division.draft.landscape,html.book-style.A4 body .component.draft.landscape,html.book-style.A4 body .list-of-titles.draft.landscape{break-before:right;page:A4-book-draft-landscape}html.book-style.A4 body .section.draft.landscape,html.book-style.A4 body .formalobject.draft.landscape,html.book-style.A4 body .informalobject.draft.landscape{page:A4-book-draft-landscape}html.book-style.A5 body{page:A5-book-title-flow-portrait}html.book-style.A5 body .list-of-titles{counter-reset:page}html.book-style.A5 body .division,html.book-style.A5 body .component,html.book-style.A5 body .list-of-titles{break-before:right}html.book-style.A5 body .division.portrait,html.book-style.A5 body .component.portrait,html.book-style.A5 body .list-of-titles.portrait{break-before:right;page:A5-book-flow-portrait}html.book-style.A5 body .section.portrait,html.book-style.A5 body .formalobject.portrait,html.book-style.A5 body .informalobject.portrait{page:A5-book-flow-portrait}html.book-style.A5 body.landscape{page:A5-book-title-flow-landscape}html.book-style.A5 body .division.landscape,html.book-style.A5 body .component.landscape,html.book-style.A5 body .list-of-titles.landscape{break-before:right;page:A5-book-flow-landscape}html.book-style.A5 body .section.landscape,html.book-style.A5 body .formalobject.landscape,html.book-style.A5 body .informalobject.landscape{page:A5-book-flow-landscape}html.book-style.A5 body.draft.portrait{page:A5-book-title-flow-draft-portrait}html.book-style.A5 body .division.draft.portrait,html.book-style.A5 body .component.draft.portrait,html.book-style.A5 body .list-of-titles.draft.portrait{break-before:right;page:A5-book-flow-draft-portrait}html.book-style.A5 body .section.draft.portrait,html.book-style.A5 body .formalobject.draft.portrait,html.book-style.A5 body .informalobject.draft.portrait{page:A5-book-flow-draft-portrait}html.book-style.A5 body.draft.landscape{page:A5-book-title-draft-landscape}html.book-style.A5 body .division.draft.landscape,html.book-style.A5 body .component.draft.landscape,html.book-style.A5 body .list-of-titles.draft.landscape{break-before:right;page:A5-book-draft-landscape}html.book-style.A5 body .section.draft.landscape,html.book-style.A5 body .formalobject.draft.landscape,html.book-style.A5 body .informalobject.draft.landscape{page:A5-book-draft-landscape}html.book-style.Letter body{page:Letter-book-title-flow-portrait}html.book-style.Letter body .list-of-titles{counter-reset:page}html.book-style.Letter body .division,html.book-style.Letter body .component,html.book-style.Letter body .list-of-titles{break-before:right}html.book-style.Letter body .division.portrait,html.book-style.Letter body .component.portrait,html.book-style.Letter body .list-of-titles.portrait{break-before:right;page:Letter-book-flow-portrait}html.book-style.Letter body .section.portrait,html.book-style.Letter body .formalobject.portrait,html.book-style.Letter body .informalobject.portrait{page:Letter-book-flow-portrait}html.book-style.Letter body.landscape{page:Letter-book-title-flow-landscape}html.book-style.Letter body .division.landscape,html.book-style.Letter body .component.landscape,html.book-style.Letter body .list-of-titles.landscape{break-before:right;page:Letter-book-flow-landscape}html.book-style.Letter body .section.landscape,html.book-style.Letter body .formalobject.landscape,html.book-style.Letter body .informalobject.landscape{page:Letter-book-flow-landscape}html.book-style.Letter body.draft.portrait{page:Letter-book-title-flow-draft-portrait}html.book-style.Letter body .division.draft.portrait,html.book-style.Letter body .component.draft.portrait,html.book-style.Letter body .list-of-titles.draft.portrait{break-before:right;page:Letter-book-flow-draft-portrait}html.book-style.Letter body .section.draft.portrait,html.book-style.Letter body .formalobject.draft.portrait,html.book-style.Letter body .informalobject.draft.portrait{page:Letter-book-flow-draft-portrait}html.book-style.Letter body.draft.landscape{page:Letter-book-title-draft-landscape}html.book-style.Letter body .division.draft.landscape,html.book-style.Letter body .component.draft.landscape,html.book-style.Letter body .list-of-titles.draft.landscape{break-before:right;page:Letter-book-draft-landscape}html.book-style.Letter body .section.draft.landscape,html.book-style.Letter body .formalobject.draft.landscape,html.book-style.Letter body .informalobject.draft.landscape{page:Letter-book-draft-landscape}html.article-style .list-of-titles div .title{string-set:ComponentTitle content()}:root{--background-color: inherit;hyphens:auto}body{margin-left:0;margin-right:0}.book>header{padding:0;border:inherit}.division>header>h1{string-set:DocumentTitle content(),DivisionTitle content(),ComponentTitle "",SectionTitle ""}.component>header>h1{string-set:DocumentTitle content(),DivisionTitle content(),ComponentTitle content(),SectionTitle ""}.division>header>h2{string-set:DivisionTitle content(),ComponentTitle "",SectionTitle ""}.component>header>h2{string-set:ComponentTitle content(),SectionTitle ""}.section>header>h1,.section>header>h2,.section>header>h3{string-set:SectionTitle content()}.page-break-avoid{page-break-inside:avoid}h1{bookmark-level:1;bookmark-state:closed}h2{bookmark-level:2;bookmark-state:closed}.article>header>h2{bookmark-level:none}.verbatim{hyphens:none}.example header{page-break-before:avoid}.book .lot{margin-top:1em}.part .list-of-titles{display:none}.toc a::after{content:leader(dotted) " " target-counter(attr(href url), page)}.footnote{float:footnote;margin-left:.75rem;font-size:1rem;font-weight:normal;font-family:var(--body-family)}.table-footnotes{padding-top:.25rem}.table-footnotes .footnote{float:none;text-indent:-0.75rem;margin-left:.75rem}.indexref::before{content:target-counter(attr(href url), page)}details{display:none}a,a:visited{text-decoration:none}.error *{background-color:inherit;color:inherit;padding:inherit}span.error{display:inline;border:none;padding:inherit;margin:inherit}span.error::before{content:none}span.error::after{content:none}span.error.broken-link::after{content:none}.annotations{border-top:none;page-break-before:always}.xlink-arc-list{font-style:normal}.xlink-arc-delim{display:inline}.admonition{background-color:inherit}.admonition .icon{color:inherit}.admonition .icon{padding-top:3.5rem}.division body>header .copyright{float:bottom}.article>header .abstract{margin-left:1em;margin-right:1em;font-style:italic;border:none}span.footnote p{margin-bottom:0pt}.book-style .component>header{padding-top:0;margin-top:0}.book-style .component>header h1,.book-style .component>header h2,.book-style .component>header h3{padding-top:0;margin-top:0} diff --git a/guide/2.2.2/css/docbook-toc.css b/guide/2.2.2/css/docbook-toc.css new file mode 100644 index 0000000000..78e459bcd4 --- /dev/null +++ b/guide/2.2.2/css/docbook-toc.css @@ -0,0 +1,104 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */ +/* This is used for persistent-tocs. */ +nav.tocopen { + position: fixed; + top: 2px; + right: 1em; + color: inherit; + z-index: 1; + cursor: pointer; + font-size: 14pt; + display: none; +} + +nav.toc { + border-left: 1px solid var(--border-color); + background-color: var(--focused-color); + color: var(--on-surface-color); + height: 100%; + width: 0; + position: fixed; + z-index: 2; + top: 0; + right: 0; + padding: 0; + margin: 0; + font-size: 12pt; + opacity: 1; + padding-left: 0; + display: flex; + flex-direction: column; +} + +nav.toc > div { + flex: 1; +} + +@media only screen { + nav.toc { + overflow-x: auto; + } +} +nav.toc.slide { + transition: 0.33s; +} + +nav.toc header { + height: 4rem; + font-family: var(--title-family); + font-size: 1.25em; +} + +nav.toc ul.nav-title li:first-child { + margin-top: 1em; + border-top: 1px solid var(--primary-variant-color); +} + +nav.toc li.nav-title { + margin-top: 0; + padding-top: 0; + padding-bottom: 0.25em; + font-family: var(--title-family); + font-size: 1.25em; +} + +nav.toc header .close { + float: right; + cursor: pointer; + font-weight: bold; + font-size: 16pt; +} + +@media only screen { + nav.toc div { + overflow: auto; + } +} +nav.toc a, +nav.toc a:visited { + color: inherit; + text-decoration: none; +} + +nav.toc a.showlink { + text-decoration: underline; +} + +nav.toc .refpurpose { + display: none; +} + +nav.toc li { + text-indent: -1em; + padding-left: 1em; +} + +nav.toc li a.found::before { + color: #ff7f7f; + content: "►"; +} + +.ptoc-search { + margin: 0; + padding: 0; +} diff --git a/guide/2.2.2/css/docbook-toc.min.css b/guide/2.2.2/css/docbook-toc.min.css new file mode 100644 index 0000000000..4f01aeaf7d --- /dev/null +++ b/guide/2.2.2/css/docbook-toc.min.css @@ -0,0 +1 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */nav.tocopen{position:fixed;top:2px;right:1em;color:inherit;z-index:1;cursor:pointer;font-size:14pt;display:none}nav.toc{border-left:1px solid var(--border-color);background-color:var(--focused-color);color:var(--on-surface-color);height:100%;width:0;position:fixed;z-index:2;top:0;right:0;padding:0;margin:0;font-size:12pt;opacity:1;padding-left:0;display:flex;flex-direction:column}nav.toc>div{flex:1}@media only screen{nav.toc{overflow-x:auto}}nav.toc.slide{transition:.33s}nav.toc header{height:4rem;font-family:var(--title-family);font-size:1.25em}nav.toc ul.nav-title li:first-child{margin-top:1em;border-top:1px solid var(--primary-variant-color)}nav.toc li.nav-title{margin-top:0;padding-top:0;padding-bottom:.25em;font-family:var(--title-family);font-size:1.25em}nav.toc header .close{float:right;cursor:pointer;font-weight:bold;font-size:16pt}@media only screen{nav.toc div{overflow:auto}}nav.toc a,nav.toc a:visited{color:inherit;text-decoration:none}nav.toc a.showlink{text-decoration:underline}nav.toc .refpurpose{display:none}nav.toc li{text-indent:-1em;padding-left:1em}nav.toc li a.found::before{color:#ff7f7f;content:"►"}.ptoc-search{margin:0;padding:0} diff --git a/guide/2.2.2/css/docbook.css b/guide/2.2.2/css/docbook.css new file mode 100644 index 0000000000..0e310815ab --- /dev/null +++ b/guide/2.2.2/css/docbook.css @@ -0,0 +1,2219 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */ +@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@1,400;1,700&display=swap"); +:root { + --symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint"; + --body-family: "Noto Serif", serif, var(--symbol-fonts); + --title-family: "Noto Sans", sans-serif, var(--symbol-fonts); + --mono-family: "JetBrains Mono", monospace, var(--symbol-fonts); +} + +:root { + /* The default theme. */ + --background-color: #fffff8; + --surface-color: #fffff8; + --primary-color: #7f7f7f; + --primary-variant-color: #5f5f5f; + --secondary-color: #ffbc42; + --error-color: #ffafaf; + --error-border-color: #b00020; + --on-background-color: #000000; + --on-surface-color: #000000; + --on-primary-color: #ffffff; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #000000; + --enabled-color: rgb(240,240,240); + --hovered-color: rgb(235,235,235); + --focused-color: rgb(221,221,221); + --modal-overlay-color: rgba(255,255,255,0.85); + --panelset-color: #f7f7f0; + --border-color: var(--primary-color); + --header-color: var(--background-color); + --on-header-color: var(--on-background-color); + --sidebar-color: var(--primary-color); + --on-sidebar-color: var(--on-primary-color); + --table-border-style: 1px solid var(--primary-color); + --default-font-size: 13.5pt; + --default-line-height: 1.75rem; + --line-number-width: 4em; + --numbered-separator-style: 1px solid var(--primary-color); + --numbered-number-color: var(--on-surface-color); + --numbered-background-color: var(--focused-color); + --verbatim-odd-background-color: var(--hovered-color); + --verbatim-even-background-color: var(--enabled-color); + --verbatim-line-highlight-background-color: var(--primary-color); + --verbatim-line-highlight-color: var(--on-primary-color); + --revadded-background-color: var(--primary-color); + --revadded-color: var(--on-primary-color); + --revadded-before: ""; + --revadded-after: ""; + --revchanged-background-color: var(--secondary-color); + --revchanged-color: var(--on-secondary-color); + --revchanged-before: ""; + --revchanged-after: ""; + --revdeleted-background-color: var(--error-color); + --revdeleted-color: var(--on-error-color); + --revdeleted-before: ""; + --revdeleted-after: ""; + --note-border-color: var(--primary-color); + --note-border-style: 2pt solid var(--note-border-color); + --note-color: var(--surface-color); + --on-note-color: var(--on-surface-color); + --tip-border-color: var(--primary-color); + --tip-border-style: 2pt solid var(--tip-border-color); + --tip-color: var(--surface-color); + --on-tip-color: var(--on-surface-color); + --important-border-color: var(--secondary-color); + --important-border-style: 2pt solid var(--important-border-color); + --important-color: var(--surface-color); + --on-important-color: var(--on-surface-color); + --caution-border-color: var(--secondary-color); + --caution-border-style: 2pt solid var(--caution-border-color); + --caution-color: var(--surface-color); + --on-caution-color: var(--on-surface-color); + --warning-border-color: var(--error-border-color); + --warning-border-style: 2pt solid var(--warning-border-color); + --warning-color: var(--error-color); + --on-warning-color: var(--on-error-color); + --danger-border-color: var(--error-border-color); + --danger-border-style: 2pt solid var(--danger-border-color); + --danger-color: var(--error-color); + --on-danger-color: var(--on-error-color); + --debug-background-color: var(--error-color); + --debug-color: var(--on-error-color); + --remark-background-color: var(--primary-color); + --remark-color: var(--on-primary-color); + --remark-border-color: var(--primary-color); + --remark-border-style: 1px solid var(--remark-border-color); + --annotation-separator-border-style: 2px dashed var(--border-color); + --annotation-header-background-color: var(--surface-color); + --annotation-header-color: var(--on-surface-color); + --annotation-header-separator-border-style: 1px solid var(--primary-color); + --annotation-body-border-style: 1px solid var(--primary-color); + --nav-background-color: var(--surface-color); + --error-border-style: 1px solid var(--error-border-color); + --keycap-box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.75); +} + +/* These choices are inspired by the material design system. Someone + with actual graphical design skills would do it better. Pull + requests gleefully accepted. +*/ +html.materials-dark { + --background-color: #121212; + --surface-color: #121212; + --primary-color: #bb86fc; + --primary-variant-color: #3700b3; + --secondary-color: #03dac6; + --error-color: #cf6679; + --error-border-color: #b00020; + --on-background-color: #ffffff; + --on-surface-color: #ffffff; + --on-primary-color: #000000; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #000000; + --enabled-color: rgb(44,33,56); + --hovered-color: rgb(49,38,63); + --focused-color: rgb(63,51,74); + --modal-overlay-color: rgba(18,18,18,0.85); + --keycap-box-shadow: 1px 1px 1px 0px rgba(255,255,255,0.75); +} + +html.materials-light { + --background-color: #ffffff; + --surface-color: #ffffff; + --primary-color: #6200ee; + --primary-variant-color: #3700b3; + --secondary-color: #03dac6; + --error-color: #b00020; + --error-border-color: #cf6679; + --on-background-color: #000000; + --on-surface-color: #000000; + --on-primary-color: #ffffff; + --on-primary-variant-color: #ffffff; + --on-secondary-color: #000000; + --on-error-color: #ffffff; + --enabled-color: rgb(240,240,240); + --hovered-color: rgb(235,235,235); + --focused-color: rgb(221,221,221); + --modal-overlay-color: rgba(255,255,255,0.85); +} + +html { + padding: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; + font-family: var(--body-family); +} + +body { + padding-top: 0; + padding-left: 0; + padding-right: 0; + padding-bottom: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 1rem; + margin-right: 1rem; +} + +.error * { + background-color: var(--error-color); + color: var(--on-error-color); + padding-left: 2px; + padding-right: 2px; +} + +span.error { + display: inline-block; + border: var(--error-border-style); + border-radius: 4px; + padding: 2px; + margin-right: 0.5em; +} + +span.error::before { + content: " ☞ "; +} + +span.error::after { + content: " ☜ "; +} + +span.error.broken-link::after { + content: " 🔗 "; +} + +.firstterm { + font-weight: bold; +} + +.trademark::after { + content: "™"; +} + +.trademark.trade::after { + content: "™"; +} + +.trademark.copyright::after { + content: "©"; + vertical-align: super; + font-size: 85%; +} + +.trademark.registered::after { + content: "®"; + vertical-align: super; + font-size: 85%; +} + +.trademark.service::after { + content: "℠"; + vertical-align: super; +} + +.xlink-arc-list { + display: none; +} + +/* ============================================================ */ +.debug { + display: block; + padding-top: 1em; + padding-bottom: 1em; + padding-left: 1em; + background-color: var(--debug-background-color); + color: var(--debug-color); +} + +.remark { + border: var(--remark-border-style); + border-radius: 3px; + padding-left: 4px; + padding-right: 4px; + color: var(--on-surface-color); + background: repeating-linear-gradient(135deg, var(--focused-color), var(--focused-color) 5px, var(--enabled-color) 5px, var(--enabled-color) 10px); +} + +span.remark { + margin-left: 0.5em; + margin-right: 0.5em; +} + +.keycap { + font-family: var(--mono-family); + background-color: var(--verbatim-odd-background-color); + border: 1px solid var(--numbered-number-color); + border-radius: 3px; + padding-top: 0.1em; + padding-bottom: 0.1em; + padding-left: 0.3em; + padding-right: 0.3em; + margin: 0; + font-size: 85%; + box-shadow: var(--keycap-box-shadow); +} + +.keycombo .keycap + .keycap { + margin-left: 0.4em; +} + +code { + font-family: var(--mono-family); + background-color: var(--verbatim-odd-background-color); + border: 1px solid var(--focused-color); + border-radius: 6px; + padding-top: 0.1em; + padding-bottom: 0.1em; + padding-left: 0.3em; + padding-right: 0.3em; + margin: 0; + font-size: 85%; +} + +.toc code { + background-color: inherit; + border: none; + padding: inherit; +} + +code.email { + background-color: inherit; + border: inherit; + font-size: 95%; + padding-left: 0; + padding-right: 0; +} + +pre code, +.cmdsynopsis code { + border: none; + background-color: inherit; + padding: 0; + font-size: 0.85rem; /* code = 85% */ + margin: 0; +} + +pre > code { + padding: initial; +} + +.literal { + background-color: inherit; +} + +.nobreak { + white-space: nowrap; +} + +.break { + white-space: normal; +} + +.userinput { + font-weight: bold; +} + +a, a:visited { + color: inherit; +} + +a.pmuj { + text-decoration: none; +} + +.xref-area, +.xref-areaset, +.xref-co { + text-decoration: none; +} + +.xref { + font-style: italic; +} + +.xref-pagenum { + content: target-counter(attr(href), page); + font-style: normal; +} + +.xref-area, +.xref-areaset, +.xref-co, +.xref-step, +.xref-listitem { + font-style: normal; +} + +.xref .prefix, +.xref .sep, +.xref-question .label, +.xref-answer .label { + font-style: normal; +} + +.footnote-number a, +.footnote-number a:visited { + text-decoration: none; +} + +/* ============================================================ */ +h1, h2, h3, h4, h5, h6 { + color: var(--on-header-color); + background-color: var(--header-color); + font-family: var(--title-family); + font-weight: normal; + font-style: normal; + page-break-after: avoid; +} + +h1 { + margin-top: 4rem; + margin-bottom: 1.5rem; + font-size: 3.2rem; + line-height: 1; +} + +h2 { + font-weight: 400; + margin-top: 2.1rem; + margin-bottom: 2rem; + font-size: 2.2rem; + line-height: 1; +} + +h3 { + font-weight: 400; + font-size: 1.7rem; + margin-top: 2rem; + margin-bottom: 0; + line-height: 1; +} + +h4 { + font-weight: 400; + font-size: 1.5rem; + margin-top: 2rem; + margin-bottom: 0; + line-height: 1; +} + +h5 { + font-weight: 400; + font-size: 1rem; + margin-top: 1.5rem; + margin-bottom: 0; + line-height: 1; +} + +h6 { + font-weight: 400; + font-size: 1rem; + margin-top: 1.5rem; + margin-bottom: 0; + line-height: 1; +} + +.title { + color: var(--on-header-color); + background-color: var(--header-color); + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.5em; +} + +cite.title { + font-weight: inherit; + font-family: inherit; +} + +.set > .list-of-titles > .lot > .title, +.book > .list-of-titles > .lot > .title, +.part > .list-of-titles > .lot > .title { + font-weight: 400; + font-size: 1.5rem; + margin-top: 2rem; + margin-bottom: 1rem; + line-height: 1rem; +} + +header { + page-break-after: avoid; +} + +header .authorgroup { + margin-bottom: 2rem; +} + +/* ============================================================ */ +.article > header { + text-align: center; + margin-bottom: 2em; +} + +.article > header .abstract { + text-align: left; + margin-left: 5em; + margin-right: 5em; + border: 1px solid var(--border-color); + padding-left: 1em; + padding-right: 1em; + border-radius: 0.5em; +} + +.set > header, +.book > header { + margin-bottom: 2rem; + margin-top: 1rem; + padding-left: 1rem; + padding-right: 1rem; + padding-top: 1rem; + padding-bottom: 1rem; + border: 1px solid var(--border-color); + border-radius: 0.5em; +} + +.set > header h1, +.book > header h1 { + margin-top: 0; +} + +.revhistory .title { + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.5em; + border-bottom: 1px solid var(--border-color); +} + +.revhistory table { + width: 100%; +} + +.revhistory table tr th, +.revhistory table tr td { + vertical-align: top; +} + +.revhistory td p { + margin: 0; + padding: 0; +} + +/* ============================================================ */ +.lot { + margin-top: 1em; +} + +.toc li { + text-indent: -2em; + padding-left: 2em; +} + +ul.toc, +.toc ul { + list-style: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} + +.bibliolist, +.glosslist { + margin-top: 1em; +} + +.iso690 .author { + text-transform: uppercase; +} + +.iso690.article .part .firstname, +.iso690.article .part .givenname { + text-transform: none; +} + +.iso690.patent .country, .iso690.patent .patenttype { + font-style: italic; +} + +.iso690 .title { + font-weight: inherit; + font-family: inherit; + color: inherit; + background-color: inherit; + margin-bottom: inherit; +} + +/* ============================================================ */ +.index-list ul { + list-style: none; + padding-left: 2rem; +} + +.index-list > ul, +.generated-index > ul, +.generated-indexdiv > ul { + padding-left: 0; +} + +/* ============================================================ */ +.pgwide, +.pgwide .fgbody { + width: 100%; +} + +.formalgroup { + margin-top: 1rem; +} + +.fgbody > div { + display: inline-block; +} + +.pgwide .fgbody > div { + width: calc(50% - 0.5rem); +} + +.fgbody > div:nth-child(even) { + margin-left: 0.5rem; +} + +.fgbody > .figure, +.fgbody > .example, +.fgbody > .equation { + padding-top: inherit; +} + +table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; +} + +.inlinemediaobject, +.inlinemediaobject div { + display: inline-block; +} + +.mediaobject .caption { + font-family: var(--title-family); + font-size: 80%; + margin-left: 2em; + margin-right: 2em; + font-style: italic; +} +.mediaobject .caption p { + margin-top: 0; +} + +td, th { + padding: 0.25em; + text-align: left; +} + +td.bottom, +th.bottom { + vertical-align: bottom; +} + +td.middle, +th.middle { + vertical-align: middle; +} + +td.top, +th.top { + vertical-align: top; +} + +td.center, +th.center { + text-align: center; +} + +td.left, +th.left { + text-align: left; +} + +td.right, +th.right { + text-align: right; +} + +td.justify, +th.justify { + text-align: justify; +} + +td.btop, +th.btop { + border-top: var(--table-border-style); +} + +td.bleft, +th.bleft { + border-left: var(--table-border-style); +} + +td.colsep, +th.colsep { + border-right: var(--table-border-style); +} + +td.rowsep, +th.rowsep { + border-bottom: var(--table-border-style); +} + +td.char, +th.char { + font-family: monospace; + text-align: right; +} + +.media-wrapper { + width: 100%; +} + +.media { + display: inline-block; +} + +div > .viewport-table { + display: table; + width: 100%; +} + +span > .viewport-table { + display: inline-table; +} + +.viewport-row { + display: table-row; +} + +.viewport-cell { + display: table-cell; +} + +.viewport-cell > span { + display: block; + line-height: 1rem; +} + +.viewport { + display: inline-block; +} + +.intrinsic-width img, +.intrinsic-width svg { + width: 100%; +} + +.intrinsic-height img, +.intrinsic-height svg { + height: 100%; +} + +.intrinsic-both img, +.intrinsic-both svg { + width: 100%; + height: 100%; +} + +.admonition { + border-radius: 0.5rem; + min-height: 3rem; + padding-top: 0; + margin-bottom: 1rem; + margin-top: 1rem; + margin-right: 4px; + display: table; + width: 100%; +} + +.admonition > div { + display: table-row; +} + +.admonition .icon { + display: table-cell; + padding-top: 1.5rem; + width: 4.5rem; + text-align: center; + vertical-align: top; + font-size: 300%; + color: var(--note-border-color); +} + +.admonition .body { + display: table-cell; + padding-right: 1rem; +} + +.admonition header { + padding-top: 0.5rem; +} + +.note { + border: var(--note-border-style); + background-color: var(--note-color); + color: var(--on-note-color); +} +.note .icon { + color: var(--note-border-color); +} +.note .title { + background-color: var(--note-color); + color: var(--on-note-color); +} +.note code { + border-color: var(--note-border-color); + background-color: var(--note-color); +} +.note pre code { + background-color: inherit; + border-color: inherit; +} + +.tip { + border: var(--tip-border-style); + background-color: var(--tip-color); + color: var(--on-tip-color); +} +.tip .icon { + color: var(--tip-border-color); +} +.tip .title { + background-color: var(--tip-color); + color: var(--on-tip-color); +} +.tip code { + border-color: var(--tip-border-color); + background-color: var(--tip-color); +} +.tip pre code { + background-color: inherit; + border-color: inherit; +} + +.important { + border: var(--important-border-style); + background-color: var(--important-color); + color: var(--on-important-color); +} +.important .icon { + padding-top: 2rem; + color: var(--important-border-color); +} +.important .title { + background-color: var(--important-color); + color: var(--on-important-color); +} +.important code { + background-color: var(--important-color); + border-color: var(--important-border-color); +} +.important pre code { + background-color: inherit; + border-color: inherit; +} + +.caution { + border: var(--caution-border-style); + background-color: var(--caution-color); + color: var(--on-caution-color); +} +.caution .icon { + color: var(--caution-border-color); +} +.caution .title { + background-color: var(--caution-color); + color: var(--on-caution-color); +} +.caution code { + background-color: var(--caution-color); + border-color: var(--caution-border-color); +} +.caution pre code { + background-color: inherit; + border-color: inherit; +} + +.warning { + border: var(--warning-border-style); + background-color: var(--warning-color); + color: var(--on-warning-color); +} +.warning .icon { + color: var(--warning-border-color); +} +.warning .title { + background-color: var(--warning-color); + color: var(--on-warning-color); +} +.warning code { + background-color: var(--warning-color); + border-color: var(--warning-border-color); +} +.warning pre code { + background-color: inherit; + border-color: inherit; +} + +.danger { + border: var(--danger-border-style); + background-color: var(--danger-color); + color: var(--on-danger-color); +} +.danger .icon { + color: var(--danger-border-color); +} +.danger .title { + background-color: var(--danger-color); + color: var(--on-danger-color); +} +.danger code { + background-color: var(--danger-color); + border-color: var(--danger-border-color); +} +.danger pre code { + background-color: inherit; + border-color: inherit; +} + +/* ============================================================ */ +.pre-wrap { + overflow-x: auto; + margin-top: 1em; + margin-bottom: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 0; + margin-left: 0.5em; + margin-right: 0.5em; +} + +pre sup { + line-height: 0; +} + +pre.verblines { + margin-left: 0; + margin-right: 0; +} + +pre.address, +pre.literallayout { + font-family: var(--body-family); + margin-left: auto; + margin-right: auto; +} + +pre.monospaced { + font-family: var(--mono-family); +} + +pre.programlisting, +pre.screen { + line-height: 1.25rem; +} + +pre.verblines .nsep { + display: none; +} + +/* Adapted from https://stackoverflow.com/questions/41306797/html-how-to-add-line-numbers-to-a-source-code-block */ +pre.verblines span.line:nth-child(odd) { + background-color: var(--verbatim-odd-background-color); +} + +pre.verblines span.line:nth-child(even) { + background-color: var(--verbatim-even-background-color); +} + +/* Make the background of even lines the same as odd lines for + "monochrome" listings. */ +pre.verblines.monochrome span.line:nth-child(even) { + background-color: var(--verbatim-odd-background-color); +} + +pre.address span.line:nth-child(odd), +pre.literallayout span.line:nth-child(odd) { + background-color: inherit; +} + +pre.address span.line:nth-child(even), +pre.literallayout span.line:nth-child(even) { + background-color: inherit; +} + +pre.verblines span.ln { + font-family: var(--mono-family); + width: 4px; + padding-top: 4px; + padding-bottom: 4px; + text-align: right; +} + +pre.verblines.numbered span.ln { + width: var(--line-number-width); +} + +pre.address span.ln, +pre.literallayout span.ln { + padding-top: 0; + padding-bottom: 0; +} + +pre.verblines { + display: table; + table-layout: fixed; + width: 100%; /* anything but auto, otherwise fixed layout not guaranteed */ + white-space: pre; +} + +pre.verblines span.line { + display: table-row; +} + +pre.verblines span.ln { + display: table-cell; +} + +pre.numbered span.ln { + background-color: var(--numbered-background-color); + user-select: none; + -webkit-user-select: none; +} + +pre.numbered span.ln { + width: var(--line-number-width); + margin-right: 0.5em; +} + +pre.verblines span.ld { + display: table-cell; + padding-top: 4px; + padding-bottom: 4px; +} + +pre.address span.ld, +pre.literallayout span.ld { + padding-top: 0; + padding-bottom: 0; +} + +pre.verblines.numbered span.ld { + border-left: var(--numbered-separator-style); + padding-left: 0.25em; +} + +pre.verblines span.line.highlight { + background-color: var(--verbatim-line-highlight-background-color); + color: var(--verbatim-line-highlight-color); +} + +table.verbatim { + width: 100%; +} + +table.verbatim tr td { + /* N.B. 100vw not 100%. If you specify 100%, Safari calculates the width is 0 */ + width: calc(100vw - var(--line-number-width)); + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; +} + +table.verbatim tr td:first-child { + width: var(--line-number-width); + padding-left: 0; + padding-right: 0; +} + +table.verbatim tr td pre { + margin-left: 0; + margin-right: 0; +} + +/* ============================================================ */ +.productionset .productions { + display: table; + table-layout: fixed; + width: 100%; +} + +.productionset .productions .production { + display: table-row; +} + +.productionset .productions .production .lhs, +.productionset .productions .production .rhs, +.productionset .productions .production .lhssep { + font-family: var(--mono-family); +} + +.productionset .productions .production .lhs, +.productionset .productions .production .lhssep, +.productionset .productions .production .rhs, +.productionset .productions .production .constraint { + display: table-cell; +} + +.productionset .productions .production .lhs { + width: 25%; + white-space: nowrap; +} + +.productionset .productions .production .lhssep { + width: 3em; + text-align: center; +} + +.productionset .productions .production .constraint { + width: 2em; +} + +.lineannotation { + font-family: var(--body-family); + font-style: italic; +} + +.constraintdef { + min-height: 3rem; + margin-left: 1rem; + padding-top: 1rem; + margin-bottom: 1rem; +} + +.constraintdef .title { + font-weight: bold; + font-family: var(--title-family); +} + +/* ============================================================ */ +.qandadiv { + margin-top: 1em; +} + +.qandalist .qanda { + display: table; + table-layout: fixed; + width: 100%; +} + +.qandaentry .question, +.qandaentry .answer { + display: table-row; +} + +.qandaentry .question > .label, +.qandaentry .answer > .label { + display: table-cell; + width: 3em; +} + +.qandaentry .question > .body, +.qandaentry .answer > .body { + display: table-cell; +} + +.question p, +.answer p { + margin-top: 0; +} + +/* ============================================================ */ +.funcprototype table td { + padding: 0; +} + +.funcprototype table.params { + margin-top: 1em; +} + +.funcprototype table.params td { + padding-right: 1em; +} + +.funcprototype { + margin-top: 1em; + font-family: var(--mono-family); +} + +.funcprototype .paramdef { + font-family: var(--mono-family); +} + +.funcprototype .parameter { + font-family: var(--body-family); + font-style: italic; +} + +.funcprototype .function { + font-weight: bold; +} + +/* ============================================================ */ +.linegroup { + margin-left: 2em; +} + +.speaker::after { + content: ":"; +} + +.linegroup .speaker { + margin-left: -2em; +} + +/* ============================================================ */ +.formalpara .title { + display: inline-block; + font-weight: bold; +} + +.formalpara .title::after { + content: "."; + margin-right: 0.5em; +} + +.formalpara .titlepunct::after { + content: ""; + margin-right: 0.5em; +} + +blockquote { + margin-top: 1em; +} + +blockquote p { + margin-top: 0; +} + +blockquote .title { + font-weight: bold; + font-family: var(--title-family); + margin-bottom: 0.25em; +} + +blockquote p + .attribution { + /* Tuck it back up closer to the preceding paragraph */ + margin-top: -1em; +} + +.attribution::before { + content: "—"; +} + +.attribution { + margin-left: 50%; +} + +/* ============================================================ */ +.formalobject + .formalobject { + margin-top: 1rem; +} + +.figure, +.example, +.equation { + padding-top: 1em; +} + +.figure, +.example { + border: 1px solid var(--border-color); + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.figure details p, +.example details p { + margin-left: 1rem; + margin-right: 1rem; +} + +.figure .title { + font-family: var(--title-family); +} + +.figure .media { + width: 100%; + text-align: center; +} + +.figure img { + margin-left: auto; + margin-right: auto; +} + +.floatcenter { + text-align: center; +} + +.floatright { + float: right; +} + +.floatleft { + float: left; +} + +/* ============================================================ */ +.cmdsynopsis { + margin-top: 1em; + margin-bottom: 1em; + margin-left: 3em; + text-indent: -3em; +} + +.synopfragment { + margin-top: 1em; +} + +.synopfragmentref { + font-style: italic; +} + +.synopfragmentref a, +.synopfragmentref a:visited { + text-decoration: none; +} + +.synopfragmentref-number { + font-family: var(--mono-family); + font-style: normal; + font-weight: bold; + font-size: 10pt; +} + +.cmdsynopsis .command, +.cmdsynopsis .cmdpunct, +.cmdsynopsis .group, +.cmdsynopsis .arg { + font-family: var(--mono-family); +} + +.calloutlist { + margin-bottom: 1em; +} + +.calloutlist dl { + margin-bottom: 0; +} + +.calloutlist dl dt { + clear: both; + float: left; + width: 1.25em; +} + +.calloutlist dl dd { + margin-left: 1.25em; + line-height: 1.5rem; /* tuck them together a little */ +} + +.calloutlist dd > p:first-child { + margin-top: 0; +} + +.calloutlist dd:last-child > p:last-child { + margin-bottom: 0; +} + +a.callout-bug, +a.callout-bug:visited { + text-decoration: none; +} + +/* ============================================================ */ +.revadded { + background-color: var(--revadded-background-color); + color: var(--revadded-color); +} + +.revadded::before { + content: var(--revadded-before); +} + +.revadded::after { + content: var(--revadded-after); +} + +.revchanged { + background-color: var(--revchanged-background-color); + color: var(--revchanged-color); +} + +.revchanged::before { + content: var(--revchanged-before); +} + +.revchanged::after { + content: var(--revchanged-after); +} + +.revdeleted { + background-color: var(--revdeleted-background-color); + color: var(--revdeleted-color); +} + +.revdeleted::before { + content: var(--revdeleted-before); +} + +.revdeleted::after { + content: var(--revdeleted-after); +} + +.revoff .revadded, +.revoff .revchanged { + background-color: inherit; + color: inherit; +} + +.revoff .revdeleted { + display: none; +} + +.revoff .revadded::before, +.revoff .revchanged::before, +.revoff .revdeleted::before, +.revoff .revadded::after, +.revoff .revchanged::after, +.revoff .revdeleted::after { + content: ""; +} + +/* ============================================================ */ +ul[db-mark=disc], +li[db-mark=disc], +ul[db-mark=bullet], +li[db-mark=bullet] { + list-style-type: disc; +} + +ul[db-mark=round], +li[db-mark=round] { + list-style-type: circle; +} + +ul[db-mark=box], +li[db-mark=box] { + list-style-type: square; +} + +/* ============================================================ */ +.simplelistvert, +.simplelisthoriz { + display: table; +} + +.simplelist .row { + display: table-row; +} + +.simplelist .row span { + display: table-cell; +} + +/* ============================================================ */ +.glossdiv { + margin-top: 1em; +} + +.glossdiv dl dt { + padding-left: 1em; +} + +/* ============================================================ */ +.sidebar { + background-color: var(--sidebar-color); + color: var(--on-sidebar-color); + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + padding-top: 1em; + border-radius: 0.5em; +} + +.sidebar .title { + background-color: var(--sidebar-color); + color: var(--on-sidebar-color); +} + +.sidebar code { + background-color: var(--sidebar-color); +} + +/* ============================================================ */ +.msgexplan { + margin-left: 2rem; +} + +/* ============================================================ */ +.foreignphrase { + font-style: italic; +} + +.bold { + font-weight: bold; +} + +.strikethrough { + text-decoration: line-through; +} + +.underline { + text-decoration: underline; +} + +em { + font-style: italic; +} + +em em { + font-style: normal; +} + +em em em { + font-style: italic; +} + +em em em em { + font-style: normal; +} + +em em em em em { + font-style: italic; +} + +em em me em em em { + font-style: normal; +} + +/* ============================================================ */ +/* Inline annotations */ +.annotations { + border-top: var(--annotation-separator-border-style); + padding-top: 1em; + margin-top: 6em; +} + +a.annomark, +a.annomark:visited { + text-decoration: none; + color: inherit; +} + +.annotation-wrapper { + margin-bottom: 1em; +} + +.annotation-body { + border: var(--annotation-body-border-style); + border-bottom-left-radius: 0.25em; + border-bottom-right-radius: 0.25em; +} + +.annotation-header { + height: 2em; + background-color: var(--annotation-header-background-color); + color: var(--annotation-header-color); + padding-left: 1em; + padding-right: 0.5em; + border-bottom: var(--annotation-header-separator-border-style); +} + +.annotation-header .annotation-close { + float: right; +} + +.annotation-content { + padding-left: 1em; + padding-right: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +/* ============================================================ */ +/* XLink extended links. The ".js" classes only apply if + JavaScript XLink processing is available and enabled. +*/ +.xlink .source { + border-bottom: 1px dotted black; + cursor: pointer; +} + +.xlink-arc-list { + display: inline; + font-style: normal; + cursor: pointer; + font-size: 70%; +} + +.xlink-arc-list.js::before { + content: " "; /* thin space */ +} + +.nhrefs.js .xlink-arc-delim { + display: none; +} + +.nhrefs.js { + font-style: normal; + display: none; + margin-left: 4px; + margin-right: 0; + padding-bottom: 1em; + border: 2px solid var(--primary-variant-color); + border-radius: 4px; + z-index: 2; + background-color: var(--primary-color); + color: var(--on-primary-color); +} + +.nhrefs.js .arc { + display: list-item; + margin-left: 1.5em; + padding-right: 1em; +} + +.nhrefs.js .xlink-arc-title { + display: block; + background-color: var(--primary-variant-color); + color: var(--on-primary-variant-color); + margin-left: 0; + margin-bottom: 0.5em; + text-align: center; +} + +:root { + --popup-annotation-color: var(--surface-color); + --on-popup-annotation-color: var(--on-surface-color); + --popup-annotation-border-color: var(--primary-color); + --popup-annotation-border-style: 1px solid var(--popup-annotation-border-color); + --popup-annotation-header-color: var(--primary-color); + --on-popup-annotation-header-color: var(--on-primary-color); + --popup-annotation-header-separator-border-style: 1px solid var(--popup-annotation-border-color); + --js-controls-border-color: var(--primary-color); + --js-controls-border-style: 1px solid var(--js-controls-border-color); + --js-controls-header-color: var(--primary-color); + --on-js-controls-header-color: var(--on-primary-color); + --js-controls-header-separator-border-style: 1px solid var(--popup-annotation-border-color); + --js-controls-color: var(--surface-color); + --on-js-controls-color: var(--on-surface-color); +} + +html { + color: var(--on-background-color); + background-color: var(--background-color); + width: 100%; + line-height: var(--default-line-height); + font-size: var(--default-font-size); + scroll-padding-top: 40px; + height: 100%; +} + +/* https://www.smashingmagazine.com/2020/07/css-techniques-legibility/ */ +@supports (font-size-adjust: 1) { + html { + font-size-adjust: 0.5; + } +} +body { + height: 100%; + min-height: 100%; + margin-left: 0; + margin-right: 0; + display: grid; + grid-template-rows: 1fr auto; + grid-template-columns: 100%; +} + +body.draft { + background-image: url("draft-left.svg"); + background-position: 2% 2%; + background-repeat: no-repeat; + background-size: 10%; + background-attachment: fixed; +} + +main { + max-width: 50rem; + margin-left: auto; + margin-right: auto; +} + +@media screen and (max-width: 60rem) { + main { + margin-left: 1rem; + margin-right: 1rem; + } +} +@media screen and (min-width: 70rem) { + main { + min-width: 50rem; + } +} +main { + padding-top: 3rem; +} + +.book + .book { + border-top: var(--division-separator-border-style); + margin-top: 6em; + padding-top: 6em; +} + +.refentry + .refentry { + border-top: var(--division-separator-border-style); + margin-top: 6em; + padding-top: 6em; +} + +.book > .dedication > header, +.article > .dedication > header, +.book .chapter > header, +.book .preface > header, +.book .appendix > header, +.book .part > header { + margin-top: 4rem; + padding-top: 2rem; + border-top: 0.25rem solid var(--border-color); +} + +.dedication + .dedication > header { + border-top: inherit; +} + +.colophon { + margin-top: 6rem; + margin-bottom: 6rem; + margin-left: 6rem; + margin-right: 6rem; + border: 1px solid var(--border-color); + border-radius: 1em; + padding-left: 2em; + padding-right: 2em; + padding-bottom: 2em; +} + +.set header h1, +.book header h1 { + text-align: center; +} + +.footnotes { + margin-top: 2em; +} + +.table-footnotes { + margin-top: 0; +} + +.footnotes div.footnote-number { + display: inline-block; + width: 0.75rem; + height: 0; + margin-left: -0.75rem; + margin-top: 0.5rem; + vertical-align: top; +} + +.footnotes div.footnote-body { + display: inline-block; +} + +.footnotes .footnote { + margin-left: 0.75rem; +} + +.footnote p { + margin-bottom: 0; +} + +.footnotes hr { + max-width: 1in; + margin: 0; +} + +.calloutlist dl { + display: grid; + grid-template-columns: max-content auto; +} + +.calloutlist dl dt { + float: none; + width: inherit; + grid-column-start: 1; +} + +.calloutlist dl dd { + margin-left: 1em; + grid-column-start: 2; +} + +.callout-bug { + user-select: none; +} + +/* ============================================================ */ +nav table td.previous { + text-align: left; +} + +nav table td.up { + text-align: center; +} + +nav table td.next { + text-align: right; +} + +nav.bottom { + background-color: var(--nav-background-color); +} + +nav.bottom table { + border-top: 2px solid var(--border-color); + margin-bottom: 1rem; + width: 100%; +} + +nav.bottom table .previous { + padding-left: 4rem; +} + +nav.bottom table .next { + padding-right: 4rem; +} + +nav.top { + position: fixed; + top: 0; + width: 100%; + background-color: var(--nav-background-color); + opacity: 1; + z-index: 100; /* make sure floating elements go under it! */ +} + +body.home nav.top { + display: none; +} + +nav.top div { + border-bottom: 1px solid var(--border-color); + padding-left: 4rem; + padding-right: 4rem; +} + +/* ============================================================ */ +/* Javascript annotations */ +.copyVerbIcon { + border: 1px solid var(--hovered-color); + border-radius: 0.2rem; +} + +.copyVerbIcon:hover { + cursor: pointer; + border: 1px solid var(--primary-color); +} + +/* ============================================================ */ +/* Javascript annotations */ +.popup-annotation-wrapper { + display: none; + position: fixed; + left: 0; + top: 0; + height: 100%; + width: 100%; + background-color: var(--modal-overlay-color); +} + +.popup-annotation-body { + background-color: var(--popup-annotation-color); + color: var(--on-popup-annotation-color); + border: var(--popup-annotation-border-style); + width: 50%; + min-height: 40%; + max-height: 50%; + margin-top: 10%; + margin-left: auto; + margin-right: auto; + border-radius: 0.15em; + display: grid; + grid-template-rows: auto 1fr; + grid-template-columns: 100%; +} + +.wide .popup-annotation-body { + width: 80%; +} + +.tall .popup-annotation-body { + max-height: 80%; +} + +.popup-annotation-header { + height: 2em; + background-color: var(--popup-annotation-header-color); + color: var(--on-popup-annotation-header-color); + padding-left: 1em; + padding-right: 0.5em; + border-bottom: var(--popup-annotation-header-separator-border-style); +} + +.popup-annotation-header .annotation-close { + float: right; + cursor: pointer; + font-size: 125%; +} + +.popup-annotation-header .annotation-title { + padding-top: 0.1em; +} + +.popup-annotation-content { + padding-left: 1em; + padding-right: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; + overflow: auto; +} + +.annotation-close { + padding-top: 4px; +} + +/* ============================================================ */ +/* Javascript controls */ +.js-controls-wrapper { + display: none; + position: fixed; + left: 0; + top: 0; + height: 100%; + width: 100%; + background-color: var(--modal-overlay-color); +} + +.js-controls-body { + background-color: var(--js-controls-color); + color: var(--on-js-controls-color); + border: var(--js-controls-border-style); + max-width: 300px; + margin-top: 5px; + margin-left: 10px; + opacity: 1; +} + +.js-controls-header { + height: 2em; + background-color: var(--js-controls-header-color); + color: var(--on-js-controls-header-color); + padding-left: 1em; + padding-right: 0.5em; + border-bottom: var(--js-controls-header-separator-border-style); +} + +.js-controls-header .js-controls-close { + float: right; + cursor: pointer; + font-size: 125%; +} + +.js-controls-header .js-controls-title { + padding-top: 0.1em; +} + +.js-controls-content { + background-color: var(--js-controls-color); + color: var(--on-js-controls-color); + padding: 1em; +} + +.js-controls-buttons { + text-align: center; + padding-bottom: 0.5em; +} + +.js-controls-buttons button { + display: inline-block; + text-align: center; + font-size: 14pt; + background-color: var(--enabled-color); + border-radius: 5px; + border: 2px solid var(--primary-color); + color: var(--on-surface-color); + text-align: center; + padding: 5px; + width: 3em; + transition: all 0.5s; + cursor: pointer; + margin: 5px; +} + +.js-controls-reload { + text-align: center; + background-color: var(--error-color); + color: var(--on-error-color); +} + +/* ============================================================ */ +/* Audio/video fallback. */ +.fallback { + border: solid 2px var(--error-color); + padding: 1rem; + border-radius: 4px; +} + +/* ============================================================ */ +/* Panel sets */ +/* Based on https://codepen.io/alvarotrigo/pen/RwLzvQz by Álvaro */ +.panelset { + display: flex; + flex-wrap: wrap; +} + +.panelset label { + order: 1; + display: block; + padding: 1rem 2rem; + margin-right: 0.2rem; + cursor: pointer; + transition: background ease 0.2s; + border-top-left-radius: 0.5em; + border-top-right-radius: 0.5em; + color: var(--primary-color); +} + +.panelset .paneltab { + order: 99; /* Put the tabs last */ + flex-grow: 1; + width: 100%; + display: none; + padding: 1rem; + border: 2px solid var(--focused-color); + background-color: var(--panelset-color); +} + +.panelset input[type=radio] { + display: none; +} + +.panelset input[type=radio]:checked + label { + border-bottom: 2px solid var(--focused-color); + border-left: 1px solid var(--focused-color); + background-color: var(--panelset-color); + color: var(--on-background-color); +} + +.panelset label:hover { + border: 2px solid var(--focused-color); + color: var(--on-background-color); + border-top-left-radius: 0.5em; + border-top-right-radius: 0.5em; +} + +.panelset input[type=radio]:checked + label + .paneltab { + display: block; +} + +/* ============================================================ */ +@media screen and (max-width: 1199px) { + nav.top div { + padding-left: 2rem; + padding-right: 2rem; + } + nav.bottom table .previous { + padding-left: 2rem; + } + nav.bottom table .next { + padding-right: 2rem; + } +} +@media screen and (max-width: 767px) { + nav.top div { + padding-left: 1rem; + padding-right: 1rem; + } + nav.bottom table .previous { + padding-left: 1rem; + } + nav.bottom table .next { + padding-right: 1rem; + } +} +/* + * This is xlink.css providing support for multi-targeted links. + * The "js" class is added by JavaScript. This enables graceful + * fallback in the non-JS case. +*/ +.xlink .source { + border-bottom: 1px dotted black; + cursor: pointer; +} + +.xlink-arc-list { + display: inline; + font-style: normal; + cursor: pointer; + font-size: 70%; +} + +.xlink-arc-list.js::before { + content: " "; /* thin space */ +} + +.nhrefs.js .xlink-arc-delim { + display: none; +} + +.nhrefs.js { + font-style: normal; + display: none; + margin-left: 4px; + margin-right: 0; + padding-bottom: 1em; + border: 2px solid var(--primary-variant-color); + border-radius: 4px; + z-index: 2; + background-color: var(--primary-color); + color: var(--on-primary-color); +} + +.nhrefs.js .arc { + display: list-item; + margin-left: 1.5em; + padding-right: 1em; +} + +.nhrefs.js .xlink-arc-title { + display: block; + background-color: #afafaf; + margin-left: 0; + margin-bottom: 0.5em; + text-align: center; +} + +/* + * This is oxy-markup.css. This CSS supports oXygen change markup + * processing instructions, converted to DocBook proper and then to + * HTML classes/spans. + */ +.oxy_insert { + background-color: transparent; + color: #009900; +} + +.oxy_insert::before { + content: var(--revadded-before); +} + +.oxy_insert::after { + content: var(--revadded-after); +} + +.oxy_delete { + background-color: transparent; + color: #cc3333; + text-decoration: line-through; +} + +.oxy_delete::before { + content: var(--revdeleted-before); +} + +.oxy_delete::after { + content: var(--revdeleted-after); +} + +/* This provides CSS support for the in-page ToC */ +html.js .pagetoc { + position: fixed; + top: 3rem; + right: 1em; + width: 18rem; + font-size: 95%; + height: calc(100% - 5em); + overflow: hidden; +} +html.js .pagetoc .toggle { + cursor: pointer; +} +html.js .pagetoc a { + text-decoration: none; +} +html.js .tocwrapper { + border-left: 1px solid #aaaaaa; + padding-left: 0.25rem; + line-height: 1.5; +} +html.js .pagetoc .ctrl { + position: fixed; + right: 1em; + z-index: 2; + opacity: 1; + height: 0; +} +html.js .tocwrapper .li::before { + display: inline-block; + content: " "; + width: 0.75rem; + text-indent: 0; +} +html.js .tocwrapper .li.active::before { + content: "•"; + text-indent: 0; +} +html.js .tocwrapper .li { + color: var(--primary-variant-color); + margin-left: 1.5rem; + text-indent: -1.5rem; + margin-top: 0.25rem; +} +html.js .tocwrapper .li.active { + color: var(--on-secondary-color); +} +html.js .tocwrapper .depth1 { + padding-left: 1.5rem; +} +html.js .tocwrapper .depth2 { + padding-left: 2.5rem; +} +html.js .tocwrapper .depth3 { + padding-left: 3.5rem; + font-size: 80%; +} +html.js .tocwrapper .depth4 { + padding-left: 4rem; + font-size: 80%; +} +html.js .tocwrapper .depth5 { + padding-left: 4.5rem; + font-size: 80%; +} +html.js .tocwrapper .depth6 { + padding-left: 5rem; + font-size: 80%; +} +@media screen and (max-width: 82rem) { + html.js .pagetoc { + display: none; + } +} diff --git a/guide/2.2.2/css/docbook.min.css b/guide/2.2.2/css/docbook.min.css new file mode 100644 index 0000000000..f584c412fa --- /dev/null +++ b/guide/2.2.2/css/docbook.min.css @@ -0,0 +1 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@1,400;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@1,400;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@1,400;1,700&display=swap";:root{--symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint";--body-family: "Noto Serif", serif, var(--symbol-fonts);--title-family: "Noto Sans", sans-serif, var(--symbol-fonts);--mono-family: "JetBrains Mono", monospace, var(--symbol-fonts)}:root{--background-color: #fffff8;--surface-color: #fffff8;--primary-color: #7f7f7f;--primary-variant-color: #5f5f5f;--secondary-color: #ffbc42;--error-color: #ffafaf;--error-border-color: #b00020;--on-background-color: #000000;--on-surface-color: #000000;--on-primary-color: #ffffff;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #000000;--enabled-color: rgb(240,240,240);--hovered-color: rgb(235,235,235);--focused-color: rgb(221,221,221);--modal-overlay-color: rgba(255,255,255,0.85);--panelset-color: #f7f7f0;--border-color: var(--primary-color);--header-color: var(--background-color);--on-header-color: var(--on-background-color);--sidebar-color: var(--primary-color);--on-sidebar-color: var(--on-primary-color);--table-border-style: 1px solid var(--primary-color);--default-font-size: 13.5pt;--default-line-height: 1.75rem;--line-number-width: 4em;--numbered-separator-style: 1px solid var(--primary-color);--numbered-number-color: var(--on-surface-color);--numbered-background-color: var(--focused-color);--verbatim-odd-background-color: var(--hovered-color);--verbatim-even-background-color: var(--enabled-color);--verbatim-line-highlight-background-color: var(--primary-color);--verbatim-line-highlight-color: var(--on-primary-color);--revadded-background-color: var(--primary-color);--revadded-color: var(--on-primary-color);--revadded-before: "";--revadded-after: "";--revchanged-background-color: var(--secondary-color);--revchanged-color: var(--on-secondary-color);--revchanged-before: "";--revchanged-after: "";--revdeleted-background-color: var(--error-color);--revdeleted-color: var(--on-error-color);--revdeleted-before: "";--revdeleted-after: "";--note-border-color: var(--primary-color);--note-border-style: 2pt solid var(--note-border-color);--note-color: var(--surface-color);--on-note-color: var(--on-surface-color);--tip-border-color: var(--primary-color);--tip-border-style: 2pt solid var(--tip-border-color);--tip-color: var(--surface-color);--on-tip-color: var(--on-surface-color);--important-border-color: var(--secondary-color);--important-border-style: 2pt solid var(--important-border-color);--important-color: var(--surface-color);--on-important-color: var(--on-surface-color);--caution-border-color: var(--secondary-color);--caution-border-style: 2pt solid var(--caution-border-color);--caution-color: var(--surface-color);--on-caution-color: var(--on-surface-color);--warning-border-color: var(--error-border-color);--warning-border-style: 2pt solid var(--warning-border-color);--warning-color: var(--error-color);--on-warning-color: var(--on-error-color);--danger-border-color: var(--error-border-color);--danger-border-style: 2pt solid var(--danger-border-color);--danger-color: var(--error-color);--on-danger-color: var(--on-error-color);--debug-background-color: var(--error-color);--debug-color: var(--on-error-color);--remark-background-color: var(--primary-color);--remark-color: var(--on-primary-color);--remark-border-color: var(--primary-color);--remark-border-style: 1px solid var(--remark-border-color);--annotation-separator-border-style: 2px dashed var(--border-color);--annotation-header-background-color: var(--surface-color);--annotation-header-color: var(--on-surface-color);--annotation-header-separator-border-style: 1px solid var(--primary-color);--annotation-body-border-style: 1px solid var(--primary-color);--nav-background-color: var(--surface-color);--error-border-style: 1px solid var(--error-border-color);--keycap-box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.75)}html.materials-dark{--background-color: #121212;--surface-color: #121212;--primary-color: #bb86fc;--primary-variant-color: #3700b3;--secondary-color: #03dac6;--error-color: #cf6679;--error-border-color: #b00020;--on-background-color: #ffffff;--on-surface-color: #ffffff;--on-primary-color: #000000;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #000000;--enabled-color: rgb(44,33,56);--hovered-color: rgb(49,38,63);--focused-color: rgb(63,51,74);--modal-overlay-color: rgba(18,18,18,0.85);--keycap-box-shadow: 1px 1px 1px 0px rgba(255,255,255,0.75)}html.materials-light{--background-color: #ffffff;--surface-color: #ffffff;--primary-color: #6200ee;--primary-variant-color: #3700b3;--secondary-color: #03dac6;--error-color: #b00020;--error-border-color: #cf6679;--on-background-color: #000000;--on-surface-color: #000000;--on-primary-color: #ffffff;--on-primary-variant-color: #ffffff;--on-secondary-color: #000000;--on-error-color: #ffffff;--enabled-color: rgb(240,240,240);--hovered-color: rgb(235,235,235);--focused-color: rgb(221,221,221);--modal-overlay-color: rgba(255,255,255,0.85)}html{padding:0;margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto;font-family:var(--body-family)}body{padding-top:0;padding-left:0;padding-right:0;padding-bottom:0;margin-top:0;margin-bottom:0;margin-left:1rem;margin-right:1rem}.error *{background-color:var(--error-color);color:var(--on-error-color);padding-left:2px;padding-right:2px}span.error{display:inline-block;border:var(--error-border-style);border-radius:4px;padding:2px;margin-right:.5em}span.error::before{content:" ☞ "}span.error::after{content:" ☜ "}span.error.broken-link::after{content:" 🔗 "}.firstterm{font-weight:bold}.trademark::after{content:"™"}.trademark.trade::after{content:"™"}.trademark.copyright::after{content:"©";vertical-align:super;font-size:85%}.trademark.registered::after{content:"®";vertical-align:super;font-size:85%}.trademark.service::after{content:"℠";vertical-align:super}.xlink-arc-list{display:none}.debug{display:block;padding-top:1em;padding-bottom:1em;padding-left:1em;background-color:var(--debug-background-color);color:var(--debug-color)}.remark{border:var(--remark-border-style);border-radius:3px;padding-left:4px;padding-right:4px;color:var(--on-surface-color);background:repeating-linear-gradient(135deg, var(--focused-color), var(--focused-color) 5px, var(--enabled-color) 5px, var(--enabled-color) 10px)}span.remark{margin-left:.5em;margin-right:.5em}.keycap{font-family:var(--mono-family);background-color:var(--verbatim-odd-background-color);border:1px solid var(--numbered-number-color);border-radius:3px;padding-top:.1em;padding-bottom:.1em;padding-left:.3em;padding-right:.3em;margin:0;font-size:85%;box-shadow:var(--keycap-box-shadow)}.keycombo .keycap+.keycap{margin-left:.4em}code{font-family:var(--mono-family);background-color:var(--verbatim-odd-background-color);border:1px solid var(--focused-color);border-radius:6px;padding-top:.1em;padding-bottom:.1em;padding-left:.3em;padding-right:.3em;margin:0;font-size:85%}.toc code{background-color:inherit;border:none;padding:inherit}code.email{background-color:inherit;border:inherit;font-size:95%;padding-left:0;padding-right:0}pre code,.cmdsynopsis code{border:none;background-color:inherit;padding:0;font-size:.85rem;margin:0}pre>code{padding:initial}.literal{background-color:inherit}.nobreak{white-space:nowrap}.break{white-space:normal}.userinput{font-weight:bold}a,a:visited{color:inherit}a.pmuj{text-decoration:none}.xref-area,.xref-areaset,.xref-co{text-decoration:none}.xref{font-style:italic}.xref-pagenum{content:target-counter(attr(href), page);font-style:normal}.xref-area,.xref-areaset,.xref-co,.xref-step,.xref-listitem{font-style:normal}.xref .prefix,.xref .sep,.xref-question .label,.xref-answer .label{font-style:normal}.footnote-number a,.footnote-number a:visited{text-decoration:none}h1,h2,h3,h4,h5,h6{color:var(--on-header-color);background-color:var(--header-color);font-family:var(--title-family);font-weight:normal;font-style:normal;page-break-after:avoid}h1{margin-top:4rem;margin-bottom:1.5rem;font-size:3.2rem;line-height:1}h2{font-weight:400;margin-top:2.1rem;margin-bottom:2rem;font-size:2.2rem;line-height:1}h3{font-weight:400;font-size:1.7rem;margin-top:2rem;margin-bottom:0;line-height:1}h4{font-weight:400;font-size:1.5rem;margin-top:2rem;margin-bottom:0;line-height:1}h5{font-weight:400;font-size:1rem;margin-top:1.5rem;margin-bottom:0;line-height:1}h6{font-weight:400;font-size:1rem;margin-top:1.5rem;margin-bottom:0;line-height:1}.title{color:var(--on-header-color);background-color:var(--header-color);font-weight:bold;font-family:var(--title-family);margin-bottom:.5em}cite.title{font-weight:inherit;font-family:inherit}.set>.list-of-titles>.lot>.title,.book>.list-of-titles>.lot>.title,.part>.list-of-titles>.lot>.title{font-weight:400;font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;line-height:1rem}header{page-break-after:avoid}header .authorgroup{margin-bottom:2rem}.article>header{text-align:center;margin-bottom:2em}.article>header .abstract{text-align:left;margin-left:5em;margin-right:5em;border:1px solid var(--border-color);padding-left:1em;padding-right:1em;border-radius:.5em}.set>header,.book>header{margin-bottom:2rem;margin-top:1rem;padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem;border:1px solid var(--border-color);border-radius:.5em}.set>header h1,.book>header h1{margin-top:0}.revhistory .title{font-weight:bold;font-family:var(--title-family);margin-bottom:.5em;border-bottom:1px solid var(--border-color)}.revhistory table{width:100%}.revhistory table tr th,.revhistory table tr td{vertical-align:top}.revhistory td p{margin:0;padding:0}.lot{margin-top:1em}.toc li{text-indent:-2em;padding-left:2em}ul.toc,.toc ul{list-style:none;margin-top:0;margin-bottom:0;padding-left:0}.bibliolist,.glosslist{margin-top:1em}.iso690 .author{text-transform:uppercase}.iso690.article .part .firstname,.iso690.article .part .givenname{text-transform:none}.iso690.patent .country,.iso690.patent .patenttype{font-style:italic}.iso690 .title{font-weight:inherit;font-family:inherit;color:inherit;background-color:inherit;margin-bottom:inherit}.index-list ul{list-style:none;padding-left:2rem}.index-list>ul,.generated-index>ul,.generated-indexdiv>ul{padding-left:0}.pgwide,.pgwide .fgbody{width:100%}.formalgroup{margin-top:1rem}.fgbody>div{display:inline-block}.pgwide .fgbody>div{width:calc(50% - .5rem)}.fgbody>div:nth-child(even){margin-left:.5rem}.fgbody>.figure,.fgbody>.example,.fgbody>.equation{padding-top:inherit}table{table-layout:fixed;border-spacing:0;border-collapse:collapse}.inlinemediaobject,.inlinemediaobject div{display:inline-block}.mediaobject .caption{font-family:var(--title-family);font-size:80%;margin-left:2em;margin-right:2em;font-style:italic}.mediaobject .caption p{margin-top:0}td,th{padding:.25em;text-align:left}td.bottom,th.bottom{vertical-align:bottom}td.middle,th.middle{vertical-align:middle}td.top,th.top{vertical-align:top}td.center,th.center{text-align:center}td.left,th.left{text-align:left}td.right,th.right{text-align:right}td.justify,th.justify{text-align:justify}td.btop,th.btop{border-top:var(--table-border-style)}td.bleft,th.bleft{border-left:var(--table-border-style)}td.colsep,th.colsep{border-right:var(--table-border-style)}td.rowsep,th.rowsep{border-bottom:var(--table-border-style)}td.char,th.char{font-family:monospace;text-align:right}.media-wrapper{width:100%}.media{display:inline-block}div>.viewport-table{display:table;width:100%}span>.viewport-table{display:inline-table}.viewport-row{display:table-row}.viewport-cell{display:table-cell}.viewport-cell>span{display:block;line-height:1rem}.viewport{display:inline-block}.intrinsic-width img,.intrinsic-width svg{width:100%}.intrinsic-height img,.intrinsic-height svg{height:100%}.intrinsic-both img,.intrinsic-both svg{width:100%;height:100%}.admonition{border-radius:.5rem;min-height:3rem;padding-top:0;margin-bottom:1rem;margin-top:1rem;margin-right:4px;display:table;width:100%}.admonition>div{display:table-row}.admonition .icon{display:table-cell;padding-top:1.5rem;width:4.5rem;text-align:center;vertical-align:top;font-size:300%;color:var(--note-border-color)}.admonition .body{display:table-cell;padding-right:1rem}.admonition header{padding-top:.5rem}.note{border:var(--note-border-style);background-color:var(--note-color);color:var(--on-note-color)}.note .icon{color:var(--note-border-color)}.note .title{background-color:var(--note-color);color:var(--on-note-color)}.note code{border-color:var(--note-border-color);background-color:var(--note-color)}.note pre code{background-color:inherit;border-color:inherit}.tip{border:var(--tip-border-style);background-color:var(--tip-color);color:var(--on-tip-color)}.tip .icon{color:var(--tip-border-color)}.tip .title{background-color:var(--tip-color);color:var(--on-tip-color)}.tip code{border-color:var(--tip-border-color);background-color:var(--tip-color)}.tip pre code{background-color:inherit;border-color:inherit}.important{border:var(--important-border-style);background-color:var(--important-color);color:var(--on-important-color)}.important .icon{padding-top:2rem;color:var(--important-border-color)}.important .title{background-color:var(--important-color);color:var(--on-important-color)}.important code{background-color:var(--important-color);border-color:var(--important-border-color)}.important pre code{background-color:inherit;border-color:inherit}.caution{border:var(--caution-border-style);background-color:var(--caution-color);color:var(--on-caution-color)}.caution .icon{color:var(--caution-border-color)}.caution .title{background-color:var(--caution-color);color:var(--on-caution-color)}.caution code{background-color:var(--caution-color);border-color:var(--caution-border-color)}.caution pre code{background-color:inherit;border-color:inherit}.warning{border:var(--warning-border-style);background-color:var(--warning-color);color:var(--on-warning-color)}.warning .icon{color:var(--warning-border-color)}.warning .title{background-color:var(--warning-color);color:var(--on-warning-color)}.warning code{background-color:var(--warning-color);border-color:var(--warning-border-color)}.warning pre code{background-color:inherit;border-color:inherit}.danger{border:var(--danger-border-style);background-color:var(--danger-color);color:var(--on-danger-color)}.danger .icon{color:var(--danger-border-color)}.danger .title{background-color:var(--danger-color);color:var(--on-danger-color)}.danger code{background-color:var(--danger-color);border-color:var(--danger-border-color)}.danger pre code{background-color:inherit;border-color:inherit}.pre-wrap{overflow-x:auto;margin-top:1em;margin-bottom:1em}pre{margin-top:0;margin-bottom:0;margin-left:.5em;margin-right:.5em}pre sup{line-height:0}pre.verblines{margin-left:0;margin-right:0}pre.address,pre.literallayout{font-family:var(--body-family);margin-left:auto;margin-right:auto}pre.monospaced{font-family:var(--mono-family)}pre.programlisting,pre.screen{line-height:1.25rem}pre.verblines .nsep{display:none}pre.verblines span.line:nth-child(odd){background-color:var(--verbatim-odd-background-color)}pre.verblines span.line:nth-child(even){background-color:var(--verbatim-even-background-color)}pre.verblines.monochrome span.line:nth-child(even){background-color:var(--verbatim-odd-background-color)}pre.address span.line:nth-child(odd),pre.literallayout span.line:nth-child(odd){background-color:inherit}pre.address span.line:nth-child(even),pre.literallayout span.line:nth-child(even){background-color:inherit}pre.verblines span.ln{font-family:var(--mono-family);width:4px;padding-top:4px;padding-bottom:4px;text-align:right}pre.verblines.numbered span.ln{width:var(--line-number-width)}pre.address span.ln,pre.literallayout span.ln{padding-top:0;padding-bottom:0}pre.verblines{display:table;table-layout:fixed;width:100%;white-space:pre}pre.verblines span.line{display:table-row}pre.verblines span.ln{display:table-cell}pre.numbered span.ln{background-color:var(--numbered-background-color);user-select:none;-webkit-user-select:none}pre.numbered span.ln{width:var(--line-number-width);margin-right:.5em}pre.verblines span.ld{display:table-cell;padding-top:4px;padding-bottom:4px}pre.address span.ld,pre.literallayout span.ld{padding-top:0;padding-bottom:0}pre.verblines.numbered span.ld{border-left:var(--numbered-separator-style);padding-left:.25em}pre.verblines span.line.highlight{background-color:var(--verbatim-line-highlight-background-color);color:var(--verbatim-line-highlight-color)}table.verbatim{width:100%}table.verbatim tr td{width:calc(100vw - var(--line-number-width));padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}table.verbatim tr td:first-child{width:var(--line-number-width);padding-left:0;padding-right:0}table.verbatim tr td pre{margin-left:0;margin-right:0}.productionset .productions{display:table;table-layout:fixed;width:100%}.productionset .productions .production{display:table-row}.productionset .productions .production .lhs,.productionset .productions .production .rhs,.productionset .productions .production .lhssep{font-family:var(--mono-family)}.productionset .productions .production .lhs,.productionset .productions .production .lhssep,.productionset .productions .production .rhs,.productionset .productions .production .constraint{display:table-cell}.productionset .productions .production .lhs{width:25%;white-space:nowrap}.productionset .productions .production .lhssep{width:3em;text-align:center}.productionset .productions .production .constraint{width:2em}.lineannotation{font-family:var(--body-family);font-style:italic}.constraintdef{min-height:3rem;margin-left:1rem;padding-top:1rem;margin-bottom:1rem}.constraintdef .title{font-weight:bold;font-family:var(--title-family)}.qandadiv{margin-top:1em}.qandalist .qanda{display:table;table-layout:fixed;width:100%}.qandaentry .question,.qandaentry .answer{display:table-row}.qandaentry .question>.label,.qandaentry .answer>.label{display:table-cell;width:3em}.qandaentry .question>.body,.qandaentry .answer>.body{display:table-cell}.question p,.answer p{margin-top:0}.funcprototype table td{padding:0}.funcprototype table.params{margin-top:1em}.funcprototype table.params td{padding-right:1em}.funcprototype{margin-top:1em;font-family:var(--mono-family)}.funcprototype .paramdef{font-family:var(--mono-family)}.funcprototype .parameter{font-family:var(--body-family);font-style:italic}.funcprototype .function{font-weight:bold}.linegroup{margin-left:2em}.speaker::after{content:":"}.linegroup .speaker{margin-left:-2em}.formalpara .title{display:inline-block;font-weight:bold}.formalpara .title::after{content:".";margin-right:.5em}.formalpara .titlepunct::after{content:"";margin-right:.5em}blockquote{margin-top:1em}blockquote p{margin-top:0}blockquote .title{font-weight:bold;font-family:var(--title-family);margin-bottom:.25em}blockquote p+.attribution{margin-top:-1em}.attribution::before{content:"—"}.attribution{margin-left:50%}.formalobject+.formalobject{margin-top:1rem}.figure,.example,.equation{padding-top:1em}.figure,.example{border:1px solid var(--border-color);padding-left:.5rem;padding-right:.5rem}.figure details p,.example details p{margin-left:1rem;margin-right:1rem}.figure .title{font-family:var(--title-family)}.figure .media{width:100%;text-align:center}.figure img{margin-left:auto;margin-right:auto}.floatcenter{text-align:center}.floatright{float:right}.floatleft{float:left}.cmdsynopsis{margin-top:1em;margin-bottom:1em;margin-left:3em;text-indent:-3em}.synopfragment{margin-top:1em}.synopfragmentref{font-style:italic}.synopfragmentref a,.synopfragmentref a:visited{text-decoration:none}.synopfragmentref-number{font-family:var(--mono-family);font-style:normal;font-weight:bold;font-size:10pt}.cmdsynopsis .command,.cmdsynopsis .cmdpunct,.cmdsynopsis .group,.cmdsynopsis .arg{font-family:var(--mono-family)}.calloutlist{margin-bottom:1em}.calloutlist dl{margin-bottom:0}.calloutlist dl dt{clear:both;float:left;width:1.25em}.calloutlist dl dd{margin-left:1.25em;line-height:1.5rem}.calloutlist dd>p:first-child{margin-top:0}.calloutlist dd:last-child>p:last-child{margin-bottom:0}a.callout-bug,a.callout-bug:visited{text-decoration:none}.revadded{background-color:var(--revadded-background-color);color:var(--revadded-color)}.revadded::before{content:var(--revadded-before)}.revadded::after{content:var(--revadded-after)}.revchanged{background-color:var(--revchanged-background-color);color:var(--revchanged-color)}.revchanged::before{content:var(--revchanged-before)}.revchanged::after{content:var(--revchanged-after)}.revdeleted{background-color:var(--revdeleted-background-color);color:var(--revdeleted-color)}.revdeleted::before{content:var(--revdeleted-before)}.revdeleted::after{content:var(--revdeleted-after)}.revoff .revadded,.revoff .revchanged{background-color:inherit;color:inherit}.revoff .revdeleted{display:none}.revoff .revadded::before,.revoff .revchanged::before,.revoff .revdeleted::before,.revoff .revadded::after,.revoff .revchanged::after,.revoff .revdeleted::after{content:""}ul[db-mark=disc],li[db-mark=disc],ul[db-mark=bullet],li[db-mark=bullet]{list-style-type:disc}ul[db-mark=round],li[db-mark=round]{list-style-type:circle}ul[db-mark=box],li[db-mark=box]{list-style-type:square}.simplelistvert,.simplelisthoriz{display:table}.simplelist .row{display:table-row}.simplelist .row span{display:table-cell}.glossdiv{margin-top:1em}.glossdiv dl dt{padding-left:1em}.sidebar{background-color:var(--sidebar-color);color:var(--on-sidebar-color);padding-left:1em;padding-right:1em;padding-bottom:1em;padding-top:1em;border-radius:.5em}.sidebar .title{background-color:var(--sidebar-color);color:var(--on-sidebar-color)}.sidebar code{background-color:var(--sidebar-color)}.msgexplan{margin-left:2rem}.foreignphrase{font-style:italic}.bold{font-weight:bold}.strikethrough{text-decoration:line-through}.underline{text-decoration:underline}em{font-style:italic}em em{font-style:normal}em em em{font-style:italic}em em em em{font-style:normal}em em em em em{font-style:italic}em em me em em em{font-style:normal}.annotations{border-top:var(--annotation-separator-border-style);padding-top:1em;margin-top:6em}a.annomark,a.annomark:visited{text-decoration:none;color:inherit}.annotation-wrapper{margin-bottom:1em}.annotation-body{border:var(--annotation-body-border-style);border-bottom-left-radius:.25em;border-bottom-right-radius:.25em}.annotation-header{height:2em;background-color:var(--annotation-header-background-color);color:var(--annotation-header-color);padding-left:1em;padding-right:.5em;border-bottom:var(--annotation-header-separator-border-style)}.annotation-header .annotation-close{float:right}.annotation-content{padding-left:1em;padding-right:1em;padding-top:.5em;padding-bottom:.5em}.xlink .source{border-bottom:1px dotted #000;cursor:pointer}.xlink-arc-list{display:inline;font-style:normal;cursor:pointer;font-size:70%}.xlink-arc-list.js::before{content:" "}.nhrefs.js .xlink-arc-delim{display:none}.nhrefs.js{font-style:normal;display:none;margin-left:4px;margin-right:0;padding-bottom:1em;border:2px solid var(--primary-variant-color);border-radius:4px;z-index:2;background-color:var(--primary-color);color:var(--on-primary-color)}.nhrefs.js .arc{display:list-item;margin-left:1.5em;padding-right:1em}.nhrefs.js .xlink-arc-title{display:block;background-color:var(--primary-variant-color);color:var(--on-primary-variant-color);margin-left:0;margin-bottom:.5em;text-align:center}:root{--popup-annotation-color: var(--surface-color);--on-popup-annotation-color: var(--on-surface-color);--popup-annotation-border-color: var(--primary-color);--popup-annotation-border-style: 1px solid var(--popup-annotation-border-color);--popup-annotation-header-color: var(--primary-color);--on-popup-annotation-header-color: var(--on-primary-color);--popup-annotation-header-separator-border-style: 1px solid var(--popup-annotation-border-color);--js-controls-border-color: var(--primary-color);--js-controls-border-style: 1px solid var(--js-controls-border-color);--js-controls-header-color: var(--primary-color);--on-js-controls-header-color: var(--on-primary-color);--js-controls-header-separator-border-style: 1px solid var(--popup-annotation-border-color);--js-controls-color: var(--surface-color);--on-js-controls-color: var(--on-surface-color)}html{color:var(--on-background-color);background-color:var(--background-color);width:100%;line-height:var(--default-line-height);font-size:var(--default-font-size);scroll-padding-top:40px;height:100%}@supports(font-size-adjust: 1){html{font-size-adjust:.5}}body{height:100%;min-height:100%;margin-left:0;margin-right:0;display:grid;grid-template-rows:1fr auto;grid-template-columns:100%}body.draft{background-image:url("draft-left.svg");background-position:2% 2%;background-repeat:no-repeat;background-size:10%;background-attachment:fixed}main{max-width:50rem;margin-left:auto;margin-right:auto}@media screen and (max-width: 60rem){main{margin-left:1rem;margin-right:1rem}}@media screen and (min-width: 70rem){main{min-width:50rem}}main{padding-top:3rem}.book+.book{border-top:var(--division-separator-border-style);margin-top:6em;padding-top:6em}.refentry+.refentry{border-top:var(--division-separator-border-style);margin-top:6em;padding-top:6em}.book>.dedication>header,.article>.dedication>header,.book .chapter>header,.book .preface>header,.book .appendix>header,.book .part>header{margin-top:4rem;padding-top:2rem;border-top:.25rem solid var(--border-color)}.dedication+.dedication>header{border-top:inherit}.colophon{margin-top:6rem;margin-bottom:6rem;margin-left:6rem;margin-right:6rem;border:1px solid var(--border-color);border-radius:1em;padding-left:2em;padding-right:2em;padding-bottom:2em}.set header h1,.book header h1{text-align:center}.footnotes{margin-top:2em}.table-footnotes{margin-top:0}.footnotes div.footnote-number{display:inline-block;width:.75rem;height:0;margin-left:-0.75rem;margin-top:.5rem;vertical-align:top}.footnotes div.footnote-body{display:inline-block}.footnotes .footnote{margin-left:.75rem}.footnote p{margin-bottom:0}.footnotes hr{max-width:1in;margin:0}.calloutlist dl{display:grid;grid-template-columns:max-content auto}.calloutlist dl dt{float:none;width:inherit;grid-column-start:1}.calloutlist dl dd{margin-left:1em;grid-column-start:2}.callout-bug{user-select:none}nav table td.previous{text-align:left}nav table td.up{text-align:center}nav table td.next{text-align:right}nav.bottom{background-color:var(--nav-background-color)}nav.bottom table{border-top:2px solid var(--border-color);margin-bottom:1rem;width:100%}nav.bottom table .previous{padding-left:4rem}nav.bottom table .next{padding-right:4rem}nav.top{position:fixed;top:0;width:100%;background-color:var(--nav-background-color);opacity:1;z-index:100}body.home nav.top{display:none}nav.top div{border-bottom:1px solid var(--border-color);padding-left:4rem;padding-right:4rem}.copyVerbIcon{border:1px solid var(--hovered-color);border-radius:.2rem}.copyVerbIcon:hover{cursor:pointer;border:1px solid var(--primary-color)}.popup-annotation-wrapper{display:none;position:fixed;left:0;top:0;height:100%;width:100%;background-color:var(--modal-overlay-color)}.popup-annotation-body{background-color:var(--popup-annotation-color);color:var(--on-popup-annotation-color);border:var(--popup-annotation-border-style);width:50%;min-height:40%;max-height:50%;margin-top:10%;margin-left:auto;margin-right:auto;border-radius:.15em;display:grid;grid-template-rows:auto 1fr;grid-template-columns:100%}.wide .popup-annotation-body{width:80%}.tall .popup-annotation-body{max-height:80%}.popup-annotation-header{height:2em;background-color:var(--popup-annotation-header-color);color:var(--on-popup-annotation-header-color);padding-left:1em;padding-right:.5em;border-bottom:var(--popup-annotation-header-separator-border-style)}.popup-annotation-header .annotation-close{float:right;cursor:pointer;font-size:125%}.popup-annotation-header .annotation-title{padding-top:.1em}.popup-annotation-content{padding-left:1em;padding-right:1em;padding-top:.5em;padding-bottom:.5em;overflow:auto}.annotation-close{padding-top:4px}.js-controls-wrapper{display:none;position:fixed;left:0;top:0;height:100%;width:100%;background-color:var(--modal-overlay-color)}.js-controls-body{background-color:var(--js-controls-color);color:var(--on-js-controls-color);border:var(--js-controls-border-style);max-width:300px;margin-top:5px;margin-left:10px;opacity:1}.js-controls-header{height:2em;background-color:var(--js-controls-header-color);color:var(--on-js-controls-header-color);padding-left:1em;padding-right:.5em;border-bottom:var(--js-controls-header-separator-border-style)}.js-controls-header .js-controls-close{float:right;cursor:pointer;font-size:125%}.js-controls-header .js-controls-title{padding-top:.1em}.js-controls-content{background-color:var(--js-controls-color);color:var(--on-js-controls-color);padding:1em}.js-controls-buttons{text-align:center;padding-bottom:.5em}.js-controls-buttons button{display:inline-block;text-align:center;font-size:14pt;background-color:var(--enabled-color);border-radius:5px;border:2px solid var(--primary-color);color:var(--on-surface-color);text-align:center;padding:5px;width:3em;transition:all .5s;cursor:pointer;margin:5px}.js-controls-reload{text-align:center;background-color:var(--error-color);color:var(--on-error-color)}.fallback{border:solid 2px var(--error-color);padding:1rem;border-radius:4px}.panelset{display:flex;flex-wrap:wrap}.panelset label{order:1;display:block;padding:1rem 2rem;margin-right:.2rem;cursor:pointer;transition:background ease .2s;border-top-left-radius:.5em;border-top-right-radius:.5em;color:var(--primary-color)}.panelset .paneltab{order:99;flex-grow:1;width:100%;display:none;padding:1rem;border:2px solid var(--focused-color);background-color:var(--panelset-color)}.panelset input[type=radio]{display:none}.panelset input[type=radio]:checked+label{border-bottom:2px solid var(--focused-color);border-left:1px solid var(--focused-color);background-color:var(--panelset-color);color:var(--on-background-color)}.panelset label:hover{border:2px solid var(--focused-color);color:var(--on-background-color);border-top-left-radius:.5em;border-top-right-radius:.5em}.panelset input[type=radio]:checked+label+.paneltab{display:block}@media screen and (max-width: 1199px){nav.top div{padding-left:2rem;padding-right:2rem}nav.bottom table .previous{padding-left:2rem}nav.bottom table .next{padding-right:2rem}}@media screen and (max-width: 767px){nav.top div{padding-left:1rem;padding-right:1rem}nav.bottom table .previous{padding-left:1rem}nav.bottom table .next{padding-right:1rem}}.xlink .source{border-bottom:1px dotted #000;cursor:pointer}.xlink-arc-list{display:inline;font-style:normal;cursor:pointer;font-size:70%}.xlink-arc-list.js::before{content:" "}.nhrefs.js .xlink-arc-delim{display:none}.nhrefs.js{font-style:normal;display:none;margin-left:4px;margin-right:0;padding-bottom:1em;border:2px solid var(--primary-variant-color);border-radius:4px;z-index:2;background-color:var(--primary-color);color:var(--on-primary-color)}.nhrefs.js .arc{display:list-item;margin-left:1.5em;padding-right:1em}.nhrefs.js .xlink-arc-title{display:block;background-color:#afafaf;margin-left:0;margin-bottom:.5em;text-align:center}.oxy_insert{background-color:transparent;color:#090}.oxy_insert::before{content:var(--revadded-before)}.oxy_insert::after{content:var(--revadded-after)}.oxy_delete{background-color:transparent;color:#c33;text-decoration:line-through}.oxy_delete::before{content:var(--revdeleted-before)}.oxy_delete::after{content:var(--revdeleted-after)}html.js .pagetoc{position:fixed;top:3rem;right:1em;width:18rem;font-size:95%;height:calc(100% - 5em);overflow:hidden}html.js .pagetoc .toggle{cursor:pointer}html.js .pagetoc a{text-decoration:none}html.js .tocwrapper{border-left:1px solid #aaa;padding-left:.25rem;line-height:1.5}html.js .pagetoc .ctrl{position:fixed;right:1em;z-index:2;opacity:1;height:0}html.js .tocwrapper .li::before{display:inline-block;content:" ";width:.75rem;text-indent:0}html.js .tocwrapper .li.active::before{content:"•";text-indent:0}html.js .tocwrapper .li{color:var(--primary-variant-color);margin-left:1.5rem;text-indent:-1.5rem;margin-top:.25rem}html.js .tocwrapper .li.active{color:var(--on-secondary-color)}html.js .tocwrapper .depth1{padding-left:1.5rem}html.js .tocwrapper .depth2{padding-left:2.5rem}html.js .tocwrapper .depth3{padding-left:3.5rem;font-size:80%}html.js .tocwrapper .depth4{padding-left:4rem;font-size:80%}html.js .tocwrapper .depth5{padding-left:4.5rem;font-size:80%}html.js .tocwrapper .depth6{padding-left:5rem;font-size:80%}@media screen and (max-width: 82rem){html.js .pagetoc{display:none}} diff --git a/guide/2.2.2/css/draft-left.png b/guide/2.2.2/css/draft-left.png new file mode 100644 index 0000000000..a92f1668c8 Binary files /dev/null and b/guide/2.2.2/css/draft-left.png differ diff --git a/guide/2.2.2/css/draft-left.svg b/guide/2.2.2/css/draft-left.svg new file mode 100644 index 0000000000..806f25f18e --- /dev/null +++ b/guide/2.2.2/css/draft-left.svg @@ -0,0 +1,1982 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/guide/2.2.2/css/draft-right.png b/guide/2.2.2/css/draft-right.png new file mode 100644 index 0000000000..937da5a6de Binary files /dev/null and b/guide/2.2.2/css/draft-right.png differ diff --git a/guide/2.2.2/css/draft-right.svg b/guide/2.2.2/css/draft-right.svg new file mode 100644 index 0000000000..867e8a105c --- /dev/null +++ b/guide/2.2.2/css/draft-right.svg @@ -0,0 +1,1983 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/guide/2.2.2/css/guide-epub.css b/guide/2.2.2/css/guide-epub.css new file mode 100644 index 0000000000..6c4f18e4ec --- /dev/null +++ b/guide/2.2.2/css/guide-epub.css @@ -0,0 +1,120 @@ +/* EPUB can't import them from the web */ + +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./fonts/JetBrainsMono-Regular.ttf) format('truetype'); +} +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./fonts/JetBrainsMono-Bold.ttf) format('truetype'); +} +@font-face { + font-family: 'JetBrains Mono'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./fonts/JetBrainsMono-Italic.ttf) format('truetype'); +} +@font-face { + font-family: 'JetBrains Mono'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./fonts/JetBrainsMono-BoldItalic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSans-Medium.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSans-Bold.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSans-Italic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSans-BoldItalic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Serif'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSerif-Regular.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Serif'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSerif-Bold.ttf) format('truetype'); +} + +@font-face { + font-family: 'Noto Serif'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSerif-Italic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Serif'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSerif-BoldItalic.ttf) format('truetype'); +} +:root { + --symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint"; + --body-family: "Noto Serif", serif, var(--symbol-fonts); + --title-family: "Noto Sans", sans-serif, var(--symbol-fonts); + --mono-family: "B612 Mono", monospace, var(--symbol-fonts); +} + +/* This looks ugly in EPUB */ +.revhistory { + page-break-before: always; + break-before: page; + background-color: inherit; + border-radius: inherit; +} + +.revhistory header { + page-break-inside: avoid; + page-break-after: avoid; + display: inherit; +} + +nav ol.toc { + list-style: none; +} + +.toc .toc { + margin-top: 0; +} + +nav ol.toc a, +nav ol.toc a:visited { + color: inherit; +} diff --git a/guide/2.2.2/css/guide-online.css b/guide/2.2.2/css/guide-online.css new file mode 100644 index 0000000000..6d884e0aa7 --- /dev/null +++ b/guide/2.2.2/css/guide-online.css @@ -0,0 +1,321 @@ +/* guide.css */ + +html { + font-size: 1.4rem; +} + +.book > header .fill { + display: grid; + grid-template-rows: auto 1fr auto; + grid-template-columns: 100%; + min-height: 640px; +} + +.book > header { + display: table; + padding: 0; + border-left: none; + border-right: none; + border-top: none; + border-bottom: 2px solid #afafaf; + border-radius: 0; + text-align: right; +} + +.book > header { + padding-bottom: 1rem; +} + +.book > header .cover { + display: table-row; +} + +.book > header .cover .image { + display: table-cell; + vertical-align: top; +} + +.book > header .cover .text { + display: table-cell; + vertical-align: top; +} + +.book > header h1 { + text-align: right; +} + +header img { + border: 1px solid black; + border-radius: 4px; + margin-right: 1rem; +} + +main { + max-width: 50rem; + margin-left: auto; + margin-right: auto; + padding-left: 1rem; +} + +.footnotes { + margin-left: 1rem; +} + +.a-detail { + margin-top: 1rem; + margin-bottom: 1rem; + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.a-detail div.prop { + padding-right: 1rem; +} + +/* ============================================================ */ + +nav.top { + margin-left: 0; + margin-right: 0; + padding-left: 0; + padding-right: 0; + width: 100%; + background-color: var(--tng-blue); + color: #fffff8; + text-align: center; +} + +nav.top .inactive { + color: #777777; +} + +nav.top .nav { + float: left; + margin-left: 0.25rem; + margin-left: 4rem; +} + +nav.top .title { + font-family: var(--title-family); +} + +nav.top .logo { + float: right; + font-size: 18px; + margin-right: 4rem; + display: inline-block; + padding-top: 6pt; +} + +nav.bottom { + background-color: var(--tng-blue); + border-top-style: solid; + border-top-width: 1px; + color: white; + display: grid; + font-size: 1.0rem; + margin-bottom: 0px; + margin-left: 0; + margin-right: 0; + margin-top: 3rem; + padding-bottom: 10px; + padding-left: 4rem; + padding-right: 4rem; +} + +.navrow { + display: grid; + grid-template-columns: 33% 34% 33%; +} + +.navleft { + text-align: left; + grid-column: 1; +} + +.navmiddle { + text-align: center; + grid-column: 2; +} + +.navright { + text-align: right; + grid-column: 3; +} + +.navrow .navtitle { + font-size: 18px; +} + +nav .version { + display: none; +} + +nav a, +nav a:visited { + color: #fffff8; +} + +nav.pagetoc a, +nav.pagetoc a:visited { + color: inherit; +} + +html.js .pagebody .tocwrapper { + font-size: 80%; +} + +.infofooter { + padding-top: 0.5rem; + font-size: 14px; +} + +.infofooter > .revision { + float: right; + display: none; +} + +.infofooter > .copyrightfooter { + float: left; +} + +nav.bottom img { + vertical-align: text-bottom; +} + +span.githash { + font-size: 90%; } + +div.copyrightfooter { + margin-top: 0px; + padding-top: 5px; + font-size: 14px; +} + +.revhistory { + background-color: var(--secondary-color); + border-radius: 0.5em; +} + +.revhistory code { + background-color: inherit; + border-color: var(--primary-variant-color); +} + +.revhistory header { + display: none; +} + +.revhistory > ul { + list-style: none; + padding-left: 0; +} + +.revnumber::before { + content: "Version "; +} + +.revhistory ul li div.revnumber { + margin-left: 2rem; +} + +.revhistory ul li div.revnumber { + text-indent: -1rem; +} + +.revhistory ul li div.revnumber::before { + content: "• "; +} + +.revhistory ul li div.revdescription { + margin-left: 1rem; +} + +@media screen and (max-width: 374px) { + .book header h1 { + font-size: 2rem; + } +} + +@media screen and (max-width: 599px) { + h1 { + font-size: 2rem; + } + + h2, h3, h4, h5 { + font-size: 1.5rem; + } + + nav.top .title { + display: none; + } +} + +@media screen and (max-width: 1199px) { + nav.top .nav { + margin-left: 2rem; + } + + nav.top .logo { + margin-right: 2rem; + } + + nav.bottom { + padding-left: 2rem; + padding-right: 2rem; + } + + .book > header { + font-size: 1rem; + line-height: 1.25; + } + + .book > header h1 { + font-size: 2.5rem; + } + + .cover img { + max-height: 480px; + } + + .book > header .fill { + min-height: 480px; + } +} + +@media screen and (max-width: 767px) { + nav.top .nav { + margin-left: 1rem; + } + + nav.top .logo { + margin-right: 1rem; + } + + nav.bottom { + padding-left: 1rem; + padding-right: 1rem; + } + + .book > header { + border: 2px solid #afafaf; + padding: 1rem; + } + + .book > header { + text-align: left; + } + + .book > header h1 { + text-align: left; + } + + .book > header .fill { + min-height: inherit; + } + + header img { + display: none; + } +} + diff --git a/guide/2.2.2/css/guide-paged.css b/guide/2.2.2/css/guide-paged.css new file mode 100644 index 0000000000..3e611fb064 --- /dev/null +++ b/guide/2.2.2/css/guide-paged.css @@ -0,0 +1,259 @@ +/* Paged media style for the guide */ + +/* AntennaHouse can't import them from the web. */ + +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./fonts/JetBrainsMono-Regular.ttf) format('truetype'); +} +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./fonts/JetBrainsMono-Bold.ttf) format('truetype'); +} +@font-face { + font-family: 'JetBrains Mono'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./fonts/JetBrainsMono-Italic.ttf) format('truetype'); +} +@font-face { + font-family: 'JetBrains Mono'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./fonts/JetBrainsMono-BoldItalic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSans-Medium.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSans-Bold.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSans-Italic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Sans'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSans-BoldItalic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Serif'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSerif-Regular.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Serif'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSerif-Bold.ttf) format('truetype'); +} + +@font-face { + font-family: 'Noto Serif'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./fonts/NotoSerif-Italic.ttf) format('truetype'); +} +@font-face { + font-family: 'Noto Serif'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./fonts/NotoSerif-BoldItalic.ttf) format('truetype'); +} +:root { + --symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint"; + --body-family: "Noto Serif", serif, var(--symbol-fonts); + --title-family: "Noto Sans", sans-serif, var(--symbol-fonts); + --mono-family: "B612 Mono", monospace, var(--symbol-fonts); +} + +@page title { + size: A4; + margin: 25mm; + @top-center { + content: ""; + } + @bottom-right { + content: ""; + } + @bottom-left { + content: ""; + } +} + +@page main:right { + size: A4; + margin-top: 25mm; + margin-bottom: 25mm; + margin-left: 30mm; + margin-right: 20mm; + @top-center { + content: "DocBook xslTNG Reference"; + } + @bottom-right { + content: counter(page) + } + @footnote { + float: bottom page; + border-top: thin solid black; + border-length: 30%; + padding-top: 0.5em; + } +} + +@page main:left { + size: A4; + margin-top: 25mm; + margin-bottom: 25mm; + margin-left: 20mm; + margin-right: 30mm; + @top-center { + content: "DocBook xslTNG Reference"; + } + @bottom-left { + content: counter(page) + } + @footnote { + float: bottom page; + border-top: thin solid black; + border-length: 30%; + padding-top: 0.5em; + } +} + +:root { + /* These work on A4 paper ... */ + --header-height: 240mm; + --fill-margin: 40mm; +} + +/* Don't force refentry elements onto an odd page */ +.book .refentry { + break-before: page; + page: normal-flow; +} + +.index-list { + column-count: 2; +} + +h2 { + string-set: none; +} + +header img { + text-align: center; +} + +.book .cover, +.book .cover .image { + width: 100%; +} + +.book .cover .image { + text-align: center; +} + +.book .cover img { + text-align: center; + margin-left: auto; + margin-right: auto; +} + +.book > header { + border: none; + height: 240mm; /* var(--header-height); */ +} + +.book > header h1 { + display: none; +} + +.book > header .authorgroup { + font-size: 16pt; +} + +.book > header .authorgroup .label { + display: none; +} + +.book > header .fill { + margin-top: 40mm; /* var(--fill-margin); */ + padding: 0; +} + +.admonition header { + margin-top: 1em; +} + +.a-detail div div { + padding: 0.25em; +} + +pre.screen { + page-break-before: avoid; +} + +@page A4-book-refentry-flow { + size: A4; + @footnote { + float: bottom page; + border-top: thin solid black; + border-length: 30%; + padding-top: 0.5em; + } +} + +@page A4-book-refentry-flow:right { + size: A4; + margin-left: var(--margin-inner); + margin-right: var(--margin-outer); + + @bottom-right { + content: counter(page); + } +} + +@page A4-book-refentry-flow:left { + size: A4; + margin-left: var(--margin-outer); + margin-right: var(--margin-inner); + + @bottom-left { + content: counter(page); + } +} + +/* Don't force refentrys onto right hand pages */ +html.book-style.A4 body .refentry { + break-before: page; + page: A4-book-refentry-flow; +} + diff --git a/guide/2.2.2/css/guide-toc.css b/guide/2.2.2/css/guide-toc.css new file mode 100644 index 0000000000..ec73bbfff5 --- /dev/null +++ b/guide/2.2.2/css/guide-toc.css @@ -0,0 +1,111 @@ +/* @@TITLE@@ version @@VERSION@@ + * + * This is guide-toc.css. + * + * See https://xsltng.docbook.org/ + * + */ + +nav.tocopen { + position: fixed; + width: 1.5em; + top: 6px; + right: 0; + color: inherit; + z-index: 1; + cursor: pointer; + color: #fffff8; + background-color: rgb(11, 0, 89); + font-size: 14pt; + display: none; +} + +.home nav.tocopen { + color: rgb(11, 0, 89); + background-color: #fffff8; +} + +nav.toc { + color: #fffffe; + height: 100%; + width: 0; + position: fixed; + z-index: 2; + top: 0; + right: 0; + background-color: rgb(114,105,155); + padding: 0; + margin: 0; + font-size: 12pt; + opacity: 1; + padding-left: 0; + display: flex; + flex-direction: column; +} + +nav.toc.slide { + transition: 0.33s; +} + +nav.toc > div { + flex: 1; +} + +@media only screen { + nav.toc { + overflow-x: scroll; + } +} + +nav.toc header { + height: 4rem; + font-family: "Noto Sans", sans-serif; + font-size: 1.25em; +} + +nav.toc header p.ptoc-search { + margin-top: 0; + margin-bottom: 0; + padding-bottom: 1rem; +} + +nav.toc header .close { + float: right; + cursor: pointer; + font-weight: bold; + font-size: 16pt; +} + +nav.toc ul.nav-title { + margin-top: 1em; + border-top: 1px solid var(--primary-variant-color); +} + +nav.toc li.nav-title { + margin-top: 0; + padding-top: 0; + padding-bottom: 0.25em; + font-family: var(--title-family); + font-size: 1.25em; +} + +@media only screen { + nav.toc div { + overflow: scroll; + } +} + +nav.toc a, +nav.toc a:visited { + color: inherit; + text-decoration: none; +} + +nav.toc .refpurpose { + display: none; +} + +nav.toc li { + text-indent: -1em; + padding-left: 1em; +} diff --git a/guide/2.2.2/css/guide.css b/guide/2.2.2/css/guide.css new file mode 100644 index 0000000000..16f468fb8b --- /dev/null +++ b/guide/2.2.2/css/guide.css @@ -0,0 +1,193 @@ +/* guide.css */ + +:root { + --tng-blue: rgb(11, 0, 89); + max-width: inherit; +} + +nav .title { + background-color: var(--tng-blue); + color: #ffffff; +} + +html { + padding-left: 0; + padding-right: 0; + margin-left: 0; + margin-right: 0; + max-width: inherit; +} + +body { + padding-left: 0; + padding-right: 0; + margin-left: 0; + margin-right: 0; +} + +header .copyright { + margin-bottom: 0; +} + +h2 { + font-size: 1.8rem; +} + +.refnamediv h2 { + font-size: 2.2rem; + margin-top: 0; +} + +.a-detail { + width: 100%; + font-size: 0.85rem; + display: table; + border: 1px solid #afafaf; +} + +.a-detail > div { + display: table-row; +} + +.a-detail > div > div { + display: table-cell; + border-bottom: 1px dotted #afafaf; +} + +.a-detail div.prop { + white-space: nowrap; + width: 4em; +} + +p .refname, +p .refname-sep, +p .refpurpose-sep { + display: none; +} + +.funcprototype .parameter { + font-family: inherit; + font-style: inherit; +} + +.informalfigure { + border: 2px solid #afafaf; + border-radius: 1em; + padding-left: 1em; + padding-right: 1em; +} + +.informalfigure .imageobject { + text-align: center; +} + +img { + max-width: 80%; +} + +.cover img { + max-width: inherit; +} + +.figure { + border: 2px solid #afafaf; + border-radius: 0.5em; + border-radius: 1em; + padding-left: 1em; + padding-right: 1em; +} + +.figure table { + margin-left: auto; + margin-right: auto; +} + +.figure .title { + text-align: center; +} + +.example { + border: 2px solid #afafaf; + border-radius: 0.5em; + padding-left: 1em; + padding-right: 1em; +} + +.example > .programlisting > .pre-wrap, +.example > .programlistingco > .pre-wrap, +.example > .pre-wrap { + margin-top: 0; + padding-top: 0; +} + +.funcname, +.varname, +.paramname { + white-space: nowrap; +} + +.todo { + font-size: 80%; + text-align: center; +} + +.property-table { + margin-bottom: 1em; + font-size: 80%; +} + +.property-table tr td, +.property-table tr th { + border: 1px solid #7f7f7f; +} + +.center { + text-align: center; +} + +/* screens always have a border */ +.screen, +.border { + border: 1px solid #afafaf; + border-radius: 4px; + width: 99%; +} + +/* unnumbered listings are always monochrome ... */ +pre.verblines span.line:nth-child(even) { + background-color: var(--verbatim-odd-background-color); +} + +pre.verblines.numbered span.line:nth-child(even) { + background-color: var(--verbatim-even-background-color); +} + +@media only screen { + pre.border { + overflow: scroll; + } +} + +pre.border .line .ld { + padding-left: 4px; +} + +span.obsolete { + text-decoration: line-through; +} + +.admonition { + break-inside: avoid; +} + +.pre-wrap { + font-size: 10pt; +} + +.screen { + break-inside: avoid; +} + +p code { + white-space: nowrap; +} diff --git a/guide/2.2.2/css/highlight-11.6.0.min.css b/guide/2.2.2/css/highlight-11.6.0.min.css new file mode 100644 index 0000000000..a75ea91162 --- /dev/null +++ b/guide/2.2.2/css/highlight-11.6.0.min.css @@ -0,0 +1,9 @@ +/*! + Theme: Default + Description: Original highlight.js style + Author: (c) Ivan Sagalaev + Maintainer: @highlightjs/core-team + Website: https://highlightjs.org/ + License: see project LICENSE + Touched: 2021 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#f3f3f3;color:#444}.hljs-comment{color:#697070}.hljs-punctuation,.hljs-tag{color:#444a}.hljs-tag .hljs-attr,.hljs-tag .hljs-name{color:#444}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#ab5656}.hljs-literal{color:#695}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} \ No newline at end of file diff --git a/guide/2.2.2/css/presentation.css b/guide/2.2.2/css/presentation.css new file mode 100644 index 0000000000..a1811cc7e9 --- /dev/null +++ b/guide/2.2.2/css/presentation.css @@ -0,0 +1,176 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is presentation.css. + * + * See https://xsltng.docbook.org/ + * + */ + +:root { + --default-font-size: 26pt; + --default-line-height: 1.5; +} + +main { + padding-top: 0.5rem; + max-width: none; + min-width: inherit; + margin-left: 4rem; + margin-right: 4rem; +} + +.inset-body > header > h1, +.inset-body > header > h2, +.inset-body > header > h3, +.inset-body > header > h4, +.inset-body > header > h5 { + margin-top: 0; +} + +article { + height: 100%; +} + +.inset-wrapper { + height: 100%; + min-height: 100%; + display: grid; + grid-template-rows: 1fr auto; + grid-template-columns: 100%; +} + +/* ============================================================ */ + +header { + text-align: center; +} + +.list-of-titles > .toc { + padding-top: 1rem; +} + +.list-of-titles .title { + display: none; +} + +/* +.list-of-titles a, +.list-of-titles a:visited { + text-decoration: none; +} +*/ + +.toc .toc .toc { + display: none; +} + +.toc .toc { + width: 50%; + margin-left: auto; + margin-right: auto; +} + +.toc .toc li:before { + content: "⮞ "; +} + +/* ============================================================ */ + +article { + display: none; +} + +.show { + display: block; +} + +nav.bottom .message { + padding-left: 1em; + float: left; + margin-bottom: 0.25em; +} + +nav.bottom .foilnav { + padding-right: 1em; + float: right; + margin-bottom: 0.25em; +} + +.speaker-notes { + display: none; +} + +.foilnav { + font-size: 18pt; +} + +.foilnav span { + padding-left: 0.25em; + color: #dddddd; +} + +.foilnav span.live { + color: #bbbbbb; +} + +.foilnav a, +.foilnav a:visited { + text-decoration: none; +} + +article .inset { + float: right; + width: 800px; + border: 4px solid #7f7f7f; + border-radius: 4px; + padding: 1em; + transform: scale(0.75); + transform-origin: top right; +} + +.speaker-notes-wrapper .speaker-notes { + display: block; +} + +/* ============================================================ */ + +.reveal { + display: none; +} + +ul.reveal, +ol.reveal { + display: block; +} + +.reveal > li { + display: none; +} + +.reveal > li:first-child { + display: list-item; +} + +.inset .reveal { + display: inherit; + background-color: #ffeeee; +} + +.inset ul.reveal, +.inset ol.reveal { + display: block; + background-color: #ffeeee; +} + +.inset .reveal > li { + display: list-item; + background-color: #ffeeee; +} + +.threedots { + font-size: 12pt; + color: #999999; + position: fixed; + left: 0; + bottom: 0; +} diff --git a/guide/2.2.2/css/prism.css b/guide/2.2.2/css/prism.css new file mode 100644 index 0000000000..f15fabee33 --- /dev/null +++ b/guide/2.2.2/css/prism.css @@ -0,0 +1,5 @@ +/* PrismJS 1.29.0 +http://localhost:9000/download.html#themes=prism&languages=markup+css+clike+javascript+apacheconf+bash+c+csharp+cpp+coffeescript+css-extras+diff+go+http+ini+ixml+java+javadoc+javadoclike+json+json5+jsonp+kotlin+less+lua+makefile+markdown+markup-templating+nginx+objectivec+perl+php+phpdoc+php-extras+plant-uml+powershell+python+ruby+rust+sass+scss+scala+sql+swift+typescript+xquery+yaml&plugins=line-highlight+line-numbers */ +code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} +pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)} +pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right} diff --git a/guide/2.2.2/css/pygments.css b/guide/2.2.2/css/pygments.css new file mode 100644 index 0000000000..c0726049c8 --- /dev/null +++ b/guide/2.2.2/css/pygments.css @@ -0,0 +1,217 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is pygments.css. This file is generated with Pygments. + * + * See https://xsltng.docbook.org/ + * + */ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #9C6500 } /* Comment.Preproc */ +.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #E40000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #008400 } /* Generic.Inserted */ +.highlight .go { color: #717171 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #687822 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #767600 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #A45A77 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.materials-dark .highlight .hll { background-color: #49483e } +.materials-dark .highlight { background: #232629; color: #cccccc } +.materials-dark .highlight .c { color: #777777; font-style: italic } /* Comment */ +.materials-dark .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.materials-dark .highlight .esc { color: #cccccc } /* Escape */ +.materials-dark .highlight .g { color: #cccccc } /* Generic */ +.materials-dark .highlight .k { color: #7686bb; font-weight: bold } /* Keyword */ +.materials-dark .highlight .l { color: #cccccc } /* Literal */ +.materials-dark .highlight .n { color: #cccccc } /* Name */ +.materials-dark .highlight .o { color: #cccccc } /* Operator */ +.materials-dark .highlight .x { color: #cccccc } /* Other */ +.materials-dark .highlight .p { color: #cccccc } /* Punctuation */ +.materials-dark .highlight .ch { color: #777777; font-style: italic } /* Comment.Hashbang */ +.materials-dark .highlight .cm { color: #777777; font-style: italic } /* Comment.Multiline */ +.materials-dark .highlight .cp { color: #777777; font-style: italic } /* Comment.Preproc */ +.materials-dark .highlight .cpf { color: #777777; font-style: italic } /* Comment.PreprocFile */ +.materials-dark .highlight .c1 { color: #777777; font-style: italic } /* Comment.Single */ +.materials-dark .highlight .cs { color: #777777; font-style: italic } /* Comment.Special */ +.materials-dark .highlight .gd { color: #cccccc } /* Generic.Deleted */ +.materials-dark .highlight .ge { color: #cccccc } /* Generic.Emph */ +.materials-dark .highlight .gr { color: #cccccc } /* Generic.Error */ +.materials-dark .highlight .gh { color: #cccccc } /* Generic.Heading */ +.materials-dark .highlight .gi { color: #cccccc } /* Generic.Inserted */ +.materials-dark .highlight .go { color: #cccccc } /* Generic.Output */ +.materials-dark .highlight .gp { color: #ffffff } /* Generic.Prompt */ +.materials-dark .highlight .gs { color: #cccccc } /* Generic.Strong */ +.materials-dark .highlight .gu { color: #cccccc } /* Generic.Subheading */ +.materials-dark .highlight .gt { color: #cccccc } /* Generic.Traceback */ +.materials-dark .highlight .kc { color: #7686bb; font-weight: bold } /* Keyword.Constant */ +.materials-dark .highlight .kd { color: #7686bb; font-weight: bold } /* Keyword.Declaration */ +.materials-dark .highlight .kn { color: #7686bb; font-weight: bold } /* Keyword.Namespace */ +.materials-dark .highlight .kp { color: #7686bb; font-weight: bold } /* Keyword.Pseudo */ +.materials-dark .highlight .kr { color: #7686bb; font-weight: bold } /* Keyword.Reserved */ +.materials-dark .highlight .kt { color: #7686bb; font-weight: bold } /* Keyword.Type */ +.materials-dark .highlight .ld { color: #cccccc } /* Literal.Date */ +.materials-dark .highlight .m { color: #4FB8CC } /* Literal.Number */ +.materials-dark .highlight .s { color: #51cc99 } /* Literal.String */ +.materials-dark .highlight .na { color: #cccccc } /* Name.Attribute */ +.materials-dark .highlight .nb { color: #cccccc } /* Name.Builtin */ +.materials-dark .highlight .nc { color: #cccccc } /* Name.Class */ +.materials-dark .highlight .no { color: #cccccc } /* Name.Constant */ +.materials-dark .highlight .nd { color: #cccccc } /* Name.Decorator */ +.materials-dark .highlight .ni { color: #cccccc } /* Name.Entity */ +.materials-dark .highlight .ne { color: #cccccc } /* Name.Exception */ +.materials-dark .highlight .nf { color: #6a6aff } /* Name.Function */ +.materials-dark .highlight .nl { color: #cccccc } /* Name.Label */ +.materials-dark .highlight .nn { color: #cccccc } /* Name.Namespace */ +.materials-dark .highlight .nx { color: #e2828e } /* Name.Other */ +.materials-dark .highlight .py { color: #cccccc } /* Name.Property */ +.materials-dark .highlight .nt { color: #cccccc } /* Name.Tag */ +.materials-dark .highlight .nv { color: #7AB4DB; font-weight: bold } /* Name.Variable */ +.materials-dark .highlight .ow { color: #cccccc } /* Operator.Word */ +.materials-dark .highlight .pm { color: #cccccc } /* Punctuation.Marker */ +.materials-dark .highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.materials-dark .highlight .mb { color: #4FB8CC } /* Literal.Number.Bin */ +.materials-dark .highlight .mf { color: #4FB8CC } /* Literal.Number.Float */ +.materials-dark .highlight .mh { color: #4FB8CC } /* Literal.Number.Hex */ +.materials-dark .highlight .mi { color: #4FB8CC } /* Literal.Number.Integer */ +.materials-dark .highlight .mo { color: #4FB8CC } /* Literal.Number.Oct */ +.materials-dark .highlight .sa { color: #51cc99 } /* Literal.String.Affix */ +.materials-dark .highlight .sb { color: #51cc99 } /* Literal.String.Backtick */ +.materials-dark .highlight .sc { color: #51cc99 } /* Literal.String.Char */ +.materials-dark .highlight .dl { color: #51cc99 } /* Literal.String.Delimiter */ +.materials-dark .highlight .sd { color: #51cc99 } /* Literal.String.Doc */ +.materials-dark .highlight .s2 { color: #51cc99 } /* Literal.String.Double */ +.materials-dark .highlight .se { color: #51cc99 } /* Literal.String.Escape */ +.materials-dark .highlight .sh { color: #51cc99 } /* Literal.String.Heredoc */ +.materials-dark .highlight .si { color: #51cc99 } /* Literal.String.Interpol */ +.materials-dark .highlight .sx { color: #51cc99 } /* Literal.String.Other */ +.materials-dark .highlight .sr { color: #51cc99 } /* Literal.String.Regex */ +.materials-dark .highlight .s1 { color: #51cc99 } /* Literal.String.Single */ +.materials-dark .highlight .ss { color: #51cc99 } /* Literal.String.Symbol */ +.materials-dark .highlight .bp { color: #cccccc } /* Name.Builtin.Pseudo */ +.materials-dark .highlight .fm { color: #6a6aff } /* Name.Function.Magic */ +.materials-dark .highlight .vc { color: #7AB4DB; font-weight: bold } /* Name.Variable.Class */ +.materials-dark .highlight .vg { color: #BE646C; font-weight: bold } /* Name.Variable.Global */ +.materials-dark .highlight .vi { color: #7AB4DB; font-weight: bold } /* Name.Variable.Instance */ +.materials-dark .highlight .vm { color: #7AB4DB; font-weight: bold } /* Name.Variable.Magic */ +.materials-dark .highlight .il { color: #4FB8CC } /* Literal.Number.Integer.Long */ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.materials-light .highlight .hll { background-color: #ffffcc } +.materials-light .highlight { background: #ffffff; color: #111111 } +.materials-light .highlight .c { color: #008800; font-style: italic } /* Comment */ +.materials-light .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.materials-light .highlight .k { color: #353580; font-weight: bold } /* Keyword */ +.materials-light .highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */ +.materials-light .highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */ +.materials-light .highlight .cp { color: #008800; font-style: italic } /* Comment.Preproc */ +.materials-light .highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */ +.materials-light .highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */ +.materials-light .highlight .cs { color: #008800; font-style: italic } /* Comment.Special */ +.materials-light .highlight .kc { color: #353580; font-weight: bold } /* Keyword.Constant */ +.materials-light .highlight .kd { color: #353580; font-weight: bold } /* Keyword.Declaration */ +.materials-light .highlight .kn { color: #353580; font-weight: bold } /* Keyword.Namespace */ +.materials-light .highlight .kp { color: #353580; font-weight: bold } /* Keyword.Pseudo */ +.materials-light .highlight .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ +.materials-light .highlight .kt { color: #353580; font-weight: bold } /* Keyword.Type */ +.materials-light .highlight .m { color: #2c2cff } /* Literal.Number */ +.materials-light .highlight .s { color: #7a2424 } /* Literal.String */ +.materials-light .highlight .nf { color: #2c2cff } /* Name.Function */ +.materials-light .highlight .nx { color: #be646c } /* Name.Other */ +.materials-light .highlight .nv { color: #35baba; font-weight: bold } /* Name.Variable */ +.materials-light .highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.materials-light .highlight .mb { color: #2c2cff } /* Literal.Number.Bin */ +.materials-light .highlight .mf { color: #2c2cff } /* Literal.Number.Float */ +.materials-light .highlight .mh { color: #2c2cff } /* Literal.Number.Hex */ +.materials-light .highlight .mi { color: #2c2cff } /* Literal.Number.Integer */ +.materials-light .highlight .mo { color: #2c2cff } /* Literal.Number.Oct */ +.materials-light .highlight .sa { color: #7a2424 } /* Literal.String.Affix */ +.materials-light .highlight .sb { color: #7a2424 } /* Literal.String.Backtick */ +.materials-light .highlight .sc { color: #7a2424 } /* Literal.String.Char */ +.materials-light .highlight .dl { color: #7a2424 } /* Literal.String.Delimiter */ +.materials-light .highlight .sd { color: #7a2424 } /* Literal.String.Doc */ +.materials-light .highlight .s2 { color: #7a2424 } /* Literal.String.Double */ +.materials-light .highlight .se { color: #7a2424 } /* Literal.String.Escape */ +.materials-light .highlight .sh { color: #7a2424 } /* Literal.String.Heredoc */ +.materials-light .highlight .si { color: #7a2424 } /* Literal.String.Interpol */ +.materials-light .highlight .sx { color: #7a2424 } /* Literal.String.Other */ +.materials-light .highlight .sr { color: #7a2424 } /* Literal.String.Regex */ +.materials-light .highlight .s1 { color: #7a2424 } /* Literal.String.Single */ +.materials-light .highlight .ss { color: #7a2424 } /* Literal.String.Symbol */ +.materials-light .highlight .fm { color: #2c2cff } /* Name.Function.Magic */ +.materials-light .highlight .vc { color: #35baba; font-weight: bold } /* Name.Variable.Class */ +.materials-light .highlight .vg { color: #b5565e; font-weight: bold } /* Name.Variable.Global */ +.materials-light .highlight .vi { color: #35baba; font-weight: bold } /* Name.Variable.Instance */ +.materials-light .highlight .vm { color: #35baba; font-weight: bold } /* Name.Variable.Magic */ +.materials-light .highlight .il { color: #2c2cff } /* Literal.Number.Integer.Long */ diff --git a/guide/2.2.2/css/vendor-ahf-landscape.css b/guide/2.2.2/css/vendor-ahf-landscape.css new file mode 100644 index 0000000000..b0cb6551b2 --- /dev/null +++ b/guide/2.2.2/css/vendor-ahf-landscape.css @@ -0,0 +1,164 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */ +/* ============================================================ */ +/* Support for landscape orientation of figures and tables */ +html.article-style.A4 body .db-bfs.portrait, +html.article-style.A4 body .division.portrait, +html.article-style.A4 body .component.portrait, +html.article-style.A4 body .section.portrait, +html.article-style.A4 body .formalobject.portrait, +html.article-style.A4 body .informalobject.portrait, +html.article-style.A4 body .list-of-titles.portrait { + page: A4-article-flow-landscape; +} + +html.article-style.A4 body .db-bfs.draft.portrait, +html.article-style.A4 body .division.draft.portrait, +html.article-style.A4 body .component.draft.portrait, +html.article-style.A4 body .section.draft.portrait, +html.article-style.A4 body .formalobject.draft.portrait, +html.article-style.A4 body .informalobject.draft.portrait, +html.article-style.A4 body .list-of-titles.draft.portrait { + page: A4-article-flow-draft-landscape; +} + +html.article-style.A5 body .db-bfs.portrait, +html.article-style.A5 body .division.portrait, +html.article-style.A5 body .component.portrait, +html.article-style.A5 body .section.portrait, +html.article-style.A5 body .formalobject.portrait, +html.article-style.A5 body .informalobject.portrait, +html.article-style.A5 body .list-of-titles.portrait { + page: A5-article-flow-landscape; +} + +html.article-style.A5 body .db-bfs.draft.portrait, +html.article-style.A5 body .division.draft.portrait, +html.article-style.A5 body .component.draft.portrait, +html.article-style.A5 body .section.draft.portrait, +html.article-style.A5 body .formalobject.draft.portrait, +html.article-style.A5 body .informalobject.draft.portrait, +html.article-style.A5 body .list-of-titles.draft.portrait { + page: A5-article-flow-draft-landscape; +} + +html.article-style.Letter body .db-bfs.portrait, +html.article-style.Letter body .division.portrait, +html.article-style.Letter body .component.portrait, +html.article-style.Letter body .section.portrait, +html.article-style.Letter body .formalobject.portrait, +html.article-style.Letter body .informalobject.portrait, +html.article-style.Letter body .list-of-titles.portrait { + page: Letter-article-flow-landscape; +} + +html.article-style.Letter body .db-bfs.draft.portrait, +html.article-style.Letter body .division.draft.portrait, +html.article-style.Letter body .component.draft.portrait, +html.article-style.Letter body .section.draft.portrait, +html.article-style.Letter body .formalobject.draft.portrait, +html.article-style.Letter body .informalobject.draft.portrait, +html.article-style.Letter body .list-of-titles.draft.portrait { + page: Letter-article-flow-draft-landscape; +} + +html.book-style.A4 body .division, +html.book-style.A4 body .component, +html.book-style.A4 body .list-of-titles { + break-before: right; +} + +html.book-style.A4 body .division.portrait, +html.book-style.A4 body .component.portrait, +html.book-style.A4 body .list-of-titles.portrait { + page: A4-book-flow-landscape; +} + +html.book-style.A4 body .section.portrait, +html.book-style.A4 body .formalobject.portrait, +html.book-style.A4 body .informalobject.portrait { + page: A4-book-flow-landscape; +} + +html.book-style.A4 body .division.draft.portrait, +html.book-style.A4 body .component.draft.portrait, +html.book-style.A4 body .list-of-titles.draft.portrait { + break-before: right; + page: A4-book-draft-landscape; +} + +html.book-style.A4 body .section.draft.portrait, +html.book-style.A4 body .formalobject.draft.portrait, +html.book-style.A4 body .informalobject.draft.portrait { + page: A4-book-draft-landscape; +} + +html.book-style.A5 body .division, +html.book-style.A5 body .component, +html.book-style.A5 body .list-of-titles { + break-before: right; +} + +html.book-style.A5 body .division.portrait, +html.book-style.A5 body .component.portrait, +html.book-style.A5 body .list-of-titles.portrait { + page: A5-book-flow-landscape; +} + +html.book-style.A5 body .section.portrait, +html.book-style.A5 body .formalobject.portrait, +html.book-style.A5 body .informalobject.portrait { + page: A5-book-flow-landscape; +} + +html.book-style.A5 body .division.draft.portrait, +html.book-style.A5 body .component.draft.portrait, +html.book-style.A5 body .list-of-titles.draft.portrait { + break-before: right; + page: A5-book-draft-landscape; +} + +html.book-style.A5 body .section.draft.portrait, +html.book-style.A5 body .formalobject.draft.portrait, +html.book-style.A5 body .informalobject.draft.portrait { + page: A5-book-draft-landscape; +} + +html.book-style.Letter body .division, +html.book-style.Letter body .component, +html.book-style.Letter body .list-of-titles { + break-before: right; +} + +html.book-style.Letter body .division.portrait, +html.book-style.Letter body .component.portrait, +html.book-style.Letter body .list-of-titles.portrait { + page: Letter-book-flow-landscape; +} + +html.book-style.Letter body .section.portrait, +html.book-style.Letter body .formalobject.portrait, +html.book-style.Letter body .informalobject.portrait { + page: Letter-book-flow-landscape; +} + +html.book-style.Letter body .division.draft.portrait, +html.book-style.Letter body .component.draft.portrait, +html.book-style.Letter body .list-of-titles.draft.portrait { + break-before: right; + page: Letter-book-draft-landscape; +} + +html.book-style.Letter body .section.draft.portrait, +html.book-style.Letter body .formalobject.draft.portrait, +html.book-style.Letter body .informalobject.draft.portrait { + page: Letter-book-draft-landscape; +} + +.portrait { + break-before: page; + break-after: page; + -ah-reference-orientation: 90; + width: 100%; + margin-bottom: 0; + margin-top: auto; +} diff --git a/guide/2.2.2/css/vendor-ahf-landscape.min.css b/guide/2.2.2/css/vendor-ahf-landscape.min.css new file mode 100644 index 0000000000..e2471d47f1 --- /dev/null +++ b/guide/2.2.2/css/vendor-ahf-landscape.min.css @@ -0,0 +1 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */html.article-style.A4 body .db-bfs.portrait,html.article-style.A4 body .division.portrait,html.article-style.A4 body .component.portrait,html.article-style.A4 body .section.portrait,html.article-style.A4 body .formalobject.portrait,html.article-style.A4 body .informalobject.portrait,html.article-style.A4 body .list-of-titles.portrait{page:A4-article-flow-landscape}html.article-style.A4 body .db-bfs.draft.portrait,html.article-style.A4 body .division.draft.portrait,html.article-style.A4 body .component.draft.portrait,html.article-style.A4 body .section.draft.portrait,html.article-style.A4 body .formalobject.draft.portrait,html.article-style.A4 body .informalobject.draft.portrait,html.article-style.A4 body .list-of-titles.draft.portrait{page:A4-article-flow-draft-landscape}html.article-style.A5 body .db-bfs.portrait,html.article-style.A5 body .division.portrait,html.article-style.A5 body .component.portrait,html.article-style.A5 body .section.portrait,html.article-style.A5 body .formalobject.portrait,html.article-style.A5 body .informalobject.portrait,html.article-style.A5 body .list-of-titles.portrait{page:A5-article-flow-landscape}html.article-style.A5 body .db-bfs.draft.portrait,html.article-style.A5 body .division.draft.portrait,html.article-style.A5 body .component.draft.portrait,html.article-style.A5 body .section.draft.portrait,html.article-style.A5 body .formalobject.draft.portrait,html.article-style.A5 body .informalobject.draft.portrait,html.article-style.A5 body .list-of-titles.draft.portrait{page:A5-article-flow-draft-landscape}html.article-style.Letter body .db-bfs.portrait,html.article-style.Letter body .division.portrait,html.article-style.Letter body .component.portrait,html.article-style.Letter body .section.portrait,html.article-style.Letter body .formalobject.portrait,html.article-style.Letter body .informalobject.portrait,html.article-style.Letter body .list-of-titles.portrait{page:Letter-article-flow-landscape}html.article-style.Letter body .db-bfs.draft.portrait,html.article-style.Letter body .division.draft.portrait,html.article-style.Letter body .component.draft.portrait,html.article-style.Letter body .section.draft.portrait,html.article-style.Letter body .formalobject.draft.portrait,html.article-style.Letter body .informalobject.draft.portrait,html.article-style.Letter body .list-of-titles.draft.portrait{page:Letter-article-flow-draft-landscape}html.book-style.A4 body .division,html.book-style.A4 body .component,html.book-style.A4 body .list-of-titles{break-before:right}html.book-style.A4 body .division.portrait,html.book-style.A4 body .component.portrait,html.book-style.A4 body .list-of-titles.portrait{page:A4-book-flow-landscape}html.book-style.A4 body .section.portrait,html.book-style.A4 body .formalobject.portrait,html.book-style.A4 body .informalobject.portrait{page:A4-book-flow-landscape}html.book-style.A4 body .division.draft.portrait,html.book-style.A4 body .component.draft.portrait,html.book-style.A4 body .list-of-titles.draft.portrait{break-before:right;page:A4-book-draft-landscape}html.book-style.A4 body .section.draft.portrait,html.book-style.A4 body .formalobject.draft.portrait,html.book-style.A4 body .informalobject.draft.portrait{page:A4-book-draft-landscape}html.book-style.A5 body .division,html.book-style.A5 body .component,html.book-style.A5 body .list-of-titles{break-before:right}html.book-style.A5 body .division.portrait,html.book-style.A5 body .component.portrait,html.book-style.A5 body .list-of-titles.portrait{page:A5-book-flow-landscape}html.book-style.A5 body .section.portrait,html.book-style.A5 body .formalobject.portrait,html.book-style.A5 body .informalobject.portrait{page:A5-book-flow-landscape}html.book-style.A5 body .division.draft.portrait,html.book-style.A5 body .component.draft.portrait,html.book-style.A5 body .list-of-titles.draft.portrait{break-before:right;page:A5-book-draft-landscape}html.book-style.A5 body .section.draft.portrait,html.book-style.A5 body .formalobject.draft.portrait,html.book-style.A5 body .informalobject.draft.portrait{page:A5-book-draft-landscape}html.book-style.Letter body .division,html.book-style.Letter body .component,html.book-style.Letter body .list-of-titles{break-before:right}html.book-style.Letter body .division.portrait,html.book-style.Letter body .component.portrait,html.book-style.Letter body .list-of-titles.portrait{page:Letter-book-flow-landscape}html.book-style.Letter body .section.portrait,html.book-style.Letter body .formalobject.portrait,html.book-style.Letter body .informalobject.portrait{page:Letter-book-flow-landscape}html.book-style.Letter body .division.draft.portrait,html.book-style.Letter body .component.draft.portrait,html.book-style.Letter body .list-of-titles.draft.portrait{break-before:right;page:Letter-book-draft-landscape}html.book-style.Letter body .section.draft.portrait,html.book-style.Letter body .formalobject.draft.portrait,html.book-style.Letter body .informalobject.draft.portrait{page:Letter-book-draft-landscape}.portrait{break-before:page;break-after:page;-ah-reference-orientation:90;width:100%;margin-bottom:0;margin-top:auto} diff --git a/guide/2.2.2/css/vendor-ahf-portrait.css b/guide/2.2.2/css/vendor-ahf-portrait.css new file mode 100644 index 0000000000..0159f78dd6 --- /dev/null +++ b/guide/2.2.2/css/vendor-ahf-portrait.css @@ -0,0 +1,164 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */ +/* ============================================================ */ +/* Support for landscape orientation of figures and tables */ +html.article-style.A4 body .db-bfs.landscape, +html.article-style.A4 body .division.landscape, +html.article-style.A4 body .component.landscape, +html.article-style.A4 body .section.landscape, +html.article-style.A4 body .formalobject.landscape, +html.article-style.A4 body .informalobject.landscape, +html.article-style.A4 body .list-of-titles.landscape { + page: A4-article-flow-portrait; +} + +html.article-style.A4 body .db-bfs.draft.landscape, +html.article-style.A4 body .division.draft.landscape, +html.article-style.A4 body .component.draft.landscape, +html.article-style.A4 body .section.draft.landscape, +html.article-style.A4 body .formalobject.draft.landscape, +html.article-style.A4 body .informalobject.draft.landscape, +html.article-style.A4 body .list-of-titles.draft.landscape { + page: A4-article-flow-draft-portrait; +} + +html.article-style.A5 body .db-bfs.landscape, +html.article-style.A5 body .division.landscape, +html.article-style.A5 body .component.landscape, +html.article-style.A5 body .section.landscape, +html.article-style.A5 body .formalobject.landscape, +html.article-style.A5 body .informalobject.landscape, +html.article-style.A5 body .list-of-titles.landscape { + page: A5-article-flow-portrait; +} + +html.article-style.A5 body .db-bfs.draft.landscape, +html.article-style.A5 body .division.draft.landscape, +html.article-style.A5 body .component.draft.landscape, +html.article-style.A5 body .section.draft.landscape, +html.article-style.A5 body .formalobject.draft.landscape, +html.article-style.A5 body .informalobject.draft.landscape, +html.article-style.A5 body .list-of-titles.draft.landscape { + page: A5-article-flow-draft-portrait; +} + +html.article-style.Letter body .db-bfs.landscape, +html.article-style.Letter body .division.landscape, +html.article-style.Letter body .component.landscape, +html.article-style.Letter body .section.landscape, +html.article-style.Letter body .formalobject.landscape, +html.article-style.Letter body .informalobject.landscape, +html.article-style.Letter body .list-of-titles.landscape { + page: Letter-article-flow-portrait; +} + +html.article-style.Letter body .db-bfs.draft.landscape, +html.article-style.Letter body .division.draft.landscape, +html.article-style.Letter body .component.draft.landscape, +html.article-style.Letter body .section.draft.landscape, +html.article-style.Letter body .formalobject.draft.landscape, +html.article-style.Letter body .informalobject.draft.landscape, +html.article-style.Letter body .list-of-titles.draft.landscape { + page: Letter-article-flow-draft-portrait; +} + +html.book-style.A4 body .division, +html.book-style.A4 body .component, +html.book-style.A4 body .list-of-titles { + break-before: right; +} + +html.book-style.A4 body .division.landscape, +html.book-style.A4 body .component.landscape, +html.book-style.A4 body .list-of-titles.landscape { + page: A4-book-flow-portrait; +} + +html.book-style.A4 body .section.landscape, +html.book-style.A4 body .formalobject.landscape, +html.book-style.A4 body .informalobject.landscape { + page: A4-book-flow-portrait; +} + +html.book-style.A4 body .division.draft.landscape, +html.book-style.A4 body .component.draft.landscape, +html.book-style.A4 body .list-of-titles.draft.landscape { + break-before: right; + page: A4-book-draft-portrait; +} + +html.book-style.A4 body .section.draft.landscape, +html.book-style.A4 body .formalobject.draft.landscape, +html.book-style.A4 body .informalobject.draft.landscape { + page: A4-book-draft-portrait; +} + +html.book-style.A5 body .division, +html.book-style.A5 body .component, +html.book-style.A5 body .list-of-titles { + break-before: right; +} + +html.book-style.A5 body .division.landscape, +html.book-style.A5 body .component.landscape, +html.book-style.A5 body .list-of-titles.landscape { + page: A5-book-flow-portrait; +} + +html.book-style.A5 body .section.landscape, +html.book-style.A5 body .formalobject.landscape, +html.book-style.A5 body .informalobject.landscape { + page: A5-book-flow-portrait; +} + +html.book-style.A5 body .division.draft.landscape, +html.book-style.A5 body .component.draft.landscape, +html.book-style.A5 body .list-of-titles.draft.landscape { + break-before: right; + page: A5-book-draft-portrait; +} + +html.book-style.A5 body .section.draft.landscape, +html.book-style.A5 body .formalobject.draft.landscape, +html.book-style.A5 body .informalobject.draft.landscape { + page: A5-book-draft-portrait; +} + +html.book-style.Letter body .division, +html.book-style.Letter body .component, +html.book-style.Letter body .list-of-titles { + break-before: right; +} + +html.book-style.Letter body .division.landscape, +html.book-style.Letter body .component.landscape, +html.book-style.Letter body .list-of-titles.landscape { + page: Letter-book-flow-portrait; +} + +html.book-style.Letter body .section.landscape, +html.book-style.Letter body .formalobject.landscape, +html.book-style.Letter body .informalobject.landscape { + page: Letter-book-flow-portrait; +} + +html.book-style.Letter body .division.draft.landscape, +html.book-style.Letter body .component.draft.landscape, +html.book-style.Letter body .list-of-titles.draft.landscape { + break-before: right; + page: Letter-book-draft-portrait; +} + +html.book-style.Letter body .section.draft.landscape, +html.book-style.Letter body .formalobject.draft.landscape, +html.book-style.Letter body .informalobject.draft.landscape { + page: Letter-book-draft-portrait; +} + +.landscape { + break-before: page; + break-after: page; + -ah-reference-orientation: 90; + width: 100%; + margin-bottom: 0; + margin-top: auto; +} diff --git a/guide/2.2.2/css/vendor-ahf-portrait.min.css b/guide/2.2.2/css/vendor-ahf-portrait.min.css new file mode 100644 index 0000000000..bd2342fba7 --- /dev/null +++ b/guide/2.2.2/css/vendor-ahf-portrait.min.css @@ -0,0 +1 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT, https://xsltng.docbook.org */html.article-style.A4 body .db-bfs.landscape,html.article-style.A4 body .division.landscape,html.article-style.A4 body .component.landscape,html.article-style.A4 body .section.landscape,html.article-style.A4 body .formalobject.landscape,html.article-style.A4 body .informalobject.landscape,html.article-style.A4 body .list-of-titles.landscape{page:A4-article-flow-portrait}html.article-style.A4 body .db-bfs.draft.landscape,html.article-style.A4 body .division.draft.landscape,html.article-style.A4 body .component.draft.landscape,html.article-style.A4 body .section.draft.landscape,html.article-style.A4 body .formalobject.draft.landscape,html.article-style.A4 body .informalobject.draft.landscape,html.article-style.A4 body .list-of-titles.draft.landscape{page:A4-article-flow-draft-portrait}html.article-style.A5 body .db-bfs.landscape,html.article-style.A5 body .division.landscape,html.article-style.A5 body .component.landscape,html.article-style.A5 body .section.landscape,html.article-style.A5 body .formalobject.landscape,html.article-style.A5 body .informalobject.landscape,html.article-style.A5 body .list-of-titles.landscape{page:A5-article-flow-portrait}html.article-style.A5 body .db-bfs.draft.landscape,html.article-style.A5 body .division.draft.landscape,html.article-style.A5 body .component.draft.landscape,html.article-style.A5 body .section.draft.landscape,html.article-style.A5 body .formalobject.draft.landscape,html.article-style.A5 body .informalobject.draft.landscape,html.article-style.A5 body .list-of-titles.draft.landscape{page:A5-article-flow-draft-portrait}html.article-style.Letter body .db-bfs.landscape,html.article-style.Letter body .division.landscape,html.article-style.Letter body .component.landscape,html.article-style.Letter body .section.landscape,html.article-style.Letter body .formalobject.landscape,html.article-style.Letter body .informalobject.landscape,html.article-style.Letter body .list-of-titles.landscape{page:Letter-article-flow-portrait}html.article-style.Letter body .db-bfs.draft.landscape,html.article-style.Letter body .division.draft.landscape,html.article-style.Letter body .component.draft.landscape,html.article-style.Letter body .section.draft.landscape,html.article-style.Letter body .formalobject.draft.landscape,html.article-style.Letter body .informalobject.draft.landscape,html.article-style.Letter body .list-of-titles.draft.landscape{page:Letter-article-flow-draft-portrait}html.book-style.A4 body .division,html.book-style.A4 body .component,html.book-style.A4 body .list-of-titles{break-before:right}html.book-style.A4 body .division.landscape,html.book-style.A4 body .component.landscape,html.book-style.A4 body .list-of-titles.landscape{page:A4-book-flow-portrait}html.book-style.A4 body .section.landscape,html.book-style.A4 body .formalobject.landscape,html.book-style.A4 body .informalobject.landscape{page:A4-book-flow-portrait}html.book-style.A4 body .division.draft.landscape,html.book-style.A4 body .component.draft.landscape,html.book-style.A4 body .list-of-titles.draft.landscape{break-before:right;page:A4-book-draft-portrait}html.book-style.A4 body .section.draft.landscape,html.book-style.A4 body .formalobject.draft.landscape,html.book-style.A4 body .informalobject.draft.landscape{page:A4-book-draft-portrait}html.book-style.A5 body .division,html.book-style.A5 body .component,html.book-style.A5 body .list-of-titles{break-before:right}html.book-style.A5 body .division.landscape,html.book-style.A5 body .component.landscape,html.book-style.A5 body .list-of-titles.landscape{page:A5-book-flow-portrait}html.book-style.A5 body .section.landscape,html.book-style.A5 body .formalobject.landscape,html.book-style.A5 body .informalobject.landscape{page:A5-book-flow-portrait}html.book-style.A5 body .division.draft.landscape,html.book-style.A5 body .component.draft.landscape,html.book-style.A5 body .list-of-titles.draft.landscape{break-before:right;page:A5-book-draft-portrait}html.book-style.A5 body .section.draft.landscape,html.book-style.A5 body .formalobject.draft.landscape,html.book-style.A5 body .informalobject.draft.landscape{page:A5-book-draft-portrait}html.book-style.Letter body .division,html.book-style.Letter body .component,html.book-style.Letter body .list-of-titles{break-before:right}html.book-style.Letter body .division.landscape,html.book-style.Letter body .component.landscape,html.book-style.Letter body .list-of-titles.landscape{page:Letter-book-flow-portrait}html.book-style.Letter body .section.landscape,html.book-style.Letter body .formalobject.landscape,html.book-style.Letter body .informalobject.landscape{page:Letter-book-flow-portrait}html.book-style.Letter body .division.draft.landscape,html.book-style.Letter body .component.draft.landscape,html.book-style.Letter body .list-of-titles.draft.landscape{break-before:right;page:Letter-book-draft-portrait}html.book-style.Letter body .section.draft.landscape,html.book-style.Letter body .formalobject.draft.landscape,html.book-style.Letter body .informalobject.draft.landscape{page:Letter-book-draft-portrait}.landscape{break-before:page;break-after:page;-ah-reference-orientation:90;width:100%;margin-bottom:0;margin-top:auto} diff --git a/guide/2.2.2/ext_cwd.html b/guide/2.2.2/ext_cwd.html new file mode 100644 index 0000000000..634584df38 --- /dev/null +++ b/guide/2.2.2/ext_cwd.html @@ -0,0 +1,5 @@ +ext:cwd

ext:cwd

ext:cwd — Returns the current working directory.

Function:
{http://docbook.org/extensions/xslt}cwd#0

Synopsis

ext:cwd() as xs:string

Description

+ +

This extension function returns the current working directory from which +the processor was executed.

+
\ No newline at end of file diff --git a/guide/2.2.2/ext_image-metadata.html b/guide/2.2.2/ext_image-metadata.html new file mode 100644 index 0000000000..5bec050901 --- /dev/null +++ b/guide/2.2.2/ext_image-metadata.html @@ -0,0 +1,44 @@ +ext:image-metadata

ext:image-metadata

ext:image-metadata — Return intrinsic properties of an image.

Function:
{http://docbook.org/extensions/xslt}image-metadata#1

Synopsis

ext:image-metadata($filename as xs:string) as map(*)

Description

+ +

This extension function returns a map of metadata properties +about the image, including its intrinsic size: +its width and height in pixels. If the size can be determined, the map +returned will have a “width” key whose value is the +width of the image and a “height” key whose value +is the height of the image. Both sizes will be integer values.

+ +

This function uses the metadata-extractor +library. The map may contain other properties as well.

+ +
  • If the media was successfully parsed with metadata-extractor, +all of the properties identified by the extractor will be returned. Each property +name will be converted to lowercase and spaces will be replaced with hyphens. +(In other words, a property with the tag name “Palette Colour Count” will appear +in the map with a key of “palette-colour-count”.)

    Property values that appear to be data/time values* will be converted to +strings that are valid ISO 8601 date/time values. Any control characters that can’t appear +in XML but that appear in a value will be replaced with Unicode references, +\uxxxx. For example, a null byte will be +replaced with \u0000.

  • If the media isn’t successfully parsed with metadata-extractor, +

    • If it appears to be a PDF document, the function will search for the +“MediaBox” or “CropBox” in the first 100 lines +of the PDF. If either is found, its dimensions are used to calculate the width and height. +If both are present, CropBox is preferred. +

    • If it appears to be an SVG document, the function will search +for width and height attributes on the root +element. All of the attributes of the root element will be returned as +properties, using Clark +names. +

+ +

If the width and height properties +exist, they will always be integers. This means that if an image has a property +with the name width or height and its value +isn’t an integer, it will not be returned.

+ +

If the $debug parameter includes the token +image-properties, the stylesheets will print every property +returned in an xsl:message.

+

A value that matches the regular expression +“^\d\d\d\d:\d\d:\d\d \d\d:\d\d:\d\d$” is assumed to be a date/time. +This is the format of date/time values used in EXIF metadata for most +properties that have a date/time value.

\ No newline at end of file diff --git a/guide/2.2.2/ext_image-properties.html b/guide/2.2.2/ext_image-properties.html new file mode 100644 index 0000000000..1455a46ff9 --- /dev/null +++ b/guide/2.2.2/ext_image-properties.html @@ -0,0 +1,11 @@ +ext:image-properties

ext:image-properties

ext:image-properties — Return intrinsic properties of an image.

Function:
{http://docbook.org/extensions/xslt}image-properties#1

Synopsis

ext:image-properties($filename as xs:string) as map(*)

Description

+ +

This extension function returns the intrinsic size of +an image: its width and height in pixels. If the size can be determined, the map returned +will have a “width” key whose value is the width of the image and +a “height” key whose value is the height of the image. Both sizes +will be integral numbers of pixels.

+

The ext:image-metadata() function provides better results. +It should be preferred unless the metadata-extractor libraries +are unavailable.

+
\ No newline at end of file diff --git a/guide/2.2.2/ext_pygmentize-available.html b/guide/2.2.2/ext_pygmentize-available.html new file mode 100644 index 0000000000..277ee73b4e --- /dev/null +++ b/guide/2.2.2/ext_pygmentize-available.html @@ -0,0 +1,16 @@ +ext:pygmentize-available

ext:pygmentize-available

ext:pygmentize-available — Returns true if pygmentize is available.

Function:
{http://docbook.org/extensions/xslt}pygmentize-available#0

Synopsis

ext:pygmentize-available() as xs:boolean

Description

+ +

In order to run Pygments on listings, the +ext:pygmentize() extension function must be +available and the pygmentize +(pygmentize.exe on Windows) command must be +available on the host system.

+ +

If it’s inconvenient to put pygmentize on the system path, +you can specify an explicit location with the Java system property +org.docbook.xsltng.extensions.pygmentize. The value of the property +should be the fully qualified path name of the executable.

+ +

This function returns true if it successfully finds the +pygmentize command on the system path.

+
\ No newline at end of file diff --git a/guide/2.2.2/ext_pygmentize.html b/guide/2.2.2/ext_pygmentize.html new file mode 100644 index 0000000000..088bc2cf07 --- /dev/null +++ b/guide/2.2.2/ext_pygmentize.html @@ -0,0 +1,18 @@ +ext:pygmentize

ext:pygmentize

ext:pygmentize — Syntax highlight a listing with pygmentize.

Function:
{http://docbook.org/extensions/xslt}pygmentize#1
{http://docbook.org/extensions/xslt}pygmentize#2
{http://docbook.org/extensions/xslt}pygmentize#3

Synopsis

ext:pygmentize($listing as xs:string) as xs:string
ext:pygmentize($listing as xs:string,
$options as item()) as xs:string
ext:pygmentize($listing as xs:string,
$options as item(),
$pygments-options as map(xs:string,xs:string)) as xs:string

Description

+ +

This extension function runs the pygmentize command to +add syntax highlighting to a listing.

+

The second argument can either be map, in which case the key-value pairs of the map +constitute the options, or it can be a single string. If it’s a single string, it’s +interpreted as if it was a map with the key “language” and the string +as the value.

+

The third argument must be a map. Each key-value pair will be passed to +pygmentize as “-Pkey=value”. +

+

The function returns the string output from pygmentize. It must +be parsed with parse-xml if you wish to process it as XML.

+

Be aware that pygmentize strips leading blank +lines off of the source listing. If you’re selecting portions of a +listing with XInclude, make sure not to select leading blank lines in +the listing if you are trying to accurately count the lines.

+
\ No newline at end of file diff --git a/guide/2.2.2/ext_validate-with-relax-ng.html b/guide/2.2.2/ext_validate-with-relax-ng.html new file mode 100644 index 0000000000..741383cedc --- /dev/null +++ b/guide/2.2.2/ext_validate-with-relax-ng.html @@ -0,0 +1,25 @@ +ext:validate-with-relax-ng

ext:validate-with-relax-ng

ext:validate-with-relax-ng — Returns the current working directory.

Function:
{http://docbook.org/extensions/xslt}validate-with-relax-ng#2
{http://docbook.org/extensions/xslt}validate-with-relax-ng#3

Synopsis

ext:validate-with-relax-ng($node as node(),
$schema as item()) as map(xs:string, item())
ext:validate-with-relax-ng($node as node(),
$schema as item(),
$options as map(xs:string, xs:string)) as map(xs:string, item())

Description

+ +

This extension function validates the node provided +against the schema. The schema can be either a +string (the URI of the RELAX NG grammar file) or a node (a RELAX NG grammar +document). There is no support for the RELAX NG Compact Syntax at this time. +

+

The available options are assert-valid which defaults to +true() +and dtd-compatibility which isn’t actually supported yet.

+

If assert-valid is true() and the document is +not valid according to the grammar provided, an exception is raised.

+

If assert-valid is false(), or the document +is valid, the map returned will contain the following keys:

+ +
valid

A boolean indicating whether or not the document was valid. +

document

The validated document. Today, this always returns the same node, but +it may eventually return an augmented document. +

errors

An array of maps containing the type +(warning, error, or fatal-error), +message, +line, and column where an error occurred. +If the document is valid, the errors key will not be present. +

+
\ No newline at end of file diff --git a/guide/2.2.2/ext_xinclude.html b/guide/2.2.2/ext_xinclude.html new file mode 100644 index 0000000000..10fd7ffc0c --- /dev/null +++ b/guide/2.2.2/ext_xinclude.html @@ -0,0 +1,6 @@ +ext:xinclude

ext:xinclude

ext:xinclude — Performs XInclude processing.

Function:
{http://docbook.org/extensions/xslt}xinclude#1
{http://docbook.org/extensions/xslt}xinclude#2

Synopsis

ext:xinclude($node as node()) as node()*
ext:xinclude($node as node(),
$options as map(xs:QName, item()*)) as node()*

Description

+ +

Performs XInclude processing on node and all of its +descendants. The options “fixup-xml-base” and +“fixup-xml-lang” are true() by default.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_absolute-length.html b/guide/2.2.2/f_absolute-length.html new file mode 100644 index 0000000000..16281604b0 --- /dev/null +++ b/guide/2.2.2/f_absolute-length.html @@ -0,0 +1,11 @@ +f:absolute-length

f:absolute-length

f:absolute-length — Returns the absolute length of a unit of measurement.

Function:
{http://docbook.org/ns/docbook/functions}absolute-length#1
Defined in:
modules/units.xsl
Used in:
modules/objects.xsl, modules/tablecals.xsl

Synopsis

f:absolute-length($length as map(*)) as xs:double

Description

+ +

For a given unit of measurement, returns the absolute length in terms +of pixels. For a discussion of units, see Section 5.2, “Lengths and units”. +

+

See also +$pixels-per-inch, +$default-length-magnitude, and +$default-length-unit. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_attributes.html b/guide/2.2.2/f_attributes.html new file mode 100644 index 0000000000..ad87d1da1c --- /dev/null +++ b/guide/2.2.2/f_attributes.html @@ -0,0 +1,11 @@ +f:attributes

f:attributes

f:attributes — Returns the attribute that apply to an output element.

Function:
{http://docbook.org/ns/docbook/functions}attributes#2
{http://docbook.org/ns/docbook/functions}attributes#4
Defined in:
modules/functions.xsl (2)
Used in:
modules/functions.xsl, modules/inlines.xsl, modules/attributes.xsl

Synopsis

f:attributes($node as element(),
$attributes as attribute()*) as attribute()*
f:attributes($node as element(),
$attributes as attribute()*,
$extra-classes as xs:string*,
$exclude-classes as xs:string*) as attribute()*

Description

+ +

Most output elements have attributes: any xml:id +attributes in the source are reflected in the output as +id attributes, most elements get a class +attribute, etc. The f:attributes() function is called to determine +what those attributes should be.

+

In practice, the way this usually works is the element is processed in the +m:attributes mode and that template calls f:attributes() +to generate the actual attribute nodes.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_available-bibliographies.html b/guide/2.2.2/f_available-bibliographies.html new file mode 100644 index 0000000000..ede4bef660 --- /dev/null +++ b/guide/2.2.2/f_available-bibliographies.html @@ -0,0 +1,17 @@ +f:available-bibliographies

f:available-bibliographies

f:available-bibliographies — Returns a list of all available bibliographies.

Function:
{http://docbook.org/ns/docbook/functions}available-bibliographies#1
{http://docbook.org/ns/docbook/functions}available-bibliographies#2
Defined in:
../standalone-functions.xsl (2)
Used in:
modules/functions.xsl
Since:
2.2.0

Synopsis

f:available-bibliographies($term as element())
f:available-bibliographies($term as element(),
$collections as xs:string*)

Description

+ + +

The bibliographies available are all of the bibliographys in the current +document plus any that are referenced with +db processing instructions using the +bibliography-collection pseudo-attribute in the root element.

+ +

In the two-argument form, a list of additional +URIs may be passed. In common usage, the $bibliography-collection parameter +is passed this way. (It’s not referenced directly because these functions are available +for use outside of the stylesheets, for example in Schematron rules, in +standalone-functions.xsl.)

+ +

The $term argument is only used to establish the context document for +finding bibliographies in the current document.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_available-glossaries.html b/guide/2.2.2/f_available-glossaries.html new file mode 100644 index 0000000000..989914a203 --- /dev/null +++ b/guide/2.2.2/f_available-glossaries.html @@ -0,0 +1,17 @@ +f:available-glossaries

f:available-glossaries

f:available-glossaries — Returns a list of all available glossaries.

Function:
{http://docbook.org/ns/docbook/functions}available-glossaries#1
{http://docbook.org/ns/docbook/functions}available-glossaries#2
Defined in:
../standalone-functions.xsl (2)
Used in:
modules/functions.xsl
Since:
2.2.0

Synopsis

f:available-glossaries($term as element())
f:available-glossaries($term as element(),
$collections as xs:string*)

Description

+ + +

The glossaries available are all of the glossarys in the current +document plus any that are referenced with +db processing instructions using the +glossary-collection pseudo-attribute in the root element.

+ +

In the two-argument form, a list of additional +URIs may be passed. In common usage, the $glossary-collection parameter +is passed this way. (It’s not referenced directly because these functions are available +for use outside of the stylesheets, for example in Schematron rules, in +standalone-functions.xsl.)

+ +

The $term argument is only used to establish the context document for +finding glossaries in the current document.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_biblioentries.html b/guide/2.2.2/f_biblioentries.html new file mode 100644 index 0000000000..ef44a24b41 --- /dev/null +++ b/guide/2.2.2/f_biblioentries.html @@ -0,0 +1,23 @@ +f:biblioentries

f:biblioentries

f:biblioentries — Returns a list of all bibliographic entries for a citation.

Function:
{http://docbook.org/ns/docbook/functions}biblioentries#1
{http://docbook.org/ns/docbook/functions}biblioentries#2
Defined in:
../standalone-functions.xsl (2)
Used in:
modules/functions.xsl, modules/inlines.xsl
Since:
2.2.0

Synopsis

f:biblioentries($term as element()) as element()*
f:biblioentries($term as element(),
$collections as xs:string*) as element()*

Description

+ + +

Returns all the biblioentry or bibliomixed +elements that have an abbrev that matches a +citation. The internal bibliography of the input document +is always taken into account.

+

In the form with only one argument, external bibliographies are also taken into account if +they are designated in the input document with a <?db +biblioary-collection='URIs'?> processing instruction. +In the form with two arguments, you can specify a list of URIs of the external +bibliographies.

+ +

When more than one entry is found, the result sequence will +start with entries from the internal bibliography, if any.

+ +

The function is designed so that it can be used independently from +the xslTNG stylesheets. You can, for example, integrate it in a +Schematron rule that checks whether every citation has +exactly one corresponding bibliographic entry while authoring your +document. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_cals-colsep.html b/guide/2.2.2/f_cals-colsep.html new file mode 100644 index 0000000000..ebf14e4bd2 --- /dev/null +++ b/guide/2.2.2/f_cals-colsep.html @@ -0,0 +1,7 @@ +f:cals-colsep

f:cals-colsep

f:cals-colsep — Returns the “colsep” value associated with a CALS table cell.

Function:
{http://docbook.org/ns/docbook/functions}cals-colsep#3
Defined in:
modules/tablecals.xsl
Used in:
modules/tablecals.xsl

Synopsis

f:cals-colsep($row as element(db:row),
$cell as map(*),
$last-col-colsep as xs:boolean) as xs:string?

Description

+ +

The column separator, or “colsep”, associated with a CALS table cell +depends on a variety of factors: colspec, and spanspec +elements as well as the attributes on the cell itself and its ancestors.

+

This function returns the value that applies to the specified cell.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_cals-rowsep.html b/guide/2.2.2/f_cals-rowsep.html new file mode 100644 index 0000000000..4c1774964c --- /dev/null +++ b/guide/2.2.2/f_cals-rowsep.html @@ -0,0 +1,7 @@ +f:cals-rowsep

f:cals-rowsep

f:cals-rowsep — Returns the “rowsep” value associated with a CALS table cell.

Function:
{http://docbook.org/ns/docbook/functions}cals-rowsep#3
Defined in:
modules/tablecals.xsl
Used in:
modules/tablecals.xsl

Synopsis

f:cals-rowsep($row as element(db:row),
$cell as map(*),
$last-row-rowsep as xs:boolean) as xs:string?

Description

+ +

The row separator, or “rowsep”, associated with a CALS table cell +depends on a variety of factors: colspec, and spanspec +elements as well as the attributes on the cell itself and its ancestors.

+

This function returns the value that applies to the specified cell.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_check-gentext.html b/guide/2.2.2/f_check-gentext.html new file mode 100644 index 0000000000..c618860b27 --- /dev/null +++ b/guide/2.2.2/f_check-gentext.html @@ -0,0 +1,4 @@ +f:check-gentext

f:check-gentext

f:check-gentext — Returns generated text.

Description

+ +

Generated text has been reworked, see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_chunk-filename.html b/guide/2.2.2/f_chunk-filename.html new file mode 100644 index 0000000000..d57e620cd9 --- /dev/null +++ b/guide/2.2.2/f_chunk-filename.html @@ -0,0 +1,10 @@ +f:chunk-filename

f:chunk-filename

f:chunk-filename — Returns the filename to use for a particular chunk.

Function:
{http://docbook.org/ns/docbook/functions}chunk-filename#1
Defined in:
modules/chunk.xsl
Used in:
modules/chunk.xsl
Used by:

Synopsis

f:chunk-filename($node as element()) as xs:string

Description

+ +

When chunking, see Section 2.7, ““Chunked” output”, this function is +called to determine the filename for a chunk. The default implementation considers +relevant db processing instructions +(filename, +href, and +basename pseudo-attributes) as well as the generated ID of the element. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_chunk-title.html b/guide/2.2.2/f_chunk-title.html new file mode 100644 index 0000000000..6c74229568 --- /dev/null +++ b/guide/2.2.2/f_chunk-title.html @@ -0,0 +1,8 @@ +f:chunk-title

f:chunk-title

f:chunk-title — Returns the title of a chunk.

Function:
{http://docbook.org/ns/docbook/functions}chunk-title#1
Defined in:
modules/chunk-cleanup.xsl
Used in:
modules/chunk-cleanup.xsl
Used by:

Synopsis

f:chunk-title($chunk as element()?) as node()*

Description

+ +

When the title of a neighboring chunk is required (for header or +footer navigation, for example), this function can be used to obtain +the title of that chunk.

+

This function must return the HTML-formatted title, not the DocBook title. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_chunk.html b/guide/2.2.2/f_chunk.html new file mode 100644 index 0000000000..90d4a53d1d --- /dev/null +++ b/guide/2.2.2/f_chunk.html @@ -0,0 +1,6 @@ +f:chunk

f:chunk

f:chunk — Returns chunking attributes.

Function:
{http://docbook.org/ns/docbook/functions}chunk#1
Defined in:
modules/chunk.xsl
Used in:
modules/attributes.xsl

Synopsis

f:chunk($node as element()) as attribute()*

Description

+ +

This function returns the +db-chunk and perhaps other chunking-related attributes +for the given node.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_citations.html b/guide/2.2.2/f_citations.html new file mode 100644 index 0000000000..d6d5b094dc --- /dev/null +++ b/guide/2.2.2/f_citations.html @@ -0,0 +1,7 @@ +f:citations

f:citations

f:citations — Returns the citations for a term.

Function:
{http://docbook.org/ns/docbook/functions}citations#1
{http://docbook.org/ns/docbook/functions}citations#2
Defined in:
../standalone-functions.xsl (2)
Used in:
modules/functions.xsl
Since:
2.2.0

Synopsis

f:citations($term as element()) as element()*
f:citations($term as element(),
$root as document-node()) as element()*

Description

+ +

Returns all of the citation elements in the document that match +$term. The document is identified by $root, if specified, +otherwise the document is the one that $term appears in. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_conditional-orientation-class.html b/guide/2.2.2/f_conditional-orientation-class.html new file mode 100644 index 0000000000..61781092b4 --- /dev/null +++ b/guide/2.2.2/f_conditional-orientation-class.html @@ -0,0 +1,9 @@ +f:conditional-orientation-class

f:conditional-orientation-class

f:conditional-orientation-class — Returns an element’s orientation if it differs from its parent.

Function:
{http://docbook.org/ns/docbook/functions}conditional-orientation-class#1
Defined in:
modules/functions.xsl
Used in:
modules/components.xsl, modules/tablehtml.xsl, modules/attributes.xsl
Since:
2.2.2

Synopsis

f:conditional-orientation-class($node as element()) as xs:string?

Description

+ +

Determines if the element specified should be printed in portrait or landscape +orientation. If that value is the same as the parent element’s value, an empty sequence +is returned instead. +

+

This avoids “double rotation” of, for example, a landscape table within a landscape chapter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_css-length.html b/guide/2.2.2/f_css-length.html new file mode 100644 index 0000000000..73f08a600c --- /dev/null +++ b/guide/2.2.2/f_css-length.html @@ -0,0 +1,5 @@ +f:css-length

f:css-length

f:css-length — Returns a length in the format of a CSS property.

Function:
{http://docbook.org/ns/docbook/functions}css-length#2
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:css-length($property as xs:string,
$length as map(*)?) as xs:string?

Description

+ +

Returns the CSS property specified with the corresponding length, if the length +exists. Returns the empty sequence otherwise.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_css-property.html b/guide/2.2.2/f_css-property.html new file mode 100644 index 0000000000..a6e32bcae3 --- /dev/null +++ b/guide/2.2.2/f_css-property.html @@ -0,0 +1,6 @@ +f:css-property

f:css-property

f:css-property — Returns a CSS property for a given value.

Function:
{http://docbook.org/ns/docbook/functions}css-property#2
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:css-property($property as xs:string,
$value as xs:string?) as xs:string?

Description

+ +

If the specified value exists, a string formatted as a CSS +property is returned. If the value doesn’t exist, an empty sequence is +returned.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_date-format.html b/guide/2.2.2/f_date-format.html new file mode 100644 index 0000000000..2af7052718 --- /dev/null +++ b/guide/2.2.2/f_date-format.html @@ -0,0 +1,36 @@ +f:date-format

f:date-format

f:date-format — Returns the format string for a date.

Function:
{http://docbook.org/ns/docbook/functions}date-format#1
Defined in:
modules/functions.xsl
Used in:
modules/inlines.xsl

Synopsis

f:date-format($context as element()) as xs:string

Description

+ +

Dates may be stored in a variety of formats and the pubdate +element even allows inline markup. The f:date-format() function +determines how a date will be formatted:

+
  • If the date contains embedded markup, the special value +“apply-templates” is returned to indicate that string formatting +isn’t appropriate.

  • If the date conforms to an ISO 8601 date, the +$date-date-format string is returned.

  • If the date conforms to an ISO 8601 dateTime, the +$date-dateTime-format string is returned.

  • If the date does not conform to either of those date formats, +“apply-templates” is returned.

+ +

If the date conforms to a date or dateTime, the author may override +the format string by providing a +db processing instruction with a +date-format pseudo-attribute.

+ +

Example 1, “Several dates in ISO 8601 formats” shows an example of +several dates that may be formatted in more familiar forms.

+ +
  |<para>The Unix epoch begins at
+  |<date>1970-01-01T00:00:00Z</date>.
+  |Grace Hopper was born on <date>1906-12-09</date>.
+  |That was a <date><?db date-format="[F]"?>1906-12-09</date>.
+  |I was born on a <date>Friday</date>.</para>
+
Example 1Several dates in ISO 8601 formats
+ +

With default formats, these are formatted as shown:

+ +

The Unix epoch begins at +00:00 01 Jan 1970. +Grace Hopper was born on 09 Dec 1906. +That was a Sunday. +I was born on a Friday.

+ +
\ No newline at end of file diff --git a/guide/2.2.2/f_empty-length.html b/guide/2.2.2/f_empty-length.html new file mode 100644 index 0000000000..2d766d87e1 --- /dev/null +++ b/guide/2.2.2/f_empty-length.html @@ -0,0 +1,21 @@ +f:empty-length

f:empty-length

f:empty-length — Returns a map that represents an empty length.

Function:
{http://docbook.org/ns/docbook/functions}empty-length#0
Defined in:
modules/units.xsl
Used in:
modules/units.xsl, modules/objects.xsl

Synopsis

f:empty-length() as map(*)

Description

+ +

Lengths are compound objects. Lengths consist of +a magnitude (a number) and a unit: 3 inches, for example, or 11.9 +barleycorns2 in the case of absolute +lengths. For relative lengths, the unit is something relative like percent.

+

These are represented as maps internally and f:empty-length() +returns a length with no magnitude or units. +

+ +
Annotations
2
+

Yes, that’s a real unit. It’s equal to ⅓ of an inch. I’ll leave +it to +Wikipedia to explain the details. Just looking at the chart of +imperial units makes me want to add them all!

+ +

A graph showing the derivations of English imperial measurements: 12 inches +to the foot, 3 feet to the yard, etc.

English imperial lengths
+ +

Image credit: 42CrMo4, Christoph Päper

+
\ No newline at end of file diff --git a/guide/2.2.2/f_equal-lengths.html b/guide/2.2.2/f_equal-lengths.html new file mode 100644 index 0000000000..756fd7352e --- /dev/null +++ b/guide/2.2.2/f_equal-lengths.html @@ -0,0 +1,5 @@ +f:equal-lengths

f:equal-lengths

f:equal-lengths — Returns true if two lengths are equal.

Function:
{http://docbook.org/ns/docbook/functions}equal-lengths#2
Defined in:
modules/units.xsl
Used in:
modules/objects.xsl

Synopsis

f:equal-lengths($a as map(*)?,
$b as map(*)?) as xs:boolean

Description

+ +

Lengths (see Section 5.2, “Lengths and units”) are stored in maps and so are not +directly comparable. This function returns true if two lengths are equal.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_generate-id.html b/guide/2.2.2/f_generate-id.html new file mode 100644 index 0000000000..af0ec28c36 --- /dev/null +++ b/guide/2.2.2/f_generate-id.html @@ -0,0 +1,15 @@ +f:generate-id

f:generate-id

f:generate-id — Generate a unique identifier for an element.

Function:
{http://docbook.org/ns/docbook/functions}generate-id#1
{http://docbook.org/ns/docbook/functions}generate-id#2
Defined in:
modules/functions.xsl (2)
Used in:
modules/functions.xsl, modules/unhandled.xsl, modules/index.xsl, modules/programming.xsl, modules/verbatim.xsl, modules/tablehtml.xsl, modules/xlink.xsl, modules/links.xsl, modules/attributes.xsl, modules/annotations.xsl, modules/chunk.xsl

Synopsis

f:generate-id($node as element()) as xs:string
f:generate-id($node as element(),
$use-xml-id as xs:boolean) as xs:string

Description

+ +

This function returns a unique ID for an element. The ID is +generated from the names of the ancestors and preceding siblings of +the element. This value will be consistent across different +transformations as long as the ancestors and preceding siblings remain +unchanged.

+

If use-xml-id is true +and there’s an element with a xml:id attribute among +the ancestors, the unique identifier is rooted at that element, rather +than traversing all the way to the root of the document.

+

Disabling this feature by setting use-xml-id +to false allows for the creation of globally unique IDs with +f:unique-id().

+
\ No newline at end of file diff --git a/guide/2.2.2/f_gentext-letters-for-language.html b/guide/2.2.2/f_gentext-letters-for-language.html new file mode 100644 index 0000000000..7b3a34fa5b --- /dev/null +++ b/guide/2.2.2/f_gentext-letters-for-language.html @@ -0,0 +1,5 @@ +f:gentext-letters-for-language

f:gentext-letters-for-language

f:gentext-letters-for-language — Returns the letters for a language.

Function:
{http://docbook.org/ns/docbook/functions}gentext-letters-for-language#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl, modules/index.xsl

Synopsis

f:gentext-letters-for-language($node as element()) as element(l:letters)

Description

+ +

Returns a language-specific list of letters. These are used, for example, +to construct the divisions in an index.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_gentext-letters.html b/guide/2.2.2/f_gentext-letters.html new file mode 100644 index 0000000000..0b9df04475 --- /dev/null +++ b/guide/2.2.2/f_gentext-letters.html @@ -0,0 +1,7 @@ +f:gentext-letters

f:gentext-letters

f:gentext-letters — Returns the letters for the in-scope language.

Function:
{http://docbook.org/ns/docbook/functions}gentext-letters#1
Defined in:
modules/functions.xsl
Used in:
Not used.

Synopsis

f:gentext-letters($node as element()) as element(l:letters)

Description

+ +

This function works calls f:language() on the specified +node and then calls f:gentext-letters-for-language() with that +language. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_gentext.html b/guide/2.2.2/f_gentext.html new file mode 100644 index 0000000000..462dfe1376 --- /dev/null +++ b/guide/2.2.2/f_gentext.html @@ -0,0 +1,5 @@ +f:gentext

f:gentext

f:gentext — Returns generated text.

Description

+ +

Generated text now uses m:gentext. +See Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_glossentries.html b/guide/2.2.2/f_glossentries.html new file mode 100644 index 0000000000..859ff06cae --- /dev/null +++ b/guide/2.2.2/f_glossentries.html @@ -0,0 +1,19 @@ +f:glossentries

f:glossentries

f:glossentries — Returns a list of all glossentries for a term.

Function:
{http://docbook.org/ns/docbook/functions}glossentries#1
{http://docbook.org/ns/docbook/functions}glossentries#2
Defined in:
../standalone-functions.xsl (2)
Used in:
modules/functions.xsl
Since:
2.2.0

Synopsis

f:glossentries($term as element()) as element(db:glossentry)*
f:glossentries($term as element(),
$collections as xs:string*) as element(db:glossentry)*

Description

+ +

Returns all glossentry elements that are targeted by $term, + which must either by a glossterm or a firstterm element. The + internal glossary of the input document is always taken into account.

+

In the form with only one argument, external glossaries are also taken into account if + they are designated in the input document with a <?db + glossary-collection='URIs'?> processing instruction. + In the form with two arguments, you can specify a list of URIs of the external + glossaries.

+ +

When there is more than one glossentry found, the result sequence will + start with entries from the internal glossary, if any.

+

The functions design allows its use independent from the xslTNG stylesheets. You can, for + example, integrate it in a Schematron rule that checks whether every glossterm + has exactly one corresponding glossentry while authoring your document. That’s + why the function can't use the $glossary-collection transformation + parameter.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_glossrefs.html b/guide/2.2.2/f_glossrefs.html new file mode 100644 index 0000000000..0d6365cb93 --- /dev/null +++ b/guide/2.2.2/f_glossrefs.html @@ -0,0 +1,7 @@ +f:glossrefs

f:glossrefs

f:glossrefs — Returns the glossary references for a term.

Function:
{http://docbook.org/ns/docbook/functions}glossrefs#1
{http://docbook.org/ns/docbook/functions}glossrefs#2
Defined in:
../standalone-functions.xsl (2)
Used in:
modules/functions.xsl
Since:
2.2.0

Synopsis

f:glossrefs($term as element()) as element()*
f:glossrefs($term as element(),
$root as document-node()) as element()*

Description

+ +

Returns all of the glossterm and firstterm elements in the document that match +$term. The document is identified by $root, if specified, +otherwise the document is the one that $term appears in. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_highlight-verbatim.html b/guide/2.2.2/f_highlight-verbatim.html new file mode 100644 index 0000000000..3d3535a483 --- /dev/null +++ b/guide/2.2.2/f_highlight-verbatim.html @@ -0,0 +1,7 @@ +f:highlight-verbatim

f:highlight-verbatim

f:highlight-verbatim — Syntax highlight verbatim element?

Function:
{http://docbook.org/ns/docbook/functions}highlight-verbatim#1
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl

Synopsis

f:highlight-verbatim($node as element()) as xs:boolean

Description

+ +

Returns true if the specified verbatim environment should have +syntax highlighting applied to it. This depends on the +language specified on the environment and the +$verbatim-syntax-highlight-languages parameter.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_href.html b/guide/2.2.2/f_href.html new file mode 100644 index 0000000000..82a867007f --- /dev/null +++ b/guide/2.2.2/f_href.html @@ -0,0 +1,6 @@ +f:href

f:href

f:href — Returns the href link to a node.

Function:
{http://docbook.org/ns/docbook/functions}href#2
Defined in:
modules/functions.xsl
Used in:
modules/toc.xsl, modules/glossary.xsl, modules/index.xsl, modules/programming.xsl, modules/objects.xsl, modules/xlink.xsl, modules/links.xsl

Synopsis

f:href($context as node(),
$node as element()) as xs:string

Description

+ +

This function generates a value for an HTML href attribute +at the position of the context that will link to the node. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_id.html b/guide/2.2.2/f_id.html new file mode 100644 index 0000000000..0adb63e8e4 --- /dev/null +++ b/guide/2.2.2/f_id.html @@ -0,0 +1,12 @@ +f:id

f:id

f:id — Returns an ID for the element.

Function:
{http://docbook.org/ns/docbook/functions}id#1
Defined in:
modules/functions.xsl
Used in:
modules/toc.xsl, modules/glossary.xsl, modules/lists.xsl, modules/blocks.xsl, modules/objects.xsl, modules/footnotes.xsl, modules/links.xsl

Synopsis

f:id($node as element()) as xs:string

Description

+ +

This function returns the ID of the element. If the element has +an xml:id attribute, the value of that attribute is returned. +Otherwise, the function constructs a unique ID value for the element.

+

The simplest way to construct a unique ID is with the f:generate-id() +function. However, those values are only unique within the context of a single transformation +and tend to vary over time. This can break anchors used in published documents and leads +to spurious differences between documents.

+

The stylesheets generate their own unique IDs with f:generate-id(). +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_in-scope-language.html b/guide/2.2.2/f_in-scope-language.html new file mode 100644 index 0000000000..7010ae6e94 --- /dev/null +++ b/guide/2.2.2/f_in-scope-language.html @@ -0,0 +1,6 @@ +f:in-scope-language

f:in-scope-language

f:in-scope-language — Returns the in-scope-language associated with an element.

Function:
{http://docbook.org/ns/docbook/functions}in-scope-language#1
Defined in:
modules/gentext.xsl
Used in:
Not used.
Since:
2.0.0

Synopsis

f:in-scope-language($target as node()) as xs:string

Description

+ +

Returns the value of the nearest in-scope xml:lang attribute +or $default-language if no such attribute exists. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_intra-number-separator.html b/guide/2.2.2/f_intra-number-separator.html new file mode 100644 index 0000000000..4ea9da15e2 --- /dev/null +++ b/guide/2.2.2/f_intra-number-separator.html @@ -0,0 +1,5 @@ +f:intra-number-separator

f:intra-number-separator

f:intra-number-separator — Return the intra-number separator.

Description

+ +

Separators are now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_is-empty-length.html b/guide/2.2.2/f_is-empty-length.html new file mode 100644 index 0000000000..e4bc988550 --- /dev/null +++ b/guide/2.2.2/f_is-empty-length.html @@ -0,0 +1,6 @@ +f:is-empty-length

f:is-empty-length

f:is-empty-length — Tests if a length is empty.

Function:
{http://docbook.org/ns/docbook/functions}is-empty-length#1
Defined in:
modules/units.xsl
Used in:
modules/units.xsl, modules/objects.xsl

Synopsis

f:is-empty-length($length as map(*)?) as xs:boolean

Description

+ +

Returns true if the length is empty. +For a discussion of units and lengths, see Section 5.2, “Lengths and units”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_is-true.html b/guide/2.2.2/f_is-true.html new file mode 100644 index 0000000000..01f385d686 --- /dev/null +++ b/guide/2.2.2/f_is-true.html @@ -0,0 +1,16 @@ +f:is-true

f:is-true

f:is-true — Determines if a given value represents “true”

Function:
{http://docbook.org/ns/docbook/functions}is-true#1
Defined in:
modules/functions.xsl
Used in:
docbook.xsl, main.xsl, modules/variable.xsl, modules/head.xsl, modules/titles.xsl, modules/gentext.xsl, modules/toc.xsl, modules/glossary.xsl, modules/index.xsl, modules/info.xsl, modules/lists.xsl, modules/blocks.xsl, modules/objects.xsl, modules/verbatim.xsl, modules/inlines.xsl, modules/xlink.xsl, modules/chunk-cleanup.xsl, modules/chunk-output.xsl

Synopsis

f:is-true($value) as xs:boolean

Description

+ +

There are several conventions for indicating “true” or “false”. +XSLT uses the words “yes” and “no” in many places. The XML Schema data +type for xs:boolean uses “true” and “false” but also “1” +and “0”.

+

The f:is-true() function returns +true() for any of “true()”, “yes”, “true”, +or a value that can be cast to an integer if that integer is not +zero. It returns +false() +for any of “false()”, “no”, “false”, a value that can be +cast to an integer that is zero, or the empty sequence.

+

It reports an error for any other value and returns “true()”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_l10n-language.html b/guide/2.2.2/f_l10n-language.html new file mode 100644 index 0000000000..a1d3847fbc --- /dev/null +++ b/guide/2.2.2/f_l10n-language.html @@ -0,0 +1,9 @@ +f:l10n-language

f:l10n-language

f:l10n-language — Returns the best matching localization language.

Function:
{http://docbook.org/ns/docbook/functions}l10n-language#1
Defined in:
modules/functions.xsl
Used in:
modules/gentext.xsl, modules/l10n.xsl, modules/functions.xsl, modules/index.xsl, modules/inlines.xsl

Synopsis

f:l10n-language($target as element()) as xs:string

Description

+ +

This function returns the localization language that best +matches the language of the $target node. If +$gentext-language is specified, it is always returned. +The $default-language +will be returned if there is no localization available for the declared +language of the $target.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_l10n-token.html b/guide/2.2.2/f_l10n-token.html new file mode 100644 index 0000000000..3bf7a37550 --- /dev/null +++ b/guide/2.2.2/f_l10n-token.html @@ -0,0 +1,7 @@ +f:l10n-token

f:l10n-token

f:l10n-token — Returns the gentext token for a key.

Function:
{http://docbook.org/ns/docbook/functions}l10n-token#2
{http://docbook.org/ns/docbook/functions}l10n-token#3
Defined in:
modules/l10n.xsl (2)
Used in:
modules/l10n.xsl, modules/titles.xsl, modules/gentext.xsl, modules/biblio690.xsl, modules/chunk-output.xsl
Since:
2.0.0

Synopsis

f:l10n-token($context as element(),
$key as xs:string) as item()*
f:l10n-token($context as element(),
$lang as xs:string,
$key as xs:string) as item()*

Description

+ +

This function returns the gentext token for a key. This is usually +accomplished by looking in the localization, +but if you need an override for a specific element, you can replace this +function.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_label-separator.html b/guide/2.2.2/f_label-separator.html new file mode 100644 index 0000000000..083d91b8b1 --- /dev/null +++ b/guide/2.2.2/f_label-separator.html @@ -0,0 +1,4 @@ +f:label-separator

f:label-separator

f:label-separator — Returns the label separator.

Function:
{http://docbook.org/ns/docbook/functions}label-separator#1
Defined in:
modules/functions.xsl
Used in:
Not used.

Synopsis

f:label-separator($node as element()) as node()*

Description

+ +

The label separator separates a label from the number or title that follows it.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_language.html b/guide/2.2.2/f_language.html new file mode 100644 index 0000000000..eb6fbf23d2 --- /dev/null +++ b/guide/2.2.2/f_language.html @@ -0,0 +1,5 @@ +f:language

f:language

f:language — Returns the language associated with an element.

Description

+ +

Renamed f:in-scope-language(). +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_languages.html b/guide/2.2.2/f_languages.html new file mode 100644 index 0000000000..f88b40d5e4 --- /dev/null +++ b/guide/2.2.2/f_languages.html @@ -0,0 +1,5 @@ +f:languages

f:languages

f:languages — Returns all of the localizations used by a document.

Function:
{http://docbook.org/ns/docbook/functions}languages#1
Defined in:
modules/gentext.xsl
Used in:
Not used.
Since:
2.0.0

Synopsis

f:languages($context as document-node()) as xs:string+

Description

+ +

Returns all of the localizations that might be used in formatting this +document.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_length-string.html b/guide/2.2.2/f_length-string.html new file mode 100644 index 0000000000..ca433a37af --- /dev/null +++ b/guide/2.2.2/f_length-string.html @@ -0,0 +1,8 @@ +f:length-string

f:length-string

f:length-string — Returns the string representation of a length.

Function:
{http://docbook.org/ns/docbook/functions}length-string#1
Defined in:
modules/units.xsl
Used in:
Not used.

Synopsis

f:length-string($length as map(*)?) as xs:string?

Description

+ +

For a given length (see Section 5.2, “Lengths and units”), returns the relative +or absolute length formatted as a string. Relative lengths are formatted +as the length followed by a literal “*” (e.g., “3*”). Absolute lengths +are formatted as the length followed by the unit (e.g., “2.54cm”). +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_length-units.html b/guide/2.2.2/f_length-units.html new file mode 100644 index 0000000000..4b51761929 --- /dev/null +++ b/guide/2.2.2/f_length-units.html @@ -0,0 +1,5 @@ +f:length-units

f:length-units

f:length-units — Returns the units associated with a length.

Function:
{http://docbook.org/ns/docbook/functions}length-units#1
Defined in:
modules/units.xsl
Used in:
Not used.

Synopsis

f:length-units($length as xs:string?) as xs:string?

Description

+ +

For a given length (see Section 5.2, “Lengths and units”), returns the units +associated with the length. Returns an empty sequence for relative lengths.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_locales.html b/guide/2.2.2/f_locales.html new file mode 100644 index 0000000000..bf923d9d67 --- /dev/null +++ b/guide/2.2.2/f_locales.html @@ -0,0 +1,4 @@ +f:locales

f:locales

f:locales — Returns the locales detected in the document.

Description

+ +

Replaced by f:languages().

+
\ No newline at end of file diff --git a/guide/2.2.2/f_make-length.html b/guide/2.2.2/f_make-length.html new file mode 100644 index 0000000000..4cfaf5edb0 --- /dev/null +++ b/guide/2.2.2/f_make-length.html @@ -0,0 +1,7 @@ +f:make-length

f:make-length

f:make-length — Construct a length from constituent parts.

Function:
{http://docbook.org/ns/docbook/functions}make-length#1
{http://docbook.org/ns/docbook/functions}make-length#2
{http://docbook.org/ns/docbook/functions}make-length#3
Defined in:
modules/units.xsl (3)
Used in:
modules/units.xsl, modules/objects.xsl

Synopsis

f:make-length($relative as xs:double) as map(*)
f:make-length($magnitude as xs:double,
$unit as xs:string) as map(*)
f:make-length($relative as xs:double,
$magnitude as xs:double,
$unit as xs:string) as map(*)

Description

+ +

These functions construct a length (see Section 5.2, “Lengths and units”) from +either a relative magnitude, an absolute magnitude and a unit, or +both. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_mediaobject-amend-uri.html b/guide/2.2.2/f_mediaobject-amend-uri.html new file mode 100644 index 0000000000..f11cca4da3 --- /dev/null +++ b/guide/2.2.2/f_mediaobject-amend-uri.html @@ -0,0 +1,21 @@ +f:mediaobject-amend-uri

f:mediaobject-amend-uri

f:mediaobject-amend-uri — Amend the URI for media objects.

Function:
{http://docbook.org/ns/docbook/functions}mediaobject-amend-uri#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:mediaobject-amend-uri($uri as xs:string) as xs:string

Description

+ +

After the media object URI has been calculated, +f:mediaobject-amend-uri() is called. This is an opportunity +to update the URI so that the media object will be found.

+

The default version of this function returns the URI unchanged unless +$mediaobject-grouped-by-type is true. +If media objects are grouped by type, the media object type is added to the +URI. The media object type is determined by calling +f:mediaobject-type().

+

Suppose, for example, that the calculated URI is +file:///path/to/image.jpg and the +f:mediaobject-type() returns “jpeg”. In that +case, the URI returned will be +file:///path/to/jpeg/image.jpg.

+
Important

Consider how this function interacts with +the m:mediaobject-output-adjust mode. In particular, beware that +the value processed in the +m:mediaobject-output-adjust mode will already +have been updated by f:mediaobject-amend-uri().

+
\ No newline at end of file diff --git a/guide/2.2.2/f_mediaobject-input-base-uri.html b/guide/2.2.2/f_mediaobject-input-base-uri.html new file mode 100644 index 0000000000..4f313f224c --- /dev/null +++ b/guide/2.2.2/f_mediaobject-input-base-uri.html @@ -0,0 +1,13 @@ +f:mediaobject-input-base-uri

f:mediaobject-input-base-uri

f:mediaobject-input-base-uri — Identify the input base URI for media.

Function:
{http://docbook.org/ns/docbook/functions}mediaobject-input-base-uri#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:mediaobject-input-base-uri($node as element()) as xs:string

Description

+ +

This value is calculated from the +$mediaobject-input-base-uri parameter. If the +parameter is the empty string, then this value is the empty sequence. Otherwise, +this value is the absolute URI that results from resolving the value of the +$mediaobject-input-base-uri parameter against +the base URI of the input document. +

+

In previous versions of the stylesheet, this value was computed once +as a global variable. It was changed to a function because of failures +resolving the base URI of documents when using XSpec.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_mediaobject-type.html b/guide/2.2.2/f_mediaobject-type.html new file mode 100644 index 0000000000..831d357775 --- /dev/null +++ b/guide/2.2.2/f_mediaobject-type.html @@ -0,0 +1,8 @@ +f:mediaobject-type

f:mediaobject-type

f:mediaobject-type — Return the type of a media object.

Function:
{http://docbook.org/ns/docbook/functions}mediaobject-type#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:mediaobject-type($uri as xs:string) as xs:string?

Description

+ +

If +$mediaobject-grouped-by-type is true, +this function will be called to determine the type of each media object. +The default version simply returns the media object extension, if there is one. +(The type of image.png is png.)

+
\ No newline at end of file diff --git a/guide/2.2.2/f_mediaobject-viewport.html b/guide/2.2.2/f_mediaobject-viewport.html new file mode 100644 index 0000000000..884cfb4228 --- /dev/null +++ b/guide/2.2.2/f_mediaobject-viewport.html @@ -0,0 +1,6 @@ +f:mediaobject-viewport

f:mediaobject-viewport

f:mediaobject-viewport — Construct the “viewport” for media objects.

Function:
{http://docbook.org/ns/docbook/functions}mediaobject-viewport#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:mediaobject-viewport($info as map(*)) as map(*)

Description

+ +

If your DocBook markup for media objects includes any of the size or scaling +adjustment attributes, this function is called to construct the HTML markup that +implements those adjustments.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_number-separator.html b/guide/2.2.2/f_number-separator.html new file mode 100644 index 0000000000..017ac31f8b --- /dev/null +++ b/guide/2.2.2/f_number-separator.html @@ -0,0 +1,5 @@ +f:number-separator

f:number-separator

f:number-separator — Returns the number separator.

Description

+ +

Separators are now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-align.html b/guide/2.2.2/f_object-align.html new file mode 100644 index 0000000000..32d960f62f --- /dev/null +++ b/guide/2.2.2/f_object-align.html @@ -0,0 +1,5 @@ +f:object-align

f:object-align

f:object-align — Returns the alignment of a media object.

Function:
{http://docbook.org/ns/docbook/functions}object-align#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-align($info as map(*)) as xs:string?

Description

+ +

By default, this function simply returns the value of the object’s +align attribute.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-contentheight.html b/guide/2.2.2/f_object-contentheight.html new file mode 100644 index 0000000000..a415ce22c1 --- /dev/null +++ b/guide/2.2.2/f_object-contentheight.html @@ -0,0 +1,13 @@ +f:object-contentheight

f:object-contentheight

f:object-contentheight — Returns the content height of an object.

Function:
{http://docbook.org/ns/docbook/functions}object-contentheight#2
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-contentheight($info as map(*),
$intrinsicheight as map(*)) as map(*)

Description

+ +

Returns the content height, for reasons of historical accident, +in the contentdepth attribute. This function returns the +height of an object as a length (see Section 5.2, “Lengths and units”), if it +has one. If the height is specified as a percentage, and the intrinsic size +of the object is known, the an absolute length equal to that percentage of the +intrinsic size is returned.

+ +

If $image-ignore-scaling is true, or no +contentdepth is specified for the object, the empty sequence is +returned.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-contentwidth.html b/guide/2.2.2/f_object-contentwidth.html new file mode 100644 index 0000000000..c8e540131d --- /dev/null +++ b/guide/2.2.2/f_object-contentwidth.html @@ -0,0 +1,12 @@ +f:object-contentwidth

f:object-contentwidth

f:object-contentwidth — Returns the content width of an object.

Function:
{http://docbook.org/ns/docbook/functions}object-contentwidth#2
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-contentwidth($info as map(*),
$intrinsicwidth as map(*)) as map(*)

Description

+ +

Returns the content width. This function returns the +width of an object as a length (see Section 5.2, “Lengths and units”), if it +has one. If the width is specified as a percentage, and the intrinsic size +of the object is known, the an absolute length equal to that percentage of the +intrinsic size is returned.

+ +

If $image-ignore-scaling is true, or no +contentwidth is specified for the object, the empty +sequence is returned.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-height.html b/guide/2.2.2/f_object-height.html new file mode 100644 index 0000000000..0fb630febc --- /dev/null +++ b/guide/2.2.2/f_object-height.html @@ -0,0 +1,8 @@ +f:object-height

f:object-height

f:object-height — Returns the height (depth) of a mediaobject.

Function:
{http://docbook.org/ns/docbook/functions}object-height#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-height($info as map(*)) as map(*)

Description

+ +

The height of a mediaobject is specified, for reasons of historical +accident, in the depth attribute. This function returns the +height of an object as a length (see Section 5.2, “Lengths and units”), if it has one. +If $image-ignore-scaling is true, or no depth +is specified for the object, the empty sequence is returned.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-properties.html b/guide/2.2.2/f_object-properties.html new file mode 100644 index 0000000000..fec004adfd --- /dev/null +++ b/guide/2.2.2/f_object-properties.html @@ -0,0 +1,20 @@ +f:object-properties

f:object-properties

f:object-properties — Returns the properties of an object.

Function:
{http://docbook.org/ns/docbook/functions}object-properties#1
{http://docbook.org/ns/docbook/functions}object-properties#2
Defined in:
modules/objects.xsl (2)
Used in:
modules/objects.xsl

Synopsis

f:object-properties($uri as xs:string) as map(xs:string, xs:anyAtomicType)
f:object-properties($uri as xs:string,
$image-file as xs:boolean) as map(xs:string, xs:anyAtomicType)

Description

+ +

If the extension functions +are available, the stylesheets will interrogate images for their +properties. The goal is to return, at a minimum, the height and width +of the image. This is used to compute viewport and scaling factors. +If the image metadata extension is available, then considerably more information +my be returned in the map. +

+

+For example, the image metadata properties of the Amaryllis photograph +in Figure 1, “An amaryllis” are:

+ +
Property nameProperty value a
blue-colorant(0.1431, 0.0606, 0.7141)
blue-trc0.0, 0.0000763, 0.0001526, 0.000228…
classDisplay Device
cmm-typeLino
color-spaceRGB
component-1Y component: Quantization table 0, …
component-2Cb component: Quantization table 1,…
component-3Cr component: Quantization table 1,…
compression-typeBaseline
data-precision8 bits
detected-file-type-long-nameJoint Photographic Experts Group
detected-file-type-nameJPEG
detected-mime-typeimage/jpeg
device-manufacturerIEC
device-mfg-descriptionIEC http://www.iec.ch
device-modelsRGB
device-model-descriptionIEC 61966-2.1 Default RGB colour sp…
expected-file-name-extensionjpg
green-colorant(0.3851, 0.7169, 0.0971)
green-trc0.0, 0.0000763, 0.0001526, 0.000228…
image-height336 pixels
image-width500 pixels
luminance(76.0365, 80, 87.1246)
measurement1931 2° Observer, Backing (0, 0, 0)…
media-black-point(0, 0, 0)
media-white-point(0.9505, 1, 1.0891)
number-of-components3
number-of-tables4 Huffman tables
primary-platformMicrosoft Corporation
profile-connection-spaceXYZ
profile-copyrightCopyright (c) 1998 Hewlett-Packard …
profile-date/time1998-02-09T06:49:00
profile-descriptionsRGB IEC61966-2.1
profile-size3144
red-colorant(0.4361, 0.2225, 0.0139)
red-trc0.0, 0.0000763, 0.0001526, 0.000228…
resolution-unitsinch
signatureacsp
tag-count17
technologyCRT
thumbnail-height-pixels0
thumbnail-width-pixels0
version2.1.0
viewing-conditionsview (0x76696577): 36 bytes
viewing-conditions-descriptionReference Viewing Condition in IEC6…
x-resolution72 dots
xyz-values0.964 1 0.825
y-resolution72 dots
aSome values + have been truncated to prevent the table from becoming unwieldy. + These values an be identified by a trailing ellipsis (…).
+ +

Several rich, red amaryllis blossoms on a black +background.

A photograph of an amaryllis
Figure 1An amaryllis
+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-scale.html b/guide/2.2.2/f_object-scale.html new file mode 100644 index 0000000000..3587505230 --- /dev/null +++ b/guide/2.2.2/f_object-scale.html @@ -0,0 +1,7 @@ +f:object-scale

f:object-scale

f:object-scale — Returns the scaling factor for an object.

Function:
{http://docbook.org/ns/docbook/functions}object-scale#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-scale($info as map(*)) as xs:double

Description

+ +

Returns the scaling factor for an object. Scaling only applies if +$image-ignore-scaling is false and the object has a +scale attribute. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-scalefit.html b/guide/2.2.2/f_object-scalefit.html new file mode 100644 index 0000000000..4e52cbe0bc --- /dev/null +++ b/guide/2.2.2/f_object-scalefit.html @@ -0,0 +1,6 @@ +f:object-scalefit

f:object-scalefit

f:object-scalefit — Scale object to fit?

Function:
{http://docbook.org/ns/docbook/functions}object-scalefit#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-scalefit($info as map(*)) as xs:boolean

Description

+ +

This function determines whether or not an object should be scaled +to fit its container. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-valign.html b/guide/2.2.2/f_object-valign.html new file mode 100644 index 0000000000..96661adae8 --- /dev/null +++ b/guide/2.2.2/f_object-valign.html @@ -0,0 +1,8 @@ +f:object-valign

f:object-valign

f:object-valign — Returns the vertical alignment of a media object.

Function:
{http://docbook.org/ns/docbook/functions}object-valign#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-valign($info as map(*)) as xs:string?

Description

+ +

By default, this function simply returns the value of the object’s +valign attribute. If it doesn’t have a +valign attribute, the value “middle” is returned, because +that’s what previous versions of stylesheets for DocBook did. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_object-width.html b/guide/2.2.2/f_object-width.html new file mode 100644 index 0000000000..96d2fb3e2f --- /dev/null +++ b/guide/2.2.2/f_object-width.html @@ -0,0 +1,7 @@ +f:object-width

f:object-width

f:object-width — Returns the width of a mediaobject.

Function:
{http://docbook.org/ns/docbook/functions}object-width#1
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

f:object-width($info as map(*)) as map(*)

Description

+ +

This function returns the +width of an object as a length (see Section 5.2, “Lengths and units”), if it has one. +If $image-ignore-scaling is true, or no width +is specified for the object, the empty length is returned.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_orderedlist-item-number.html b/guide/2.2.2/f_orderedlist-item-number.html new file mode 100644 index 0000000000..fce93ce3a5 --- /dev/null +++ b/guide/2.2.2/f_orderedlist-item-number.html @@ -0,0 +1,7 @@ +f:orderedlist-item-number

f:orderedlist-item-number

f:orderedlist-item-number — Returns the item number of an item in an ordered list.

Function:
{http://docbook.org/ns/docbook/functions}orderedlist-item-number#1
Defined in:
modules/functions.xsl
Used in:
modules/titles.xsl, modules/functions.xsl

Synopsis

f:orderedlist-item-number($node as element(db:listitem)) as xs:integer+

Description

+ +

Returns the item number of a list item. This is always an integer, even if it will +be formatted as a letter, roman numeral, or other symbol. For nested lists, this function +returns the fully qualified item number. For example, for the second item in the fourth item in the +third item of a list, it will return (2, 4, 3).

+
\ No newline at end of file diff --git a/guide/2.2.2/f_orderedlist-item-numeration.html b/guide/2.2.2/f_orderedlist-item-numeration.html new file mode 100644 index 0000000000..f178b6f8c8 --- /dev/null +++ b/guide/2.2.2/f_orderedlist-item-numeration.html @@ -0,0 +1,5 @@ +f:orderedlist-item-numeration

f:orderedlist-item-numeration

f:orderedlist-item-numeration — Returns the item numeration format for an ordered list.

Function:
{http://docbook.org/ns/docbook/functions}orderedlist-item-numeration#1
Defined in:
modules/functions.xsl
Used in:
modules/titles.xsl, modules/lists.xsl

Synopsis

f:orderedlist-item-numeration($node as element(db:listitem)) as xs:string

Description

+ +

Computes the numeration for the specified list item. +See $orderedlist-item-numeration.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_orderedlist-startingnumber.html b/guide/2.2.2/f_orderedlist-startingnumber.html new file mode 100644 index 0000000000..8090b697b4 --- /dev/null +++ b/guide/2.2.2/f_orderedlist-startingnumber.html @@ -0,0 +1,9 @@ +f:orderedlist-startingnumber

f:orderedlist-startingnumber

f:orderedlist-startingnumber — Returns the starting number of an ordered list.

Function:
{http://docbook.org/ns/docbook/functions}orderedlist-startingnumber#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl, modules/lists.xsl

Synopsis

f:orderedlist-startingnumber($list as element(db:orderedlist)) as xs:integer

Description

+ +

In most orderedlist elements, the first item in the list +is item number “1”. However, the startingnumber attribute can specify +a different initial number and, in the case of continued lists, the starting number +depends on the ending number of the preceding list.

+

The f:orderedlist-startingnumber() returns the number +of the first list item in an ordered list.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_orientation-class.html b/guide/2.2.2/f_orientation-class.html new file mode 100644 index 0000000000..92dd480d2c --- /dev/null +++ b/guide/2.2.2/f_orientation-class.html @@ -0,0 +1,5 @@ +f:orientation-class

f:orientation-class

f:orientation-class — Returns the class value to use for an element’s orientation.

Function:
{http://docbook.org/ns/docbook/functions}orientation-class#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl
Since:
2.2.2

Synopsis

f:orientation-class($node as element()) as xs:string?

Description

+ +

Determines if the element specified should be printed in portrait or landscape +orientation. The default is assumed to be portrait.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_parse-length.html b/guide/2.2.2/f_parse-length.html new file mode 100644 index 0000000000..b3b1b4d6c0 --- /dev/null +++ b/guide/2.2.2/f_parse-length.html @@ -0,0 +1,9 @@ +f:parse-length

f:parse-length

f:parse-length — Parse a string into a length.

Function:
{http://docbook.org/ns/docbook/functions}parse-length#1
Defined in:
modules/units.xsl
Used in:
modules/variable.xsl, modules/units.xsl, modules/objects.xsl, modules/tablecals.xsl

Synopsis

f:parse-length($length as xs:string?) as map(*)

Description

+ +

This function parses a string such as “4in” or “3.14cm” or “50%” +into a length. It will fall back to a distance of the +$default-length-magnitude and +$default-length-unit if the string cannot be parsed +as a length. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_pi-attributes.html b/guide/2.2.2/f_pi-attributes.html new file mode 100644 index 0000000000..cc3511c4af --- /dev/null +++ b/guide/2.2.2/f_pi-attributes.html @@ -0,0 +1,10 @@ +f:pi-attributes

f:pi-attributes

f:pi-attributes — Returns processing-instruction pseudo-attributes as attributes.

Function:
{http://docbook.org/ns/docbook/functions}pi-attributes#1
Defined in:
../standalone-functions.xsl
Used in:
modules/functions.xsl, modules/blocks.xsl, modules/objects.xsl, modules/verbatim.xsl, modules/tablecals.xsl, modules/inlines.xsl

Synopsis

f:pi-attributes($pis as processing-instruction()*) as element()?

Description

+ +

Using pseudo-attributes in a +db processing instruction is a convenient mechanism +for providing additional options to the stylesheets. But processing them +is tedious. This function gathers together the pseudo-attributes specified +in a series of processing instructions and returns them as attributes on +an element. If the same property occurs more than once in the sequence, +the last value will be returned.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_pi.html b/guide/2.2.2/f_pi.html new file mode 100644 index 0000000000..09a1ce57a3 --- /dev/null +++ b/guide/2.2.2/f_pi.html @@ -0,0 +1,14 @@ +f:pi

f:pi

f:pi — Returns DocBook processing-instruction property values.

Function:
{http://docbook.org/ns/docbook/functions}pi#2
{http://docbook.org/ns/docbook/functions}pi#3
Defined in:
../standalone-functions.xsl (2)
Used in:
modules/functions.xsl, modules/bibliography.xsl, modules/glossary.xsl, modules/index.xsl, modules/lists.xsl, modules/blocks.xsl, modules/programming.xsl, modules/objects.xsl, modules/verbatim.xsl, modules/xlink.xsl, modules/titles.xsl, modules/info.xsl, modules/tablecals.xsl, modules/chunk.xsl

Synopsis

f:pi($context as node()?,
$property as xs:string) as xs:string?
f:pi($context as node()?,
$property as xs:string,
$default as xs:string*) as xs:string*

Description

+ +

Several DocBook elements have alternate presentations that can be +specified with global parameters. Many of them can also be set on a per-element +basis with a db processing instruction. +The date format, for example, can be changed in this way as described +in the f:date-format() function.

+

The f:pi() function takes a context and the name +of a property. It returns the value specified for that property from all of the +db processing instructions in the +specified context. The three argument version allows you to specify a default +value. It will be returned if there are no values specified for the property +in that context.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_post-label-punctuation.html b/guide/2.2.2/f_post-label-punctuation.html new file mode 100644 index 0000000000..89e853d881 --- /dev/null +++ b/guide/2.2.2/f_post-label-punctuation.html @@ -0,0 +1,4 @@ +f:post-label-punctuation

f:post-label-punctuation

f:post-label-punctuation — Punctuation that follows a label.

Description

+ +

Generated text has been reworked, see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_refsection.html b/guide/2.2.2/f_refsection.html new file mode 100644 index 0000000000..05657897bb --- /dev/null +++ b/guide/2.2.2/f_refsection.html @@ -0,0 +1,6 @@ +f:refsection

f:refsection

f:refsection — Is this a section in a refentry?

Function:
{http://docbook.org/ns/docbook/functions}refsection#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl
Used by:

Synopsis

f:refsection($node as element()) as xs:boolean

Description

+ +

Returns true if the node is a section in a refentry, a +refsection, refsect1, refsect2, or refsect3 +element.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_relative-length.html b/guide/2.2.2/f_relative-length.html new file mode 100644 index 0000000000..1113fda0a7 --- /dev/null +++ b/guide/2.2.2/f_relative-length.html @@ -0,0 +1,7 @@ +f:relative-length

f:relative-length

f:relative-length — Returns the relative portion of a length, if it has one.

Function:
{http://docbook.org/ns/docbook/functions}relative-length#1
Defined in:
modules/units.xsl
Used in:
modules/tablecals.xsl

Synopsis

f:relative-length($length as map(*)) as xs:double

Description

+ +

For a given length, returns the relative length if it has one. +For lengths that have no relative component, returns 0.0. +For a discussion of units, see Section 5.2, “Lengths and units”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_relative-path.html b/guide/2.2.2/f_relative-path.html new file mode 100644 index 0000000000..a8c4a635e4 --- /dev/null +++ b/guide/2.2.2/f_relative-path.html @@ -0,0 +1,10 @@ +f:relative-path

f:relative-path

f:relative-path — Give two file paths, what’s the relative path between them?

Function:
{http://docbook.org/ns/docbook/functions}relative-path#2
Defined in:
modules/functions.xsl
Used in:
modules/objects.xsl

Synopsis

f:relative-path($base as xs:string,
$path as xs:string) as xs:string

Description

+ +

This function attempts to determine the relative path between two +absolute paths. For example, given a base path of +/a/base/uri/path/ and a path of +/a/base/uri/with/other, the results is +../with/other.

+

If the path is an absolute URI (that isn’t a file: URI), +then the URI is returned unchanged.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_section-depth.html b/guide/2.2.2/f_section-depth.html new file mode 100644 index 0000000000..98c4ffc2b1 --- /dev/null +++ b/guide/2.2.2/f_section-depth.html @@ -0,0 +1,5 @@ +f:section-depth

f:section-depth

f:section-depth — Returns the section depth of a node.

Function:
{http://docbook.org/ns/docbook/functions}section-depth#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl

Synopsis

f:section-depth($node as element()?) as xs:integer

Description

+ +

Returns the section depth of a node, that is, how many section elements +are among its ancestors.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_section.html b/guide/2.2.2/f_section.html new file mode 100644 index 0000000000..fd14dfa08c --- /dev/null +++ b/guide/2.2.2/f_section.html @@ -0,0 +1,6 @@ +f:section

f:section

f:section — Is this a section?

Function:
{http://docbook.org/ns/docbook/functions}section#1
Defined in:
modules/functions.xsl
Used in:
Not used.

Synopsis

f:section($node as element()) as xs:boolean

Description

+ +

Returns true if the node is a section, a +section or sect1-5 +element.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_spaces.html b/guide/2.2.2/f_spaces.html new file mode 100644 index 0000000000..92794b2cc3 --- /dev/null +++ b/guide/2.2.2/f_spaces.html @@ -0,0 +1,20 @@ +f:spaces

f:spaces

f:spaces — Returns a string of spaces.

Function:
{http://docbook.org/ns/docbook/functions}spaces#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl, modules/programming.xsl
Used by:

Synopsis

f:spaces($length as item()*) as xs:string?

Description

+ +

This function returns a string of $length spaces. +If $length:

+
  • is empty, an empty sequence is returned.
  • is an integer, or castable to an integer, a string of that length is +returned. If the length is negative, an empty sequence is returned.
  • is anything else, the length of the string value of $length +is used as the length.
+ +

In other words:

+
  • f:spaces(()) is ‘()’,
  • f:spaces(0) is ‘’ (no spaces),
  • f:spaces(-1) is ‘()’,
  • f:spaces(2) is ‘  ’ (two spaces),
  • f:spaces("1") is ‘ ’ (one space), and
  • f:spaces("test") is ‘    ’ (four spaces).
+ +

This function accepts a sequence to support the empty sequence. +If it’s passed a sequence of more than one item, it treats that as if +the string values of the items had been concatenated together. This can +have slightly surprising consequences as “('a', '3', '0')” +will return a string of three spaces whereas +“('0', '3', '0')” will return a string of thirty. +

+ +
\ No newline at end of file diff --git a/guide/2.2.2/f_step-number.html b/guide/2.2.2/f_step-number.html new file mode 100644 index 0000000000..1d5c03cfe0 --- /dev/null +++ b/guide/2.2.2/f_step-number.html @@ -0,0 +1,9 @@ +f:step-number

f:step-number

f:step-number — Returns the step number of a step in an procedure.

Function:
{http://docbook.org/ns/docbook/functions}step-number#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl

Synopsis

f:step-number($node as element(db:step)) as xs:integer+

Description

+ +

Returns the step number of step in a procedure. This is always +an integer, even if it will be formatted as a letter, roman numeral, +or other symbol. For steps nested in side substeps, this +function returns the fully qualified item number. For example, for the +second substep in the fourth substep in the third step of a procedure, it will +return (2, 4, 3).

+
\ No newline at end of file diff --git a/guide/2.2.2/f_step-numeration.html b/guide/2.2.2/f_step-numeration.html new file mode 100644 index 0000000000..f5b24fee9f --- /dev/null +++ b/guide/2.2.2/f_step-numeration.html @@ -0,0 +1,5 @@ +f:step-numeration

f:step-numeration

f:step-numeration — Returns the step numeration format for a step.

Function:
{http://docbook.org/ns/docbook/functions}step-numeration#1
Defined in:
modules/functions.xsl
Used in:
modules/titles.xsl, modules/lists.xsl

Synopsis

f:step-numeration($node as element(db:step)) as xs:string

Description

+ +

Computes the numeration for the specified step. +See $procedure-step-numeration.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_syntax-highlight.html b/guide/2.2.2/f_syntax-highlight.html new file mode 100644 index 0000000000..241ba4babe --- /dev/null +++ b/guide/2.2.2/f_syntax-highlight.html @@ -0,0 +1,10 @@ +f:syntax-highlight

f:syntax-highlight

f:syntax-highlight — Performs syntax highlighting.

Function:
{http://docbook.org/ns/docbook/functions}syntax-highlight#1
{http://docbook.org/ns/docbook/functions}syntax-highlight#2
{http://docbook.org/ns/docbook/functions}syntax-highlight#3
Defined in:
highlight.xsl (3)
Used in:
modules/verbatim.xsl, highlight.xsl

Synopsis

f:syntax-highlight($source as xs:string)
f:syntax-highlight($source as xs:string,
$language as xs:string)
f:syntax-highlight($source as xs:string,
$options,
$pyoptions as map(xs:string,xs:string)) as node()*

Description

+ +

Verbatim environments that specify a language can be syntax highlighted. +Syntax highlighting adds additional spans so that, for example, CSS can be used to make +keyword bold or quoted strings a different color.

+

Syntax highlighting requires an extension function. The list of languages that +will be syntax highlighted is taken from +$verbatim-syntax-highlight-languages. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_target.html b/guide/2.2.2/f_target.html new file mode 100644 index 0000000000..62713e04e7 --- /dev/null +++ b/guide/2.2.2/f_target.html @@ -0,0 +1,6 @@ +f:target

f:target

f:target — Returns the element identified by a particular id.

Function:
{http://docbook.org/ns/docbook/functions}target#2
Defined in:
modules/functions.xsl
Used in:
modules/programming.xsl, modules/links.xsl

Synopsis

f:target($id as xs:string,
$context as node()) as element()*

Description

+ +

The item with the specified ID that is in the same document as +$context item is returned. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_template.html b/guide/2.2.2/f_template.html new file mode 100644 index 0000000000..6d79f3891b --- /dev/null +++ b/guide/2.2.2/f_template.html @@ -0,0 +1,5 @@ +f:template

f:template

f:template — Returns the title page template for an element.

Function:
{http://docbook.org/ns/docbook/functions}template#2
Defined in:
modules/templates.xsl
Used in:
modules/templates.xsl

Synopsis

f:template($context as element(),
$default as element()) as element()

Description

+ +

Returns the title page template that should be used for an element. +If no template is found, returns the $default template.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_tokenize-on-char.html b/guide/2.2.2/f_tokenize-on-char.html new file mode 100644 index 0000000000..4dca0f7b78 --- /dev/null +++ b/guide/2.2.2/f_tokenize-on-char.html @@ -0,0 +1,6 @@ +f:tokenize-on-char

f:tokenize-on-char

f:tokenize-on-char — Tokenize a string at a specific character.

Function:
{http://docbook.org/ns/docbook/functions}tokenize-on-char#2
Defined in:
modules/functions.xsl
Used in:
modules/tablecals.xsl

Synopsis

f:tokenize-on-char($string as xs:string,
$char as xs:string) as xs:string*

Description

+ +

This function tokenizes a string at a specific character (not a regular +expression). If the specified character is a regular expression meta-character, it +is automatically escaped.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_translate-attribute.html b/guide/2.2.2/f_translate-attribute.html new file mode 100644 index 0000000000..0bf805642b --- /dev/null +++ b/guide/2.2.2/f_translate-attribute.html @@ -0,0 +1,12 @@ +f:translate-attribute

f:translate-attribute

f:translate-attribute — Controls the translate attribute.

Function:
{http://docbook.org/ns/docbook/functions}translate-attribute#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl
Since:
2.1.3

Synopsis

f:translate-attribute($node as element()) as xs:boolean?

Description

+ +

When computing what attributes to put on elements in the output, this function +is called to check whether a translate attribute should be +output:

+
  • If it returns true, a translate attribute with the +value “yes” will be output.

  • If it returns false, a translate attribute with the +value “no” will be output.

  • If it returns the empty sequence, no translate attribute +will be output.

+

The default implementation of this function checks the (local) name of the +element with the $translate-suppress-elements list.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_unique-id.html b/guide/2.2.2/f_unique-id.html new file mode 100644 index 0000000000..494e926b00 --- /dev/null +++ b/guide/2.2.2/f_unique-id.html @@ -0,0 +1,7 @@ +f:unique-id

f:unique-id

f:unique-id — Returns an ID for the element.

Function:
{http://docbook.org/ns/docbook/functions}unique-id#1
Defined in:
modules/functions.xsl
Used in:
Not used.

Synopsis

f:unique-id($node as element()) as xs:string

Description

+ +

This function returns a globally unique ID for the element. This allows +a transformation to disambiguate between different elements that happen to have +the same xml:id, as can occur if transclusion is performed. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_uri-scheme.html b/guide/2.2.2/f_uri-scheme.html new file mode 100644 index 0000000000..e3f2951c97 --- /dev/null +++ b/guide/2.2.2/f_uri-scheme.html @@ -0,0 +1,5 @@ +f:uri-scheme

f:uri-scheme

f:uri-scheme — Returns the scheme portion of a URI.

Function:
{http://docbook.org/ns/docbook/functions}uri-scheme#1
Defined in:
modules/functions.xsl
Used in:
modules/functions.xsl, modules/objects.xsl, modules/chunk-cleanup.xsl
Since:
2.0.6

Synopsis

f:uri-scheme($uri as xs:string) as xs:string?

Description

+ +

If the URI begins with a scheme, this function returns the scheme. +Otherwise, it returns an empty sequence.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_verbatim-highlight.html b/guide/2.2.2/f_verbatim-highlight.html new file mode 100644 index 0000000000..0a1aa2ce2e --- /dev/null +++ b/guide/2.2.2/f_verbatim-highlight.html @@ -0,0 +1,13 @@ +f:verbatim-highlight

f:verbatim-highlight

f:verbatim-highlight — Returns the highlight properties for a verbatim environment.

Function:
{http://docbook.org/ns/docbook/functions}verbatim-highlight#1
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl

Synopsis

f:verbatim-highlight($context as element()) as xs:string*

Description

+ +

Verbatim elements can be styled in a variety of ways, see +Section 5.3, “Verbatim styles”. This function returns the highlight settings +for a particular verbatim environment.

+

If the style for this environment is explicitly “plain”, then no +highlight settings are returned (this avoids a bunch of warning messages). +Otherwise, if a +db processing instruction with a +verbatim-highlight pseudo-attribute is present, +it is returned. If there’s no PI, then the default +settings for this kind of environment are returned.

+
\ No newline at end of file diff --git a/guide/2.2.2/f_verbatim-numbered.html b/guide/2.2.2/f_verbatim-numbered.html new file mode 100644 index 0000000000..7d1e94020a --- /dev/null +++ b/guide/2.2.2/f_verbatim-numbered.html @@ -0,0 +1,25 @@ +f:verbatim-numbered

f:verbatim-numbered

f:verbatim-numbered — Returns true if the listing should be numbered.

Function:
{http://docbook.org/ns/docbook/functions}verbatim-numbered#1
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl, modules/attributes.xsl

Synopsis

f:verbatim-numbered($context as element()) as xs:boolean

Description

+ +

The f:verbatim-numbered() function returns true of +the specified verbatim listing should be numbered. This will be true if: +

+ + +

There are two overriding conditions that will force the value to +be false: first, if the linenumbering attribute is specified and has the +value unnumbered, the listing will not be numbered. +Second if the listing has a +db processing instruction with a +verbatim-style pseudo attribute that specifies the “plain” style. Listings +in the plain style cannot be numbered, attempting to do so will generate +a warning message from the stylesheets. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_verbatim-style.html b/guide/2.2.2/f_verbatim-style.html new file mode 100644 index 0000000000..06c37a436a --- /dev/null +++ b/guide/2.2.2/f_verbatim-style.html @@ -0,0 +1,18 @@ +f:verbatim-style

f:verbatim-style

f:verbatim-style — Returns the style of a verbatim listing.

Function:
{http://docbook.org/ns/docbook/functions}verbatim-style#1
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl, modules/attributes.xsl

Synopsis

f:verbatim-style($context as element()) as xs:string

Description

+ +

The f:verbatim-style() function returns the style +of presentation that should be used for the +specified verbatim listing. +

+

If a +db processing instruction with a +verbatim-style pseudo-attribute is present, +the value of that pseudo-attribute will be returned. +Otherwise, it will be “lines” if the +element’s name is listed in +$verbatim-line-style, +“plain” if the +element’s name is listed in +$verbatim-plain-style, or “raw”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_verbatim-trim-leading.html b/guide/2.2.2/f_verbatim-trim-leading.html new file mode 100644 index 0000000000..386eaa1cd5 --- /dev/null +++ b/guide/2.2.2/f_verbatim-trim-leading.html @@ -0,0 +1,10 @@ +f:verbatim-trim-leading

f:verbatim-trim-leading

f:verbatim-trim-leading — Return true if leading blank lines should be trimmed.

Function:
{http://docbook.org/ns/docbook/functions}verbatim-trim-leading#1
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl

Synopsis

f:verbatim-trim-leading($context as element()) as xs:boolean

Description

+ +

This function examines a verbatim environment, the $context, +and returns true if leading blank lines should be trimmed from it. +A db processing instruction with a +verbatim-trim-leading pseudo-attribute may be used to override the +$verbatim-trim-leading-blank-lines parameter on a +case-by-case basis. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_verbatim-trim-trailing.html b/guide/2.2.2/f_verbatim-trim-trailing.html new file mode 100644 index 0000000000..0005553c0f --- /dev/null +++ b/guide/2.2.2/f_verbatim-trim-trailing.html @@ -0,0 +1,10 @@ +f:verbatim-trim-trailing

f:verbatim-trim-trailing

f:verbatim-trim-trailing — Return true if trailing blank lines should be trimmed.

Function:
{http://docbook.org/ns/docbook/functions}verbatim-trim-trailing#1
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl

Synopsis

f:verbatim-trim-trailing($context as element()) as xs:boolean

Description

+ +

This function examines a verbatim environment, the $context, +and returns true if trailing blank lines should be trimmed from it. +A db processing instruction with a +verbatim-trim-trailing pseudo-attribute may be used to override the +$verbatim-trim-trailing-blank-lines parameter on a +case-by-case basis. +

+
\ No newline at end of file diff --git a/guide/2.2.2/f_xlink-style.html b/guide/2.2.2/f_xlink-style.html new file mode 100644 index 0000000000..8c6822182a --- /dev/null +++ b/guide/2.2.2/f_xlink-style.html @@ -0,0 +1,6 @@ +f:xlink-style
\ No newline at end of file diff --git a/guide/2.2.2/f_xpointer-idref.html b/guide/2.2.2/f_xpointer-idref.html new file mode 100644 index 0000000000..b549b4ae54 --- /dev/null +++ b/guide/2.2.2/f_xpointer-idref.html @@ -0,0 +1,14 @@ +f:xpointer-idref

f:xpointer-idref

f:xpointer-idref — Parses an XPointer for a same-document ID reference.

Function:
{http://docbook.org/ns/docbook/functions}xpointer-idref#1
Defined in:
modules/xlink.xsl
Used in:
modules/xlink.xsl

Synopsis

f:xpointer-idref($xpointer) as xs:string?

Description

+ +

In DocBook, there are generally two ways to refer to other +elements in the current document by ID: using the linkend +(or linkends) attribute or using the xlink:href +attribute.

+

The f:xpointer-idref() function returns the +ID portion of an XPointer that is a reference to another ID in the +current document.

+

In other words: +

+
  • f:xpointer-idref('#foo') is foo,
  • f:xpointer-idref('id(foo)') is foo,
  • and f:xpointer-idref('http://example.org/#foo') +is the empty sequence.
+
\ No newline at end of file diff --git a/guide/2.2.2/functions.html b/guide/2.2.2/functions.html new file mode 100644 index 0000000000..d2b24824ce --- /dev/null +++ b/guide/2.2.2/functions.html @@ -0,0 +1 @@ +III. Function reference

IIIFunction reference

Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/gfdl.html b/guide/2.2.2/gfdl.html new file mode 100644 index 0000000000..a8eb5276ad --- /dev/null +++ b/guide/2.2.2/gfdl.html @@ -0,0 +1,244 @@ +Appendix B. GNU Free Documentation License

Appendix BGNU Free Documentation License

                
+                   Version 1.1, March 2000
+
+ Copyright (C) 2000  Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other +written document "free" in the sense of freedom: to assure everyone +the effective freedom to copy and redistribute it, with or without +modifying it, either commercially or noncommercially. Secondarily, +this License preserves for the author and publisher a way to get +credit for their work, while not being considered responsible for +modifications made by others.

This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software.

We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work that contains a +notice placed by the copyright holder saying it can be distributed +under the terms of this License. The "Document", below, refers to any +such manual or work. Any member of the public is a licensee, and is +addressed as "you".

A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (For example, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them.

The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License.

The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License.

A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, whose contents can be viewed and edited directly and +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup has been designed to thwart or discourage +subsequent modification by readers is not Transparent. A copy that is +not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML designed for human modification. Opaque formats include +PostScript, PDF, proprietary formats that can be read and edited only +by proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML produced by some word processors for output +purposes only.

The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and +you may publicly display copies.

3. COPYING IN QUANTITY

If you publish printed copies of the Document numbering more than 100, +and the Document's license notice requires Cover Texts, you must enclose +the copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages.

If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a publicly-accessible computer-network location containing a complete +Transparent copy of the Document, free of added material, which the +general network-using public has access to download anonymously at no +charge using public-standard network protocols. If you use the latter +option, you must take reasonably prudent steps, when you begin +distribution of Opaque copies in quantity, to ensure that this +Transparent copy will remain thus accessible at the stated location +until at least one year after the last time you distribute an Opaque +copy (directly or through your agents or retailers) of that edition to +the public.

It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version:

  1. Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. +

  2. List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has less than five). +

  3. State on the Title page the name of the publisher of the +Modified Version, as the publisher. +

  4. Preserve all the copyright notices of the Document. +

  5. Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. +

  6. Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. +

  7. Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. +

  8. Include an unaltered copy of this License. +

  9. Preserve the section entitled "History", and its title, and add to +it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section entitled "History" in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. +

  10. Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the "History" section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. +

  11. In any section entitled "Acknowledgements" or "Dedications", +preserve the section's title, and preserve in the section all the +substance and tone of each of the contributor acknowledgements +and/or dedications given therein. +

  12. Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. +

  13. Delete any section entitled "Endorsements". Such a section +may not be included in the Modified Version. +

  14. Do not retitle any existing section as "Endorsements" +or to conflict in title with any Invariant Section. +

If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles.

You may add a section entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties—for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard.

You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version.

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice.

The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections entitled "History" +in the various original documents, forming one section entitled +"History"; likewise combine any sections entitled "Acknowledgements", +and any sections entitled "Dedications". You must delete all sections +entitled "Endorsements."

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, does not as a whole count as a Modified Version +of the Document, provided no compilation copyright is claimed for the +compilation. Such a compilation is called an "aggregate", and this +License does not apply to the other self-contained works thus compiled +with the Document, on account of their being thus compiled, if they +are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one quarter +of the entire aggregate, the Document's Cover Texts may be placed on +covers that surround only the Document within the aggregate. +Otherwise they must appear on covers around the whole aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License provided that you also include the +original English version of this License. In case of a disagreement +between the translation and the original English version of this +License, the original English version will prevail.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page:

Copyright (c)  YEAR  YOUR NAME.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1
+or any later version published by the Free Software Foundation;
+with the Invariant Sections being LIST THEIR TITLES, with the
+Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+A copy of the license is included in the section entitled "GNU
+Free Documentation License".

If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no +Front-Cover Texts, write "no Front-Cover Texts" instead of +"Front-Cover Texts being LIST"; likewise for Back-Cover Texts.

If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software.

\ No newline at end of file diff --git a/guide/2.2.2/gindex.html b/guide/2.2.2/gindex.html new file mode 100644 index 0000000000..6318888c21 --- /dev/null +++ b/guide/2.2.2/gindex.html @@ -0,0 +1 @@ +Index

Index

D

  • db processing instruction, 1, 1, 1, 1
    • numbered pseudo-attribute, 1
    • glossary-collection pseudo-attribute, 1
    • bibliography-collection pseudo-attribute, 1

P

  • param
    • resource-base-uri, 1
    • chunk, 1
    • chunk-output-base-uri, 1
    • chunk-include, 1, 1, 2
    • chunk-exclude, 1, 1, 2
    • persistent-toc, 1, 1
    • chunk-nav, 1, 1, 1
    • profile-os, 1, 1
    • profile-arch, 1
    • profile-audience, 1
    • profile-condition, 1
    • profile-conformance, 1
    • profile-lang, 1
    • profile-outputformat, 1
    • profile-revision, 1
    • profile-revisionflag, 1
    • profile-role, 1
    • profile-security, 1
    • profile-userlevel, 1
    • profile-vendor, 1
    • profile-wordsize, 1
    • profile-separator, 1, 2
    • dynamic-profiles, 1
    • verbatim-syntax-highlighter, 1
    • persistent-toc-css, 1, 1
    • persistent-toc-search, 1
    • persistent-toc-filename, 1, 2, 3
    • pagetoc-elements, 1
    • pagetoc-dynamic, 1
    • pagetoc-js, 1
    • vendor-css, 1, 2, 3
    • output-media, 1, 2, 1
    • verbatim-syntax-highlight-css, 1
    • use-docbook-css, 1
    • user-css-links, 1
    • sets-number-from, 1
    • books-number-from, 1
    • divisions-number-from, 1
    • components-number-from, 1
    • sections-number-from, 1
    • formal-objects-number-from, 1
    • sets-inherit-from, 1
    • books-inherit-from, 1
    • divisions-inherit-from, 1
    • components-inherit-from, 1
    • sections-inherit-from, 1
    • formal-objects-inherit-from, 1
    • division-numbers, 1, 1
    • component-numbers, 1, 1
    • section-numbers, 1, 1
    • glossary-collection, 1
    • glossary-sort-entries, 1
    • glossary-automatic-divisions, 1
    • bibliography-collection, 1
    • nominal-page-width, 1
    • pixels-per-inch, 1
    • verbatim-number-separator, 1
    • mediaobject-input-base-uri, 1, 1, 2, 3
    • mediaobject-output-base-uri, 1, 1, 2, 3
    • mediaobject-exclude-extensions, 1
    • mediaobject-output-paths, 1
    • annotation-placement, 1
    • relax-ng-grammar, 1
    • oxy-markup, 1
    • transform-original, 1
    • transform-before, 1
    • transform-after, 1
    • variablelist-panelset, 1
    • titleabbrev-passthrough, 1
    • inline-xlink-href, 1
    • unwrap-paragraphs, 1, 1, 1
    • debug, 1, 1
    • translate-suppress-elements, 1
    • verbatim-trim-leading-blank-lines, 1
    • verbatim-trim-trailing-blank-lines, 1
    • copy-verbatim-js, 1
    • fallback-js, 1
    • auto-toc, 1
    • formal-object-title-placement, 1
    • formalgroup-nested-object-title-placement, 1
    • mediaobject-details-placement, 1
    • mediaobject-accessibility, 1
    • table-accessibility, 1
    • bibliography-style, 1
    • message-level, 1

V

  • variable
    • v:templates, 1, 2
    • v:localization-base-uri, 1
    • v:custom-localizations, 1, 2
    • v:user-title-groups, 1, 1, 2
    • v:user-xref-groups, 1, 1
    • v:unit-scale, 1
    • v:standard-transforms, 1
    • v:debug, 1
\ No newline at end of file diff --git a/guide/2.2.2/glossary.html b/guide/2.2.2/glossary.html new file mode 100644 index 0000000000..7f15164e5a --- /dev/null +++ b/guide/2.2.2/glossary.html @@ -0,0 +1,27 @@ +Glossary

Glossary

Clark name

A Clark name is a way of unambiguously representing a qualified +name (see XML) as a string. It consists of the +namespace name in curly braces followed immediately by the local name. +For example, the Clark name for the DocBook para element +is: “{http://docbook.org/ns/docbook}para”.

hamburger menu

The “hamburger menu” or +“hamburger +button” is the name for the “☰” icon often used to indicate a menu of choices. +

intrinsic size

The intrinsic size of an object is it’s actual size, measured in absolute +units, usually pixels. The stylesheets rely on extension functions to obtain +the intrinsic size of objects; if the extension functions aren’t available or the +image format is not recognized, no intrinsic size will be known.

is true

XPath defines a boolean type, xs:boolean, that is either +true or false. But for the purpose of passing parameters to the stylesheet +at runtime, whether it’s from the command line, from a configuration file, or +through some other means, it’s often more convenient to pass string values. +This saves the user from having to use whatever extra syntactic mechanisms +would be required to identify the type of the variable.

To this end, many “boolean” parameters are actually strings. A string +value is true if it consists of one of the strings “true”, +“yes”, or “1”.

object

In this guide, the term “object” is used to refer generally to +any image, video, or audio media element. They have a width and a height but no +useful internal structure from the perspective of the stylesheets. +

pseudo-attribute

Processing instructions (see XML) have no +internal structure. The stylesheets interrogate the +db processing instruction to determine formatting properties +for a number of different elements.

In order to make it easy to consistently specify different properties, +the value of the processing instruction is parsed as if it contained +attributes. These pseudo-attributes must consist of +a name, followed by “=”, followed by a quoted string.

\ No newline at end of file diff --git a/guide/2.2.2/index.html b/guide/2.2.2/index.html new file mode 100644 index 0000000000..7c144f9d09 --- /dev/null +++ b/guide/2.2.2/index.html @@ -0,0 +1,6 @@ +DocBook xslTNG Reference

DocBook xslTNG Reference

Author: Norman Walsh
Updated:
Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/js/annotations.js b/guide/2.2.2/js/annotations.js new file mode 100644 index 0000000000..43a71ecccd --- /dev/null +++ b/guide/2.2.2/js/annotations.js @@ -0,0 +1,122 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is annotations.js providing support for popup annotations. + * + * See https://xsltng.docbook.org/ + * + */ + +(function() { + const html = document.querySelector("html"); + + const showAnnotation = function(event, id) { + let div = document.querySelector(id); + div.style.display = "block"; + enablePopup(div); + + event.preventDefault(); + + // Give the current click event a chance to settle? + window.setTimeout(function () { + let curpress = document.onkeyup; + document.onkeyup = function (event) { + hideAnnotation(event, id, curpress); + }; + }, 25); + + return false; + }; + + const hideAnnotation = function(event, id, curpress) { + let div = document.querySelector(id); + div.style.display = "none"; + disablePopup(div); + + if (curpress) { + document.onkeyup = curpress; + } + + return true; + }; + + const enablePopup = function(div) { + togglePopup(div, 'popup-', ''); + }; + + const disablePopup = function(div) { + togglePopup(div, '', 'popup-'); + }; + + const togglePopup = function(div, on, off) { + div.classList.remove(`${off}annotation-wrapper`); + div.classList.add(`${on}annotation-wrapper`); + ["body", "header", "content"].forEach(function(token) { + const find = `.${off}annotation-${token}`; + const addClass = `${on}annotation-${token}`; + const removeClass = `${off}annotation-${token}`; + div.querySelectorAll(find).forEach(function (div) { + div.classList.add(addClass); + div.classList.remove(removeClass); + }); + }); + }; + + let jsannotations = window.localStorage.getItem("docbook-js-annotations"); + if (jsannotations === "false") { + return; + } + html.classList.add("js-annotations"); + + // Turn off the display of the individual annotations + document.querySelectorAll("footer .annotations > div").forEach(function(div) { + div.style.display = "none"; + }); + + // Change the class on the annotations block to remove its styling + document.querySelectorAll("footer .annotations").forEach(function(div) { + // Turn off the annotation styling + div.classList.add("popup-annotations"); + div.classList.remove("annotations"); + }); + + // The annotation close markup is hidden in a script. This prevents + // it from showing up spuriously all over screen readers and other + // user agents that don't support JavaScript. Find it and copy it + // into the annotations. + let annoClose = document.querySelector("script.annotation-close"); + if (!annoClose) { + // I have a bad feeling about this... + annoClose = document.createElement("span"); + annoClose.innerHTML = "╳"; + } + document.querySelectorAll("div.annotation-close").forEach(function(div) { + div.innerHTML = annoClose.innerHTML; + }); + + // Setup the onclick event for the annotation marks + document.querySelectorAll("a.annomark").forEach(function(mark) { + let id = mark.getAttribute("href"); + // Escape characters that confuse querySelector + id = id.replace(/\./g, "\\."); + mark.onclick = function (event) { + showAnnotation(event, id); + }; + }); + + // Take out the annotation numbers (in the text and the popup titles) + document.querySelectorAll(".annomark sup.num").forEach(function(sup) { + sup.style.display = "none"; + }); + + // If an annotation is displayed, make clicking on the page hide it + document.querySelectorAll("div.annotation-close").forEach(function(anno) { + // Carefully walk up the tree; this might just be the close tag lying + // around in the footer not actually inside an annotation. + let id = anno.parentNode.parentNode.parentNode.getAttribute("id"); + // Escape characters that confuse querySelector + id = id.replace(/\./g, "\\."); + anno.onclick = function (event) { + hideAnnotation(event, `#${id}`); + }; + }); +})(); diff --git a/guide/2.2.2/js/chunk-nav.js b/guide/2.2.2/js/chunk-nav.js new file mode 100644 index 0000000000..61336104ba --- /dev/null +++ b/guide/2.2.2/js/chunk-nav.js @@ -0,0 +1,74 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is chunk-nav.js providing support for keyboard + * navigation between chunks. + * + * See https://xsltng.docbook.org/ + * + * The stylesheets store next/prev/up/home links in the HTML head + * using link/@rel elements. If chunk-nav.js is loaded, N/→, P/←, U, + * and H/Home navigate to the next, previous, "up", and home pages. + */ + +(function() { + const KEY_N = 78; + const KEY_RIGHT = 39; + + const KEY_P = 80; + const KEY_LEFT = 37; + + const KEY_U = 85; + const KEY_UP = 38; + + const KEY_H = 72; + const KEY_HOME = 36; + + const KEY_SPACE = 32; + + const KEY_SHIFT = 16; + + const body = document.querySelector("body"); + + const nav = function(event) { + event = event || window.event; + let keyCode = event.keyCode || event.which; + + if (event.srcElement && event.srcElement.classList.contains("ptoc-search")) { + // Don't navigate if the user is typing in the persistent toc search box + return true; + } + + switch (keyCode) { + case KEY_N: + case KEY_RIGHT: + case KEY_SPACE: + nav_to(event, "next"); + break; + case KEY_P: + case KEY_LEFT: + nav_to(event, "prev"); + break; + case KEY_U: + nav_to(event, "up"); + break; + case KEY_H: + case KEY_HOME: + nav_to(event, "home"); + break; + default: + break; + } + + return false; + }; + + const nav_to = function(event, rel) { + event.preventDefault(); + let link = document.querySelector(`head link[rel='${rel}']`); + if (link && link.hasAttribute("href")) { + window.location.href = link.getAttribute("href"); + } + }; + + window.onkeyup = nav; +})(); diff --git a/guide/2.2.2/js/controls.js b/guide/2.2.2/js/controls.js new file mode 100644 index 0000000000..3594d9836e --- /dev/null +++ b/guide/2.2.2/js/controls.js @@ -0,0 +1,185 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is controls.js providing JavaScript controls. + * + * See https://xsltng.docbook.org/ + * + */ + +(function() { + const prefersDark = window.matchMedia + && window.matchMedia('(prefers-color-scheme: dark)').matches; + const html = document.querySelector("html"); + const body = document.querySelector("body"); + const controlScript = document.querySelector("#db-js-controls"); + let themeList = []; + let togglesFieldset = null; + let themesFieldset = null; + let toggleAnnotations = "#db-js-annotations_"; + let toggleXLinks = "#db-js-xlinks_"; + let jsControlsReload = "#db-js-controls-reload_"; + let controls = null; + let menu = null; + + const activateControls = function() { + let open = controls.querySelector(".controls-open"); + open = body.appendChild(open); + open.style.position = "fixed"; + open.style.left = "10px"; + open.style.top = "0"; + open.style.cursor = "pointer"; + open.onclick = function(event) { + showMenu(event); + }; + + menu = controls.querySelector(".js-controls-wrapper"); + menu = body.appendChild(menu); + let close = menu.querySelector(".js-controls-close"); + close.onclick = function(event) { + hideMenu(event); + }; + + let nodes = menu.querySelectorAll("button"); + nodes[0].style.cursor = "pointer"; + nodes[0].onclick = function(event) { + hideMenu(event); + }; + nodes[1].style.cursor = "pointer"; + nodes[1].onclick = function(event) { + updateSettings(event); + }; + + nodes = menu.querySelectorAll("fieldset"); + togglesFieldset = nodes[0]; + themesFieldset = nodes[1]; + + let random = togglesFieldset.getAttribute("db-random"); + toggleAnnotations = toggleAnnotations + random; + toggleXLinks = toggleXLinks + random; + jsControlsReload = jsControlsReload + random; + + let check = document.querySelector(toggleAnnotations); + check.onchange = function (event) { + let check = document.querySelector(toggleAnnotations); + window.localStorage.setItem("docbook-js-annotations", check.checked); + checkReload(event); + }; + check.checked = html.classList.contains("js-annotations"); + + check = document.querySelector(toggleXLinks); + check.onchange = function (event) { + let check = document.querySelector(toggleXLinks); + window.localStorage.setItem("docbook-js-xlinks", check.checked); + checkReload(event); + }; + check.checked = html.classList.contains("js-xlinks"); + + let theme = window.localStorage.getItem("docbook-theme"); + if (theme) { + document.querySelectorAll("input[name='db-theme']").forEach(function(input) { + if (input.value === theme) { + input.checked = true; + } else { + input.checked = false; + } + }); + } + }; + + const showMenu = function(event) { + let toggles = menu.querySelector("fieldset.js-controls-toggles"); + if (event.shiftKey) { + toggles.style.display = "block"; + } else { + toggles.style.display = "none"; + } + + let theme = currentTheme(); + document.querySelectorAll("input[name='db-theme']").forEach(function(input) { + if (input.value === theme) { + input.checked = true; + } else { + input.checked = false; + } + }); + + menu.style.display = "block"; + }; + + const checkReload = function(event) { + let reload = false; + let value = window.localStorage.getItem("docbook-js-annotations") === "true"; + reload = reload || value !== document.querySelector(toggleAnnotations).checked; + value = window.localStorage.getItem("docbook-js-xlinks") === "true"; + reload = reload || value !== document.querySelector(toggleXLinks).checked; + + if (reload) { + document.querySelector(jsControlsReload).innerHTML = "Reload required"; + } else { + document.querySelector(jsControlsReload).innerHTML = ""; + } + + return false; + }; + + const currentTheme = function() { + let theme = null; + themeList.forEach(function(item) { + if (html.classList.contains(item)) { + theme = item; + } + }); + return theme; + }; + + const setTheme = function(theme) { + themeList.forEach(function(item) { + html.classList.remove(item); + }); + html.classList.add(theme); + }; + + const updateSettings = function(event) { + menu.style.display = "none"; + + const newTheme = document.querySelector("input[name='db-theme']:checked"); + if (newTheme) { + setTheme(newTheme.value); + window.localStorage.setItem("docbook-theme", newTheme.value); + } + }; + + const hideMenu = function(event) { + menu.style.display = "none"; + }; + + if (controlScript) { + controls = document.createElement("DIV"); + controls.innerHTML = controlScript.innerHTML; + activateControls(); + + // Find the controls in the document + document.querySelectorAll(".js-controls-wrapper").forEach(function(div) { + // The controls will be the last one, in the unlikely event there's + // more than one. (It's possible for a document to use that class.) + controls = div; + }); + + // Populate the themes list + document.querySelectorAll("input[name='db-theme']").forEach(function(input) { + themeList.push(input.value); + }); + + let theme = window.localStorage.getItem("docbook-theme"); + if (theme !== null) { + setTheme(theme); + } else { + let dark = controls.querySelector("div").getAttribute("db-dark-theme"); + if (dark && prefersDark) { + setTheme(dark); + } + } + + html.style.display = "block"; + } +})(); diff --git a/guide/2.2.2/js/copy-verbatim.js b/guide/2.2.2/js/copy-verbatim.js new file mode 100644 index 0000000000..d35c560b9f --- /dev/null +++ b/guide/2.2.2/js/copy-verbatim.js @@ -0,0 +1,133 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is copy-verbatim.js providing support for a dynamic + * copy-to-clipboard link on verbatim listings. + * + * See https://xsltng.docbook.org/ + * + */ +(function() { + const COPY = ""; + const OK = ""; + + let text = ""; + + const buildText = function(elem) { + const nodes = elem.childNodes; + for (let pos = 0; pos < nodes.length; pos++) { + const child = nodes[pos]; + switch (child.nodeType) { + case Node.ELEMENT_NODE: + if (child.classList.contains("callout-bug") + || child.classList.contains("co") + || child.classList.contains("lineannotation") + || child.classList.contains("ln") + || child.classList.contains("nsep")) { + // Ignore these + } else { + buildText(child); + } + break; + case Node.TEXT_NODE: + text += child.textContent; + break; + default: + break; + } + } + }; + + const copyText = function(event) { + // The target could be anywhere inside the SVG. Go up until we find the div. + // Keep track of the "svg" element along the way. + let div = event.target; + let svg = null; + while (div && div.tagName !== "DIV") { + if (div.tagName == "svg") { // Yes, lower case! + svg = div; + } + div = div.parentNode; + } + + const table = div.querySelector("table"); + let pre = null; + if (table) { + div.querySelectorAll("pre").forEach(elem => { + pre = elem; + }); + } else { + pre = div.querySelector("pre"); + } + + if (!pre) { + console.log("Error: no
 to copy!?");
+      return;
+    }
+
+    text = "";
+    buildText(pre);
+
+    // Trim away trailing blanks
+    text = text.replaceAll(/[ \t]+\n/g, "\n");
+    navigator.clipboard.writeText(text);
+
+    // Remove the event listener while we display the checkbox
+    svg.removeEventListener("click", copyText);
+
+    // Display the checkbox for a moment
+    svg.innerHTML = OK;
+    svg.style.fill = "#006400";
+    setTimeout(() => {
+      svg.innerHTML = COPY;
+      svg.style.fill = "#000000";
+      svg.addEventListener("click", copyText);
+    }, 1000);
+  };
+
+  const showCopyButton = function(event) {
+    const div = event.target;
+    const pre = div.querySelector("pre");
+    if (!pre) {
+      return;
+    }
+
+    let svg = div.querySelector(".copyVerbIcon");
+    if (svg) {
+      svg.style.display = "block";
+    } else {
+      let svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+      svg.setAttribute("aria-hidden", "true");
+      svg.setAttribute("width", "16");
+      svg.setAttribute("height", "16");
+      svg.setAttribute("viewBox", "0 0 16 16");
+      svg.setAttribute("version", "1.1");
+      svg.style.position = "absolute";
+      svg.style.top = "2px";
+      svg.style.right = "2px";
+      svg.style.padding = "4px";
+      svg.style.fill = "black";
+      svg.classList.add("copyVerbIcon");
+      svg.addEventListener("click", copyText);
+      svg.innerHTML = COPY;
+      div.insertBefore(svg, div.firstChild);
+    }
+  };
+
+  const hideCopyButton = function(event) {
+    const div = event.target;
+    const span = div.querySelector(".copyVerbIcon");
+    if (span) {
+      span.style.display = "none";
+    }
+  };
+
+  // Navigator.clipboard requires a localhost or https: connection
+  // If we can't change the clipboard, then just forget it.
+  if (navigator.clipboard) {
+    document.querySelectorAll(".pre-wrap").forEach(div => {
+      div.style.position="relative";
+      div.addEventListener("mouseenter", showCopyButton);
+      div.addEventListener("mouseleave", hideCopyButton);
+    });
+  }
+})();
diff --git a/guide/2.2.2/js/fallback.js b/guide/2.2.2/js/fallback.js
new file mode 100644
index 0000000000..7e2407485c
--- /dev/null
+++ b/guide/2.2.2/js/fallback.js
@@ -0,0 +1,25 @@
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
+ *
+ * This is fallback.js providing support for audio/video fallback.
+ *
+ * See https://xsltng.docbook.org/
+ *
+ */
+function docbook_object_fallback(node) {
+  let markup = "

Playback not supported. Download "; + let sources = node.querySelectorAll("source"); + let pos = 1; + sources.forEach(source => { + if (pos > 2 && pos == sources.length) { + markup += ", or "; + } else if (pos == 2 && pos == sources.length) { + markup += " or "; + } else if (pos > 1) { + markup += ", "; + } + markup += `${source.getAttribute('type')}`; + pos++; + }); + markup += ".

"; + node.parentNode.innerHTML = markup; +} diff --git a/guide/2.2.2/js/highlight-11.6.0.min.js b/guide/2.2.2/js/highlight-11.6.0.min.js new file mode 100644 index 0000000000..43482e35e1 --- /dev/null +++ b/guide/2.2.2/js/highlight-11.6.0.min.js @@ -0,0 +1,1198 @@ +/*! + Highlight.js v11.6.0 (git: bed790f3f3) + (c) 2006-2022 undefined and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";var e={exports:{}};function n(e){ +return e instanceof Map?e.clear=e.delete=e.set=()=>{ +throw Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((t=>{var a=e[t] +;"object"!=typeof a||Object.isFrozen(a)||n(a)})),e} +e.exports=n,e.exports.default=n;class t{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function a(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function i(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] +;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t} +const r=e=>!!e.scope||e.sublanguage&&e.language;class s{constructor(e,n){ +this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ +this.buffer+=a(e)}openNode(e){if(!r(e))return;let n="" +;n=e.sublanguage?"language-"+e.language:((e,{prefix:n})=>{if(e.includes(".")){ +const t=e.split(".") +;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") +}return`${n}${e}`})(e.scope,{prefix:this.classPrefix}),this.span(n)} +closeNode(e){r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const o=(e={})=>{const n={children:[]} +;return Object.assign(n,e),n};class l{constructor(){ +this.rootNode=o(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const n=o({scope:e}) +;this.add(n),this.stack.push(n)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ +return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), +n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +l._collapse(e)})))}}class c extends l{constructor(e){super(),this.options=e} +addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())} +addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root +;t.sublanguage=!0,t.language=n,this.add(t)}toHTML(){ +return new s(this,this.options).value()}finalize(){return!0}}function d(e){ +return e?"string"==typeof e?e:e.source:null}function g(e){return m("(?=",e,")")} +function u(e){return m("(?:",e,")*")}function b(e){return m("(?:",e,")?")} +function m(...e){return e.map((e=>d(e))).join("")}function p(...e){const n=(e=>{ +const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(e);return"("+(n.capture?"":"?:")+e.map((e=>d(e))).join("|")+")"} +function _(e){return RegExp(e.toString()+"|").exec("").length-1} +const h=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function f(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t +;let a=d(e),i="";for(;a.length>0;){const e=h.exec(a);if(!e){i+=a;break} +i+=a.substring(0,e.index), +a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], +"("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} +const E="[a-zA-Z]\\w*",y="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",N="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",O={ +begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[O]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[O]},M=(e,n,t={})=>{const a=i({scope:"comment",begin:e,end:n, +contains:[]},t);a.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const r=p("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return a.contains.push({begin:m(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a +},S=M("//","$"),A=M("/\\*","\\*/"),C=M("#","$");var T=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:E,UNDERSCORE_IDENT_RE:y, +NUMBER_RE:w,C_NUMBER_RE:N,BINARY_NUMBER_RE:v, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const n=/^#![ ]*\// +;return e.binary&&(e.begin=m(n,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:n, +end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:O,APOS_STRING_MODE:k,QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},COMMENT:M,C_LINE_COMMENT_MODE:S,C_BLOCK_COMMENT_MODE:A,HASH_COMMENT_MODE:C, +NUMBER_MODE:{scope:"number",begin:w,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:N,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:v,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[O,{begin:/\[/,end:/\]/,relevance:0, +contains:[O]}]}]},TITLE_MODE:{scope:"title",begin:E,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:y,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}})});function R(e,n){ +"."===e.input[e.index-1]&&n.ignoreMatch()}function D(e,n){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function I(e,n){ +n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=R,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function L(e,n){ +Array.isArray(e.illegal)&&(e.illegal=p(...e.illegal))}function B(e,n){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function $(e,n){ +void 0===e.relevance&&(e.relevance=1)}const z=(e,n)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] +})),e.keywords=t.keywords,e.begin=m(t.beforeMatch,g(t.begin)),e.starts={ +relevance:0,contains:[Object.assign(t,{endsParent:!0})] +},e.relevance=0,delete t.beforeMatch +},F=["of","and","for","in","not","or","if","then","parent","list","value"] +;function U(e,n,t="keyword"){const a=Object.create(null) +;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ +Object.assign(a,U(e[t],n,t))})),a;function i(e,t){ +n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") +;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ +return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ +console.error(e)},H=(e,...n)=>{console.log("WARN: "+e,...n)},q=(e,n)=>{ +P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) +},Z=Error();function G(e,n,{key:t}){let a=0;const i=e[t],r={},s={} +;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=_(n[e-1]) +;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function W(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +Z +;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), +Z;G(e,e.begin,{key:"beginScope"}),e.begin=f(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +Z +;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), +Z;G(e,e.end,{key:"endScope"}),e.end=f(e.end,{joinWith:""})}})(e)}function Q(e){ +function n(n,t){ +return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) +}class t{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,n){ +n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), +this.matchAt+=_(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(f(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const n=this.matcherRe.exec(e);if(!n)return null +;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] +;return n.splice(0,t),Object.assign(n,a)}}class a{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t +;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), +n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ +this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ +const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex +;let t=n.exec(e) +;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ +const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} +return t&&(this.regexIndex+=t.position+1, +this.regexIndex===this.count&&this.considerAll()),t}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=i(e.classNameAliases||{}),function t(r,s){const o=r +;if(r.isCompiled)return o +;[D,B,W,z].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), +r.__beforeBegin=null,[I,L,$].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null +;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), +l=r.keywords.$pattern, +delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=U(r.keywords,e.case_insensitive)), +o.keywordPatternRe=n(l,!0), +s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), +r.end&&(o.endRe=n(o.end)), +o.terminatorEnd=d(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), +r.illegal&&(o.illegalRe=n(r.illegal)), +r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>i(e,{ +variants:null},n)))),e.cachedVariants?e.cachedVariants:X(e)?i(e,{ +starts:e.starts?i(e.starts):null +}):Object.isFrozen(e)?i(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) +})),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new a +;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function X(e){ +return!!e&&(e.endsWithParent||X(e.starts))}class V extends Error{ +constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} +const J=a,Y=i,ee=Symbol("nomatch");var ne=(n=>{ +const a=Object.create(null),i=Object.create(null),r=[];let s=!0 +;const o="Could not find the language '{}', did you forget to load/include a language module?",l={ +disableAutodetect:!0,name:"Plain text",contains:[]};let d={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:c};function _(e){ +return d.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" +;"object"==typeof n?(a=e, +t=n.ignoreIllegals,i=n.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."), +q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};x("before:highlight",r) +;const s=r.result?r.result:f(r.language,r.code,t) +;return s.code=r.code,x("after:highlight",s),s}function f(e,n,i,r){ +const l=Object.create(null);function c(){if(!k.keywords)return void M.addText(S) +;let e=0;k.keywordPatternRe.lastIndex=0;let n=k.keywordPatternRe.exec(S),t="" +;for(;n;){t+=S.substring(e,n.index) +;const i=w.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,k.keywords[a]);if(r){ +const[e,a]=r +;if(M.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(A+=a),e.startsWith("_"))t+=n[0];else{ +const t=w.classNameAliases[e]||e;M.addKeyword(n[0],t)}}else t+=n[0] +;e=k.keywordPatternRe.lastIndex,n=k.keywordPatternRe.exec(S)}var a +;t+=S.substring(e),M.addText(t)}function g(){null!=k.subLanguage?(()=>{ +if(""===S)return;let e=null;if("string"==typeof k.subLanguage){ +if(!a[k.subLanguage])return void M.addText(S) +;e=f(k.subLanguage,S,!0,x[k.subLanguage]),x[k.subLanguage]=e._top +}else e=E(S,k.subLanguage.length?k.subLanguage:null) +;k.relevance>0&&(A+=e.relevance),M.addSublanguage(e._emitter,e.language) +})():c(),S=""}function u(e,n){let t=1;const a=n.length-1;for(;t<=a;){ +if(!e._emit[t]){t++;continue}const a=w.classNameAliases[e[t]]||e[t],i=n[t] +;a?M.addKeyword(i,a):(S=i,c(),S=""),t++}}function b(e,n){ +return e.scope&&"string"==typeof e.scope&&M.openNode(w.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(M.addKeyword(S,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),k=Object.create(e,{parent:{ +value:k}}),k}function m(e,n,a){let i=((e,n)=>{const t=e&&e.exec(n) +;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new t(e) +;e["on:end"](n,a),a.isMatchIgnored&&(i=!1)}if(i){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return m(e.parent,n,a)}function p(e){ +return 0===k.matcher.regexIndex?(S+=e[0],1):(R=!0,0)}function _(e){ +const t=e[0],a=n.substring(e.index),i=m(k,e,a);if(!i)return ee;const r=k +;k.endScope&&k.endScope._wrap?(g(), +M.addKeyword(t,k.endScope._wrap)):k.endScope&&k.endScope._multi?(g(), +u(k.endScope,e)):r.skip?S+=t:(r.returnEnd||r.excludeEnd||(S+=t), +g(),r.excludeEnd&&(S=t));do{ +k.scope&&M.closeNode(),k.skip||k.subLanguage||(A+=k.relevance),k=k.parent +}while(k!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:t.length} +let h={};function y(a,r){const o=r&&r[0];if(S+=a,null==o)return g(),0 +;if("begin"===h.type&&"end"===r.type&&h.index===r.index&&""===o){ +if(S+=n.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) +;throw n.languageName=e,n.badRule=h.rule,n}return 1} +if(h=r,"begin"===r.type)return(e=>{ +const n=e[0],a=e.rule,i=new t(a),r=[a.__beforeBegin,a["on:begin"]] +;for(const t of r)if(t&&(t(e,i),i.isMatchIgnored))return p(n) +;return a.skip?S+=n:(a.excludeBegin&&(S+=n), +g(),a.returnBegin||a.excludeBegin||(S=n)),b(a,e),a.returnBegin?0:n.length})(r) +;if("illegal"===r.type&&!i){ +const e=Error('Illegal lexeme "'+o+'" for mode "'+(k.scope||"")+'"') +;throw e.mode=k,e}if("end"===r.type){const e=_(r);if(e!==ee)return e} +if("illegal"===r.type&&""===o)return 1 +;if(T>1e5&&T>3*r.index)throw Error("potential infinite loop, way more iterations than matches") +;return S+=o,o.length}const w=v(e) +;if(!w)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const N=Q(w);let O="",k=r||N;const x={},M=new d.__emitter(d);(()=>{const e=[] +;for(let n=k;n!==w;n=n.parent)n.scope&&e.unshift(n.scope) +;e.forEach((e=>M.openNode(e)))})();let S="",A=0,C=0,T=0,R=!1;try{ +for(k.matcher.considerAll();;){ +T++,R?R=!1:k.matcher.considerAll(),k.matcher.lastIndex=C +;const e=k.matcher.exec(n);if(!e)break;const t=y(n.substring(C,e.index),e) +;C=e.index+t} +return y(n.substring(C)),M.closeAllNodes(),M.finalize(),O=M.toHTML(),{ +language:e,value:O,relevance:A,illegal:!1,_emitter:M,_top:k}}catch(t){ +if(t.message&&t.message.includes("Illegal"))return{language:e,value:J(n), +illegal:!0,relevance:0,_illegalBy:{message:t.message,index:C, +context:n.slice(C-100,C+100),mode:t.mode,resultSoFar:O},_emitter:M};if(s)return{ +language:e,value:J(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:k} +;throw t}}function E(e,n){n=n||d.languages||Object.keys(a);const t=(e=>{ +const n={value:J(e),illegal:!1,relevance:0,_top:l,_emitter:new d.__emitter(d)} +;return n._emitter.addText(e),n})(e),i=n.filter(v).filter(k).map((n=>f(n,e,!1))) +;i.unshift(t);const r=i.sort(((e,n)=>{ +if(e.relevance!==n.relevance)return n.relevance-e.relevance +;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 +;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,c=s +;return c.secondBest=o,c}function y(e){let n=null;const t=(e=>{ +let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" +;const t=d.languageDetectRe.exec(n);if(t){const n=v(t[1]) +;return n||(H(o.replace("{}",t[1])), +H("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} +return n.split(/\s+/).find((e=>_(e)||v(e)))})(e);if(_(t))return +;if(x("before:highlightElement",{el:e,language:t +}),e.children.length>0&&(d.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),d.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) +;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) +;e.innerHTML=r.value,((e,n,t)=>{const a=n&&i[n]||t +;e.classList.add("hljs"),e.classList.add("language-"+a) +})(e,t,r.language),e.result={language:r.language,re:r.relevance, +relevance:r.relevance},r.secondBest&&(e.secondBest={ +language:r.secondBest.language,relevance:r.secondBest.relevance +}),x("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function N(){ +"loading"!==document.readyState?document.querySelectorAll(d.cssSelector).forEach(y):w=!0 +}function v(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} +function O(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +i[e.toLowerCase()]=n}))}function k(e){const n=v(e) +;return n&&!n.disableAutodetect}function x(e,n){const t=e;r.forEach((e=>{ +e[t]&&e[t](n)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +w&&N()}),!1),Object.assign(n,{highlight:h,highlightAuto:E,highlightAll:N, +highlightElement:y, +highlightBlock:e=>(q("10.7.0","highlightBlock will be removed entirely in v12.0"), +q("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{d=Y(d,e)}, +initHighlighting:()=>{ +N(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +N(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,t)=>{let i=null;try{i=t(n)}catch(n){ +if(K("Language definition for '{}' could not be registered.".replace("{}",e)), +!s)throw n;K(n),i=l} +i.name||(i.name=e),a[e]=i,i.rawDefinition=t.bind(null,n),i.aliases&&O(i.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete a[e] +;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, +listLanguages:()=>Object.keys(a),getLanguage:v,registerAliases:O, +autoDetection:k,inherit:Y,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ +e["before:highlightBlock"](Object.assign({block:n.el},n)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ +e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)} +}),n.debugMode=()=>{s=!1},n.safeMode=()=>{s=!0 +},n.versionString="11.6.0",n.regex={concat:m,lookahead:g,either:p,optional:b, +anyNumberOfTimes:u};for(const n in T)"object"==typeof T[n]&&e.exports(T[n]) +;return Object.assign(n,T),n})({});const te=e=>({IMPORTANT:{scope:"meta", +begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ +scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, +FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, +ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/} +}),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ie=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],re=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],se=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],oe=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),le=re.concat(se) +;var ce="\\.([0-9](_*[0-9])*)",de="[0-9a-fA-F](_*[0-9a-fA-F])*",ge={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${ce})|\\.)?|(${ce}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${ce})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${ce})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${de})\\.?|(${de})?\\.(${de}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${de})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function ue(e,n,t){return-1===t?"":e.replace(n,(a=>ue(e,n,t-1)))} +const be="[A-Za-z$_][0-9A-Za-z$_]*",me=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],pe=["true","false","null","undefined","NaN","Infinity"],_e=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],he=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],fe=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ee=["arguments","this","super","console","window","document","localStorage","module","global"],ye=[].concat(fe,_e,he) +;function we(e){const n=e.regex,t=be,a={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const t=e[0].length+e.index,a=e.input[t] +;if("<"===a||","===a)return void n.ignoreMatch();let i +;">"===a&&(((e,{after:n})=>{const t="",k={ +match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[_]} +;return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ +PARAMS_CONTAINS:p,CLASS_REFERENCE:f},illegal:/#(?![$_A-z])/, +contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,d,g,u,o,f,{className:"attr", +begin:t+n.lookahead(":"),relevance:0},k,{ +begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[u,e.REGEXP_MODE,{ +className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, +excludeEnd:!0,keywords:i,contains:p}]}]},{begin:/,/,relevance:0},{match:/\s+/, +relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, +"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ +begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},E,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[_,e.inherit(e.TITLE_MODE,{begin:t, +className:"title.function"})]},{match:/\.\.\./,relevance:0},N,{match:"\\$"+t, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[_]},y,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},h,v,{match:/\$[(.]/}]}} +const Ne=e=>m(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ve=["Protocol","Type"].map(Ne),Oe=["init","self"].map(Ne),ke=["Any","Self"],xe=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Me=["false","nil","true"],Se=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ae=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],Ce=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Te=p(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Re=p(Te,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),De=m(Te,Re,"*"),Ie=p(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Le=p(Ie,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Be=m(Ie,Le,"*"),$e=m(/[A-Z]/,Le,"*"),ze=["autoclosure",m(/convention\(/,p("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",m(/objc\(/,Be,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],Fe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ +begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} +;Object.assign(t,{className:"variable",variants:[{ +begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(s);const o={begin:/\$\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[l,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,r,{match:/(\/[a-z._-]+)+/},s,{ +className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}, +grmr_c:e=>{const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),a="[a-zA-Z_]\\w*::",i="(decltype\\(auto\\)|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={ +className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0 +},d=n.optional(a)+e.IDENT_RE+"\\s*\\(",g={ +keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},u=[l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],b={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:g,contains:u.concat([{begin:/\(/,end:/\)/,keywords:g, +contains:u.concat(["self"]),relevance:0}]),relevance:0},m={ +begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", +keywords:g,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(c,{ +className:"title.function"})],relevance:0},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0, +contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/,keywords:g, +relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}] +},r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C",aliases:["h"],keywords:g, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:l, +strings:s,keywords:g}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ +contains:[{begin:/\\\n/}] +}),a="[a-zA-Z_]\\w*::",i="(?!struct)(decltype\\(auto\\)|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ +className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={ +className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0 +},d=n.optional(a)+e.IDENT_RE+"\\s*\\(",g={ +type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], +keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], +literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], +_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] +},u={className:"function.dispatch",relevance:0,keywords:{ +_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] +}, +begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) +},b=[u,l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:g,contains:b.concat([{begin:/\(/,end:/\)/,keywords:g, +contains:b.concat(["self"]),relevance:0}]),relevance:0},p={className:"function", +begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", +keywords:g,relevance:0},{begin:d,returnBegin:!0,contains:[c],relevance:0},{ +begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,o]},{ +relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:g, +relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/, +keywords:g,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}] +},r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", +aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:g,illegal:"",keywords:g,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:g},{ +match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], +className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ +keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), +built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], +literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ +begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ +begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] +},r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, +keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, +end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ +},e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ +begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, +contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) +;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], +o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ +illegal:/\n/})];const g={variants:[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},u={begin:"<",end:">",contains:[{beginKeywords:"in out"},t] +},b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ +begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], +keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, +contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ +begin:"\x3c!--|--\x3e"},{begin:""}]}] +}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", +end:"$",keywords:{ +keyword:"if else elif endif define undef warning error line region endregion pragma checksum" +}},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, +illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" +},t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", +relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", +begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ +className:"string",begin:/"/,end:/"/}]},{ +beginKeywords:"new return throw await else",relevance:0},{className:"function", +begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ +beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", +relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", +begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, +contains:[g,a,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ +const n=e.regex,t=te(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ +name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ +keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, +contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+re.join("|")+")"},{begin:":(:)?("+se.join("|")+")"}] +},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b"},{ +begin:/:/,end:/[;}{]/, +contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:ie.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+ae.join("|")+")\\b"}]}},grmr_diff:e=>{ +const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ +className:"meta",relevance:10, +match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}},grmr_go:e=>{const n={ +keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], +type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], +literal:["true","false","iota","nil"], +built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] +};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{const n=e.regex;return{name:"GraphQL",aliases:["gql"], +case_insensitive:!0,disableAutodetect:!1,keywords:{ +keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], +literal:["true","false","null"]}, +contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ +scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", +begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, +end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ +scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), +relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ +className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ +begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, +end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ +begin:/\$\{(.*?)\}/}]},r={className:"literal", +begin:/\bon|off|true|false|yes|no\b/},s={className:"string", +contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ +begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] +},o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 +},l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ +name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, +contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ +begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), +className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ +const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+ue("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, +className:"string",contains:[e.BACKSLASH_ESCAPE] +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ +1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ +begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", +3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0, +contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ge,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ge,r]}},grmr_javascript:we, +grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", +beginKeywords:n.join(" ")};return{name:"JSON",keywords:{literal:n},contains:[{ +className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{ +match:/[{}[\],:]/,className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}},grmr_kotlin:e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] +},l=ge,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 +},e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ +begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ +3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, +excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},l]}},grmr_less:e=>{ +const n=te(e),t=le,a="([\\w-]+|@\\{[\\w-]+\\})",i=[],r=[],s=e=>({ +className:"string",begin:"~?"+e+".*?"+e}),o=(e,n,t)=>({className:e,begin:n, +relevance:t}),l={$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:ie.join(" ")},c={begin:"\\(",end:"\\)",contains:r,keywords:l, +relevance:0} +;r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s("'"),s('"'),n.CSS_NUMBER_MODE,{ +begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", +excludeEnd:!0} +},n.HEXCOLOR,c,o("variable","@@?[\\w-]+",10),o("variable","@\\{[\\w-]+\\}"),o("built_in","~?`[^`]*?`"),{ +className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0 +},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const d=r.concat({ +begin:/\{/,end:/\}/,contains:i}),g={beginKeywords:"when",endsWithParent:!0, +contains:[{beginKeywords:"and not"}].concat(r)},u={begin:a+"\\s*:", +returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ +},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b", +end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:r}}] +},b={className:"keyword", +begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", +starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:r,relevance:0}},m={ +className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{ +begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:d}},p={variants:[{ +begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:a,end:/\{/}],returnBegin:!0, +returnEnd:!0,illegal:"[<='$\"]",relevance:0, +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,o("keyword","all\\b"),o("variable","@\\{[\\w-]+\\}"),{ +begin:"\\b("+ae.join("|")+")\\b",className:"selector-tag" +},n.CSS_NUMBER_MODE,o("selector-tag",a,0),o("selector-id","#"+a),o("selector-class","\\."+a,0),o("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ +className:"selector-pseudo",begin:":("+re.join("|")+")"},{ +className:"selector-pseudo",begin:":(:)?("+se.join("|")+")"},{begin:/\(/, +end:/\)/,relevance:0,contains:d},{begin:"!important"},n.FUNCTION_DISPATCH]},_={ +begin:`[\\w-]+:(:)?(${t.join("|")})`,returnBegin:!0,contains:[p]} +;return i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,m,_,u,p,g,n.FUNCTION_DISPATCH), +{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:i}}, +grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] +},i=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[",t,{contains:[a], +relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, +literal:"true false nil", +keyword:"and break do else elseif end for goto if in local not or repeat return then until while", +built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" +},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", +contains:[e.inherit(e.TITLE_MODE,{ +begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", +begin:"\\(",endsWithParent:!0,contains:i}].concat(i) +},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", +begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ +className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{ +const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[i,r,o,s]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:n.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ +className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ +className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} +},grmr_markdown:e=>{const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml", +relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ +begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{ +begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ +},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], +variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},i={ +className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ +begin:/_(?!_)/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] +}),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) +;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) +})),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},grmr_objectivec:e=>{ +const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, +keyword:["@interface","@class","@protocol","@implementation"]};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{"variable.language":["this","super"],$pattern:n, +keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], +type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ +$pattern:/[\w.]+/, +keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" +},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, +end:/\}/},s={variants:[{begin:/\$\d/},{ +begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") +},{begin:/[$%@][^\s\w{]/,relevance:0}] +},o=[e.BACKSLASH_ESCAPE,i,s],l=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(e,a,i="\\1")=>{ +const r="\\1"===i?i:n.concat(i,a) +;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) +},d=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),g=[s,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ +endsWithParent:!0}),r,{className:"string",contains:o,variants:[{ +begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", +end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ +begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", +relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", +contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ +begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", +begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", +relevance:0},{ +begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", +keywords:"split return print reverse grep",relevance:0, +contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ +begin:c("s|tr|y",n.either(...l,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{ +begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{ +className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ +begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...l,{capture:!0 +}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ +begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", +end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ +begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", +subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] +}];return i.contains=g,r.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:a, +contains:g}},grmr_php:e=>{ +const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={ +scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{ +begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null +}),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ +illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s) +}),o,e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/, +contains:e.QUOTE_STRING_MODE.contains.concat(s)})]},d={scope:"number", +variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{ +begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ +begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ +begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" +}],relevance:0 +},g=["false","null","true"],u=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={ +keyword:u,literal:(e=>{const n=[];return e.forEach((e=>{ +n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) +})),n})(g),built_in:b},p=e=>e.map((e=>e.replace(/\|\d+$/,""))),_={variants:[{ +match:[/new/,n.concat(l,"+"),n.concat("(?!",p(b).join("\\b|"),"\\b)"),i],scope:{ +1:"keyword",4:"title.class"}}]},h=n.concat(a,"\\b(?!\\()"),f={variants:[{ +match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" +}},{match:[/::/,/class/],scope:{2:"variable.language"}},{ +match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", +3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], +scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", +3:"variable.language"}}]},E={scope:"attr", +match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},y={relevance:0, +begin:/\(/,end:/\)/,keywords:m,contains:[E,r,f,e.C_BLOCK_COMMENT_MODE,c,d,_] +},w={relevance:0, +match:[/\b/,n.concat("(?!fn\\b|function\\b|",p(u).join("\\b|"),"|",p(b).join("\\b|"),"\\b)"),a,n.concat(l,"*"),n.lookahead(/(?=\()/)], +scope:{3:"title.function.invoke"},contains:[y]};y.contains.push(w) +;const N=[E,f,e.C_BLOCK_COMMENT_MODE,c,d,_];return{case_insensitive:!1, +keywords:m,contains:[{begin:n.concat(/#\[\s*/,i),beginScope:"meta",end:/]/, +endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{ +begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]}, +contains:["self",...N]},...N,{scope:"meta",match:i}] +},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ +scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, +keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, +contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ +begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ +begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,w,f,{ +match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},_,{ +scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, +excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" +},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", +begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m, +contains:["self",r,f,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{ +beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", +illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ +beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ +beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, +contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ +beginKeywords:"use",relevance:0,end:";",contains:[{ +match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]} +},grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ +begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", +end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 +},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, +skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, +contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ +const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ +$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, +end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ +begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ +begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` +},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` +}]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, +contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ +className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, +end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, +contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ +name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, +illegal:/(<\/|->|\?)|=>/,contains:[r,u,{begin:/\bself\b/},{beginKeywords:"if", +relevance:0},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{ +1:"keyword",3:"title.function"},contains:[m]},{variants:[{ +match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], +scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ +className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, +grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", +starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ +begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ +const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) +;return{name:"R",keywords:{$pattern:t, +keyword:"function if in break next repeat else for while", +literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", +built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" +},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, +starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), +endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ +scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 +}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] +}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], +variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', +relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ +1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, +match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ +2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, +match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ +match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", +contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ +const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ +"variable.constant":["__FILE__","__LINE__"], +"variable.language":["self","super"], +keyword:["alias","and","attr_accessor","attr_reader","attr_writer","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","include","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield"], +built_in:["proc","lambda"],literal:["true","false","nil"]},s={ +className:"doctag",begin:"@[A-Za-z]+"},o={begin:"#<",end:">" +},l=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^=begin","^=end",{ +contains:[s],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={ +className:"subst",begin:/#\{/,end:/\}/,keywords:r},d={className:"string", +contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/, +end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{ +begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/, +end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/class\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"}, +keywords:r},{relevance:0,match:[i,/\.new[ (]/],scope:{1:"title.class"}},{ +relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{ +match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) +;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, +grmr_rust:e=>{const n=e.regex,t={className:"title.function.invoke",relevance:0, +begin:n.concat(/\b/,/(?!let\b)/,e.IDENT_RE,n.lookahead(/\s*\(/)) +},a="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],r=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] +;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:r, +keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"], +literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}}, +grmr_scss:e=>{const n=te(e),t=se,a=re,i="@[a-z-]+",r={className:"variable", +begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", +case_insensitive:!0,illegal:"[=/|']", +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ +className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ +className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 +},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", +begin:"\\b("+ae.join("|")+")\\b",relevance:0},{className:"selector-pseudo", +begin:":("+a.join("|")+")"},{className:"selector-pseudo", +begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, +contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", +begin:"\\b("+oe.join("|")+")\\b"},{ +begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" +},{begin:/:/,end:/[;}{]/,relevance:0, +contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] +},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ +begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, +keyword:"and or not only",attribute:ie.join(" ")},contains:[{begin:i, +className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" +},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] +},n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]}),grmr_sql:e=>{ +const n=e.regex,t=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=r,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={ +begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} +;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ +$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t +;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) +})(l,{when:e=>e.length<3}),literal:a,type:i, +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, +keyword:l.concat(s),literal:a,type:i}},{className:"type", +begin:n.either("double precision","large object","with timezone","without timezone") +},c,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{ +begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{ +begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"operator", +begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}, +grmr_swift:e=>{const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{ +contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={match:[/\./,p(...ve,...Oe)], +className:{2:"keyword"}},r={match:m(/\./,p(...xe)),relevance:0 +},s=xe.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ +className:"keyword", +match:p(...xe.filter((e=>"string"!=typeof e)).concat(ke).map(Ne),...Oe)}]},l={ +$pattern:p(/\b\w+/,/#\w+/),keyword:s.concat(Ae),literal:Me},c=[i,r,o],d=[{ +match:m(/\./,p(...Ce)),relevance:0},{className:"built_in", +match:m(/\b/,p(...Ce),/(?=\()/)}],u={match:/->/,relevance:0},b=[u,{ +className:"operator",relevance:0,variants:[{match:De},{match:`\\.(\\.|${Re})+`}] +}],_="([0-9a-fA-F]_*)+",h={className:"number",relevance:0,variants:[{ +match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ +match:`\\b0x(${_})(\\.(${_}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ +match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},f=(e="")=>({ +className:"subst",variants:[{match:m(/\\/,e,/[0\\tnr"']/)},{ +match:m(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),E=(e="")=>({className:"subst", +match:m(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),y=(e="")=>({className:"subst", +label:"interpol",begin:m(/\\/,e,/\(/),end:/\)/}),w=(e="")=>({begin:m(e,/"""/), +end:m(/"""/,e),contains:[f(e),E(e),y(e)]}),N=(e="")=>({begin:m(e,/"/), +end:m(/"/,e),contains:[f(e),y(e)]}),v={className:"string", +variants:[w(),w("#"),w("##"),w("###"),N(),N("#"),N("##"),N("###")]},O={ +match:m(/`/,Be,/`/)},k=[O,{className:"variable",match:/\$\d+/},{ +className:"variable",match:`\\$${Le}+`}],x=[{match:/(@|#(un)?)available/, +className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Fe, +contains:[...b,h,v]}]}},{className:"keyword",match:m(/@/,p(...ze))},{ +className:"meta",match:m(/@/,Be)}],M={match:g(/\b[A-Z]/),relevance:0,contains:[{ +className:"type", +match:m(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Le,"+") +},{className:"type",match:$e,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:m(/\s+&\s+/,g($e)),relevance:0}]},S={ +begin://,keywords:l,contains:[...a,...c,...x,u,M]};M.contains.push(S) +;const A={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ +match:m(Be,/\s*:/),keywords:"_|0",relevance:0 +},...a,...c,...d,...b,h,v,...k,...x,M]},C={begin://,contains:[...a,M] +},T={begin:/\(/,end:/\)/,keywords:l,contains:[{ +begin:p(g(m(Be,/\s*:/)),g(m(Be,/\s+/,Be,/\s*:/))),end:/:/,relevance:0, +contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Be}] +},...a,...c,...b,h,v,...x,M,A],endsParent:!0,illegal:/["']/},R={ +match:[/func/,/\s+/,p(O.match,Be,De)],className:{1:"keyword",3:"title.function" +},contains:[C,T,n],illegal:[/\[/,/%/]},D={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[C,T,n],illegal:/\[|%/},I={match:[/operator/,/\s+/,De],className:{ +1:"keyword",3:"title"}},L={begin:[/precedencegroup/,/\s+/,$e],className:{ +1:"keyword",3:"title"},contains:[M],keywords:[...Se,...Me],end:/}/} +;for(const e of v.variants){const n=e.contains.find((e=>"interpol"===e.label)) +;n.keywords=l;const t=[...c,...d,...b,h,v,...k];n.contains=[...t,{begin:/\(/, +end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:l, +contains:[...a,R,D,{beginKeywords:"struct protocol class extension enum actor", +end:"\\{",excludeEnd:!0,keywords:l,contains:[e.inherit(e.TITLE_MODE,{ +className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c] +},I,L,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0 +},...c,...d,...b,h,v,...k,...x,M,A]}},grmr_typescript:e=>{ +const n=we(e),t=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],a={ +beginKeywords:"namespace",end:/\{/,excludeEnd:!0, +contains:[n.exports.CLASS_REFERENCE]},i={beginKeywords:"interface",end:/\{/, +excludeEnd:!0,keywords:{keyword:"interface extends",built_in:t}, +contains:[n.exports.CLASS_REFERENCE]},r={$pattern:be, +keyword:me.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]), +literal:pe,built_in:ye.concat(t),"variable.language":Ee},s={className:"meta", +begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},o=(e,n,t)=>{ +const a=e.contains.findIndex((e=>e.label===n)) +;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} +;return Object.assign(n.keywords,r), +n.exports.PARAMS_CONTAINS.push(s),n.contains=n.contains.concat([s,a,i]), +o(n,"shebang",e.SHEBANG()),o(n,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),n.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(n,{ +name:"TypeScript",aliases:["ts","tsx"]}),n},grmr_vbnet:e=>{ +const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ +className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ +begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ +begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] +},o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] +}),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) +;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, +classNameAliases:{label:"symbol"},keywords:{ +keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", +built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", +type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", +literal:"true false nothing"}, +illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ +className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, +end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, +variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ +},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ +begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ +className:"label",begin:/^\w+:/},o,l,{className:"meta", +begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, +end:/$/,keywords:{ +keyword:"const disable else elseif enable end externalsource if region then"}, +contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) +;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, +keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] +},contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], +className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ +match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ +begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", +3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, +className:"type"},{className:"keyword", +match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ +},{className:"number",relevance:0, +match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ +}]}},grmr_yaml:e=>{ +const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/, +end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", +contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", +begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,a],c=[...l] +;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:l}}});const je=ne;for(const e of Object.keys(Ue)){ +const n=e.replace("grmr_","").replace("_","-");je.registerLanguage(n,Ue[e])} +return je}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); \ No newline at end of file diff --git a/guide/2.2.2/js/pagetoc.js b/guide/2.2.2/js/pagetoc.js new file mode 100644 index 0000000000..9d81939057 --- /dev/null +++ b/guide/2.2.2/js/pagetoc.js @@ -0,0 +1,313 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is pagetoc.js providing support for on-page ToCs. + * + * See https://xsltng.docbook.org/ + * + */ + +(function() { + const DECORATED = 0; + const PLAIN = 1; + const HIDDEN = 2; + + const html = document.querySelector("html"); + const main = document.querySelector("main"); + const pagetoc = document.querySelector("nav.pagetoc"); + const tocwrap = document.querySelector("nav.pagetoc div.tocwrapper"); + + const onerem = parseFloat(getComputedStyle(html).fontSize); + const mainMinWidthStyle = getComputedStyle(main).minWidth; + const mainMaxWidthStyle = getComputedStyle(main).maxWidth; + const mainMinWidth = parseInt(mainMinWidthStyle.substring(0, mainMinWidthStyle.length - 2)); + const mainMaxWidth = parseInt(mainMaxWidthStyle.substring(0, mainMaxWidthStyle.length - 2)); + + const pagetocWidthStyle = getComputedStyle(pagetoc).width; + const pagetocMinWidth = parseInt(pagetocWidthStyle.substring(0, pagetocWidthStyle.length - 2)); + + let uncentered = true; + let dynamic = true; + html.querySelectorAll("head script").forEach(script => { + const data = script.getAttribute("data-dynamic-pagetoc"); + if (data) { + dynamic = (data == "true"); + } + }); + + let sections = []; + let tocstate = dynamic ? DECORATED : PLAIN; + let tocclass = "active"; + let toclength = 0; + let cbcount = 0; + let hidden_section = false; + let nothing_to_reveal = HIDDEN; + let idcount = 0; + let onscreen = false; + + const randomId = function() { + idcount++; + return `__random_${idcount}`; + }; + + const findsections = function(parent) { + const sections = []; + const ancestors = []; + let firstparent = null; + parent.querySelectorAll(":scope > article,:scope > section").forEach(sect => { + if (!sect.hasAttribute("id")) { + sect.setAttribute("id", randomId()); + } + const id = sect.getAttribute("id"); + const header = sect.querySelector("header"); + const skip = sect.classList.contains("nopagetoc"); + + let title = header && header.querySelector("h1,h2,h3,h4,h5,h6"); + if (title.querySelector("script.titleabbrev")) { + title = title.querySelector("script.titleabbrev"); + } + + if (title && !skip) { + toclength++; + sections.push({ + "elem": sect, + "id": id, + "title": title.innerHTML + }); + } + }); + + return sections; + }; + + const maketoc = function(sections, depth) { + if (depth == 0) { + if (dynamic) { + const ctrl = document.createElement("div"); + ctrl.setAttribute("class", "ctrl"); + const btn = document.createElement("span"); + btn.setAttribute("class", "toggle"); + btn.innerHTML = window.DocBook.pagetoc.decorated; + ctrl.appendChild(btn); + ctrl.addEventListener("click", event => { + switch (tocstate) { + case DECORATED: + tocstate = PLAIN; + btn.innerHTML = window.DocBook.pagetoc.plain; + tocwrap.querySelectorAll(".li.active").forEach(li => { + li.classList["remove"]('active'); + li.classList["add"]('plain'); + }); + tocclass = 'plain'; + break; + case PLAIN: + tocstate = HIDDEN; + btn.innerHTML = window.DocBook.pagetoc.hidden; + tocwrap.style.display = "none"; + break; + case HIDDEN: + tocstate = DECORATED; + btn.innerHTML = window.DocBook.pagetoc.decorated; + tocwrap.style.display = "block"; + tocwrap.querySelectorAll(".li.plain").forEach(li => { + li.classList["remove"]('plain'); + li.classList["add"]('active'); + }); + tocclass = 'active'; + break; + } + }); + tocwrap.parentNode.insertBefore(ctrl, tocwrap); + } + } + + sections.forEach(section => { + const subsections = findsections(section.elem); + const div = document.createElement("div"); + div.setAttribute("class", "li depth"+depth); + const anchor = document.createElement("a"); + anchor.setAttribute("href", "#" + section.id); + anchor.innerHTML = section.title; + div.appendChild(anchor); + tocwrap.appendChild(div); + if (subsections) { + maketoc(subsections, depth+1); + } + }); + }; + + const nothingToReveal = function() { + if (nothing_to_reveal == HIDDEN) { + pagetoc.style.display = "none"; + return; + } + + let addRemove = nothing_to_reveal == PLAIN ? "remove" : "add"; + sections.forEach((section) => { + const id = section.id; + if (id) { + // Get the link to this section's heading + const link = tocwrap.querySelector(`nav.pagetoc .li a[href="#${id}"]`); + if (link) { + link.parentNode.classList[addRemove](tocclass); + } + } + }); + }; + + const scrollHandler = function(event) { + if (pagetoc.scrollHeight <= pagetoc.clientHeight) { + // No scrolling is necessary + return; + } + + let lastActiveIndex = 0; + let lastActiveDiv = null; + pagetoc.querySelectorAll("div.li").forEach((div, index) => { + if (div.classList.contains("active")) { + lastActiveIndex = index; + lastActiveDiv = div; + } + }); + + if (lastActiveDiv == null) { + // IntersectionObserver hasn't fired yet after a reload. + return; + } + + let offset = pagetoc.clientHeight / 4; + if (lastActiveDiv.offsetTop > offset) { + pagetoc.scrollTo(0, lastActiveDiv.offsetTop - offset); + } else { + pagetoc.scrollTo(0, 0); + } + }; + + const centerMain = function() { + // If the pagetoc is not displayed, just leave everything alone + if (getComputedStyle(pagetoc).display == "none") { + if (onscreen) { + main.style.marginLeft = "auto"; + main.style.marginRight = "auto"; + main.style.paddingLeft = "0"; + main.style.minWidth = mainMinWidthStyle; + main.style.maxWidth = mainMaxWidthStyle; + } + onscreen = false; + return; + } + onscreen = true; + + // Some padding + const pad = 4*onerem; + + // Compute available width and new main width + let availableWidth = html.clientWidth - (pagetocMinWidth + pad); + let newWidth = Math.min(mainMaxWidth, availableWidth); + + // Let the tocwidth grow if there's already more than enough room for main + let tocwidth = html.clientWidth - (newWidth + pad); + tocwidth = Math.max(tocwidth, pagetocMinWidth); + tocwidth = Math.min(tocwidth, (pagetocMinWidth * 1.5)); + pagetoc.style.width = `${tocwidth}px`; + + // Recompute the available width and main width (in case we changed the pagetoc width) + availableWidth = html.clientWidth - pagetoc.clientWidth; + newWidth = Math.min(mainMaxWidth, availableWidth - (2*pad)); + + let paddingLeft = Math.trunc((availableWidth - newWidth) / 2); + + const nwStr = `${newWidth}px`; + main.style.width = nwStr; + main.style.minWidth = nwStr; + main.style.marginLeft = "0"; + main.style.paddingLeft = `${paddingLeft}px`; + }; + + const resizeHandler = function(event) { + centerMain(); + }; + + if (main && pagetoc) { + if (!window.DocBook) { + window.DocBook = {}; + } + if (!window.DocBook.pagetoc) { + window.DocBook.pagetoc = {}; + } + if (!window.DocBook.pagetoc.decorated) { + window.DocBook.pagetoc.decorated = "☀"; + } + if (!window.DocBook.pagetoc.plain) { + window.DocBook.pagetoc.plain = "○"; + } + if (!window.DocBook.pagetoc.hidden) { + window.DocBook.pagetoc.hidden = "◄"; + } + + if (window.DocBook.pagetoc.nothing_to_reveal) { + if (window.DocBook.pagetoc.nothing_to_reveal === "hide") { + nothing_to_reveal = HIDDEN; + } else if (window.DocBook.pagetoc.nothing_to_reveal === "plain") { + nothing_to_reveal = PLAIN; + } else { + nothing_to_reveal = DECORATED; + } + } + + sections = findsections(main); + maketoc(sections, 0); + + if (toclength > 1) { + if (dynamic) { + const observer = new IntersectionObserver((sections) => { + sections.forEach((section) => { + const id = section.target.getAttribute("id"); + const header = section.target.querySelector("header"); + const title = header && header.querySelector("h1,h2,h3,h4,h5,h6"); + if (!id || !title) { + return; + } + + // Get the link to this section's heading + const link = tocwrap.querySelector(`nav.pagetoc .li a[href="#${id}"]`); + if (!link) { + return; + } + + // Add/remove the .active class based on whether the + // section is visible + const addRemove = section.intersectionRatio > 0 ? 'add' : 'remove'; + link.parentNode.classList[addRemove](tocclass); + + hidden_section = hidden_section || (addRemove === "remove"); + cbcount++; + + if (cbcount == toclength) { + // We've made a complete pass. If there's nothing hidden, + // then there's nothing to reveal... + if (!hidden_section) { + nothingToReveal(); + } else { + // Otherwise, the first time through, center main + if (uncentered) { + centerMain(); + uncentered = false; + } + } + } + }); + }); + + // Observe all the sections of the article + main.querySelectorAll('article,section').forEach((section) => { + observer.observe(section); + }); + } + + window.addEventListener("scroll", scrollHandler); + window.addEventListener("resize", resizeHandler); + } else { + pagetoc.style.display = "none"; + } + } +})(); diff --git a/guide/2.2.2/js/persistent-toc.js b/guide/2.2.2/js/persistent-toc.js new file mode 100644 index 0000000000..3dadb10089 --- /dev/null +++ b/guide/2.2.2/js/persistent-toc.js @@ -0,0 +1,334 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * This is persistent-toc.js providing support for the ToC popup + * + * See https://xsltng.docbook.org/ + * + */ + +(function() { + const ESC = 27; + const SPACE = 32; + const toc = document.querySelector("nav.toc"); + let tocPersist = null; + let borderLeftColor = "white"; + let curpress = null; + let searchListener = false; + let VERSION = "2.2.2-SNAPSHOT"; + let PTOCID = "ptoc-data-file"; + + const showToC = function(event) { + toc.style.width = "300px"; + toc.style["padding-left"] = "1em"; + toc.style["padding-right"] = "1em"; + toc.style["border-left"] = `1px solid ${borderLeftColor}`; + + // Make sure the tocPersist checkbox is created + tocPersistCheckbox(event && event.shiftKey); + + if (event) { + event.preventDefault(); + } + + // Do we need to load the ToC? + let div = toc.querySelector("div"); + let prefix = div.getAttribute("db-prefix") || ""; + if (div && div.getAttribute("db-persistent-toc")) { + let path = prefix + div.getAttribute("db-persistent-toc"); + let uri = new URL(path, document.location).href; + fetch(uri) + .then((response) => { + if (response.status == 200) { + response.text() + .then(text => { + let doc = new DOMParser().parseFromString(text, "text/html"); + let body = doc.querySelector("body"); + div.innerHTML = body.innerHTML; + processToC(event); + }) + .catch(err => { + // I don't think this error can actually occur with the string parser + // using the text/html mimeType. But just in case... + let href = `https://xsltng.docbook.org/guide/${VERSION}/ch-using.html#${PTOCID}`; + let resp = `Error: persistent ToC`; + div.innerHTML = `${resp} data could not be parsed.`; + }); + } else { + let href = `https://xsltng.docbook.org/guide/${VERSION}/ch-using.html#${PTOCID}`; + let resp = `Error: persistent ToC`; + if (response.status == 404) { + div.innerHTML = `${resp} data file not found.`; + } else { + div.innerHTML = `${resp} could not read data file (status: ${response.status}).`; + } + } + }) + .catch(err => { + let href = `https://xsltng.docbook.org/guide/${VERSION}/ch-using.html#${PTOCID}`; + let resp = `Error: persistent ToC`; + if (uri.startsWith("file:")) { + div.innerHTML = `${resp} is not accessible when the page is loaded using a file: URI.`; + } else { + div.innerHTML = `${resp} is not accessible: ${err}`; + } + }); + } else { + processToC(event); + } + }; + + const processToC = function(event) { + let div = toc.querySelector("div"); + if (div.hasAttribute("db-prefix")) { + patchToC(div, div.getAttribute("db-prefix")); + div.removeAttribute("db-prefix"); + div.querySelectorAll("a").forEach(function (anchor) { + anchor.onclick = function(event) { + if (!tocPersist || !tocPersist.checked) { + hideToC(); + } + patchLink(event, anchor); + }; + }); + } + + // Turn off any search markers that might have been set + toc.querySelectorAll("li").forEach(function (li) { + li.style.display = "list-item"; + const link = li.querySelector("a"); + if (link) { + link.classList.remove("found"); + } + }); + + // Give the current click event a chance to settle? + window.setTimeout(function () { + const tocClose = toc.querySelector("header .close"); + curpress = document.onkeyup; + tocClose.onclick = function (event) { + hideToC(event); + }; + document.onkeyup = function (event) { + event = event || window.event; + if (event.srcElement && event.srcElement.classList.contains("ptoc-search")) { + // Don't navigate if the user is typing in the persistent toc search box + return false; + } else { + let charCode = event.keyCode || event.which; + if (charCode == SPACE || charCode == ESC) { + hideToC(event); + return false; + } + return true; + } + }; + + let url = window.location.pathname; + let hash = window.location.hash; + if (window.location.search === "?toc") { + // Remove ?toc from the URI so that if it's bookmarked, + // the ToC reference isn't part of the bookmark. + window.history.replaceState({}, document.title, + window.location.origin + + window.location.pathname + + window.location.hash); + } + + // Try path#hash + let path = url.substring(1) + hash; + let target = document.querySelector("nav.toc div a[rel-path='"+path+"']"); + if (target) { + target.scrollIntoView(); + } else { + // Try #hash + target = document.querySelector("nav.toc div a[rel-path='"+hash+"']"); + if (target) { + target.scrollIntoView(); + } else { + // Try path + target = document.querySelector("nav.toc div a[rel-path='"+url.substring(1)+"']"); + if (target) { + target.scrollIntoView(); + } else { + // ??? + console.log(`ToC scroll, no match: ${path}`); + } + } + } + + if (!searchListener) { + configureSearch(); + searchListener = true; + } + }, 400); + + return false; + }; + + const patchToC = function(elem, prefix) { + // Injecting HTML is a little risky; try to mitigate that. + // There should never *be* a script in there so... + elem.querySelectorAll("script").forEach(script => { + script.innerHTML = ""; + script.setAttribute("src", ""); + }); + + elem.querySelectorAll("a").forEach(anchor => { + anchor.setAttribute("rel-path", anchor.getAttribute("href")); + anchor.setAttribute("href", prefix + anchor.getAttribute("href")); + }); + + return elem; + }; + + const hideToC = function(event) { + document.onkeyup = curpress; + toc.classList.add("slide"); + toc.style.width = "0px"; + toc.style["padding-left"] = "0"; + toc.style["padding-right"] = "0"; + toc.style["border-left"] = "none"; + + if (event) { + event.preventDefault(); + } + + const searchp = toc.querySelector(".ptoc-search"); + if (searchp) { + const search = searchp.querySelector("input"); + if (search) { + search.value = ""; + } + } + toc.querySelectorAll("li").forEach(function (li) { + li.style.display = "list-item"; + }); + + return false; + }; + + const tocPersistCheckbox = function(persist) { + if (tocPersist != null) { + return; + } + + let ptoc = toc.querySelector("p.ptoc-search"); + let sbox = ptoc.querySelector("input.ptoc-search"); + if (sbox) { + sbox.setAttribute("title", "Simple text search in ToC"); + let pcheck = document.createElement("input"); + pcheck.classList.add("persist"); + pcheck.setAttribute("type", "checkbox"); + pcheck.setAttribute("title", "Keep ToC open when following links"); + pcheck.checked = persist || (window.location.search === "?toc"); + ptoc.appendChild(pcheck); + } + + tocPersist = toc.querySelector("p.ptoc-search .persist"); + }; + + const patchLink = function(event, anchor) { + if (!tocPersist || !tocPersist.checked) { + return false; + } + + let href = anchor.getAttribute("href"); + let pos = href.indexOf("#"); + + if (pos === 0) { + // If the anchor is a same-document reference, we don't + // need to do any of this query string business. + return false; + } + + if (pos > 0) { + href = href.substring(0, pos) + "?toc" + href.substring(pos); + } else { + href = href + "?toc"; + } + + event = event || window.event; + if (event) { + event.preventDefault(); + } + window.location.href = href; + return false; + }; + + const configureSearch = function() { + const searchp = toc.querySelector(".ptoc-search"); + if (searchp == null) { + return; + } + const search = searchp.querySelector("input"); + search.onkeyup = function (event) { + event = event || window.event; + if (event) { + event.preventDefault(); + } + let charCode = event.keyCode || event.which; + if (charCode == ESC) { + hideToC(event); + return false; + } + + const value = search.value.toLowerCase().trim(); + let restr = value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&').replace(" ", ".*"); + const regex = RegExp(restr); + + toc.querySelectorAll("li").forEach(function (li) { + const link = li.querySelector("a"); + if (restr === "") { + li.style.display = "list-item"; + if (link) { + link.classList.remove("found"); + } + } else { + if (li.textContent.toLowerCase().match(regex)) { + li.style.display = "list-item"; + if (link) { + if (link.textContent.toLowerCase().match(regex)) { + link.classList.add("found"); + } else { + link.classList.remove("found"); + } + } + } else { + li.style.display = "none"; + } + } + }); + + return false; + }; + }; + + // Setting the border-left-style in CSS will put a thin border-colored + // stripe down the right hand side of the window. Here we get the color + // of that stripe and then remove it. We'll put it back when we + // expand the ToC. + borderLeftColor = window.getComputedStyle(toc)["border-left-color"]; + toc.style["border-left"] = "none"; + + const tocOpenScript = document.querySelector("script.tocopen"); + const tocOpen = document.querySelector("nav.tocopen"); + tocOpen.innerHTML = tocOpenScript.innerHTML; + tocOpen.onclick = showToC; + + const tocScript = document.querySelector("script.toc"); + toc.innerHTML = tocScript.innerHTML; + + tocOpen.style.display = "inline"; + tocOpen.style.zIndex = 3; + + toc.style.zIndex = 4; + + if (window.location.search === "?toc") { + showToC(null); + } else { + // If we're not going to jump immediately to the ToC, + // add the slide class for aesthetics if the user clicks + // on it. + toc.classList.add("slide"); + } +})(); diff --git a/guide/2.2.2/js/presentation.js b/guide/2.2.2/js/presentation.js new file mode 100644 index 0000000000..1dbc2d8a8d --- /dev/null +++ b/guide/2.2.2/js/presentation.js @@ -0,0 +1,887 @@ +/* DocBook xslTNG version 2.2.2-SNAPSHOT + * + * See https://xsltng.docbook.org/ + * + * This is presentation.js providing support for presentations. + * A presentation is a single-file HTML rendering of a DocBook + * document with custom CSS and custom JavaScript to give a + * "one slide per page" navigable view. + * + * There are a few things going on here. + * + * 1. The HTML is extensively modified. It is turned into a main + * element containing a flat list of article elements, one per page. + * All of the intervening article/div/section wrappers are discarded. + * This simplifies CSS for each page. + * 2. N/→, P/←, U, D, and H/Home navigate to the next, previous, "up", + * "down" and home pages. + * 3. If the HTML page contains a meta element with the name + * "localStorage.key", the value of that element is used as a key + * in the browser's localStorage API to track the Window location + * and revealed items. + * 4. The S key can be used to switch between a normal view and a + * speaker notes view. Speaker notes are (block) elements identified + * with role='speaker-notes' in the source XML. + * 5. Progressive reveal of items (including transient reveals) are + * supported. Mark items to be revealed with role='reveal'. If you + * put put that role on a list, it applies to all the items except + * the first. If you want to make an item always appear, mark it + * role='noreveal'. If you want an item to be transitory (appear + * until something after it is revealed), mark it + * role='transitory'. + * + * You can avoid flicker if you configure CSS to hide the things that + * should be hidden by default. This JavaScript will handle that case, + * even when progressiveReveal is disabled. + */ + +(function() { + const KEY_N = 78; + const KEY_RIGHT = 39; + + const KEY_P = 80; + const KEY_LEFT = 37; + + const KEY_U = 85; + const KEY_D = 68; + + const KEY_H = 72; + const KEY_HOME = 36; + + const KEY_A = 65; + const KEY_R = 82; + const KEY_S = 83; + + const KEY_SPACE = 32; + + const KEY_SHIFT = 16; + const KEY_QUESTION = 191; + const KEY_F1 = 112; + const KEY_ESC = 27; + + const body = document.querySelector("body"); + const main = body.querySelector("main"); + const navtop = body.querySelector("nav.top"); + const navbot = body.querySelector("nav.bottom"); + + const navdiv = document.createElement("div"); + navdiv.setAttribute("class", "foilnav"); + + const nodemap = {}; + + let footnotes = null; + let footnoteids = []; + let helpdiv = null; + let notesView = false; + + let homeicon = "⏹"; // "⌂"; + let nexticon = "⏵"; // "⮞"; + let previcon = "⏴"; // "⮜"; + let upicon = "⏶"; // "⮝"; + let downicon = "⏷"; // "⮟"; + let follicon = "⏭"; + let precicon = "⏮"; + + let foil = null; + let current = null; + + const getMeta = function(name) { + const meta = document.querySelector(`head meta[name='${name}']`); + const key = meta && meta.getAttribute("content"); + return key ? key : null; + }; + + const windowStorage = (function() { + const lskey = getMeta("localStorage.key"); + const locationKey = lskey ? `${lskey}_loc` : null; + const revealedKey = lskey ? `${lskey}_reveal` : null; + + const storeLocation = function(loc) { + window.localStorage.setItem(locationKey, window.location); + }; + + const updateLocation = function() { + window.localStorage.setItem(locationKey, window.location.href); + }; + + const storeRevealed = function(revealed) { + window.localStorage.setItem(revealedKey, revealed.join(",")); + }; + + const storageChange = function(changes, areaName) { + if (changes.key === locationKey) { + if (changes.newValue !== window.location.href) { + window.location.href = changes.newValue; + } + } + + if (changes.key === revealedKey) { + let newreveal = []; + if (changes.newValue) { + newreveal = changes.newValue.split(","); + } + + document.querySelectorAll(".reveal, .revealed").forEach(item => { + if (newreveal.indexOf(item.id) < 0) { + item.classList.replace("revealed", "reveal"); + } else { + item.classList.replace("reveal", "revealed"); + } + }); + + reveal.checkDocument(); + } + }; + + const nullFunction = function(arg) { }; + + return { + "storeLocation": locationKey ? storeLocation : nullFunction, + "updateLocation": locationKey ? updateLocation : nullFunction, + "storeRevealed": revealedKey ? storeRevealed : nullFunction, + "storageChange": locationKey ? storageChange : function(changes, areaName) { } + }; + })(); + + const reveal = (function() { + const startRevealed = ["true", "1", "yes"].indexOf(getMeta("start-revealed")) >= 0; + let threeDots = null; + let currentlyRevealed = []; + let prid = "pr_id"; + let prnum = 0; + + const configure = function(elem) { + if (elem.tagName === "UL" && elem.classList.contains("toc")) { + // nop; don't attempt to do reveal processing on tables of contents + } else if (elem.tagName === "UL" || elem.tagName === "OL") { + // Lists are special; hide all but the first item by default + configureList(elem); + } else if (elem.tagName == "DL") { + configureDL(elem); + } else if (elem.tagName === "SCRIPT") { + // don't look in script elements + } else if (elem.classList.contains("speaker-notes")) { + // don't do reveals in speaker-notes + } else { + if (elem.classList.contains("reveal")) { + if (!elem.id) { + elem.id = `${prid}_${++prnum}`; + } + if (startRevealed) { + elem.classList.replace("reveal", "revealed"); + } + } + elem.querySelectorAll(":scope > *").forEach(child => { + configure(child); + }); + } + }; + + const configureList = function(list) { + const isprogressive = list.classList.contains("reveal"); + if (isprogressive) { + list.classList.remove("reveal"); // children effectively inherit this + + let itemnum = 0; + list.querySelectorAll(":scope > li").forEach(item => { + itemnum++; + + if (item.classList.contains("noreveal")) { + // ignore + } else { + if (itemnum > 1) { + item.classList.add("reveal"); + if (!item.id) { + item.id = `${prid}_${++prnum}`; + } + if (startRevealed) { + item.classList.replace("reveal", "revealed"); + } + } + } + + // Now process the descendants of the list items + item.querySelectorAll(":scope > *").forEach(child => { + configure(child); + }); + }); + } else { + // If the list doesn't have a reveal, check its children + list.querySelectorAll(":scope > *").forEach(item => { + configure(item); + }); + } + }; + + const configureDL = function(list) { + const isprogressive = list.classList.contains("reveal"); + if (isprogressive) { + list.classList.remove("reveal"); // children effectively inherit this + + let itemnum = 0; + list.querySelectorAll(":scope > div").forEach(item => { + itemnum++; + + if (item.classList.contains("noreveal")) { + // ignore it + } else { + if (itemnum > 1) { + item.classList.add("reveal"); + if (!item.id) { + item.id = `${prid}_${++prnum}`; + } + if (startRevealed) { + item.classList.replace("reveal", "revealed"); + } + } + } + + // Now process the descendants of the list items + item.querySelectorAll(":scope > *").forEach(child => { + configure(child); + }); + }); + } else { + // If the list doesn't have a reveal, check its children + list.querySelectorAll(":scope > *").forEach(item => { + configure(item); + }); + } + }; + + const moreToReveal = function() { + let found = false; + current.node.querySelectorAll(".reveal").forEach(item => { + if (!item.classList.contains("transitory")) { + found = true; + } + }); + return found; + }; + + const show = function(node) { + if (node.classList.contains("reveal")) { + node.classList.replace("reveal", "revealed"); + node.scrollIntoView(); + if (currentlyRevealed.indexOf(node.id) < 0) { + currentlyRevealed.push(node.id); + windowStorage.storeRevealed(currentlyRevealed); + } + displayThreeDots(); + } + }; + + const hide = function(node) { + if (!node.classList.contains("reveal")) { + if (node.classList.contains("revealed")) { + node.classList.replace("revealed", "reveal"); + } else { + node.classList.add("reveal"); + } + let idx = currentlyRevealed.indexOf(node.id); + if (idx > -1) { + currentlyRevealed.splice(idx, 1); + windowStorage.storeRevealed(currentlyRevealed); + } + displayThreeDots(); + } + }; + + const resetTransitory = function(node) { + // This can happen for transitory items initially marked noreveal + if (node.classList.contains("noreveal") && node.classList.contains("reveal")) { + node.classList.remove("reveal"); + } + }; + + const revealNext = function() { + // Find the next item to reveal by working from the last back towards + // the front. This allows us to re-hide transitory items without + // immediately re-revealing them on the next call. + let items = []; + current.node.querySelectorAll(".reveal,.revealed,.transitory").forEach(item => { + items.push(item); + }); + let ridx = -1; + for (let idx = items.length-1; idx >= 0; idx--) { + if (items[idx].classList.contains("reveal")) { + ridx = idx; + } + if (items[idx].classList.contains("revealed")) { + break; + } + } + + // If there are any transitory and revealed items "before us", + // hide them again. Ancestors don't count...but we're starting + // at the transitory item so that amounts to "not in our descendants". + if (ridx >= 0) { + const selected = items[ridx]; + show(selected); + for (ridx--; ridx >= 0; ridx--) { + if (items[ridx].classList.contains("transitory")) { + let ancestor = false; + items[ridx].querySelectorAll("*").forEach(child => { + ancestor = ancestor || child.isSameNode(selected); + }); + if (!ancestor) { + hide(items[ridx]); + } + } + } + return true; + } + + return false; + }; + + const revealAll = function() { + document.querySelectorAll(".reveal").forEach(item => { + show(item); + }); + document.querySelectorAll(".transitory").forEach(item => { + hide(item); + }); + + displayThreeDots(); + }; + + const reset = function() { + // Put everything back the way it was + document.querySelectorAll(".transitory").forEach(item => { + resetTransitory(item); + }); + + document.querySelectorAll(".revealed").forEach(elem => { + hide(elem); + }); + + displayThreeDots(); + }; + + const toggle = function() { + // If there are any transitory items marked both reveal and noreveal, + // remove the "reveal" class. + current.node.querySelectorAll(".transitory").forEach(elem => { + resetTransitory(elem); + }); + + // If there are any (non-transitory) hidden items, reveal + // all the items on this page. Otherwise, hide them. + let found = false; + current.node.querySelectorAll(".reveal").forEach(elem => { + if (!elem.classList.contains("transitory")) { + found = true; + } + }); + + if (found) { + current.node.querySelectorAll(".reveal").forEach(elem => { + show(elem); + }); + current.node.querySelectorAll(".transitory").forEach(elem => { + hide(elem); + }); + } else { + current.node.querySelectorAll(".revealed").forEach(elem => { + hide(elem); + }); + } + + displayThreeDots(); + }; + + const checkDocument = function() { + currentlyRevealed = []; + document.querySelectorAll(".revealed").forEach(item => { + currentlyRevealed.push(item.id); + }); + displayThreeDots(); + }; + + const displayThreeDots = function() { + if (!threeDots) { + threeDots = document.createElement("div"); + threeDots.classList.add("threedots"); + threeDots.innerHTML = "⋮"; + navbot.appendChild(threeDots); + } + + if (moreToReveal()) { + threeDots.style.display = "block"; + } else { + threeDots.style.display = "none"; + } + }; + + return { + "configure": function() { configure(body); }, + "more": moreToReveal, + "next": revealNext, + "reset": reset, + "toggle": toggle, + "all": revealAll, + "show": displayThreeDots, + "checkDocument": checkDocument + }; + })(); + + // ============================================================ + + const keyboard = function(event) { + event = event || window.event; + let keyCode = event.keyCode || event.which; + + if (helpdiv && helpdiv.style.display == "block") { + helpdiv.style.display = "none"; + return false; + } + + if (event.srcElement && event.srcElement.classList.contains("ptoc-search")) { + // Don't navigate if the user is typing in the persistent toc search box + return true; + } + + switch (keyCode) { + case KEY_N: + case KEY_RIGHT: + if (event.shiftKey) { + nav("following"); + } else { + if (!reveal.next()) { + nav("next"); + } + } + break; + case KEY_P: + case KEY_LEFT: + nav(event.shiftKey ? "preceding" : "prev"); + break; + case KEY_U: + nav("up"); + break; + case KEY_SPACE: + reveal.next(); + break; + case KEY_D: + nav("down"); + break; + case KEY_H: + case KEY_HOME: + navTo(foil); + break; + case KEY_A: + reveal.all(); + break; + case KEY_R: + if (event.shiftKey) { + reveal.reset(); + } else { + reveal.toggle(); + } + break; + case KEY_S: + viewNotes(!notesView); + break; + case KEY_QUESTION: + case KEY_F1: + help(); + break; + default: + break; + } + + return false; + }; + + const nav = function (direction) { + if (current[direction]) { + navTo(current[direction]); + } + }; + + const navHash = function(target) { + if (target && target.node) { + return "#" + target.node.getAttribute("tumble-id").substring(2); + } else { + return "#1"; + } + }; + + const navLink = function(target, icon) { + if (target) { + return `${icon}`; + } + return `${icon}`; + }; + + const navTo = function(destination) { + current.node.classList.remove("show"); + current = destination; + current.node.classList.add("show"); + window.location.hash = navHash(current); + windowStorage.storeLocation(window.location); + + current.node.scrollIntoView(); + + // Let's be lazy and do this with strings + let inner; + if (current.up) { + inner = `${homeicon}`; + } else { + inner = `${homeicon}`; + } + + inner += navLink(current.up, upicon); + inner += navLink(current.down, downicon); + inner += navLink(current.prev, previcon); + inner += navLink(current.next, nexticon); + //inner += navLink(current.preceding, precicon); + //inner += navLink(current.following, follicon); + + navdiv.innerHTML = inner; + + viewNotes(notesView); + reveal.show(); + }; + + const initialSlide = function(event) { + event.preventDefault(); + + let startFoil = "R.1"; + if (window.location.hash.startsWith("#")) { + startFoil = "R." + window.location.hash.substring(1); + } + + if (!(startFoil in nodemap)) { + startFoil = "R.1"; + } + + navTo(nodemap[startFoil]); + }; + + const viewNotes = function(view) { + let div = current.node; + let inset = div.querySelector(".inset-wrapper"); + if (!inset) { + let content = document.createElement("div"); + content.classList.add("inset-wrapper"); + + let cbody = document.createElement("div"); + cbody.classList.add("inset-body"); + + let notes = document.createElement("div"); + notes.classList.add("speaker-notes-wrapper"); + + let children = []; + for (let idx = 0; idx < div.children.length; idx++) { + children.push(div.children[idx]); + } + children.forEach(child => { + cbody.appendChild(child.parentNode.removeChild(child)); + }); + + children = []; + cbody.querySelectorAll(".speaker-notes").forEach(child => { + children.push(child); + }); + + children.forEach(child => { + notes.appendChild(child.parentNode.removeChild(child)); + }); + + // What about footnotes? Copy the relevant footnotes onto each page. + // Remove the bidirection links between footnote marks because they + // confuse the presentation mode navigation. + let pagefn = []; + cbody.querySelectorAll("a[href]").forEach(anchor => { + let href = anchor.getAttribute("href"); + if (href.startsWith("#") && footnoteids.indexOf(href.substring(1)) >= 0) { + pagefn.push(href.substring(1)); + anchor.removeAttribute("href"); + } + }); + if (pagefn.length > 0) { + let footer = document.createElement("footer"); + let fndiv = document.createElement("div"); + fndiv.classList.add("footnotes"); + fndiv.appendChild(document.createElement("hr")); + footnotes.querySelectorAll("div.footnote[id]").forEach(fn => { + if (pagefn.indexOf(fn.id) >= 0) { + let newfn = fn.cloneNode(true); + newfn.querySelectorAll("a[href]").forEach(anchor => { + if (anchor.getAttribute("href").startsWith("#")) { + anchor.removeAttribute("href"); + } + }); + fndiv.appendChild(newfn); + } + }); + footer.appendChild(fndiv); + content.appendChild(footer); + } + + div.appendChild(content); + content.prepend(cbody); + div.appendChild(notes); + } + + let content = current.node.querySelector(".inset-wrapper"); + let notes = current.node.querySelector(".speaker-notes-wrapper"); + if (view) { + content.classList.add("inset"); + notes.style.display = "block"; + } else { + content.classList.remove("inset"); + notes.style.display = "none"; + } + + notesView = view; + }; + + // ============================================================ + + const tidyMarkup = function(root, depth=0) { + const page = document.createElement("article"); + page.setAttribute("class", "leaf"); + + const unwrapped = []; + // Wrap up all the non-article, non-section children. + root.querySelectorAll(":scope > *").forEach(child => { + let ischunk = child.tagName == "ARTICLE" || child.tagName == "SECTION"; + ischunk = ischunk && !(child.classList.contains("partintro")); + + if (ischunk) { + tidyMarkup(child, depth+1); + } else { + unwrapped.push(child); + } + }); + + unwrapped.forEach(child => { + child.parentNode.removeChild(child); + page.appendChild(child); + }); + + page.classList.add("depth_" + depth); + root.prepend(page); + }; + + const buildNavigation = function(root, depth=1, up=null, tumble="R") { + let selector = `.depth_${depth}`; + if (depth == 1) { + // The book titlepage is special + selector = ".depth_0, .depth_1"; + } + let first = null; + let siblings = null; + let pos = 0; + root.querySelectorAll(selector).forEach(node => { + pos++; + const tumbleId = `${tumble}.${pos}`; + node.setAttribute("tumble-id", tumbleId); + + let next = { + "node": node, + }; + nodemap[tumbleId] = next; + + if (up) { + next.up = up; + } else { + up = next; + } + + if (siblings) { + siblings.following = next; + next.preceding = siblings; + } else { + first = next; + } + + let down = null; + if (!node.classList.contains("depth_0")) { + down = buildNavigation(node.parentNode, depth+1, next, tumbleId); + } + if (down && down.node) { + next.down = down; + } + + siblings = next; + }); + + return first; + }; + + const sequentialNavigation = function(book) { + let prev = null; + book.querySelectorAll(".leaf").forEach(leaf => { + const node = nodemap[leaf.getAttribute("tumble-id")]; + if (prev) { + prev.next = node; + node.prev = prev; + } + prev = node; + }); + }; + + const patchLinks = function(book) { + book.querySelectorAll("a[href]").forEach(link => { + let href = link.getAttribute("href"); + if (href.startsWith("#")) { + const node = document.querySelector(href); + if (node) { + const leaf = node.querySelector(".leaf"); + if (leaf) { + link.setAttribute("href", `#${leaf.getAttribute("tumble-id").substring(2)}`); + } + } + } + }); + }; + + const stripWrappers = function(book) { + let page = foil; + let lastInsert = null; + while (page) { + const leaf = page.node.parentNode.removeChild(page.node); + leaf.classList.remove("leaf"); + if (lastInsert) { + main.insertBefore(leaf, lastInsert.nextSibling); + } else { + main.prepend(leaf); + } + lastInsert = leaf; + page = page.next; + } + book.parentNode.removeChild(book); + }; + + // ============================================================ + + const help = function() { + let count = 0; + current.node.querySelectorAll(".reveal").forEach(function(item) { + count += 1; + }); + console.log(count, "items to be revealed on this page:"); + console.log(current); + + if (!helpdiv) { + // Inlining this in JavaScript code is just such a hack... + helpdiv = document.createElement("div"); + helpdiv.classList.add(`popup-annotation-wrapper`); + + let innerdiv = document.createElement("div"); + innerdiv.classList.add("popup-annotation-body"); + innerdiv.style.width = "90%"; + innerdiv.style.marginTop = "5%"; + innerdiv.style.maxHeight = "80%"; + innerdiv.style.height = "80%"; + + let headerdiv = document.createElement("div"); + headerdiv.classList.add("popup-annotation-header"); + let span = document.createElement("span"); + span.innerHTML = "Help"; + headerdiv.appendChild(span); + span = document.createElement("span"); + span.innerHTML = "(Esc to close)"; + span.style.float = "right"; + headerdiv.appendChild(span); + + let contentdiv = document.createElement("div"); + contentdiv.classList.add("popup-annotation-content"); + contentdiv.style.fontSize = "16pt"; + contentdiv.innerHTML = "
" + + "

Presentation mode displays a document as a set of individual pages. " + + "Navigation is performed by following links, " + + "clicking the icons in the lower-right corner of the " + + "page, or with the keyboard.

" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "
KeyNavigation
SpaceReveal next item
N or →Reveal next item, or next sequential page
Shift+N or Shift + →Next sibling page
P or ←Previous sequential page
Shift+P or Shift + ←Previous sibling page
UNearest ancestor page
DFirst descendant page
H or HomeReturn to title page
AReveal all hidden items
RToggle hidden items on the current page
Shift+RReset all hidden items in the document
SToggle notes view
? or F1Display this help screen
"; + + if (window.location.href.startsWith("http://localhost/") + || window.location.href.startsWith("http://localhost:") + || window.location.href.startsWith("http://127.0.0.1/") + || window.location.href.startsWith("http://127.0.0.1:") + || window.location.href.startsWith("https:")) { + contentdiv.innerHTML += "" + + "

Presentation mode can use the local " + + "storage API to keep several browser windows in sync, for example to display " + + "notes in one window while projecting another.

"; + } else { + contentdiv.innerHTML += "" + + "

If loaded from localhost or via https:, presentation mode can use the local " + + "storage API to keep several browser windows in sync.

"; + } + contentdiv.innerHTML += "
"; + + innerdiv.appendChild(headerdiv); + innerdiv.appendChild(contentdiv); + helpdiv.appendChild(innerdiv); + body.appendChild(helpdiv); + } + + helpdiv.style.display = "block"; + }; + + // ============================================================ + + navdiv.innerHTML = ""; + navbot.appendChild(navdiv); + + footnotes = document.querySelector("footer div.footnotes"); + if (footnotes) { + // Excise them from the document + footnotes = footnotes.parentNode.removeChild(footnotes); + footnotes.querySelectorAll("div.footnote[id]").forEach(fn => { + footnoteids.push(fn.id); + }); + } + + const book = main.querySelector("article"); + tidyMarkup(book); + foil = buildNavigation(book); + sequentialNavigation(book); + patchLinks(book); + stripWrappers(book); + + // The root title page is special, "down" == "next" + foil.down = foil.next; + + current = foil; + if (window.location.hash.startsWith("#")) { + let startFoil = "R." + window.location.hash.substring(1); + if (startFoil in nodemap) { + current = nodemap[startFoil]; + } + } + + reveal.configure(); + navTo(current); + + windowStorage.updateLocation(); + + window.addEventListener("keyup", keyboard); + window.addEventListener("hashchange", initialSlide); + window.addEventListener("storage", windowStorage.storageChange); +})(); diff --git a/guide/2.2.2/js/prism.js b/guide/2.2.2/js/prism.js new file mode 100644 index 0000000000..9ab65d5f87 --- /dev/null +++ b/guide/2.2.2/js/prism.js @@ -0,0 +1,53 @@ +/* PrismJS 1.29.0 +http://localhost:9000/download.html#themes=prism&languages=markup+css+clike+javascript+abnf+apacheconf+bash+c+csharp+cpp+coffeescript+css-extras+diff+go+http+ini+ixml+java+javadoc+javadoclike+json+json5+jsonp+kotlin+less+lua+makefile+markdown+markup-templating+nginx+objectivec+perl+php+phpdoc+php-extras+plant-uml+powershell+python+ruby+rust+sass+scss+scala+sql+swift+typescript+xquery+yaml&plugins=line-highlight+line-numbers */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(jg.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp("((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript; +!function(n){var i="(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";n.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?"[^"\n\r]*"/,greedy:!0,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,alias:"number"},terminal:{pattern:/%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,alias:"number"},repetition:{pattern:/(^|[^\w-])(?:\d*\*\d*|\d+)/,lookbehind:!0,alias:"operator"},definition:{pattern:/(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,lookbehind:!0,alias:"keyword",inside:{punctuation:/<|>/}},"core-rule":{pattern:RegExp("(?:(^|[^<\\w-])"+i+"|<"+i+">)(?![\\w-])","i"),lookbehind:!0,alias:["rule","constant"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,lookbehind:!0,inside:{punctuation:/<|>/}},operator:/=\/?|\//,punctuation:/[()\[\]]/}}(Prism); +Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Prism.languages.c.boolean; +!function(e){function n(e,n){return e.replace(/<<(\d+)>>/g,(function(e,s){return"(?:"+n[+s]+")"}))}function s(e,s,a){return RegExp(n(e,s),a||"")}function a(e,n){for(var s=0;s>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var t="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),p=RegExp(l(t+" "+r+" "+i+" "+o)),c=l(r+" "+i+" "+o),u=l(t+" "+r+" "+o),g=a("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),b=a("\\((?:[^()]|<>)*\\)",2),h="@?\\b[A-Za-z_]\\w*\\b",f=n("<<0>>(?:\\s*<<1>>)?",[h,g]),m=n("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,f]),k="\\[\\s*(?:,\\s*)*\\]",y=n("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[m,k]),w=n("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,b,k]),v=n("\\(<<0>>+(?:,<<0>>+)+\\)",[w]),x=n("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[v,m,k]),$={keyword:p,punctuation:/[<>()?,.:[\]]/},_="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",B='"(?:\\\\.|[^\\\\"\r\n])*"';e.languages.csharp=e.languages.extend("clike",{string:[{pattern:s("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:s("(^|[^@$\\\\])<<0>>",[B]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:s("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[m]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[h,x]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+)<<0>>(?=\\s*=)",[h]),lookbehind:!0},{pattern:s("(\\b<<0>>\\s+)<<1>>",[d,f]),lookbehind:!0,inside:$},{pattern:s("(\\bcatch\\s*\\(\\s*)<<0>>",[m]),lookbehind:!0,inside:$},{pattern:s("(\\bwhere\\s+)<<0>>",[h]),lookbehind:!0},{pattern:s("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[y]),lookbehind:!0,inside:$},{pattern:s("\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[x,u,h]),inside:$}],keyword:p,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:s("([(,]\\s*)<<0>>(?=\\s*:)",[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:s("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:s("(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[b]),lookbehind:!0,alias:"class-name",inside:$},"return-type":{pattern:s("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[x,m]),inside:$,alias:"class-name"},"constructor-invocation":{pattern:s("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[x]),lookbehind:!0,inside:$,alias:"class-name"},"generic-method":{pattern:s("<<0>>\\s*<<1>>(?=\\s*\\()",[h,g]),inside:{function:s("^<<0>>",[h]),generic:{pattern:RegExp(g),alias:"class-name",inside:$}}},"type-list":{pattern:s("\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))",[d,f,h,x,p.source,b,"\\bnew\\s*\\(\\s*\\)"]),lookbehind:!0,inside:{"record-arguments":{pattern:s("(^(?!new\\s*\\()<<0>>\\s*)<<1>>",[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:p,"class-name":{pattern:RegExp(x),greedy:!0,inside:$},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var E=B+"|"+_,R=n("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[E]),z=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),S="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",j=n("<<0>>(?:\\s*\\(<<1>>*\\))?",[m,z]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:s("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[S,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:s("^<<0>>(?=\\s*:)",[S]),alias:"keyword"},"attribute-arguments":{pattern:s("\\(<<0>>*\\)",[z]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var A=":[^}\r\n]+",F=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),P=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[F,A]),U=a(n("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[E]),2),Z=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[U,A]);function q(n,a){return{interpolation:{pattern:s("((?:^|[^{])(?:\\{\\{)*)<<0>>",[n]),lookbehind:!0,inside:{"format-string":{pattern:s("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[a,A]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:s('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[P]),lookbehind:!0,greedy:!0,inside:q(P,F)},{pattern:s('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[Z]),lookbehind:!0,greedy:!0,inside:q(Z,U)}],char:{pattern:RegExp(_),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism); +!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp('(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\r\n|[^])|[^"\\\\\r\n])*"|<[^<>\r\n]*>|'+"(?:\\s*:\\s*)?|:\\s*".replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); +!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism); +!function(e){var a,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:a={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=a,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},i={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:i,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:i})}(Prism); +!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var n={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(n).forEach((function(a){var i=n[a],r=[];/^\w+$/.test(a)||r.push(/\w+/.exec(a)[0]),"diff"===a&&r.push("bold"),e.languages.diff[a]={pattern:RegExp("^(?:["+i+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:r,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(a)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:n})}(Prism); +Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]; +!function(t){function a(t){return RegExp("(^(?:"+t+"):[ \t]*(?![ \t]))[^]+","i")}t.languages.http={"request-line":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:t.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[\d.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[\d.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[\d.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},header:{pattern:/^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,inside:{"header-value":[{pattern:a("Content-Security-Policy"),lookbehind:!0,alias:["csp","languages-csp"],inside:t.languages.csp},{pattern:a("Public-Key-Pins(?:-Report-Only)?"),lookbehind:!0,alias:["hpkp","languages-hpkp"],inside:t.languages.hpkp},{pattern:a("Strict-Transport-Security"),lookbehind:!0,alias:["hsts","languages-hsts"],inside:t.languages.hsts},{pattern:a("[^:]+"),lookbehind:!0}],"header-name":{pattern:/^[^:]+/,alias:"keyword"},punctuation:/^:/}}};var e,n=t.languages,s={"application/javascript":n.javascript,"application/json":n.json||n.javascript,"application/xml":n.xml,"text/xml":n.xml,"text/html":n.html,"text/css":n.css,"text/plain":n.plain},i={"application/json":!0,"application/xml":!0};function r(t){var a=t.replace(/^[a-z]+\//,"");return"(?:"+t+"|\\w+/(?:[\\w.-]+\\+)+"+a+"(?![+\\w.-]))"}for(var p in s)if(s[p]){e=e||{};var l=i[p]?r(p):p;e[p.replace(/\//g,"-")]={pattern:RegExp("(content-type:\\s*"+l+"(?:(?:\r\n?|\n)[\\w-].*)*(?:\r(?:\n|(?!\n))|\n))[^ \t\\w-][^]*","i"),lookbehind:!0,inside:s[p]}}e&&t.languages.insertBefore("http","header",e)}(Prism); +Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}; +Prism.languages.ixml={atrule:{pattern:/\{\[\+?[^{}]*\]\}/,inside:{atrule:/./}},rulesymbol:{pattern:/[\-\+@\^]?[A-Za-z][-\.A-Za-z0-9]*\s*[:=]/,inside:{atrule:/^[\-\+@\^]/,symbol:/[A-Za-z][-\.A-Za-z0-9]*/,punctuation:/[:=]/}},char:{pattern:/\#[a-fA-F0-9]+/},string:{pattern:/"[^\r\n"]*"|'[^\r\n']*'/},comment:{pattern:/\{[^\[][^{}]*\}/},punctuation:{pattern:/[\,\;\|]/},symbol:{pattern:/[\-\+\@\^]?[A-Za-z][-\.A-Za-z0-9]*/,inside:{operator:/^[\-\+@\^]/,symbol:/[A-Za-z][-\.A-Za-z0-9]*/}},operator:{pattern:/\+\+\|\*\*|\+|\*|\?/}}; +!function(e){var n=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,t="(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp("(^|[^\\w.])"+t+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp("(^|[^\\w.])"+t+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)"),lookbehind:!0,inside:s.inside},{pattern:RegExp("(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)"+t+"[A-Z]\\w*\\b"),lookbehind:!0,inside:s.inside}],keyword:n,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":s,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp("(\\bimport\\s+)"+t+"(?:[A-Z]\\w*|\\*)(?=\\s*;)"),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp("(\\bimport\\s+static\\s+)"+t+"(?:\\w+|\\*)(?=\\s*;)"),lookbehind:!0,alias:"static",inside:{namespace:s.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,(function(){return n.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism); +!function(e){function n(e,n){return"___"+e.toUpperCase()+n+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(t,a,r,o){if(t.language===a){var c=t.tokenStack=[];t.code=t.code.replace(r,(function(e){if("function"==typeof o&&!o(e))return e;for(var r,i=c.length;-1!==t.code.indexOf(r=n(a,i));)++i;return c[i]=e,r})),t.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(t,a){if(t.language===a&&t.tokenStack){t.grammar=e.languages[a];var r=0,o=Object.keys(t.tokenStack);!function c(i){for(var u=0;u=o.length);u++){var g=i[u];if("string"==typeof g||g.content&&"string"==typeof g.content){var l=o[r],s=t.tokenStack[l],f="string"==typeof g?g:g.content,p=n(a,l),k=f.indexOf(p);if(k>-1){++r;var m=f.substring(0,k),d=new e.Token(a,e.tokenize(s,t.grammar),"language-"+a,s),h=f.substring(k+p.length),v=[];m&&v.push.apply(v,c([m])),v.push(d),h&&v.push.apply(v,c([h])),"string"==typeof g?i.splice.apply(i,[u,1].concat(v)):g.content=v}}else g.content&&c(g.content)}return i}(t.tokens)}}}})}(Prism); +!function(e){var a=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:a,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},r=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:l}}];e.languages.insertBefore("php","variable",{string:r,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:a,string:r,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(a){/<\?/.test(a.code)&&e.languages["markup-templating"].buildPlaceholders(a,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"php")}))}(Prism); +!function(a){var e=a.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(e,"addSupport",{value:function(e,n){"string"==typeof e&&(e=[e]),e.forEach((function(e){!function(e,n){var t="doc-comment",r=a.languages[e];if(r){var o=r[t];if(o||(o=(r=a.languages.insertBefore(e,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[t]),o instanceof RegExp&&(o=r[t]={pattern:o}),Array.isArray(o))for(var i=0,s=o.length;i/g,(function(){return"#\\s*\\w+(?:\\s*\\([^()]*\\))?"}));a.languages.javadoc=a.languages.extend("javadoclike",{}),a.languages.insertBefore("javadoc","keyword",{reference:{pattern:RegExp("(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)(?:"+n+")"),lookbehind:!0,inside:{function:{pattern:/(#\s*)\w+(?=\s*\()/,lookbehind:!0},field:{pattern:/(#\s*)\w+/,lookbehind:!0},namespace:{pattern:/\b(?:[a-z]\w*\s*\.\s*)+/,inside:{punctuation:/\./}},"class-name":/\b[A-Z]\w*/,keyword:a.languages.java.keyword,punctuation:/[#()[\],.]/}},"class-name":{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}},"code-section":[{pattern:/(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,lookbehind:!0,inside:{code:{pattern:e,lookbehind:!0,inside:a.languages.java,alias:"language-java"}}},{pattern:/(<(code|pre|tt)>(?!)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,lookbehind:!0,inside:{line:{pattern:e,lookbehind:!0,inside:{tag:a.languages.markup.tag,entity:a.languages.markup.entity,code:{pattern:/.+/,inside:a.languages.java,alias:"language-java"}}}}}],tag:a.languages.markup.tag,entity:a.languages.markup.entity}),a.languages.javadoclike.addSupport("java",a.languages.javadoc)}(Prism); +Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json; +!function(n){var e=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;n.languages.json5=n.languages.extend("json",{property:[{pattern:RegExp(e.source+"(?=\\s*:)"),greedy:!0},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,alias:"unquoted"}],string:{pattern:e,greedy:!0},number:/[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/})}(Prism); +Prism.languages.jsonp=Prism.languages.extend("json",{punctuation:/[{}[\]();,.]/}),Prism.languages.insertBefore("jsonp","punctuation",{function:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*\()/}); +!function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"];var e={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:n.languages.kotlin}};n.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:e},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:e},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete n.languages.kotlin.string,n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),n.languages.kt=n.languages.kotlin,n.languages.kts=n.languages.kotlin}(Prism); +Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}); +Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}; +Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}; +!function(n){function e(n){return n=n.replace(//g,(function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"})),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var t="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",a="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,(function(){return t})),i="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(t),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(t),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:e("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:e("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e("(~~?)(?:(?!~))+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:e('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(e){["url","bold","italic","strike","code-snippet"].forEach((function(t){e!==t&&(n.languages.markdown[e].inside.content.inside[t]=n.languages.markdown[t])}))})),n.hooks.add("after-tokenize",(function(n){"markdown"!==n.language&&"md"!==n.language||function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t",quot:'"'},l=String.fromCodePoint||String.fromCharCode;n.languages.md=n.languages.markdown}(Prism); +!function(e){var n=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;e.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:n}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:n}},punctuation:/[{};]/}}(Prism); +Prism.languages.objectivec=Prism.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete Prism.languages.objectivec["class-name"],Prism.languages.objc=Prism.languages.objectivec; +!function(e){var n="(?:\\((?:[^()\\\\]|\\\\[^])*\\)|\\{(?:[^{}\\\\]|\\\\[^])*\\}|\\[(?:[^[\\]\\\\]|\\\\[^])*\\]|<(?:[^<>\\\\]|\\\\[^])*>)";e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp("\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2",n].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp("\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2",n].join("|")+")[msixpodualngc]*"),greedy:!0},{pattern:RegExp("(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2(?:(?!\\2)[^\\\\]|\\\\[^])*\\2","([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[^])*\\3(?:(?!\\3)[^\\\\]|\\\\[^])*\\3",n+"\\s*"+n].join("|")+")[msixpodualngcer]*"),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}}(Prism); +!function(a){var e="(?:\\b[a-zA-Z]\\w*|[|\\\\[\\]])+";a.languages.phpdoc=a.languages.extend("javadoclike",{parameter:{pattern:RegExp("(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:"+e+"\\s+)?)\\$\\w+"),lookbehind:!0}}),a.languages.insertBefore("phpdoc","keyword",{"class-name":[{pattern:RegExp("(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)"+e),lookbehind:!0,inside:{keyword:/\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,punctuation:/[|\\[\]()]/}}]}),a.languages.javadoclike.addSupport("php",a.languages.phpdoc)}(Prism); +Prism.languages.insertBefore("php","variable",{this:{pattern:/\$this\b/,alias:"keyword"},global:/\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/\b(?:parent|self|static)\b/,punctuation:/::|\\/}}}); +!function(e){var t=/\$\w+|%[a-z]+%/;e.languages["plant-uml"]={comment:{pattern:/(^[ \t]*)(?:'.*|\/'[\s\S]*?'\/)/m,lookbehind:!0,greedy:!0},preprocessor:{pattern:/(^[ \t]*)!.*/m,lookbehind:!0,greedy:!0,alias:"property",inside:{variable:t}},delimiter:{pattern:/(^[ \t]*)@(?:end|start)uml\b/m,lookbehind:!0,greedy:!0,alias:"punctuation"},arrow:{pattern:RegExp("(^|[^-.<>?|\\\\[\\]ox])[[?]?[ox]?(?:(?:-+(?:[drlu]|do|down|le|left|ri|right|up)-+|\\.+(?:[drlu]|do|down|le|left|ri|right|up)\\.+|-+(?:\\[[^[\\]]*\\]-*)?|\\[[^[\\]]*\\]-+|\\.+(?:\\[[^[\\]]*\\]\\.*)?|\\[[^[\\]]*\\]\\.+)(?:>{1,2}|/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo])|(?:<{1,2}|/{1,2}|\\\\{1,2}|<\\||[#*^+}xo])(?:-+(?:[drlu]|do|down|le|left|ri|right|up)-+|\\.+(?:[drlu]|do|down|le|left|ri|right|up)\\.+|-+(?:\\[[^[\\]]*\\]-*)?|\\[[^[\\]]*\\]-+|\\.+(?:\\[[^[\\]]*\\]\\.*)?|\\[[^[\\]]*\\]\\.+)(?:(?:>{1,2}|/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo]))?)[ox]?[\\]?]?(?![-.<>?|\\\\\\]ox])"),lookbehind:!0,greedy:!0,alias:"operator",inside:{expression:{pattern:/(\[)[^[\]]+(?=\])/,lookbehind:!0,inside:null},punctuation:/\[(?=$|\])|^\]/}},string:{pattern:/"[^"]*"/,greedy:!0},text:{pattern:/(\[[ \t]*[\r\n]+(?![\r\n]))[^\]]*(?=\])/,lookbehind:!0,greedy:!0,alias:"string"},keyword:[{pattern:/^([ \t]*)(?:abstract\s+class|end\s+(?:box|fork|group|merge|note|ref|split|title)|(?:fork|split)(?:\s+again)?|activate|actor|agent|alt|annotation|artifact|autoactivate|autonumber|backward|binary|boundary|box|break|caption|card|case|circle|class|clock|cloud|collections|component|concise|control|create|critical|database|deactivate|destroy|detach|diamond|else|elseif|end|end[hr]note|endif|endswitch|endwhile|entity|enum|file|folder|footer|frame|group|[hr]?note|header|hexagon|hide|if|interface|label|legend|loop|map|namespace|network|newpage|node|nwdiag|object|opt|package|page|par|participant|person|queue|rectangle|ref|remove|repeat|restore|return|robust|scale|set|show|skinparam|stack|start|state|stop|storage|switch|title|together|usecase|usecase\/|while)(?=\s|$)/m,lookbehind:!0,greedy:!0},/\b(?:elseif|equals|not|while)(?=\s*\()/,/\b(?:as|is|then)\b/],divider:{pattern:/^==.+==$/m,greedy:!0,alias:"important"},time:{pattern:/@(?:\d+(?:[:/]\d+){2}|[+-]?\d+|:[a-z]\w*(?:[+-]\d+)?)\b/i,greedy:!0,alias:"number"},color:{pattern:/#(?:[a-z_]+|[a-fA-F0-9]+)\b/,alias:"symbol"},variable:t,punctuation:/[:,;()[\]{}]|\.{3}/},e.languages["plant-uml"].arrow.inside.expression.inside=e.languages["plant-uml"],e.languages.plantuml=e.languages["plant-uml"]}(Prism); +!function(e){var i=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};i.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:i},boolean:i.boolean,variable:i.variable}}(Prism); +Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; +!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var t="(?:"+["([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)","\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]","<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>"].join("|")+")",i='(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)';e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp("%r"+t+"[egimnosux]{0,6}"),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp("(^|[^:]):"+i),lookbehind:!0,greedy:!0},{pattern:RegExp("([\r\n{(,][ \t]*)"+i+"(?=:(?!:))"),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp("%[qQiIwWs]?"+t),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp("%x"+t),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism); +!function(e){for(var a="/\\*(?:[^*/]|\\*(?!/)|/(?!\\*)|)*\\*/",t=0;t<2;t++)a=a.replace(//g,(function(){return a}));a=a.replace(//g,(function(){return"[^\\s\\S]"})),e.languages.rust={comment:[{pattern:RegExp("(^|[^\\\\])"+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism); +!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var r=/\$[-\w]+|#\{\$[-\w]+\}/,t=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:r,operator:t}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:r,operator:t,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(Prism); +Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; +Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant; +Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; +Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp('(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^(])|[^\\\\\r\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp('(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^#])|[^\\\\\r\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp("#(?:(?:elseif|if)\\b(?:[ \t]*(?:![ \t]*)?(?:\\b\\w+\\b(?:[ \t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Prism.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift})); +!function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var s=e.languages.extend("typescript",{});delete s["class-name"],e.languages.typescript["class-name"].inside=s,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:s}}}}),e.languages.ts=e.languages.typescript}(Prism); +!function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(e){return"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(t).join("")},n=function(a){for(var o=[],i=0;i0&&o[o.length-1].tagName===t(r.content[0].content[1])&&o.pop():"/>"===r.content[r.content.length-1].content||o.push({tagName:t(r.content[0].content[1]),openedBraces:0}):!(o.length>0&&"punctuation"===r.type&&"{"===r.content)||a[i+1]&&"punctuation"===a[i+1].type&&"{"===a[i+1].content||a[i-1]&&"plain-text"===a[i-1].type&&"{"===a[i-1].content?o.length>0&&o[o.length-1].openedBraces>0&&"punctuation"===r.type&&"}"===r.content?o[o.length-1].openedBraces--:"comment"!==r.type&&(s=!0):o[o.length-1].openedBraces++),(s||"string"==typeof r)&&o.length>0&&0===o[o.length-1].openedBraces){var l=t(r);i0&&("string"==typeof a[i-1]||"plain-text"===a[i-1].type)&&(l=t(a[i-1])+l,a.splice(i-1,1),i--),/^\s+$/.test(l)?a[i]=l:a[i]=new e.Token("plain-text",l,null,l)}r.content&&"string"!=typeof r.content&&n(r.content)}};e.hooks.add("after-tokenize",(function(e){"xquery"===e.language&&n(e.tokens)}))}(Prism); +!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); +!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document&&document.querySelector){var e,t="line-numbers",i="linkable-line-numbers",n=/\n(?!$)/g,r=!0;Prism.plugins.lineHighlight={highlightLines:function(o,u,c){var h=(u="string"==typeof u?u:o.getAttribute("data-line")||"").replace(/\s+/g,"").split(",").filter(Boolean),d=+o.getAttribute("data-line-offset")||0,f=(function(){if(void 0===e){var t=document.createElement("div");t.style.fontSize="13px",t.style.lineHeight="1.5",t.style.padding="0",t.style.border="0",t.innerHTML=" 
 ",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}()?parseInt:parseFloat)(getComputedStyle(o).lineHeight),p=Prism.util.isActive(o,t),g=o.querySelector("code"),m=p?o:g||o,v=[],y=g.textContent.match(n),b=y?y.length+1:1,A=g&&m!=g?function(e,t){var i=getComputedStyle(e),n=getComputedStyle(t);function r(e){return+e.substr(0,e.length-2)}return t.offsetTop+r(n.borderTopWidth)+r(n.paddingTop)-r(i.paddingTop)}(o,g):0;h.forEach((function(e){var t=e.split("-"),i=+t[0],n=+t[1]||i;if(!((n=Math.min(b+d,n))i&&r.setAttribute("data-end",String(n)),r.style.top=(i-d-1)*f+A+"px",r.textContent=new Array(n-i+2).join(" \n")}));v.push((function(){r.style.width=o.scrollWidth+"px"})),v.push((function(){m.appendChild(r)}))}}));var P=o.id;if(p&&Prism.util.isActive(o,i)&&P){l(o,i)||v.push((function(){o.classList.add(i)}));var E=parseInt(o.getAttribute("data-start")||"1");s(".line-numbers-rows > span",o).forEach((function(e,t){var i=t+E;e.onclick=function(){var e=P+"."+i;r=!1,location.hash=e,setTimeout((function(){r=!0}),1)}}))}return function(){v.forEach(a)}}};var o=0;Prism.hooks.add("before-sanity-check",(function(e){var t=e.element.parentElement;if(u(t)){var i=0;s(".line-highlight",t).forEach((function(e){i+=e.textContent.length,e.parentNode.removeChild(e)})),i&&/^(?: \n)+$/.test(e.code.slice(-i))&&(e.code=e.code.slice(0,-i))}})),Prism.hooks.add("complete",(function e(i){var n=i.element.parentElement;if(u(n)){clearTimeout(o);var r=Prism.plugins.lineNumbers,s=i.plugins&&i.plugins.lineNumbers;l(n,t)&&r&&!s?Prism.hooks.add("line-numbers",e):(Prism.plugins.lineHighlight.highlightLines(n)(),o=setTimeout(c,1))}})),window.addEventListener("hashchange",c),window.addEventListener("resize",(function(){s("pre").filter(u).map((function(e){return Prism.plugins.lineHighlight.highlightLines(e)})).forEach(a)}))}function s(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function l(e,t){return e.classList.contains(t)}function a(e){e()}function u(e){return!!(e&&/pre/i.test(e.nodeName)&&(e.hasAttribute("data-line")||e.id&&Prism.util.isActive(e,i)))}function c(){var e=location.hash.slice(1);s(".temporary.line-highlight").forEach((function(e){e.parentNode.removeChild(e)}));var t=(e.match(/\.([\d,-]+)$/)||[,""])[1];if(t&&!document.getElementById(e)){var i=e.slice(0,e.lastIndexOf(".")),n=document.getElementById(i);n&&(n.hasAttribute("data-line")||n.setAttribute("data-line",""),Prism.plugins.lineHighlight.highlightLines(n,t,"temporary ")(),r&&document.querySelector(".temporary.line-highlight").scrollIntoView())}}}(); +!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e="line-numbers",n=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(n,t){if("PRE"===n.tagName&&n.classList.contains(e)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,s=r+(i.children.length-1);ts&&(t=s);var l=t-r;return i.children[l]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},i=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&i===window.innerWidth||(i=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var i=t.element,s=i.parentNode;if(s&&/pre/i.test(s.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,e)){i.classList.remove(e),s.classList.add(e);var l,o=t.code.match(n),a=o?o.length+1:1,u=new Array(a+1).join("");(l=document.createElement("span")).setAttribute("aria-hidden","true"),l.className="line-numbers-rows",l.innerHTML=u,s.hasAttribute("data-start")&&(s.style.counterReset="linenumber "+(parseInt(s.getAttribute("data-start"),10)-1)),t.element.appendChild(l),r([s]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(e){if(0!=(e=e.filter((function(e){var n,t=(n=e,n?window.getComputedStyle?getComputedStyle(n):n.currentStyle||null:null)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var t=e.map((function(e){var t=e.querySelector("code"),i=e.querySelector(".line-numbers-rows");if(t&&i){var r=e.querySelector(".line-numbers-sizer"),s=t.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",t.appendChild(r)),r.innerHTML="0",r.style.display="block";var l=r.getBoundingClientRect().height;return r.innerHTML="",{element:e,lines:s,lineHeights:[],oneLinerHeight:l,sizer:r}}})).filter(Boolean);t.forEach((function(e){var n=e.sizer,t=e.lines,i=e.lineHeights,r=e.oneLinerHeight;i[t.length-1]=void 0,t.forEach((function(e,t){if(e&&e.length>1){var s=n.appendChild(document.createElement("span"));s.style.display="block",s.textContent=e}else i[t]=r}))})),t.forEach((function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r= width) { + const newx = left - 20; + if (newx >= 0) { + links.style.left = newx; + links.style.top = top; + if (newx == left) { + console.log("Looping!"); + } else { + window.setTimeout(function () { + checkPosition(links, top, newx, width); + }, 15); + } + } + } + }; + + let jsxlinks = window.localStorage.getItem("docbook-js-xlinks"); + if (jsxlinks === "false") { + return; + } + html.classList.add("js-xlinks"); + + // Process XLink multi-targeted links. + // 1. The link source is a target, but the JS has to operate + // on the arc list that (immediately) follows it. + document.querySelectorAll(".xlink .source").forEach(function(span) { + span.onclick = function (event) { + // Be conservative in case some text node or something got introduced + let arclist = span.nextSibling; + while (arclist && !arclist.classList.contains("xlink-arc-list")) { + arclist = arclist.nextSibling; + } + if (arclist) { + showXLinks(event, arclist, "#" + arclist.getAttribute("db-arcs")); + } else { + console.log("Document formatting error: no xlink-arc-list"); + } + }; + }); + + // 2. The arc list is also a target. + document.querySelectorAll(".xlink-arc-list").forEach(function(span) { + span.innerHTML = CLOSED; + span.classList.add("js"); + span.onclick = function (event) { + showXLinks(event, span, "#" + span.getAttribute("db-arcs")); + }; + }); + + document.querySelectorAll(".nhrefs").forEach(function(span) { + span.classList.add("js"); + }); +})(); diff --git a/guide/2.2.2/m_annotation-content.html b/guide/2.2.2/m_annotation-content.html new file mode 100644 index 0000000000..d5dee09bfe --- /dev/null +++ b/guide/2.2.2/m_annotation-content.html @@ -0,0 +1,6 @@ +m:annotation-content

m:annotation-content

m:annotation-content — Mode for the content of annotations.

Mode:
{http://docbook.org/ns/docbook/modes}annotation-content
Defined in:
modules/annotations.xsl

Description

+ +

Annotations, like footnotes, have markers and wrappers that are necessary to support +their presentation. The m:annotation-content mode is used to process the +actual body of the annotation.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_ansi-table.html b/guide/2.2.2/m_ansi-table.html new file mode 100644 index 0000000000..507c86b27b --- /dev/null +++ b/guide/2.2.2/m_ansi-table.html @@ -0,0 +1,12 @@ +m:ansi-table

m:ansi-table

m:ansi-table — Mode for processing funcsynopsis elements in the “ANSI” style.

Mode:
{http://docbook.org/ns/docbook/modes}ansi-table
Defined in:
modules/programming.xsl (14)

Description

+ +

The funcsynopsis element has several possible renderings. +This mode is used when the “ANSI” style of rendering has been selected +and a table will be used for layout. +

+

See also: m:ansi, m:kr, m:kr-table, +$funcsynopsis-default-style, +$funcsynopsis-table-threshold, and +$funcsynopsis-trailing-punctuation. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_ansi.html b/guide/2.2.2/m_ansi.html new file mode 100644 index 0000000000..616e8ec213 --- /dev/null +++ b/guide/2.2.2/m_ansi.html @@ -0,0 +1,12 @@ +m:ansi

m:ansi

m:ansi — Mode for processing funcsynopsis elements in the “ANSI” style.

Mode:
{http://docbook.org/ns/docbook/modes}ansi
Defined in:
modules/programming.xsl (14)

Description

+ +

The funcsynopsis element has several possible renderings. +This mode is used when the “ANSI” style of rendering has been selected +and a non-tabular layout is being used. +

+

See also: m:ansi-table, m:kr, m:kr-table, +$funcsynopsis-default-style, +$funcsynopsis-table-threshold, and +$funcsynopsis-trailing-punctuation. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_attributes.html b/guide/2.2.2/m_attributes.html new file mode 100644 index 0000000000..6e121f4f6d --- /dev/null +++ b/guide/2.2.2/m_attributes.html @@ -0,0 +1,7 @@ +m:attributes

m:attributes

m:attributes — Mode for processing attributes.

Mode:
{http://docbook.org/ns/docbook/modes}attributes
Defined in:
modules/attributes.xsl (31)

Description

+ +

Each DocBook element in the source document produces a primary HTML element +in the result document. The attributes associated with that primary element are +obtained by processing the DocBook element in the m:attributes mode. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_back-cover.html b/guide/2.2.2/m_back-cover.html new file mode 100644 index 0000000000..e214956060 --- /dev/null +++ b/guide/2.2.2/m_back-cover.html @@ -0,0 +1,29 @@ +m:back-cover

m:back-cover

m:back-cover — Mode for processing the back cover of books and sets.

Mode:
{http://docbook.org/ns/docbook/modes}back-cover
Defined in:
modules/divisions.xsl
Since:
2.1.4

Description

+ +

When a book or set is transformed, it is processed +in the m:back-cover mode to generate a back cover. This processing occurs +at the end of the transformation; any content generated by the back cover template will +occur at the end of the document.

+

The default processing in this mode is to do nothing, no back cover is generated. +An example of what you might put in your customization layer is:

+
1 |<xsl:template match="*" mode="m:back-cover">
+  |  <section class="back-cover">
+  |    <xsl:if test="not($output-media = 'print')">
+  |      <xsl:attribute name="db-chunk" select="'back-cover' || $html-extension"/>
+5 |      <xsl:attribute name="db-navigable" select="'true'"/>
+  |    </xsl:if>
+  |    <!-- Contents of back cover goes here -->
+  |  </section>
+  |</xsl:template>
+
+

The context item for this template is the book or +set being processed. One approach is to put the additional +material needed for the back cover (author biographies, images, etc.) +in the info element of the book or set. These can then be +formatted for the back cover.

+

For print covers, you are likely to need additional CSS styling. For chunked output, +the cover will be the “next” link from what would otherwise be the last chunk of the document if +the db-navigable attribute is true. If +the db-navigable attribute is not true, some other link to the cover +must be provided.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_biblio690.html b/guide/2.2.2/m_biblio690.html new file mode 100644 index 0000000000..4497f50ef9 --- /dev/null +++ b/guide/2.2.2/m_biblio690.html @@ -0,0 +1,10 @@ +m:biblio690

m:biblio690

m:biblio690 — Mode for processing ISO 690 biblioentry bibliographic entries.

Mode:
{http://docbook.org/ns/docbook/modes}biblio690
Defined in:
modules/biblio690.xsl (33)
Since:
2.0.1

Description

+ +

DocBook bibliographic entries come in two forms: +raw +and cooked. The biblioentry form is the “raw” form. +When the $bibliography-style parameter is +“iso690”, this mode is used to process +biblioentry elements. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_biblioentry.html b/guide/2.2.2/m_biblioentry.html new file mode 100644 index 0000000000..eff39c6d9e --- /dev/null +++ b/guide/2.2.2/m_biblioentry.html @@ -0,0 +1,8 @@ +m:biblioentry

m:biblioentry

m:biblioentry — Mode for processing biblioentry bibliographic entries.

Mode:
{http://docbook.org/ns/docbook/modes}biblioentry
Defined in:
modules/bibliography.xsl (11)

Description

+ +

DocBook bibliographic entries come in two forms: +raw +and cooked. The biblioentry form is the “raw” form. The +m:biblioentry mode is used to process these elements. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_bibliomixed.html b/guide/2.2.2/m_bibliomixed.html new file mode 100644 index 0000000000..cfe1023f70 --- /dev/null +++ b/guide/2.2.2/m_bibliomixed.html @@ -0,0 +1,8 @@ +m:bibliomixed

m:bibliomixed

m:bibliomixed — Mode for processing bibliomixed bibliographic entries.

Mode:
{http://docbook.org/ns/docbook/modes}bibliomixed
Defined in:
modules/bibliography.xsl (7)

Description

+ +

DocBook bibliographic entries come in two forms: +raw +and cooked. The bibliomixed form is the “cooked” form. The +m:bibliomixed mode is used to process these elements. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_callout-bug.html b/guide/2.2.2/m_callout-bug.html new file mode 100644 index 0000000000..669ecdc534 --- /dev/null +++ b/guide/2.2.2/m_callout-bug.html @@ -0,0 +1,16 @@ +m:callout-bug

m:callout-bug

m:callout-bug — Mode for producing callout marks.

Mode:
{http://docbook.org/ns/docbook/modes}callout-bug
Defined in:
modules/verbatim.xsl (3)

Description

+ +

Callouts are processed in this mode to produce the callout marks +(or “bugs”) used to indicate cross references between the callouts and their +corresponding areas. This mode should only produce the mark, for example +“①”. See m:callout-link. +

+

By default, callouts are numbered sequentially from 1 within each listing. +However, a +db processing instruction placed in the +areaspec can specify a different starting number. +If the starting-callout-number pseudo-attribute is an integer, that’s used as the starting +number. If it has the special value “continues”, then numbering +continues sequentially after the last callout number used in the preceding verbatim listing. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_callout-link.html b/guide/2.2.2/m_callout-link.html new file mode 100644 index 0000000000..ded1aaa8bd --- /dev/null +++ b/guide/2.2.2/m_callout-link.html @@ -0,0 +1,5 @@ +m:callout-link
\ No newline at end of file diff --git a/guide/2.2.2/m_chunk-cleanup.html b/guide/2.2.2/m_chunk-cleanup.html new file mode 100644 index 0000000000..5d7a7c99fe --- /dev/null +++ b/guide/2.2.2/m_chunk-cleanup.html @@ -0,0 +1,9 @@ +m:chunk-cleanup

m:chunk-cleanup

m:chunk-cleanup — Post-process HTML chunks.

Mode:
{http://docbook.org/ns/docbook/modes}chunk-cleanup
Defined in:
modules/chunk-cleanup.xsl (15)

Description

+ +

Every HTML chunk is processed with the +m:chunk-cleanup mode. This mode makes sure that footnotes +and annotations appear in the chunks where their references appear, +adds navigation to the top and bottom of each chunk, etc. +See Section 2.7, ““Chunked” output”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_chunk-filename.html b/guide/2.2.2/m_chunk-filename.html new file mode 100644 index 0000000000..3f90709a3b --- /dev/null +++ b/guide/2.2.2/m_chunk-filename.html @@ -0,0 +1,6 @@ +m:chunk-filename

m:chunk-filename

m:chunk-filename — Selects the chunk filename.

Mode:
{http://docbook.org/ns/docbook/modes}chunk-filename
Defined in:
modules/chunk.xsl (19)

Description

+ +

Every element that is identified as a chunk, +see Section 2.7, ““Chunked” output”, will be called in the m:chunk-filename mode +to obtain the filename for that chunk.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_chunk-output.html b/guide/2.2.2/m_chunk-output.html new file mode 100644 index 0000000000..cd0d2cd713 --- /dev/null +++ b/guide/2.2.2/m_chunk-output.html @@ -0,0 +1,6 @@ +m:chunk-output

m:chunk-output

m:chunk-output — Performs the final-pass of processing on chunks.

Mode:
{http://docbook.org/ns/docbook/modes}chunk-output
Defined in:
modules/chunk-output.xsl (7)

Description

+ +

Chunks (see Section 2.7, ““Chunked” output”) are constructed in several +passes. The last pass is in the m:chunk-output mode. This mode makes +last minute adjustments and produces the individual chunk documents.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_chunk-title.html b/guide/2.2.2/m_chunk-title.html new file mode 100644 index 0000000000..7ded7a1008 --- /dev/null +++ b/guide/2.2.2/m_chunk-title.html @@ -0,0 +1,8 @@ +m:chunk-title

m:chunk-title

m:chunk-title — Generates the page title for the chunk.

Mode:
{http://docbook.org/ns/docbook/modes}chunk-title
Defined in:
modules/chunk-cleanup.xsl (4)

Description

+ +

The page title, the +title in the HTML +head, is generated by processing +the heading in this mode. This mode is responsible for removing markup from the title. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_chunk-write.html b/guide/2.2.2/m_chunk-write.html new file mode 100644 index 0000000000..b29a97debf --- /dev/null +++ b/guide/2.2.2/m_chunk-write.html @@ -0,0 +1,7 @@ +m:chunk-write

m:chunk-write

m:chunk-write — Create result documents for chunks.

Mode:
{http://docbook.org/ns/docbook/modes}chunk-write
Defined in:
docbook.xsl

Description

+ +

When all of the chunk processing is finished, each chunk is +processed in m:chunk-write mode. By default, this mode +creates XSL result documents for each chunk. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_copyright-years.html b/guide/2.2.2/m_copyright-years.html new file mode 100644 index 0000000000..0054898cc0 --- /dev/null +++ b/guide/2.2.2/m_copyright-years.html @@ -0,0 +1,9 @@ +m:copyright-years
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-inherit-separator.html b/guide/2.2.2/m_crossref-inherit-separator.html new file mode 100644 index 0000000000..a16f5ebf72 --- /dev/null +++ b/guide/2.2.2/m_crossref-inherit-separator.html @@ -0,0 +1,5 @@ +m:crossref-inherit-separator

m:crossref-inherit-separator

m:crossref-inherit-separator — Produce the inherit separator.

Obsolete as of version 2.0.0.

Description

+ +

Separators are now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-label-separator.html b/guide/2.2.2/m_crossref-label-separator.html new file mode 100644 index 0000000000..eff207986f --- /dev/null +++ b/guide/2.2.2/m_crossref-label-separator.html @@ -0,0 +1,5 @@ +m:crossref-label-separator

m:crossref-label-separator

m:crossref-label-separator — Produce the cross-reference label separator.

Obsolete as of version 2.0.0.

Description

+ +

Separators are now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-label.html b/guide/2.2.2/m_crossref-label.html new file mode 100644 index 0000000000..f3a0226be5 --- /dev/null +++ b/guide/2.2.2/m_crossref-label.html @@ -0,0 +1,6 @@ +m:crossref-label

m:crossref-label

m:crossref-label — Produce the label in a cross-reference.

Mode:
{http://docbook.org/ns/docbook/modes}crossref-label
Defined in:
modules/xref.xsl (9)

Description

+ +

The m:crossref-label mode is used to generate the +label in a cross-reference. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-number-separator.html b/guide/2.2.2/m_crossref-number-separator.html new file mode 100644 index 0000000000..2cdf2ed91e --- /dev/null +++ b/guide/2.2.2/m_crossref-number-separator.html @@ -0,0 +1,5 @@ +m:crossref-number-separator

m:crossref-number-separator

m:crossref-number-separator — Produce the cross-reference number separator.

Mode:
{http://docbook.org/ns/docbook/modes}crossref-number-separator
Defined in:
modules/xref.xsl

Description

+ +

The m:crossref-number-separator mode is used to generate the +separator between a number and what follows it in a cross-reference.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-number.html b/guide/2.2.2/m_crossref-number.html new file mode 100644 index 0000000000..13c3be47fd --- /dev/null +++ b/guide/2.2.2/m_crossref-number.html @@ -0,0 +1,5 @@ +m:crossref-number

m:crossref-number

m:crossref-number — Produce the number in a cross-reference.

Mode:
{http://docbook.org/ns/docbook/modes}crossref-number
Defined in:
modules/xref.xsl

Description

+ +

The m:crossref-number mode is used to generate the +number in a cross-reference.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-prefix.html b/guide/2.2.2/m_crossref-prefix.html new file mode 100644 index 0000000000..d36d8e2fd9 --- /dev/null +++ b/guide/2.2.2/m_crossref-prefix.html @@ -0,0 +1,5 @@ +m:crossref-prefix

m:crossref-prefix

m:crossref-prefix — Produce the cross-reference prefix.

Obsolete as of version 2.0.0.

Description

+ +

Prefixes are now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-suffix.html b/guide/2.2.2/m_crossref-suffix.html new file mode 100644 index 0000000000..76b29635bc --- /dev/null +++ b/guide/2.2.2/m_crossref-suffix.html @@ -0,0 +1,5 @@ +m:crossref-suffix

m:crossref-suffix

m:crossref-suffix — Produce the cross-reference suffix.

Mode:
{http://docbook.org/ns/docbook/modes}crossref-suffix
Defined in:
modules/xref.xsl

Description

+ +

The m:crossref-suffix mode is used to generate any text +that follows a cross reference.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref-title.html b/guide/2.2.2/m_crossref-title.html new file mode 100644 index 0000000000..897a4fad20 --- /dev/null +++ b/guide/2.2.2/m_crossref-title.html @@ -0,0 +1,5 @@ +m:crossref-title

m:crossref-title

m:crossref-title — Produce the title in a cross-reference.

Mode:
{http://docbook.org/ns/docbook/modes}crossref-title
Defined in:
modules/xref.xsl (6)

Description

+ +

The m:crossref-title mode formats the title in a cross-reference. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_crossref.html b/guide/2.2.2/m_crossref.html new file mode 100644 index 0000000000..6490599575 --- /dev/null +++ b/guide/2.2.2/m_crossref.html @@ -0,0 +1,4 @@ +m:crossref

m:crossref

m:crossref — Produce a cross-reference to the element.

Mode:
{http://docbook.org/ns/docbook/modes}crossref
Defined in:
modules/xref.xsl

Description

+ +

The m:crossref mode is used to generate a cross-reference.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_details-attribute.html b/guide/2.2.2/m_details-attribute.html new file mode 100644 index 0000000000..bde9f4e740 --- /dev/null +++ b/guide/2.2.2/m_details-attribute.html @@ -0,0 +1,6 @@ +m:details-attribute

m:details-attribute

m:details-attribute — Produce the short summary for a media object.

Obsolete as of version 2.0.17.

Description

+ +

This mode is used to produce a short detail summary about a +media object. This is most often used as the alt text for the +object.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_details.html b/guide/2.2.2/m_details.html new file mode 100644 index 0000000000..338f54df2d --- /dev/null +++ b/guide/2.2.2/m_details.html @@ -0,0 +1,5 @@ +m:details

m:details

m:details — Produce details about a media object.

Mode:
{http://docbook.org/ns/docbook/modes}details
Defined in:
modules/objects.xsl (2)

Description

+ +

This mode is used to produce the details about a media object, such as a long +description.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_docbook.html b/guide/2.2.2/m_docbook.html new file mode 100644 index 0000000000..9c6101046a --- /dev/null +++ b/guide/2.2.2/m_docbook.html @@ -0,0 +1,7 @@ +m:docbook

m:docbook

m:docbook — The primary mode for processing DocBook elements.

Mode:
{http://docbook.org/ns/docbook/modes}docbook
Defined in:
main.xsl (2), modules/admonitions.xsl, modules/annotations.xsl (2), modules/attributes.xsl (4), modules/bibliography.xsl (5), modules/blocks.xsl (19), modules/components.xsl, modules/divisions.xsl, modules/footnotes.xsl (3), modules/glossary.xsl (11), modules/index.xsl (14), modules/info.xsl (15), modules/inlines.xsl (103), modules/l10n.xsl, modules/links.xsl (6), modules/lists.xsl (23), modules/msgset.xsl (7), modules/objects.xsl (12), modules/programming.xsl (24), modules/publishers.xsl (3), modules/refentry.xsl (11), modules/sections.xsl (2), modules/tablecals.xsl (8), modules/tablehtml.xsl (4), modules/templates.xsl, modules/titles.xsl, modules/toc.xsl (7), modules/unhandled.xsl (2), modules/verbatim.xsl (11), modules/xlink.xsl (4), modules/xref.xsl

Description

+ +

The m:docbook mode is the primary mode for processing +DocBook elements. Critically, this means that if you import the DocBook stylesheets +and wish to override some of the templates, you must make sure +that those templates are defined in the m:docbook mode.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_footnote-number.html b/guide/2.2.2/m_footnote-number.html new file mode 100644 index 0000000000..7e2cf64660 --- /dev/null +++ b/guide/2.2.2/m_footnote-number.html @@ -0,0 +1,6 @@ +m:footnote-number

m:footnote-number

m:footnote-number — Mode for generating footnote numbers.

Mode:
{http://docbook.org/ns/docbook/modes}footnote-number
Defined in:
modules/chunk-cleanup.xsl, modules/footnotes.xsl

Description

+ +

A footnote processed in m:footnote-number mode +renders the footnote number (or other symbol) associated with that footnote. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_footnotes.html b/guide/2.2.2/m_footnotes.html new file mode 100644 index 0000000000..0f1c80989c --- /dev/null +++ b/guide/2.2.2/m_footnotes.html @@ -0,0 +1,6 @@ +m:footnotes

m:footnotes

m:footnotes — Mode for processing footnotes.

Mode:
{http://docbook.org/ns/docbook/modes}footnotes
Defined in:
modules/footnotes.xsl

Description

+ +

Perhaps unsurprisingly, footnote elements are processed +in m:footnotes. On the first pass, they’re rendered inline with appropriate +footnote markers. The “chunk cleanup” pass moves them to an appropriate location.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_generate-titlepage.html b/guide/2.2.2/m_generate-titlepage.html new file mode 100644 index 0000000000..4cec3b18a5 --- /dev/null +++ b/guide/2.2.2/m_generate-titlepage.html @@ -0,0 +1,9 @@ +m:generate-titlepage

m:generate-titlepage

m:generate-titlepage — Generate a title page.

Mode:
{http://docbook.org/ns/docbook/modes}generate-titlepage
Defined in:
modules/templates.xsl

Description

+ +

All “block” elements that have a title (or another +feature that constitutes a title) are processed in the +m:generate-titlepage mode to generate their “title page”. +Don’t be mislead by the term “title page”. For many elements, the title page +consists of nothing more than a single header element. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_gentext-list.html b/guide/2.2.2/m_gentext-list.html new file mode 100644 index 0000000000..e83285a2f2 --- /dev/null +++ b/guide/2.2.2/m_gentext-list.html @@ -0,0 +1,29 @@ +m:gentext-list

m:gentext-list

m:gentext-list — Generate localization-specific list for a sequence.

Mode:
{http://docbook.org/ns/docbook/modes}gentext-list
Defined in:
modules/l10n.xsl
Since:
2.0.0

Description

+ +

This mode is used to generate a list with local-specific separators, +see Chapter 4, Localization. +When you apply templates in this mode, there are two parameters you +can pass:

+ +
list (required)

A sequence of one or more items.

name

This identifies the localization key. If not provided, the local name +of the context item is used.

+ +

For example, in the context of an authorgroup,

+ +
1 |<xsl:apply-templates select="." mode="m:gentext-list">
+  |  <xsl:with-param name="list" as="item()+">
+  |    <xsl:apply-templates select="*"/>
+  |  </xsl:with-param>
+5 |</xsl:apply-templates>
+
+ +

Would generate different markup depending on the number of authors. +For example, in the English localization, it would generate:

+ +
Author Name

for a single author

Author Name and Second Author

for two authors

Author Name, Second Author, and Third Author

for three authors

Author Name, Second Author, Third Author, and Fourth Author

for four authors

+

And so on.

+ +

Generated text not associated with lists is generated with the +m:gentext mode.

+ +
\ No newline at end of file diff --git a/guide/2.2.2/m_gentext.html b/guide/2.2.2/m_gentext.html new file mode 100644 index 0000000000..893429f4b7 --- /dev/null +++ b/guide/2.2.2/m_gentext.html @@ -0,0 +1,26 @@ +m:gentext

m:gentext

m:gentext — Generate localization-specific text for an element.

Mode:
{http://docbook.org/ns/docbook/modes}gentext
Defined in:
modules/gentext.xsl (2)
Since:
2.0.0

Description

+ +

This mode is used to generate text by applying the appropriate +locale-specific template, see Chapter 4, Localization. +When you apply templates in this mode, there are three parameters you +can pass:

+ +
group (required)

This identifies the localization group.

key

This identifies the localization key. If not provided, the local name +of the context item is used.

content

The content of the element. If not provided, the empty sequence is used. +

+ +

For example, in the context of a book containing several chapters,

+ +
1 |<xsl:apply-templates select="db:chapter[1]" mode="m:gentext">
+  |  <xsl:with-param name="group" select="'title'"/>
+  |  <xsl:with-param name="content">
+  |    <xsl:apply-templates select="db:chapter[1]/db:info/db:title/node()"/>
+5 |  </xsl:with-param>
+  |</xsl:apply-templates>
+
+ +

Would generate something like Chapter 1 The Title.

+ +

Lists are generated with the m:gentext-list mode.

+ +
\ No newline at end of file diff --git a/guide/2.2.2/m_head-additions.html b/guide/2.2.2/m_head-additions.html new file mode 100644 index 0000000000..7cc60b4faf --- /dev/null +++ b/guide/2.2.2/m_head-additions.html @@ -0,0 +1,7 @@ +m:head-additions

m:head-additions

m:head-additions — Additional head items.

Mode:
{http://docbook.org/ns/docbook/modes}head-additions
Defined in:
modules/head.xsl

Description

+ +

This mode can be used by a customization layer to add additional items to the +HTML +head element. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline-label-separator.html b/guide/2.2.2/m_headline-label-separator.html new file mode 100644 index 0000000000..7890a654ab --- /dev/null +++ b/guide/2.2.2/m_headline-label-separator.html @@ -0,0 +1,5 @@ +m:headline-label-separator

m:headline-label-separator

m:headline-label-separator — Produce the headline label separator.

Obsolete as of version 2.0.0.

Description

+ +

Separators are now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline-label.html b/guide/2.2.2/m_headline-label.html new file mode 100644 index 0000000000..bff1e4ae93 --- /dev/null +++ b/guide/2.2.2/m_headline-label.html @@ -0,0 +1,6 @@ +m:headline-label

m:headline-label

m:headline-label — Produce the label for a headline title.

Mode:
{http://docbook.org/ns/docbook/modes}headline-label
Defined in:
modules/titles.xsl (5)

Description

+ +

The m:headline-label mode is used to generate the +label in a headline. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline-number-separator.html b/guide/2.2.2/m_headline-number-separator.html new file mode 100644 index 0000000000..8f72fc9f45 --- /dev/null +++ b/guide/2.2.2/m_headline-number-separator.html @@ -0,0 +1,5 @@ +m:headline-number-separator

m:headline-number-separator

m:headline-number-separator — Produce the headline number separator.

Obsolete as of version 2.0.0.

Description

+ +

Separators are now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline-number.html b/guide/2.2.2/m_headline-number.html new file mode 100644 index 0000000000..d6a0b3327c --- /dev/null +++ b/guide/2.2.2/m_headline-number.html @@ -0,0 +1,6 @@ +m:headline-number

m:headline-number

m:headline-number — Produce the headline number.

Mode:
{http://docbook.org/ns/docbook/modes}headline-number
Defined in:
modules/titles.xsl (10)

Description

+ +

The m:headline-number mode is used to generate +the number +in a headline.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline-prefix.html b/guide/2.2.2/m_headline-prefix.html new file mode 100644 index 0000000000..289db87998 --- /dev/null +++ b/guide/2.2.2/m_headline-prefix.html @@ -0,0 +1,5 @@ +m:headline-prefix

m:headline-prefix

m:headline-prefix — Generate the headline prefix.

Obsolete as of version 2.0.0.

Description

+ +

Prefix text is now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline-suffix.html b/guide/2.2.2/m_headline-suffix.html new file mode 100644 index 0000000000..990d4f164a --- /dev/null +++ b/guide/2.2.2/m_headline-suffix.html @@ -0,0 +1,5 @@ +m:headline-suffix

m:headline-suffix

m:headline-suffix — Produce the headline suffix.

Obsolete as of version 2.0.0.

Description

+ +

Suffix text is now part of the generated text template, +see Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline-title.html b/guide/2.2.2/m_headline-title.html new file mode 100644 index 0000000000..e193ca1b5c --- /dev/null +++ b/guide/2.2.2/m_headline-title.html @@ -0,0 +1,7 @@ +m:headline-title

m:headline-title

m:headline-title — Produce the headline title.

Mode:
{http://docbook.org/ns/docbook/modes}headline-title
Defined in:
modules/titles.xsl (6)

Description

+ +

The m:headline-title mode is used to format the +title element +in a headline. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_headline.html b/guide/2.2.2/m_headline.html new file mode 100644 index 0000000000..36c353836d --- /dev/null +++ b/guide/2.2.2/m_headline.html @@ -0,0 +1,6 @@ +m:headline

m:headline

m:headline — Produce a headline title.

Mode:
{http://docbook.org/ns/docbook/modes}headline
Defined in:
modules/titles.xsl

Description

+ +

This mode produces the “headline” title for an element. This generally appears in +the text where the element is formatted, but may also occur in the table of contents, the index, +and other places.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_highlight-options.html b/guide/2.2.2/m_highlight-options.html new file mode 100644 index 0000000000..7a8dd37346 --- /dev/null +++ b/guide/2.2.2/m_highlight-options.html @@ -0,0 +1,7 @@ +m:highlight-options

m:highlight-options

m:highlight-options — Determine the syntax highlighting options for an element.

Mode:
{http://docbook.org/ns/docbook/modes}highlight-options
Defined in:
modules/verbatim.xsl

Description

+ +

A verbatim element that will be syntax highlighted is processed in this mode +to determine the options for the syntax highlighter. The template must return a map. +The default template returns the language attribute if one is present. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_html-body-script.html b/guide/2.2.2/m_html-body-script.html new file mode 100644 index 0000000000..f74c87a9c4 --- /dev/null +++ b/guide/2.2.2/m_html-body-script.html @@ -0,0 +1,20 @@ +m:html-body-script

m:html-body-script

m:html-body-script — Add script elements to the end of a document.

Mode:
{http://docbook.org/ns/docbook/modes}html-body-script
Defined in:
modules/head.xsl
Deprecated since:
2.1.0

Deprecated

+ +

The technique described here is no longer necessary. Modern +browsers accept a defer attribute on the +script tag to +explicitly specify when scripts are to execute.

+

Description

+ + +

One way to assure that JavaScript will only be invoked by the user agent +after the DOM tree has been constructed is to put the script elements for that +code at the end of the file.

+ +

The root element of each result document is formatted once in +the m:html-body-script mode. Any elements constructed in +this mode will be added to the end of the HTML +body. +The built-in implementation does nothing; this mode exists as an extensibility +point. See also m:html-head-script.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_html-head-last.html b/guide/2.2.2/m_html-head-last.html new file mode 100644 index 0000000000..b678a55c40 --- /dev/null +++ b/guide/2.2.2/m_html-head-last.html @@ -0,0 +1,8 @@ +m:html-head-last

m:html-head-last

m:html-head-last — Add elements to the end of the head of a document.

Mode:
{http://docbook.org/ns/docbook/modes}html-head-last
Defined in:
modules/head.xsl

Description

+ +

Any elements constructed in m:html-head-last mode +will be added to the very end of the HTML +head element. +The built-in implementation does nothing; this mode exists as an extensibility +point.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_html-head-links.html b/guide/2.2.2/m_html-head-links.html new file mode 100644 index 0000000000..f2b0f67169 --- /dev/null +++ b/guide/2.2.2/m_html-head-links.html @@ -0,0 +1,8 @@ +m:html-head-links
\ No newline at end of file diff --git a/guide/2.2.2/m_html-head-script.html b/guide/2.2.2/m_html-head-script.html new file mode 100644 index 0000000000..b1c6fb1e57 --- /dev/null +++ b/guide/2.2.2/m_html-head-script.html @@ -0,0 +1,8 @@ +m:html-head-script

m:html-head-script

m:html-head-script — Add link elements to the head of a document.

Mode:
{http://docbook.org/ns/docbook/modes}html-head-script
Defined in:
modules/head.xsl

Description

+ +

Any elements constructed in m:html-head-script mode +will be added to the HTML +head element. +The built-in implementation does nothing; this mode exists as an extensibility +point.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_html-head.html b/guide/2.2.2/m_html-head.html new file mode 100644 index 0000000000..2950f36a5f --- /dev/null +++ b/guide/2.2.2/m_html-head.html @@ -0,0 +1,28 @@ +m:html-head

m:html-head

m:html-head — Construct the HTML +head element.

Mode:
{http://docbook.org/ns/docbook/modes}html-head
Defined in:
modules/head.xsl (5)

Description

+ +

The m:html-head mode is used to produce the +head element. +This should include all of the metadata, links, scripts, etc. +necessary to render the document correctly. +

+

It is not supposed to be necessary to override this template. +You can customize what is produced with the +m:html-head-script, m:html-head-links, +and m:html-head-last modes.

+

The order of elements produced in the +head is:

+ +
  1. Elements generated by the stylesheets automatically +(title, scripts, +links, and other elements). +

  2. Elements generated in m:html-head-script mode. +

  3. Elements generated in m:html-head-links mode. +

  4. Elements in the HTML namespace that are in the source document’s info. +

  5. Elements generated in m:html-head-last mode. +

+ +

In addition, elements generated in m:html-body-script +occur near the end of the HTML +body element.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_htmltable.html b/guide/2.2.2/m_htmltable.html new file mode 100644 index 0000000000..33403765a8 --- /dev/null +++ b/guide/2.2.2/m_htmltable.html @@ -0,0 +1,9 @@ +m:htmltable

m:htmltable

m:htmltable — Mode for processing HTML table elements.

Mode:
{http://docbook.org/ns/docbook/modes}htmltable
Defined in:
modules/tablehtml.xsl (2)

Description

+ +

Where DocBook uses the HTML table model, it copies the definitions +of the table elements (and the attributes on those elements) from HTML. +The m:htmltable mode simply copies those elements and attributes +to the result. When processing the contents of table cells, processing switches +back to m:docbook mode. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_imagemap.html b/guide/2.2.2/m_imagemap.html new file mode 100644 index 0000000000..02ffba4194 --- /dev/null +++ b/guide/2.2.2/m_imagemap.html @@ -0,0 +1,6 @@ +m:imagemap

m:imagemap

m:imagemap — Construct an HTML imagemap.

Mode:
{http://docbook.org/ns/docbook/modes}imagemap
Defined in:
modules/objects.xsl

Description

+ +

The imageobjectco element is processed in this mode to construct +an HTML image +map.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_index-div.html b/guide/2.2.2/m_index-div.html new file mode 100644 index 0000000000..439ae48fde --- /dev/null +++ b/guide/2.2.2/m_index-div.html @@ -0,0 +1,10 @@ +m:index-div

m:index-div

m:index-div — Mode for generating divisions in an index.

Mode:
{http://docbook.org/ns/docbook/modes}index-div
Defined in:
modules/index.xsl

Description

+ +

Index processing, that is, the process of +generating an index, involves collecting all of +the indexterms together, collating them, and rendering +them. +

+

The terms are grouped alphabetically and each group is processed +in the m:index-div mode.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_index-primary.html b/guide/2.2.2/m_index-primary.html new file mode 100644 index 0000000000..4ba47c9293 --- /dev/null +++ b/guide/2.2.2/m_index-primary.html @@ -0,0 +1,6 @@ +m:index-primary

m:index-primary

m:index-primary — Mode for generating primary index entries.

Mode:
{http://docbook.org/ns/docbook/modes}index-primary
Defined in:
modules/index.xsl

Description

+ +

When generating an index, each distinct indexterm is +processed in m:index-primary mode to output its primary +entry.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_index-secondary.html b/guide/2.2.2/m_index-secondary.html new file mode 100644 index 0000000000..04ab9d9501 --- /dev/null +++ b/guide/2.2.2/m_index-secondary.html @@ -0,0 +1,6 @@ +m:index-secondary

m:index-secondary

m:index-secondary — Mode for generating secondary index entries.

Mode:
{http://docbook.org/ns/docbook/modes}index-secondary
Defined in:
modules/index.xsl

Description

+ +

When generating an index, each distinct secondary indexterm is +processed in m:index-secondary mode to output its secondary +entry.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_index-see.html b/guide/2.2.2/m_index-see.html new file mode 100644 index 0000000000..5aba9c0b75 --- /dev/null +++ b/guide/2.2.2/m_index-see.html @@ -0,0 +1,7 @@ +m:index-see

m:index-see

m:index-see — Mode for generating index “see” entries.

Mode:
{http://docbook.org/ns/docbook/modes}index-see
Defined in:
modules/index.xsl

Description

+ +

When generating an index, each indexterm that defines a +“see” index cross-reference is +processed in m:index-see mode to output the cross-reference. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_index-seealso.html b/guide/2.2.2/m_index-seealso.html new file mode 100644 index 0000000000..ed3c2cfc7d --- /dev/null +++ b/guide/2.2.2/m_index-seealso.html @@ -0,0 +1,7 @@ +m:index-seealso

m:index-seealso

m:index-seealso — Mode for generating index “see also” entries.

Mode:
{http://docbook.org/ns/docbook/modes}index-seealso
Defined in:
modules/index.xsl

Description

+ +

When generating an index, each indexterm that defines a +“see also” index cross-reference is +processed in m:index-seealso mode to output the cross-reference. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_index-tertiary.html b/guide/2.2.2/m_index-tertiary.html new file mode 100644 index 0000000000..5b27b7597a --- /dev/null +++ b/guide/2.2.2/m_index-tertiary.html @@ -0,0 +1,6 @@ +m:index-tertiary

m:index-tertiary

m:index-tertiary — Mode for generating index tertiary entries.

Mode:
{http://docbook.org/ns/docbook/modes}index-tertiary
Defined in:
modules/index.xsl

Description

+ +

When generating an index, each distinct tertiary indexterm is +processed in m:index-tertiary mode to output its tertiary +entry.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_kr-args.html b/guide/2.2.2/m_kr-args.html new file mode 100644 index 0000000000..e6eca780d9 --- /dev/null +++ b/guide/2.2.2/m_kr-args.html @@ -0,0 +1,5 @@ +m:kr-args

m:kr-args

m:kr-args — Mode for processing function arguments.

Mode:
{http://docbook.org/ns/docbook/modes}kr-args
Defined in:
modules/programming.xsl (7)

Description

+ +

This mode is used to process the parameters of a funcsynopsis +in th K&R style. See $funcsynopsis-default-style.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_kr-table-args.html b/guide/2.2.2/m_kr-table-args.html new file mode 100644 index 0000000000..5346c8be33 --- /dev/null +++ b/guide/2.2.2/m_kr-table-args.html @@ -0,0 +1,7 @@ +m:kr-table-args

m:kr-table-args

m:kr-table-args — Mode for processing function arguments in a table.

Mode:
{http://docbook.org/ns/docbook/modes}kr-table-args
Defined in:
modules/programming.xsl (7)

Description

+ +

When the tabular presentation of a “K&R” +funcsynopsis is being generated, this mode is used to process +the function arguments. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_kr-table.html b/guide/2.2.2/m_kr-table.html new file mode 100644 index 0000000000..30d46bfa6a --- /dev/null +++ b/guide/2.2.2/m_kr-table.html @@ -0,0 +1,12 @@ +m:kr-table

m:kr-table

m:kr-table — Mode for processing funcsynopsis elements in the “K&R” style.

Mode:
{http://docbook.org/ns/docbook/modes}kr-table
Defined in:
modules/programming.xsl (14)

Description

+ +

The funcsynopsis element has several possible renderings. +This mode is used when the “K&R” style of rendering has been selected +and a table will be used for layout. +

+

See also: m:kr, m:ansi, m:ansi-table, +$funcsynopsis-default-style, +$funcsynopsis-table-threshold, and +$funcsynopsis-trailing-punctuation. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_kr.html b/guide/2.2.2/m_kr.html new file mode 100644 index 0000000000..45e5cf9af7 --- /dev/null +++ b/guide/2.2.2/m_kr.html @@ -0,0 +1,12 @@ +m:kr

m:kr

m:kr — Mode for processing funcsynopsis elements in the “K&R” style.

Mode:
{http://docbook.org/ns/docbook/modes}kr
Defined in:
modules/programming.xsl (14)

Description

+ +

The funcsynopsis element has several possible renderings. +This mode is used when the “K&R” style of rendering has been selected +and a non-tabular layout is being used. +

+

See also: m:kr-table, m:ansi, m:ansi-table, +$funcsynopsis-default-style, +$funcsynopsis-table-threshold, and +$funcsynopsis-trailing-punctuation. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_link.html b/guide/2.2.2/m_link.html new file mode 100644 index 0000000000..635e4c1462 --- /dev/null +++ b/guide/2.2.2/m_link.html @@ -0,0 +1,7 @@ +m:link
\ No newline at end of file diff --git a/guide/2.2.2/m_list-of-equations.html b/guide/2.2.2/m_list-of-equations.html new file mode 100644 index 0000000000..c97f5a938f --- /dev/null +++ b/guide/2.2.2/m_list-of-equations.html @@ -0,0 +1,8 @@ +m:list-of-equations

m:list-of-equations

m:list-of-equations — Mode for generating a list of equations.

Mode:
{http://docbook.org/ns/docbook/modes}list-of-equations
Defined in:
modules/toc.xsl (2)

Description

+ +

If $lists-of-equations is true, then a +list of equations will be generated. This mode is used to process the +equation elements (if any) to +produce that list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_list-of-examples.html b/guide/2.2.2/m_list-of-examples.html new file mode 100644 index 0000000000..d2811468c3 --- /dev/null +++ b/guide/2.2.2/m_list-of-examples.html @@ -0,0 +1,8 @@ +m:list-of-examples

m:list-of-examples

m:list-of-examples — Mode for generating a list of examples.

Mode:
{http://docbook.org/ns/docbook/modes}list-of-examples
Defined in:
modules/toc.xsl (2)

Description

+ +

If $lists-of-examples is true, then a +list of examples will be generated. This mode is used to process the +example elements (if any) to +produce that list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_list-of-figures.html b/guide/2.2.2/m_list-of-figures.html new file mode 100644 index 0000000000..3ab78c594b --- /dev/null +++ b/guide/2.2.2/m_list-of-figures.html @@ -0,0 +1,8 @@ +m:list-of-figures

m:list-of-figures

m:list-of-figures — Mode for generating a list of figures.

Mode:
{http://docbook.org/ns/docbook/modes}list-of-figures
Defined in:
modules/toc.xsl (2)

Description

+ +

If $lists-of-figures is true, then a +list of figures will be generated. This mode is used to process the +figure elements (if any) to +produce that list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_list-of-procedures.html b/guide/2.2.2/m_list-of-procedures.html new file mode 100644 index 0000000000..720a4f48ac --- /dev/null +++ b/guide/2.2.2/m_list-of-procedures.html @@ -0,0 +1,8 @@ +m:list-of-procedures

m:list-of-procedures

m:list-of-procedures — Mode for generating a list of procedures.

Mode:
{http://docbook.org/ns/docbook/modes}list-of-procedures
Defined in:
modules/toc.xsl (2)

Description

+ +

If $lists-of-procedures is true, then a +list of procedures will be generated. This mode is used to process the +procedure elements (if any) to +produce that list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_list-of-tables.html b/guide/2.2.2/m_list-of-tables.html new file mode 100644 index 0000000000..41d424f5d5 --- /dev/null +++ b/guide/2.2.2/m_list-of-tables.html @@ -0,0 +1,8 @@ +m:list-of-tables

m:list-of-tables

m:list-of-tables — Mode for generating a list of tables.

Mode:
{http://docbook.org/ns/docbook/modes}list-of-tables
Defined in:
modules/toc.xsl (2)

Description

+ +

If $lists-of-tables is true, then a +list of tables will be generated. This mode is used to process the +table elements (if any) to +produce that list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_list-of-titles.html b/guide/2.2.2/m_list-of-titles.html new file mode 100644 index 0000000000..344a3e4c5f --- /dev/null +++ b/guide/2.2.2/m_list-of-titles.html @@ -0,0 +1,6 @@ +m:list-of-titles

m:list-of-titles

m:list-of-titles — Mode for generating a list-of-titles.

Mode:
{http://docbook.org/ns/docbook/modes}list-of-titles
Defined in:
modules/toc.xsl
Since:
2.0.0

Description

+ +

When a list of titles (figures, tables, equations, etc.) is created, each +element is processed in this mode to produce the list item that will appear in the +list.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_mediaobject-end.html b/guide/2.2.2/m_mediaobject-end.html new file mode 100644 index 0000000000..3376ff2cb9 --- /dev/null +++ b/guide/2.2.2/m_mediaobject-end.html @@ -0,0 +1,9 @@ +m:mediaobject-end

m:mediaobject-end

m:mediaobject-end — Process the end of media objects.

Mode:
{http://docbook.org/ns/docbook/modes}mediaobject-end
Defined in:
modules/objects.xsl (3)

Description

+ +

Media objects (both the mediaobject and inlinemediaobject +containers as well as the imageobjects etc. inside them) are processed +in this mode after the primary content has been rendered.

+

For mediaobject, this mode is responsible for outputting the +caption, but may also be used to output accessibility details, legal notices, etc. +See also m:mediaobject-start.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_mediaobject-info.html b/guide/2.2.2/m_mediaobject-info.html new file mode 100644 index 0000000000..105bf33c72 --- /dev/null +++ b/guide/2.2.2/m_mediaobject-info.html @@ -0,0 +1,6 @@ +m:mediaobject-info

m:mediaobject-info

m:mediaobject-info — Compute properties for a media object.

Mode:
{http://docbook.org/ns/docbook/modes}mediaobject-info
Defined in:
modules/objects.xsl (4)

Description

+ +

The media object elements are processed in this mode to extract +their properties (input and output URIs, content types, etc.). +See Section 5.4, “Processing mediaobjects”.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_mediaobject-output-adjust.html b/guide/2.2.2/m_mediaobject-output-adjust.html new file mode 100644 index 0000000000..07f23cd6e8 --- /dev/null +++ b/guide/2.2.2/m_mediaobject-output-adjust.html @@ -0,0 +1,51 @@ +m:mediaobject-output-adjust

m:mediaobject-output-adjust

m:mediaobject-output-adjust — Adjust the URI references to media objects.

Mode:
{http://docbook.org/ns/docbook/modes}mediaobject-output-adjust
Defined in:
modules/chunk-cleanup.xsl

Description

+ +

Once the stylesheets have used the +$mediaobject-input-base-uri, +$mediaobject-output-base-uri, +and $mediaobject-output-paths to compute +the URI of a media reference, the reference is processed in +m:mediaobject-output-adjust mode. This is the stylesheet’s +opportunity to make any final adjustments.

+

The context item for the template will be the +attribute that contains the author’s original value. The +adjusted value is passed in as the $adjusted-uri parameter. +The value returned by the template is used in the HTML.

+

Here is an example that groups images, audio, and video files +in their own directories:

+ +
 1 |<xsl:template match="@*" mode="m:mediaobject-output-adjust">
+   |  <xsl:param name="adjusted-uri" as="xs:string"/>
+   | 
+   |  <xsl:choose>
+ 5 |    <xsl:when test="exists(f:uri-scheme(.))">
+   |      <!-- Don't mess with absolute URIs... -->
+   |      <xsl:sequence select="$adjusted-uri"/>
+   |    </xsl:when>
+   |    <xsl:otherwise>
+10 |      <xsl:variable name="type" as="xs:string">
+   |        <xsl:choose>
+   |          <xsl:when test="../self::h:img">image</xsl:when>
+   |          <xsl:when test="ancestor::h:video">video</xsl:when>
+   |          <xsl:when test="ancestor::h:audio">audio</xsl:when>
+15 |          <xsl:otherwise>
+   |            <xsl:sequence select="'media-cleanup-err'"/>
+   |          </xsl:otherwise>
+   |        </xsl:choose>
+   |      </xsl:variable>
+20 | 
+   |      <xsl:variable name="parts" select="tokenize($adjusted-uri, '/')"/>
+   |      <xsl:sequence select="string-join($parts[position() lt last()], '/')
+   |                            || (if (count($parts) gt 1) then '/' else '')
+   |                            || $type || '/'
+25 |                            || $parts[position() eq last()]"/>
+   |    </xsl:otherwise>
+   |  </xsl:choose>
+   |</xsl:template>
+
+ +

In other words, if the adjusted URI for an image is +path/to/somewhere.png, this template will +return path/to/image/somewhere.png and make +similar adjustments to the audio and video paths.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_mediaobject-start.html b/guide/2.2.2/m_mediaobject-start.html new file mode 100644 index 0000000000..5458b9356e --- /dev/null +++ b/guide/2.2.2/m_mediaobject-start.html @@ -0,0 +1,16 @@ +m:mediaobject-start

m:mediaobject-start

m:mediaobject-start — Process the start of media objects.

Mode:
{http://docbook.org/ns/docbook/modes}mediaobject-start
Defined in:
modules/objects.xsl (4)

Description

+ +

Media objects (both the mediaobject and inlinemediaobject +containers as well as the imageobjects etc. inside them) are processed +in this mode immediately after the start tag. Templates in this mode can output +attributes, such as summary or alt, as well as additional +accessibility elements; it may also be used to output legal notices, etc. that should +precede the primary content.

+

If the $mediaobject-accessibility parameter includes +a11y-metadata then any short accessibility summary will be output +in a meta element with the +property value a11y:accessibilitySummary. In addition, any meta +elements in the info will be processed in this mode as well (so they can also +be output using accessibility meta properties. +See also m:mediaobject-end.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_mediaobject-uris.html b/guide/2.2.2/m_mediaobject-uris.html new file mode 100644 index 0000000000..fb1e4f8f11 --- /dev/null +++ b/guide/2.2.2/m_mediaobject-uris.html @@ -0,0 +1,5 @@ +m:mediaobject-uris

m:mediaobject-uris

m:mediaobject-uris — Compute URIs for media objects.

Mode:
{http://docbook.org/ns/docbook/modes}mediaobject-uris
Defined in:
modules/objects.xsl

Description

+ +

The media object elements are processed in this mode to extract +their input and output URIs.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_panelset.html b/guide/2.2.2/m_panelset.html new file mode 100644 index 0000000000..93570e4753 --- /dev/null +++ b/guide/2.2.2/m_panelset.html @@ -0,0 +1,8 @@ +m:panelset

m:panelset

m:panelset — Process variable list elements for a panel set.

Mode:
{http://docbook.org/ns/docbook/modes}panelset
Defined in:
modules/lists.xsl (3)
Since:
2.2.2

Description

+ +

When variablelist elements are processed for a +$variablelist-panelset, they are processed in this mode. +This mode makes it possible to override the templates for selected elements. +Be aware, however, that the HTML markup is quite constrained for panel sets. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_persistent-toc.html b/guide/2.2.2/m_persistent-toc.html new file mode 100644 index 0000000000..7a26cb7d7b --- /dev/null +++ b/guide/2.2.2/m_persistent-toc.html @@ -0,0 +1,7 @@ +m:persistent-toc

m:persistent-toc

m:persistent-toc — Mode for generating the persistent table of contents.

Mode:
{http://docbook.org/ns/docbook/modes}persistent-toc
Defined in:
modules/toc.xsl (3)
Since:
2.0.0

Description

+ +

If $persistent-toc is true, +the document will be processed in this mode to produce the contents of the +persistent ToC. By default, this produces the same ToC as the +m:toc mode.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_production-number.html b/guide/2.2.2/m_production-number.html new file mode 100644 index 0000000000..a14c658492 --- /dev/null +++ b/guide/2.2.2/m_production-number.html @@ -0,0 +1,6 @@ +m:production-number

m:production-number

m:production-number — Mode for production numbers.

Mode:
{http://docbook.org/ns/docbook/modes}production-number
Defined in:
modules/programming.xsl

Description

+ +

When a productionset is being formatted, the +m:production-number mode is used to produce the prodution numbers. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_pygments-options.html b/guide/2.2.2/m_pygments-options.html new file mode 100644 index 0000000000..59ad32bb3b --- /dev/null +++ b/guide/2.2.2/m_pygments-options.html @@ -0,0 +1,6 @@ +m:pygments-options

m:pygments-options

m:pygments-options — Calculate the Pygments options for an element.

Mode:
{http://docbook.org/ns/docbook/modes}pygments-options
Defined in:
modules/verbatim.xsl

Description

+ +

When the Pygments syntax highlighter is being used, every +element that will be highlighted is processed in this mode to generate +options for the Pygments process.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_revhistory-list.html b/guide/2.2.2/m_revhistory-list.html new file mode 100644 index 0000000000..b02a5e2ee9 --- /dev/null +++ b/guide/2.2.2/m_revhistory-list.html @@ -0,0 +1,7 @@ +m:revhistory-list

m:revhistory-list

m:revhistory-list — Mode to generate a “list” presentation of revhistory.

Mode:
{http://docbook.org/ns/docbook/modes}revhistory-list
Defined in:
modules/blocks.xsl

Description

+ +

The revhistory element can be rendered as a list or a table +(see $revhistory-style). The m:revhistory-list mode is used +to render it as a list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_revhistory-table.html b/guide/2.2.2/m_revhistory-table.html new file mode 100644 index 0000000000..4ab914171b --- /dev/null +++ b/guide/2.2.2/m_revhistory-table.html @@ -0,0 +1,6 @@ +m:revhistory-table

m:revhistory-table

m:revhistory-table — Mode to generate a “table” presentation of revhistory.

Mode:
{http://docbook.org/ns/docbook/modes}revhistory-table
Defined in:
modules/blocks.xsl

Description

+ +

The revhistory element can be rendered as a list or a table +(see $revhistory-style). The m:revhistory-table mode is used +to render it as a list.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_seglist-table.html b/guide/2.2.2/m_seglist-table.html new file mode 100644 index 0000000000..64e967a470 --- /dev/null +++ b/guide/2.2.2/m_seglist-table.html @@ -0,0 +1,6 @@ +m:seglist-table

m:seglist-table

m:seglist-table — Process a segmentedlist as a table.

Mode:
{http://docbook.org/ns/docbook/modes}seglist-table
Defined in:
modules/lists.xsl (4)

Description

+ +

Segmented lists can be presented in either a list format or a table format. +If the tabular format is selected, the segmentedlist is processed in this +mode to generate the table.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_segtitle-in-seg.html b/guide/2.2.2/m_segtitle-in-seg.html new file mode 100644 index 0000000000..ee23bfc929 --- /dev/null +++ b/guide/2.2.2/m_segtitle-in-seg.html @@ -0,0 +1,6 @@ +m:segtitle-in-seg

m:segtitle-in-seg

m:segtitle-in-seg — Mode for processing segment titles in a segment.

Mode:
{http://docbook.org/ns/docbook/modes}segtitle-in-seg
Defined in:
modules/lists.xsl

Description

+ +

In a segmentedlist, each segtitle is +processed once for each segment. This processing occurs in the +m:segtitle-in-seg mode.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_synopfragment-bug.html b/guide/2.2.2/m_synopfragment-bug.html new file mode 100644 index 0000000000..b81becd765 --- /dev/null +++ b/guide/2.2.2/m_synopfragment-bug.html @@ -0,0 +1,11 @@ +m:synopfragment-bug

m:synopfragment-bug

m:synopfragment-bug — Mode for generating the mark for a synopfragementref.

Mode:
{http://docbook.org/ns/docbook/modes}synopfragment-bug
Defined in:
modules/programming.xsl

Description

+ +

The synopfragment element allows a synopsis (for example +a cmdsynopsis) to move common fragments out-of-line. The location +where these fragments occur in the primary synopsis is indicated with +a synopfragmentref. The stylesheets will generate a mark, analogous +to the marks used for footnotes or callouts, to connect the reference to the fragment. +The fragment will be processed in m:synopfragment-bug to produce +that mark. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_synopsis.html b/guide/2.2.2/m_synopsis.html new file mode 100644 index 0000000000..3100c8ade2 --- /dev/null +++ b/guide/2.2.2/m_synopsis.html @@ -0,0 +1,5 @@ +m:synopsis

m:synopsis

m:synopsis — Mode for processing programming language synopses.

Mode:
{http://docbook.org/ns/docbook/modes}synopsis
Defined in:
modules/programming.xsl (10)

Description

+ +

The elements of class, method, and field synopses are processed in this mode. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_title.html b/guide/2.2.2/m_title.html new file mode 100644 index 0000000000..edc2159115 --- /dev/null +++ b/guide/2.2.2/m_title.html @@ -0,0 +1,5 @@ +m:title

m:title

m:title — Format a title.

Mode:
{http://docbook.org/ns/docbook/modes}title
Defined in:
modules/titles.xsl

Description

+ +

This mode is used to format titles when they appear in headlines +or cross references.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_titlepage.html b/guide/2.2.2/m_titlepage.html new file mode 100644 index 0000000000..91cc3c4a35 --- /dev/null +++ b/guide/2.2.2/m_titlepage.html @@ -0,0 +1,5 @@ +m:titlepage

m:titlepage

m:titlepage — Format elements for the title page.

Mode:
{http://docbook.org/ns/docbook/modes}titlepage
Defined in:
modules/titlepage.xsl (9)

Description

+ +

Elements that appear on the title page are processed in this mode to +produce the text that will appear on the title page.

+
\ No newline at end of file diff --git a/guide/2.2.2/m_to-uppercase.html b/guide/2.2.2/m_to-uppercase.html new file mode 100644 index 0000000000..ed9056fd99 --- /dev/null +++ b/guide/2.2.2/m_to-uppercase.html @@ -0,0 +1,8 @@ +m:to-uppercase

m:to-uppercase

m:to-uppercase — Produce content in upper-case.

Mode:
{http://docbook.org/ns/docbook/modes}to-uppercase
Defined in:
modules/info.xsl (4)

Description

+ +

When formatting personal names in a style that requires +converting a name to upper case +(see t:person-name), this mode is used to generate +the upper-case name. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_toc-entry.html b/guide/2.2.2/m_toc-entry.html new file mode 100644 index 0000000000..a9784da716 --- /dev/null +++ b/guide/2.2.2/m_toc-entry.html @@ -0,0 +1,6 @@ +m:toc-entry

m:toc-entry

m:toc-entry — Format content for a list-of-titles.

Mode:
{http://docbook.org/ns/docbook/modes}toc-entry
Defined in:
modules/toc.xsl (6)

Description

+ +

When an element appears in the Table of Contents (or other list of titles), +it is formatted in this mode to produce the entry in the list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_toc-nested.html b/guide/2.2.2/m_toc-nested.html new file mode 100644 index 0000000000..a8b28e5f81 --- /dev/null +++ b/guide/2.2.2/m_toc-nested.html @@ -0,0 +1,9 @@ +m:toc-nested

m:toc-nested

m:toc-nested — What elements are “nested” in a Table of Contents.

Mode:
{http://docbook.org/ns/docbook/modes}toc-nested
Defined in:
modules/toc.xsl (4)
Since:
2.0.0

Description

+ +

The elements processed in the m:toc mode determine where +a Table of Contents will appear. When a Table of Contents does appear, the children +of the starting element are processed in the m:toc-nested mode +to determine which of them appear. This mode, for example, handles the maximum nesting +depth of sections in the ToC. +

+
\ No newline at end of file diff --git a/guide/2.2.2/m_toc.html b/guide/2.2.2/m_toc.html new file mode 100644 index 0000000000..45382dd18d --- /dev/null +++ b/guide/2.2.2/m_toc.html @@ -0,0 +1,24 @@ +m:toc

m:toc

m:toc — Mode for generating lists of titles (e.g, the table of contents)

Mode:
{http://docbook.org/ns/docbook/modes}toc
Defined in:
modules/blocks.xsl (4), modules/toc.xsl (2)

Description

+ +

Elements are processed in m:toc when automatically +constructing a Table of Contents (or, more generally, any list of titles). +

+

Where a generated list of titles appears is controlled by several parameters. +For manual control, place an empty +toc element where you would like it to appear. If the +toc element is not valid where you would like the list to appear, use +the db-toc processing instruction instead. These must appear as +the direct children of the element for which the list is being constructed. +

+ +

See also +$generate-toc, +$generate-nested-toc, +$annotate-toc, +$lists-of-figures, +$lists-of-tables, +$lists-of-examples, +$lists-of-equations, +$lists-of-procedures, and +$section-toc-depth.

+
\ No newline at end of file diff --git a/guide/2.2.2/media/English_Length_Units_Graph.png b/guide/2.2.2/media/English_Length_Units_Graph.png new file mode 100644 index 0000000000..b2c0be0a77 Binary files /dev/null and b/guide/2.2.2/media/English_Length_Units_Graph.png differ diff --git a/guide/2.2.2/media/English_Length_Units_Graph.svg b/guide/2.2.2/media/English_Length_Units_Graph.svg new file mode 100644 index 0000000000..649f5f2db7 --- /dev/null +++ b/guide/2.2.2/media/English_Length_Units_Graph.svg @@ -0,0 +1,876 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/guide/2.2.2/media/amaryllis.jpg b/guide/2.2.2/media/amaryllis.jpg new file mode 100644 index 0000000000..6a4dc12cfe Binary files /dev/null and b/guide/2.2.2/media/amaryllis.jpg differ diff --git a/guide/2.2.2/media/cover.png b/guide/2.2.2/media/cover.png new file mode 100644 index 0000000000..d1cb852a20 Binary files /dev/null and b/guide/2.2.2/media/cover.png differ diff --git a/guide/2.2.2/media/l10n-en-alt.png b/guide/2.2.2/media/l10n-en-alt.png new file mode 100644 index 0000000000..11fca6441e Binary files /dev/null and b/guide/2.2.2/media/l10n-en-alt.png differ diff --git a/guide/2.2.2/media/l10n-en-ann.png b/guide/2.2.2/media/l10n-en-ann.png new file mode 100644 index 0000000000..11455ae629 Binary files /dev/null and b/guide/2.2.2/media/l10n-en-ann.png differ diff --git a/guide/2.2.2/media/l10n-en.png b/guide/2.2.2/media/l10n-en.png new file mode 100644 index 0000000000..a04c3f50cc Binary files /dev/null and b/guide/2.2.2/media/l10n-en.png differ diff --git a/guide/2.2.2/media/l10n-fr.png b/guide/2.2.2/media/l10n-fr.png new file mode 100644 index 0000000000..2259b5f6f2 Binary files /dev/null and b/guide/2.2.2/media/l10n-fr.png differ diff --git a/guide/2.2.2/media/ptoc-1.png b/guide/2.2.2/media/ptoc-1.png new file mode 100644 index 0000000000..08acb2e103 Binary files /dev/null and b/guide/2.2.2/media/ptoc-1.png differ diff --git a/guide/2.2.2/media/ptoc-2.png b/guide/2.2.2/media/ptoc-2.png new file mode 100644 index 0000000000..29dbbf580c Binary files /dev/null and b/guide/2.2.2/media/ptoc-2.png differ diff --git a/guide/2.2.2/media/sample.png b/guide/2.2.2/media/sample.png new file mode 100644 index 0000000000..457b12bb6a Binary files /dev/null and b/guide/2.2.2/media/sample.png differ diff --git a/guide/2.2.2/media/stamp400x256.png b/guide/2.2.2/media/stamp400x256.png new file mode 100644 index 0000000000..821af5067d Binary files /dev/null and b/guide/2.2.2/media/stamp400x256.png differ diff --git a/guide/2.2.2/media/xsltng-icon.png b/guide/2.2.2/media/xsltng-icon.png new file mode 100644 index 0000000000..223391dec5 Binary files /dev/null and b/guide/2.2.2/media/xsltng-icon.png differ diff --git a/guide/2.2.2/media/xsltng-inverted.png b/guide/2.2.2/media/xsltng-inverted.png new file mode 100644 index 0000000000..fbf1a6ce27 Binary files /dev/null and b/guide/2.2.2/media/xsltng-inverted.png differ diff --git a/guide/2.2.2/mindex.html b/guide/2.2.2/mindex.html new file mode 100644 index 0000000000..9d904a00fc --- /dev/null +++ b/guide/2.2.2/mindex.html @@ -0,0 +1 @@ +Index by module

Index by module

Many modules define related functions, templates, or variables.

../standalone-functions.xsl

f:available-bibliographies(), f:available-bibliographies(), f:available-glossaries(), f:available-glossaries(), f:biblioentries(), f:biblioentries(), f:citations(), f:citations(), f:glossentries(), f:glossentries(), f:glossrefs(), f:glossrefs(), f:pi(), f:pi(), f:pi-attributes(), $v:pi-db-attributes-are-uris

VERSION.xsl

$v:VERSION, $v:VERSION-ID

highlight.xsl

f:syntax-highlight(), f:syntax-highlight(), f:syntax-highlight()

main.xsl

m:docbook, $output-media

modules/admonitions.xsl

m:docbook

modules/annotations.xsl

m:annotation-content, m:docbook

modules/attributes.xsl

m:attributes, m:docbook

modules/biblio690.xsl

m:biblio690

modules/bibliography.xsl

m:biblioentry, m:bibliomixed, m:docbook

modules/blocks.xsl

m:docbook, m:revhistory-list, m:revhistory-table, m:toc

modules/chunk-cleanup.xsl

t:bottom-nav, m:chunk-cleanup, t:chunk-footnotes, m:chunk-title, f:chunk-title(), m:footnote-number, m:mediaobject-output-adjust, t:top-nav

modules/chunk-output.xsl

m:chunk-output

modules/chunk.xsl

f:chunk(), m:chunk-filename, f:chunk-filename()

modules/components.xsl

m:docbook

modules/divisions.xsl

m:back-cover, m:docbook

modules/errors.xsl

$dbe:DYNAMIC-PROFILE-EVAL-ERROR, $dbe:DYNAMIC-PROFILE-SYNTAX-ERROR, $dbe:INTERNAL-HIGHLIGHT-ERROR, $dbe:INTERNAL-RENUMBER-ERROR, $dbe:INVALID-AREAREFS, $dbe:INVALID-CALS, $dbe:INVALID-CONSTRAINT, $dbe:INVALID-DYNAMIC-PROFILE-ERROR, $dbe:INVALID-INJECT, $dbe:INVALID-NAME-STYLE, $dbe:INVALID-PRODUCTIONRECAP, $dbe:INVALID-RESULTS-REQUESTED, $dbe:INVALID-TEMPLATE, $dbe:INVALID-TRANSFORM

modules/footnotes.xsl

m:docbook, m:footnote-number, m:footnotes, t:table-footnotes

modules/functions.xsl

f:attributes(), f:attributes(), f:conditional-orientation-class(), f:date-format(), f:generate-id(), f:generate-id(), f:gentext-letters(), f:gentext-letters-for-language(), f:href(), f:id(), f:is-true(), f:l10n-language(), f:label-separator(), f:orderedlist-item-number(), f:orderedlist-item-numeration(), f:orderedlist-startingnumber(), f:orientation-class(), f:refsection(), f:relative-path(), f:section(), f:section-depth(), f:spaces(), f:step-number(), f:step-numeration(), f:target(), f:tokenize-on-char(), f:translate-attribute(), f:unique-id(), f:uri-scheme()

modules/gentext.xsl

m:gentext, f:in-scope-language(), f:languages()

modules/glossary.xsl

m:docbook, t:glossary-divisions

modules/head.xsl

m:head-additions, m:html-body-script, m:html-head, m:html-head-last, m:html-head-links, m:html-head-script

modules/index.xsl

m:docbook, t:generate-index, m:index-div, m:index-primary, m:index-secondary, m:index-see, m:index-seealso, m:index-tertiary, t:index-zone-reference

modules/info.xsl

m:copyright-years, m:docbook, t:person-name, t:person-name-family-given, t:person-name-first-last, t:person-name-last-first, t:person-name-list, m:to-uppercase

modules/inlines.xsl

m:docbook, t:inline

modules/l10n.xsl

m:docbook, m:gentext-list, f:l10n-token(), f:l10n-token()

modules/links.xsl

m:docbook, m:link

modules/lists.xsl

m:callout-link, m:docbook, m:panelset, m:seglist-table, m:segtitle-in-seg

modules/msgset.xsl

m:docbook

modules/objects.xsl

f:css-length(), f:css-property(), m:details, m:docbook, m:imagemap, f:mediaobject-amend-uri(), m:mediaobject-end, t:mediaobject-img, m:mediaobject-info, f:mediaobject-input-base-uri(), m:mediaobject-start, f:mediaobject-type(), m:mediaobject-uris, f:mediaobject-viewport(), f:object-align(), f:object-contentheight(), f:object-contentwidth(), f:object-height(), f:object-properties(), f:object-properties(), f:object-scale(), f:object-scalefit(), f:object-valign(), f:object-width()

modules/programming.xsl

m:ansi, m:ansi-table, m:docbook, m:kr, m:kr-args, m:kr-table, m:kr-table-args, m:production-number, m:synopfragment-bug, m:synopsis

modules/publishers.xsl

m:docbook

modules/refentry.xsl

m:docbook

modules/sections.xsl

$v:bridgehead-map, m:docbook

modules/tablecals.xsl

f:cals-colsep(), f:cals-rowsep(), m:docbook

modules/tablehtml.xsl

m:docbook, m:htmltable

modules/templates.xsl

t:biblioentry, m:docbook, m:generate-titlepage, f:template(), $v:templates, $v:titlepage-default

modules/titlepage.xsl

m:titlepage

modules/titles.xsl

m:docbook, m:headline, m:headline-label, m:headline-number, m:headline-title, m:title, $v:title-groups, $v:user-title-groups

modules/toc.xsl

m:docbook, m:list-of-equations, m:list-of-examples, m:list-of-figures, m:list-of-procedures, m:list-of-tables, m:list-of-titles, m:persistent-toc, m:toc, m:toc-entry, m:toc-nested

modules/unhandled.xsl

m:docbook

modules/units.xsl

f:absolute-length(), f:empty-length(), f:equal-lengths(), f:is-empty-length(), f:length-string(), f:length-units(), f:make-length(), f:make-length(), f:make-length(), f:parse-length(), f:relative-length(), $v:unit-scale

modules/variable.xsl

$v:admonition-icons, $v:annotation-close, $v:arg-choice-def-close-str, $v:arg-choice-def-open-str, $v:arg-choice-opt-close-str, $v:arg-choice-opt-open-str, $v:arg-choice-plain-close-str, $v:arg-choice-plain-open-str, $v:arg-choice-req-close-str, $v:arg-choice-req-open-str, $v:arg-or-sep, $v:arg-rep-def-str, $v:arg-rep-norepeat-str, $v:arg-rep-repeat-str, $v:as-json, $v:as-xml, $v:chunk, $v:chunk-filter-namespaces, $v:chunk-renumber-footnotes, $v:custom-localizations, $v:debug, $v:formal-object-title-placement, $v:formalgroup-nested-object-title-placement, $v:highlight-js-head-elements, $v:image-nominal-height, $v:image-nominal-width, $v:localization-base-uri, $v:media-type-default, $v:media-type-map, $v:mediaobject-details-placement, $v:mediaobject-exclude-extensions, $v:mediaobject-output-base-uri, $v:nominal-page-width, $v:olink-databases, $v:personal-name-styles, $v:prism-js-head-elements, $v:theme-list, $v:toc-close, $v:toc-open, $v:verbatim-callouts, $v:verbatim-line-style, $v:verbatim-number-every-nth, $v:verbatim-number-first-line, $v:verbatim-number-minlines, $v:verbatim-numbered-elements, $v:verbatim-plain-style, $v:verbatim-space, $v:verbatim-syntax-highlight-languages, $v:verbatim-syntax-highlight-options, $v:verbatim-syntax-highlight-pygments-options, $v:verbatim-table-style

modules/verbatim.xsl

m:callout-bug, m:docbook, m:highlight-options, f:highlight-verbatim(), $v:invisible-characters, m:pygments-options, f:verbatim-highlight(), f:verbatim-numbered(), $v:verbatim-properties, f:verbatim-style(), f:verbatim-trim-leading(), f:verbatim-trim-trailing()

modules/xlink.xsl

m:docbook, t:xlink, f:xlink-style(), f:xpointer-idref()

modules/xref.xsl

m:crossref, m:crossref-label, m:crossref-number, m:crossref-number-separator, m:crossref-suffix, m:crossref-title, m:docbook, $v:user-xref-groups, $v:xref-groups

param.xsl

$additional-languages, $align-char-default, $align-char-pad, $align-char-width, $allow-eval, $annotate-toc, $annotation-collection, $annotation-mark, $annotation-placement, $annotation-style, $annotations-js, $auto-toc, $bibliography-collection, $bibliography-style, $books-inherit-from, $books-number-from, $callout-default-column, $callout-unicode-start, $chunk, $chunk-exclude, $chunk-include, $chunk-nav, $chunk-nav-js, $chunk-output-base-uri, $chunk-renumber-footnotes, $chunk-section-depth, $classsynopsis-indent, $component-numbers, $component-numbers-inherit, $components-inherit-from, $components-number-from, $control-js, $copy-verbatim-js, $copyright-collapse-years, $copyright-year-range-separator, $copyright-year-separator, $date-date-format, $date-dateTime-format, $dc-metadata, $debug, $default-float-style, $default-language, $default-length-magnitude, $default-length-unit, $default-theme, $division-numbers, $division-numbers-inherit, $divisions-inherit-from, $divisions-number-from, $docbook-transclusion, $dynamic-profile-error, $dynamic-profile-variables, $dynamic-profiles, $experimental-pmuj, $fallback-js, $footnote-numeration, $formal-object-title-placement, $formal-objects-inherit-from, $formal-objects-number-from, $formalgroup-nested-object-title-placement, $funcsynopsis-default-style, $funcsynopsis-table-threshold, $funcsynopsis-trailing-punctuation, $generate-html-page, $generate-index, $generate-nested-toc, $generate-toc, $generate-trivial-toc, $generated-id-root, $generated-id-sep, $generator-metadata, $gentext-language, $glossary-automatic-divisions, $glossary-collection, $glossary-sort-entries, $html-extension, $image-ignore-scaling, $image-nominal-height, $image-nominal-width, $image-property-warning, $index-on-role, $index-on-type, $index-show-entries, $indexed-section-groups, $inline-xlink-href, $lists-of-equations, $lists-of-examples, $lists-of-figures, $lists-of-procedures, $lists-of-tables, $local-conventions, $mathml-js, $mediaobject-accessibility, $mediaobject-details-placement, $mediaobject-exclude-extensions, $mediaobject-grouped-by-type, $mediaobject-input-base-uri, $mediaobject-output-base-uri, $mediaobject-output-paths, $mediaobject-video-element, $message-level, $nominal-page-width, $number-single-appendix, $olink-databases, $orderedlist-item-numeration, $othername-in-middle, $output-media, $oxy-markup, $page-style, $pagetoc-dynamic, $pagetoc-elements, $pagetoc-js, $paper-size, $persistent-toc, $persistent-toc-css, $persistent-toc-filename, $persistent-toc-js, $persistent-toc-search, $personal-name-style, $pixels-per-inch, $presentation-css, $presentation-js, $presentation-mode, $procedure-step-numeration, $productionset-lhs-rhs-separator, $profile-arch, $profile-audience, $profile-condition, $profile-conformance, $profile-lang, $profile-os, $profile-outputformat, $profile-revision, $profile-revisionflag, $profile-role, $profile-security, $profile-separator, $profile-userlevel, $profile-vendor, $profile-wordsize, $qandadiv-default-toc, $qandaset-default-label, $qandaset-default-toc, $refentry-generate-name, $refentry-generate-title, $relax-ng-grammar, $resource-base-uri, $revhistory-style, $section-numbers, $section-numbers-inherit, $section-toc-depth, $sections-inherit-from, $sections-number-from, $segmentedlist-style, $sets-inherit-from, $sets-number-from, $show-remarks, $sidebar-as-aside, $sort-collation, $table-accessibility, $table-footnote-numeration, $theme-picker, $titleabbrev-passthrough, $transclusion-id-fixup, $transclusion-link-scope, $transclusion-prefix-separator, $transclusion-suffix, $transform-after, $transform-before, $transform-original, $transformed-docbook-input, $transformed-docbook-output, $translate-suppress-elements, $unwrap-paragraphs, $use-docbook-css, $use-minified-css, $user-css-links, $variablelist-panelset, $variablelist-termlength-threshold, $varlistentry-separate-terms, $vendor-css, $verbatim-callouts, $verbatim-line-style, $verbatim-number-every-nth, $verbatim-number-first-line, $verbatim-number-minlines, $verbatim-number-separator, $verbatim-numbered-elements, $verbatim-plain-style, $verbatim-space, $verbatim-style-default, $verbatim-syntax-highlight-css, $verbatim-syntax-highlight-languages, $verbatim-syntax-highlighter, $verbatim-table-style, $verbatim-trim-leading-blank-lines, $verbatim-trim-trailing-blank-lines, $warn-about-missing-localizations, $xlink-arclist-after, $xlink-arclist-before, $xlink-arclist-sep, $xlink-arclist-titlesep, $xlink-icon-closed, $xlink-icon-open, $xlink-js, $xlink-style, $xlink-style-default, $xspec

\ No newline at end of file diff --git a/guide/2.2.2/modes.html b/guide/2.2.2/modes.html new file mode 100644 index 0000000000..442236f4b2 --- /dev/null +++ b/guide/2.2.2/modes.html @@ -0,0 +1,2 @@ +V. Mode reference

VMode reference

Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/p_additional-languages.html b/guide/2.2.2/p_additional-languages.html new file mode 100644 index 0000000000..5ccc13e9ca --- /dev/null +++ b/guide/2.2.2/p_additional-languages.html @@ -0,0 +1,22 @@ +$additional-languages

$additional-languages

$additional-languages — Additional localization languages (beyond the default language)

Parameter:
{}additional-languages
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$additional-languages := ()
+

Description

+ +

If the stylesheets need to generate text (the names of labels +such as “Chapter”, for example), they attempt to do so in the same +language as the document. This is determined by finding the nearast +in-scope xml:lang attribute from the context where the +generated text is required. +

+

The stylesheets can generate text in more than 70 languages, +but very few documents use more than a few. To avoid the overhead of +loading a great many localizations that will never be used, the +stylesheets don’t load them all.

+

The stylesheets always load the +$default-language and will load any additional +languages identified in $additional-languages, +a space separated list of language identifiers.

+

If the $additional-languages is the +empty sequence, the stylesheets attempt to determine which languages +are used in the document and load the appropriate localizations. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_align-char-default.html b/guide/2.2.2/p_align-char-default.html new file mode 100644 index 0000000000..35d087b298 --- /dev/null +++ b/guide/2.2.2/p_align-char-default.html @@ -0,0 +1,81 @@ +$align-char-default

$align-char-default, $align-char-pad, $align-char-width

$align-char-default, $align-char-pad, $align-char-width — Support “char” alignment on CALS table cells.

Parameter:
{}align-char-default
{}align-char-pad
{}align-char-width
Defined in:
param.xsl (3)
Used in:
param.xsl, modules/tablecals.xsl

Synopsis

  |$align-char-default as xs:string := '.'
+
  |$align-char-pad := ' '
+
  |$align-char-width := 2
+

Description

+ +

CALS tables support “char” alignment on columns. The most common +use case for character alignment is to align a column of numbers on a +decimal point even when the number of characters to right or left of +the decimal point varies.

+

Three parameters apply to character alignment:

+
+ $align-char-default +

Specifies the default alignment character. +

+ $align-char-pad +

Specifies the default padding character, usually an en space. +

+ $align-char-width +

Specifies the number of characters that follow the alignment +character. +

+
Notes
  1. The HTML table model doesn’t really support character alignment. +This feature pads each entry on the right as necessary to put the +alignment character in the same place. Naturally, this will only +produce the desired result if a monospace font is used in the +cell.
  2. If the alignment character appears more than once in the cell, +the cells are aligned around the last occurrence. The notion of “last” +and padding on the right or the left should be sensitive to the writing +direction, but it isn’t currently. +
  3. Character alignment is ignored if a cell contains markup.
+

+ Example 1, “An example of char alignment” shows an example of +character alignment on the “,” character.

+
   |<informaltable frame="all">
+   |   <tgroup cols="2" colsep="1" rowsep="1">
+   |      <colspec colnum="2" align="char" char=","/>
+   |      <tbody>
+   |         <row>
+   |            <entry>Row A</entry>
+   |            <entry>10000,01</entry>
+   |         </row>
+   |         <row>
+   |            <entry>Row B</entry>
+   |            <entry>10</entry>
+   |         </row>
+   |         <row>
+   |            <entry>Row C</entry>
+   |            <entry>-3,14</entry>
+   |         </row>
+   |      </tbody>
+   |   </tgroup>
+   |</informaltable>
+
Example 1An example of char alignment
+
Row A10000,01
Row B10   
Row C-3,14
Example 2Tabular rendering
+

The alignment character can be specified on a per-column, per-table +basis with the char attribute on colspec. +

+

The alignment width and padding character can be specified on a +per-column, per-table basis with a +db + processing instruction.

+

If the settings apply to the whole table, the processing +instruction can be a child of tgroup, preceding any other +elements. If you want to specify different values for different +columns, the processing instruction must immediately follow the +colspec for the column.

+

The align-char-width + +pseudo-attribute controls the number of characters following the +alignment character. The align-char-pad + +pseudo-attribute controls the character used for padding.

+

A value that does not contain the alignment character is assumed +to be followed immediately by the alignment character. (In other +words, if you’re aligning on “.”, “10” is considered to be “10.”.) +If the pad character is a space*, then the pad +character will be used to pad the value. If the pad character isn’t a space, +the value will be padded with the alignment character followed by pad characters +as necessary.

+

Technically, is in the class of Unicode characters considered to be spaces, +one that matches \p{Zs}.

\ No newline at end of file diff --git a/guide/2.2.2/p_allow-eval.html b/guide/2.2.2/p_allow-eval.html new file mode 100644 index 0000000000..f902e70c07 --- /dev/null +++ b/guide/2.2.2/p_allow-eval.html @@ -0,0 +1,10 @@ +$allow-eval

$allow-eval

$allow-eval — Process the eval processing instruction?

Parameter:
{}allow-eval
Defined in:
param.xsl
Used in:
param.xsl, modules/inlines.xsl

Synopsis

  |$allow-eval as xs:string := 'true'
+

Description

+ +

If this parameter is true, XPath expressions contained in the +eval processing instruction will be evaluated, +otherwise the processing instruction is silently ignored.

+

If the eval is performed, the result of the evaluation is +inserted into the formatted document. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_annotate-toc.html b/guide/2.2.2/p_annotate-toc.html new file mode 100644 index 0000000000..dd09447f0f --- /dev/null +++ b/guide/2.2.2/p_annotate-toc.html @@ -0,0 +1,6 @@ +$annotate-toc

$annotate-toc

$annotate-toc — Annotate the table-of-contents?

Parameter:
{}annotate-toc
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl

Synopsis

  |$annotate-toc := 'true'
+

Description

+ +

If true, a table of contents containing refentry elements +will also include the refpurpose for each entry.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_annotation-collection.html b/guide/2.2.2/p_annotation-collection.html new file mode 100644 index 0000000000..ec2f538a4c --- /dev/null +++ b/guide/2.2.2/p_annotation-collection.html @@ -0,0 +1,29 @@ +$annotation-collection

$annotation-collection

$annotation-collection — An external collection of annotations.

Parameter:
{}annotation-collection
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$annotation-collection as xs:string := ''
+

Description

+ +

Because annotations can be applied by pointing from the +annotation to the element they annotate, they can be stored and +managed externally. If $annotation-collection +points to a collection of annotations, the stylesheets will add them +to the document before it is processed.

+

To achieve this:

+
  1. Create a collection of shared annotations and store them somewhere. The +stylesheets will copy only the top-level annotation elements +(/*/annotation). The +document element doesn’t matter.

  2. Use the annotates attribute on the annotations to +point at elements in the document you’re transforming. +

    Annotations can point in either direction, but you will get +ID/IDREF validation errors if you attempt to point from the document +into the annotation collection because the annotation collection won’t +be present when you validate. If your use case requires pointing in +that direction, you will have better luck with a pipeline that +combines the two documents before validating.

  3. Run your transformation with +$annotation-collection set to the URI of the +document that contains your collection of annotations. +

+

The stylesheets will apply annotations to the elements +identified. Extra annotations, annotations that don’t point to +elements that actually exist in the document being transformed, will +be ignored. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_annotation-mark.html b/guide/2.2.2/p_annotation-mark.html new file mode 100644 index 0000000000..e9fab39f26 --- /dev/null +++ b/guide/2.2.2/p_annotation-mark.html @@ -0,0 +1,12 @@ +$annotation-mark

$annotation-mark

$annotation-mark — Identifying mark for annotations.

Parameter:
{}annotation-mark
Defined in:
param.xsl
Used in:
param.xsl, modules/annotations.xsl

Synopsis

  |<xsl:param name="annotation-mark">
+  |   <sup>⌖</sup>
+  |</xsl:param>
+

Description

+ +

When annotations are rendered, the +$annotation-mark is inserted at each location +where an annotation occurs.

+

If JavaScript is used for annotations (see $annotation-style), +clicking on the mark will bring up the annotation; if JavaScript is not used, the marks +are numbered and the annotations appear as a form of footnote.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_annotation-placement.html b/guide/2.2.2/p_annotation-placement.html new file mode 100644 index 0000000000..10e7e8190e --- /dev/null +++ b/guide/2.2.2/p_annotation-placement.html @@ -0,0 +1,13 @@ +$annotation-placement

$annotation-placement

$annotation-placement — Determines where the annotation mark is placed.

Parameter:
{}annotation-placement
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$annotation-placement := 'after'
+

Description

+ +

When annotations are rendered, +$annotation-placement determines where the +$annotation-mark is placed. If the value is after, +the mark or marks are placed at the very end of the element being annotated. +If the value is before, the marks are placed at the very beginning +of the element being annotated. +

+

Each individual annotation can determine its placement by placing before +or after in its role attribute.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_annotation-style.html b/guide/2.2.2/p_annotation-style.html new file mode 100644 index 0000000000..c2ebb0636e --- /dev/null +++ b/guide/2.2.2/p_annotation-style.html @@ -0,0 +1,18 @@ +$annotation-style

$annotation-style

$annotation-style — Selects the annotation style.

Parameter:
{}annotation-style
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$annotation-style := 'javascript'
+

Description

+ +

An annotation can be used to add annotations to +arbitrary elements. Annotations are formatted something like +footnotes, they appear at the bottom of the page and are linked from +the point of the annotation. There are two annotation styles, +“javascript” and “inline”. +

+

If the annotation style is “javascript”, a +script reference will be added. The script hides the annotations at the +bottom of the page and instead renders them as modal dialogs when the +marks are clicked. The presentation is accessible in the absence of +JavaScript.

+

If the annotation style is “inline”, then the +script is not included and the default presentation is used. No other values +are supported at this time.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_annotations-js.html b/guide/2.2.2/p_annotations-js.html new file mode 100644 index 0000000000..11016a40ce --- /dev/null +++ b/guide/2.2.2/p_annotations-js.html @@ -0,0 +1,7 @@ +$annotations-js

$annotations-js

$annotations-js — Script to support popup (JavaScript) annotations.

Parameter:
{}annotations-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$annotations-js := 'js/annotations.js'
+

Description

+ +

If popup (JavaScript) annotations appear in the document, a link to +this script will be added to the document. This script must contain the JavaScript +necessary to support the popup annotations feature.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_auto-toc.html b/guide/2.2.2/p_auto-toc.html new file mode 100644 index 0000000000..e94196d0d6 --- /dev/null +++ b/guide/2.2.2/p_auto-toc.html @@ -0,0 +1,14 @@ +$auto-toc

$auto-toc

$auto-toc — Automatically generate tables of contents.

Parameter:
{}auto-toc
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl
Since:
2.0.10

Synopsis

  |$auto-toc as xs:string := 'true'
+

Description

+ +

If this parameter is true, then a table +of contents, or more generally, “lists of titles”, will be generated. +If it is not true, such lists will only appear where an explicit +toc element appears. An empty toc can be used to +identify the place where an automatically generated list should +appear. In either case, if the toc is not empty, then the +hand-authored list appears instead of an automatically generated one.

+

Which elements will have an automatically generated list of titles +is determined by how elements are processed in the m:toc +mode.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_bibliography-collection.html b/guide/2.2.2/p_bibliography-collection.html new file mode 100644 index 0000000000..7ec3b66355 --- /dev/null +++ b/guide/2.2.2/p_bibliography-collection.html @@ -0,0 +1,21 @@ +$bibliography-collection

$bibliography-collection

$bibliography-collection — An external collection of bibliography entries.

Parameter:
{}bibliography-collection
Defined in:
param.xsl
Used in:
param.xsl, modules/inlines.xsl

Synopsis

  |$bibliography-collection as xs:string := ''
+

Description

+ +

It’s often convenient to share a common bibliography +across many documents. If +$bibliography-collection points to a +bibliography, the stylesheets will automatically populate bibliography +entries in the document being transformed.

+

To achieve this:

+
  1. Create a shared bibliography and store it somewhere. Make sure that +each entry in your shared bibliography has a unique xml:id value. +

  2. Run your +transformation with $bibliography-collection set +to the URI of that document. +

  3. In the document you’re transforming, refer to the shared entries +with completely empty biblioentry or bibliomixed +elements that have the same xml:id as an entry in the +shared bibliography. +

+

The stylesheets will copy those entries into your document before processing it.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_bibliography-style.html b/guide/2.2.2/p_bibliography-style.html new file mode 100644 index 0000000000..0fbdad0a57 --- /dev/null +++ b/guide/2.2.2/p_bibliography-style.html @@ -0,0 +1,30 @@ +$bibliography-style

$bibliography-style

$bibliography-style — The bibliography style.

Parameter:
{}bibliography-style
Defined in:
param.xsl
Used in:
param.xsl, modules/bibliography.xsl, modules/attributes.xsl

Synopsis

  |$bibliography-style as xs:string := 'default'
+

Description

+ +

Bibliographies are complicated and many different styles +exist. Creating properly formatted bibliographies from +raw + bibliography entries is especially challenging. +(This parameter does not apply to formatting bibliomixed entries.)

+
+ default +

The default style. This is controlled by the biblioentry +template. See $v:templates. +All biblioentry elements will be processed in +m:biblioentry mode. +

+ iso690 +

Attempts to implement ISO 690 bibliographic formatting. +All biblioentry elements will be processed in +m:biblio690 mode. This is adapted from the examples in +Bibliography according to ISO 690 and ISO 690-2 standards. +

The default style specified by +$bibliography-style can be overridden on a +case-by-case basis with the +db + processing instruction using the +bibliography-style + pseudo-attribute. This must appear in the +bibliography or bibliolist that contains the entries. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_books-inherit-from.html b/guide/2.2.2/p_books-inherit-from.html new file mode 100644 index 0000000000..e452763c3f --- /dev/null +++ b/guide/2.2.2/p_books-inherit-from.html @@ -0,0 +1,7 @@ +$books-inherit-from

$books-inherit-from

$books-inherit-from — Identifies what inherited numeration applies to books.

Parameter:
{}books-inherit-from
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$books-inherit-from as xs:string := ''
+

Description

+ +

If book numbers inherit from their ancestors, these are the ancestors they +inherit from.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_books-number-from.html b/guide/2.2.2/p_books-number-from.html new file mode 100644 index 0000000000..857f99e043 --- /dev/null +++ b/guide/2.2.2/p_books-number-from.html @@ -0,0 +1,11 @@ +$books-number-from

$books-number-from

$books-number-from — Identifies where book numeration begins.

Parameter:
{}books-number-from
Defined in:
param.xsl
Used in:
param.xsl, modules/numbers.xsl

Synopsis

  |$books-number-from as xs:string := 'set'
+

Description

+ +

Book numbers (if books are numbered) begin from here.

+

See Section 3.6, “Controlling numeration”.

+
+ root +

Books are numbered from the beginning of the document.

+ set +

Books are numbered from their parent set.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_callout-default-column.html b/guide/2.2.2/p_callout-default-column.html new file mode 100644 index 0000000000..e0231eb50c --- /dev/null +++ b/guide/2.2.2/p_callout-default-column.html @@ -0,0 +1,6 @@ +$callout-default-column

$callout-default-column

$callout-default-column — Default column for callouts.

Parameter:
{}callout-default-column
Defined in:
param.xsl
Used in:
param.xsl, modules/verbatim.xsl

Synopsis

  |$callout-default-column := 60
+

Description

+ +

When callouts are used in program listings (or screens), if the +column is not specified for a callout, it will appear in this column.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_callout-unicode-start.html b/guide/2.2.2/p_callout-unicode-start.html new file mode 100644 index 0000000000..82e5513090 --- /dev/null +++ b/guide/2.2.2/p_callout-unicode-start.html @@ -0,0 +1,10 @@ +$callout-unicode-start

$callout-unicode-start

$callout-unicode-start — Initial callout character.

Parameter:
{}callout-unicode-start
Defined in:
param.xsl
Used in:
param.xsl, modules/programming.xsl, modules/verbatim.xsl

Synopsis

  |$callout-unicode-start := 9311
+

Description

+ +

When callouts are rendered, for example in programlistingco, +this is the beginning of the range of characters to be used for callout “bugs”. +This is the decimal value of the Unicode code point that is the “zero” point in +the list, the one just before the first character.

+

The default value is 9311 which means the first callout will +be 9312, U2460, “①”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk-exclude.html b/guide/2.2.2/p_chunk-exclude.html new file mode 100644 index 0000000000..ef4bc4c886 --- /dev/null +++ b/guide/2.2.2/p_chunk-exclude.html @@ -0,0 +1,26 @@ +$chunk-exclude

$chunk-exclude

$chunk-exclude — XPath expressions for excluding chunks.

Parameter:
{}chunk-exclude
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk.xsl

Synopsis

  |$chunk-exclude as xs:string* := ('self::db:partintro', 
+  |                                 'self::*[ancestor::db:partintro]', 
+  |                                 'self::db:annotation', 
+  |                                 'self::db:section[not(preceding-sibling::db:section)]', 
+  |                                 'self::db:sect1[not(preceding-sibling::db:sect1)]', 
+  |                                 'self::db:toc')
+

Description

+ +

This parameter is only relevant when chunking is being performed, +see Section 2.7, ““Chunked” output”. +This parameter contains a list of XPath expressions. When +chunking is being applied, for any element that could be a chunk (see +$chunk-include), each expression is evaluated +with that element as the context item. If the effective boolean value +of any expression is true, the element will not become a chunk. +

+

The default value for this parameter is:

+
  |('self::db:partintro',
+  |'self::*[ancestor::db:partintro]',
+  |'self::db:toc')
+
+

In other words partintro, all of the descendants of partintro, +and toc are explicitly excluded from being chunks.

+

The namespaces in $chunk-filter-namespaces will +be in-scope when this expression is evaluated.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk-include.html b/guide/2.2.2/p_chunk-include.html new file mode 100644 index 0000000000..92a90062c6 --- /dev/null +++ b/guide/2.2.2/p_chunk-include.html @@ -0,0 +1,37 @@ +$chunk-include

$chunk-include

$chunk-include — XPath expressions for identifying potential chunks.

Parameter:
{}chunk-include
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk.xsl

Synopsis

  |$chunk-include as xs:string* := ('parent::db:set', 
+  |                                 'parent::db:book', 
+  |                                 'parent::db:part', 
+  |                                 'parent::db:reference', 
+  |                                 'self::db:refentry', 
+  |                                 'self::db:section', 
+  |                                 'self::db:sect1')
+

Description

+ +

This parameter is only relevant when chunking is being +performed, see Section 2.7, ““Chunked” output”. This parameter contains a +list of XPath expressions. When chunking is being applied, for every +element in the document, each expression is evaluated with that +element as the context item. If the effective boolean value of any +expression is true, the element is a candidate for chunking. It will +become a chunk unless $chunk-exclude excludes it +or, in the special case of recursive sections, if it is nested too +deeply.

+

The default value for this parameter is:

+
  |('parent::db:set',
+  |'parent::db:book',
+  |'parent::db:part',
+  |'parent::db:reference',
+  |'self::db:refentry',
+  |'self::db:section',
+  |'self::db:sect1')
+
+

In other words all of the direct children of set, +book, part, reference will become +chunks (the special case of info is automatically +excluded); refentry, section, +and sect1 become chunks anywhere +they appear. In the case of recursive sections, +$chunk-section-depth also applies.

+

The namespaces in $chunk-filter-namespaces will +be in-scope when this expression is evaluated.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk-nav-js.html b/guide/2.2.2/p_chunk-nav-js.html new file mode 100644 index 0000000000..9f9752a484 --- /dev/null +++ b/guide/2.2.2/p_chunk-nav-js.html @@ -0,0 +1,6 @@ +$chunk-nav-js

$chunk-nav-js

$chunk-nav-js — Script to support keyboard navigation.

Parameter:
{}chunk-nav-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$chunk-nav-js as xs:string := 'js/chunk-nav.js'
+

Description

+ +

If chunk navigation is enabled, this script is added to each chunk to +support keyboard navigation.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk-nav.html b/guide/2.2.2/p_chunk-nav.html new file mode 100644 index 0000000000..7869f25ed2 --- /dev/null +++ b/guide/2.2.2/p_chunk-nav.html @@ -0,0 +1,23 @@ +$chunk-nav

$chunk-nav

$chunk-nav — Add keyboard navigation to chunks?

Parameter:
{}chunk-nav
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$chunk-nav as xs:string := 'true'
+

Description

+ +

If $chunk-nav + is true, +keyboard navigation will be added to chunked output. This is accomplished by +adding the $chunk-nav-js script to the generated HTML. +

+
Table 1Default keyboard navigation keys
KeyNavigation
+ N or + Next sibling
+ P or + Previous sibling
+ U + Parent
+ H or Home + Home
+

Notes:

+
  1. The used to be a shortcut +for “parent”, like U, but that breaks the ability to +navigate up and down the page with the arrow keys. It was removed in +version 2.0.3.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk-output-base-uri.html b/guide/2.2.2/p_chunk-output-base-uri.html new file mode 100644 index 0000000000..2c2a46f82b --- /dev/null +++ b/guide/2.2.2/p_chunk-output-base-uri.html @@ -0,0 +1,33 @@ +$chunk-output-base-uri

$chunk-output-base-uri

$chunk-output-base-uri — Output base URI for chunks.

Parameter:
{}chunk-output-base-uri
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

   |<xsl:param
+   |           name="chunk-output-base-uri"
+   |           as="xs:string">
+   |   <xsl:choose>
+   |      <xsl:when test="not($v:chunk)"><!-- it doesn't actually matter -->
+   |         <xsl:sequence select="''"/>
+   |      </xsl:when>
+   |      <xsl:when use-when="function-available('ext:cwd')" test="true()">
+   |         <xsl:sequence select="ext:cwd()"/>
+   |      </xsl:when>
+   |      <xsl:otherwise>
+   |         <xsl:message terminate="yes" select="'You must specify the $chunk-output-base-uri'"/>
+   |      </xsl:otherwise>
+   |   </xsl:choose>
+   |</xsl:param>
+

Description

+ +

This parameter identifies the output directory where “chunks” +will be stored. If the stylesheet is not producing +chunked results (see Section 2.7, ““Chunked” output”), this parameter has no effect.

+

If the ext:cwd() extension function (see +Section 2.6, “Extension functions”) is available, its value will be the default +value for this parameter. If the extension isn’t available, you must +provide a value for this parameter. +

+
Important

If you’re using the stylesheets from Maven, the static-base-uri() +will be something like https://cdn.docbook.org/release/… +and resolving the current working directory against that won’t be useful. It’s +better in those cases to specify the parameter explicitly with a file: +URI. (And note that it may need to be a file:/path URI, not a +file:///path URI, in order to match correctly.) +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk-renumber-footnotes.html b/guide/2.2.2/p_chunk-renumber-footnotes.html new file mode 100644 index 0000000000..5451ad5bcf --- /dev/null +++ b/guide/2.2.2/p_chunk-renumber-footnotes.html @@ -0,0 +1,7 @@ +$chunk-renumber-footnotes

$chunk-renumber-footnotes

$chunk-renumber-footnotes — Renumber footnotes when chunking?

Parameter:
{}chunk-renumber-footnotes
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$chunk-renumber-footnotes := 'true'
+

Description

+ +

If this parameter is true, footnotes +will be renumbered within chunks. See $v:chunk-renumber-footnotes. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk-section-depth.html b/guide/2.2.2/p_chunk-section-depth.html new file mode 100644 index 0000000000..2cdb6df1f0 --- /dev/null +++ b/guide/2.2.2/p_chunk-section-depth.html @@ -0,0 +1,16 @@ +$chunk-section-depth

$chunk-section-depth

$chunk-section-depth — Returns the chunking depth for recursive sections.

Parameter:
{}chunk-section-depth
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk.xsl

Synopsis

  |$chunk-section-depth := 1
+

Description

+ +

This parameter is only relevant when chunking is being performed, +see Section 2.7, ““Chunked” output”. +For recursive sections (section, +and refsection), if the section would be a chunk +according to $chunk-include, it is further tested against +$chunk-section-depth. If it is nested more deeply than +$chunk-section-depth, it will not be considered for chunking. +

+
Note

In principle, this parameter is unnecessary as it could be represented +by $chunk-exclude expressions. However, +changing the section depth is a common customization, so it’s handled +as a separate parameter.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_chunk.html b/guide/2.2.2/p_chunk.html new file mode 100644 index 0000000000..e66bac6574 --- /dev/null +++ b/guide/2.2.2/p_chunk.html @@ -0,0 +1,8 @@ +$chunk

$chunk

$chunk — Produce chunked output?

Parameter:
{}chunk
Defined in:
param.xsl
Used in:
main.xsl, param.xsl, modules/variable.xsl, modules/chunk-cleanup.xsl
Used by:

Synopsis

  |$chunk as xs:string? := ()
+

Description

+ +

Specifying any value for this parameter turns on “chunking”, see +Section 2.7, ““Chunked” output”. The value of the parameter is taken as the filename +for the root chunk, unless some other mechanism identifies an alternate value. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_classsynopsis-indent.html b/guide/2.2.2/p_classsynopsis-indent.html new file mode 100644 index 0000000000..df9093ee09 --- /dev/null +++ b/guide/2.2.2/p_classsynopsis-indent.html @@ -0,0 +1,6 @@ +$classsynopsis-indent

$classsynopsis-indent

$classsynopsis-indent — Indent for classsynopsis members.

Parameter:
{}classsynopsis-indent
Defined in:
param.xsl
Used in:
param.xsl, modules/programming.xsl

Synopsis

  |$classsynopsis-indent := '  '
+

Description

+ +

Elements inside a class synopsis (field and method declarations, for example) +will be indented by this amount.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_component-numbers-inherit.html b/guide/2.2.2/p_component-numbers-inherit.html new file mode 100644 index 0000000000..f90455b156 --- /dev/null +++ b/guide/2.2.2/p_component-numbers-inherit.html @@ -0,0 +1,5 @@ +$component-numbers-inherit

$component-numbers-inherit

$component-numbers-inherit — Include component labels in section labels?

Synopsis

  |$component-numbers-inherit as xs:string := 'false'
+

Description

+ +

This parameter is no longer used. See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_component-numbers.html b/guide/2.2.2/p_component-numbers.html new file mode 100644 index 0000000000..2520c85d68 --- /dev/null +++ b/guide/2.2.2/p_component-numbers.html @@ -0,0 +1,9 @@ +$component-numbers

$component-numbers

$component-numbers — Are components numbered?

Parameter:
{}component-numbers
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$component-numbers as xs:string := 'true'
+

Description

+ +

If $component-numbers + is true, +components (chapters, appendixes, etc.) that do not have +an explicit label will be labeled with their component number.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_components-inherit-from.html b/guide/2.2.2/p_components-inherit-from.html new file mode 100644 index 0000000000..eeea06b3f8 --- /dev/null +++ b/guide/2.2.2/p_components-inherit-from.html @@ -0,0 +1,7 @@ +$components-inherit-from

$components-inherit-from

$components-inherit-from — Identifies what inherited numeration applies to components.

Parameter:
{}components-inherit-from
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$components-inherit-from as xs:string := ''
+

Description

+ +

If component numbers inherit from their ancestors, these are the ancestors they +inherit from.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_components-number-from.html b/guide/2.2.2/p_components-number-from.html new file mode 100644 index 0000000000..d68ca531fc --- /dev/null +++ b/guide/2.2.2/p_components-number-from.html @@ -0,0 +1,15 @@ +$components-number-from

$components-number-from

$components-number-from — Identifies where component numeration begins.

Parameter:
{}components-number-from
Defined in:
param.xsl
Used in:
param.xsl, modules/numbers.xsl

Synopsis

  |$components-number-from as xs:string := 'book'
+

Description

+ +

Component numbers (if components are numbered) begin from here.

+

See Section 3.6, “Controlling numeration”.

+
+ root +

Components are numbered from the beginning of the document.

+ set +

Components are numbered from their nearest ancestor set.

+ book +

Components are numbered from their nearest ancestor book.

+ division +

Components are numbered from their parent division.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_control-js.html b/guide/2.2.2/p_control-js.html new file mode 100644 index 0000000000..77643b5fe0 --- /dev/null +++ b/guide/2.2.2/p_control-js.html @@ -0,0 +1,7 @@ +$control-js

$control-js

$control-js — Script to support theme selection.

Parameter:
{}control-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$control-js as xs:string := 'js/controls.js'
+

Description

+ +

If the $theme-picker is enabled, a link to +this script will be added to the document. This script must contain the JavaScript +necessary to support the theme controls.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_copy-verbatim-js.html b/guide/2.2.2/p_copy-verbatim-js.html new file mode 100644 index 0000000000..ec9c905bc2 --- /dev/null +++ b/guide/2.2.2/p_copy-verbatim-js.html @@ -0,0 +1,6 @@ +$copy-verbatim-js

$copy-verbatim-js

$copy-verbatim-js — Script to support dynamic copy button on verbatim listings.

Parameter:
{}copy-verbatim-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$copy-verbatim-js := 'js/copy-verbatim.js'
+

Description

+ +

This script creates a dynamic “copy-to-clipboard” button on verbatim listings. +The copied text will not include any callouts or other decorations in the listing.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_copyright-collapse-years.html b/guide/2.2.2/p_copyright-collapse-years.html new file mode 100644 index 0000000000..a3217d1bfa --- /dev/null +++ b/guide/2.2.2/p_copyright-collapse-years.html @@ -0,0 +1,19 @@ +$copyright-collapse-years
\ No newline at end of file diff --git a/guide/2.2.2/p_copyright-year-range-separator.html b/guide/2.2.2/p_copyright-year-range-separator.html new file mode 100644 index 0000000000..3c1ff0cde9 --- /dev/null +++ b/guide/2.2.2/p_copyright-year-range-separator.html @@ -0,0 +1,8 @@ +$copyright-year-range-separator
\ No newline at end of file diff --git a/guide/2.2.2/p_copyright-year-separator.html b/guide/2.2.2/p_copyright-year-separator.html new file mode 100644 index 0000000000..aa2f050ab6 --- /dev/null +++ b/guide/2.2.2/p_copyright-year-separator.html @@ -0,0 +1,8 @@ +$copyright-year-separator
\ No newline at end of file diff --git a/guide/2.2.2/p_date-date-format.html b/guide/2.2.2/p_date-date-format.html new file mode 100644 index 0000000000..1435049775 --- /dev/null +++ b/guide/2.2.2/p_date-date-format.html @@ -0,0 +1,14 @@ +$date-date-format

$date-date-format, $date-dateTime-format

$date-date-format, $date-dateTime-format — Format strings for dates and dateTimes.

Parameter:
{}date-date-format
{}date-dateTime-format
Defined in:
param.xsl (2)
Used in:
param.xsl, modules/functions.xsl, modules/info.xsl, modules/inlines.xsl

Synopsis

  |$date-date-format := '[D01] [MNn,*-3] [Y0001]'
+
  |$date-dateTime-format := '[H01]:[m01] [D01] [MNn,*-3] [Y0001]'
+

Description

+ +

The most convenient format for storing dates that will be +machine processed: sorted, indexed, etc, is ISO 8601. When publishing these dates, it’s often +desirable to use a different format, one more familiar to readers.

+

A pubdate that conforms to an ISO 8601 date (“yyyy-mm-dd”) +will be formatted with the $date-date-format; +one that conforms to an ISO 8601 dateTime (“yyyy-mm-ddThh:mm:ss”) +will be formatted with the $date-dateTime-format. +

+

See also f:date-format().

+
\ No newline at end of file diff --git a/guide/2.2.2/p_dc-metadata.html b/guide/2.2.2/p_dc-metadata.html new file mode 100644 index 0000000000..bd52bd87b1 --- /dev/null +++ b/guide/2.2.2/p_dc-metadata.html @@ -0,0 +1,10 @@ +$dc-metadata

$dc-metadata

$dc-metadata — Output Dublin Core metadata?

Parameter:
{}dc-metadata
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$dc-metadata as xs:string := 'true'
+

Description

+ +

If this parameter is true, the +head element +of each result document will contain +meta elements +for Dublin Core metadata that can be derived from the source +document.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_debug.html b/guide/2.2.2/p_debug.html new file mode 100644 index 0000000000..d066f02302 --- /dev/null +++ b/guide/2.2.2/p_debug.html @@ -0,0 +1,102 @@ +$debug

$debug

$debug — Debugging flags.

Parameter:
{}debug
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl
Used by:
Static:
Yes

Synopsis

  |$debug as xs:string := ''
+

Description

+ +

The $debug parameter contains a space +separated list of flags. Depending on which flags are enabled, various additional +debugging messages will be emitted during processing.

+

The following flags are supported:

+
+ callouts +

Display additional information about callout processing. +

+ cals-align-char +

Display additional information about the computation of character alignment +processing in CALS tables. +

+ chunk-cleanup +

Display additional information about chunk cleanup processing. +

+ chunks +

Display additional information about chunk selection. +

+ db4to5 +

Display additional information about the DocBook 4.x to 5.x upgrade process. +

+ dynamic-profile +

Display additional information about +dynamic profiling. +

+ dynamic-profile-suppress +

Display additional information about what elements are suppressed by +dynamic profiling. +

+ image-properties +

Display additional information about the results of the extracting +properties from images. This will display all of the properties available from +each image. +

+ image-markup +

Display the markup generated for media objects. +

+ intermediate-results +

Output the resolved names of intermediate result documents +($transformed-docbook-input +and $transformed-docbook-output) if they are used. +

+ intra-chunk-links +

Display additional information about the resolution of intra-chunk references. +to links. +

+ intra-chunk-refs +

Display additional information about intra-chunk references. +

+ mediaobject-uris +

Display additional information about how media object URIs are constructed. +

+ linkbase +

Display additional information about how XLink linkbases are resolved. +

+ localization +

Display additional information about localization data. +

+ numeration +

Display additional information about how elements are numbered (in titles, in cross references, etc.) +

+ objects +

Display additional information about how media objects are selected. +

+ pipeline +

Display additional information about the pipeline processing stages. +

+ profile +

Display additional information about profiling. +

+ profile-suppress +

Display additional information about what elements are suppressed by +profiling.

+ properties +

Display additional information about the properties associated +with a verbatim environment. +

+ render-verbatim +

Display additional information about how verbatim environments are rendered. +

+ tables +

Display additional information about how tables are rendered. +

+ template-matches +

Display additional information about how title page templates are selected. +

+ templates +

Display additional information about title page templates. +

+ templates-matches +

Display the title page template that matched for a particular element. +

+ verbatim +

Display additional information about how verbatim elements are processed. +

+ xlink +

Display additional information about XLink resolution. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_default-float-style.html b/guide/2.2.2/p_default-float-style.html new file mode 100644 index 0000000000..b406bab48f --- /dev/null +++ b/guide/2.2.2/p_default-float-style.html @@ -0,0 +1,16 @@ +$default-float-style

$default-float-style

$default-float-style — Default float style.

Parameter:
{}default-float-style
Defined in:
param.xsl
Used in:
param.xsl, modules/attributes.xsl

Synopsis

  |$default-float-style := 'left'
+

Description

+ +

The floatstyle attribute on formal objects +(figure, etc.) indicates that they should float. This is +achieved by adding the float style as a class value in the HTML +output. If the value of floatstyle is +“float”, then the +$default-float-style will be applied. In other +words, the CSS classes will be “float left” (as long +as $default-float-style is “left”). +If any other value is given for floatstyle, then +the CSS classes will be “float + value”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_default-language.html b/guide/2.2.2/p_default-language.html new file mode 100644 index 0000000000..4c5e5c1628 --- /dev/null +++ b/guide/2.2.2/p_default-language.html @@ -0,0 +1,15 @@ +$default-language

$default-language

$default-language — Default language.

Parameter:
{}default-language
Defined in:
param.xsl
Used in:
param.xsl, modules/gentext.xsl, modules/functions.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$default-language := 'en'
+

Description

+ +

If the stylesheets need to generate text (the names of labels +such as “Chapter”, for example), they attempt to do so in the same +language as the document. This is determined by finding the nearast +in-scope xml:lang attribute from the context where the +generated text is required. +

+

If there is no in-scope xml:lang attribute, +or if there is no localization available for the language +specified, +the +$default-language is used instead.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_default-length-magnitude.html b/guide/2.2.2/p_default-length-magnitude.html new file mode 100644 index 0000000000..ae7102f800 --- /dev/null +++ b/guide/2.2.2/p_default-length-magnitude.html @@ -0,0 +1,8 @@ +$default-length-magnitude

$default-length-magnitude, $default-length-unit

$default-length-magnitude, $default-length-unit — The magnitude and units of the default length.

Parameter:
{}default-length-magnitude
{}default-length-unit
Defined in:
param.xsl (2)
Used in:
param.xsl, modules/units.xsl

Synopsis

  |$default-length-magnitude := 25.0
+
  |$default-length-unit := '%'
+

Description

+ +

If the stylesheet encounters a length that it cannot parse, the default +magnitude and unit are used for that length. See Section 5.2, “Lengths and units”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_default-theme.html b/guide/2.2.2/p_default-theme.html new file mode 100644 index 0000000000..f39651844a --- /dev/null +++ b/guide/2.2.2/p_default-theme.html @@ -0,0 +1,12 @@ +$default-theme

$default-theme

$default-theme — Default theme.

Parameter:
{}default-theme
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$default-theme as xs:string := ''
+

Description

+ +

If a $default-theme is specified, its +value will be added to the class attribute on the +html element(s) +generated. The actual theme implementation is performed in CSS. +See $theme-list for a list of themes. You can add +your own themes with custom CSS (with m:html-head-links mode, for +example). +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_division-numbers-inherit.html b/guide/2.2.2/p_division-numbers-inherit.html new file mode 100644 index 0000000000..03caf22611 --- /dev/null +++ b/guide/2.2.2/p_division-numbers-inherit.html @@ -0,0 +1,5 @@ +$division-numbers-inherit

$division-numbers-inherit

$division-numbers-inherit — Include division labels in component labels?

Synopsis

  |$division-numbers-inherit as xs:string := 'false'
+

Description

+ +

This parameter is no longer used. See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_division-numbers.html b/guide/2.2.2/p_division-numbers.html new file mode 100644 index 0000000000..aa0295b257 --- /dev/null +++ b/guide/2.2.2/p_division-numbers.html @@ -0,0 +1,10 @@ +$division-numbers

$division-numbers

$division-numbers — Are divisions numbered?

Parameter:
{}division-numbers
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$division-numbers as xs:string := 'true'
+

Description

+ +

If $division-numbers + is true, +divisions (books, parts, references, etc.) that do not have +an explicit label will be labeled with their division number.

+

See also +$v:title-properties.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_divisions-inherit-from.html b/guide/2.2.2/p_divisions-inherit-from.html new file mode 100644 index 0000000000..f31c4a6453 --- /dev/null +++ b/guide/2.2.2/p_divisions-inherit-from.html @@ -0,0 +1,7 @@ +$divisions-inherit-from

$divisions-inherit-from

$divisions-inherit-from — Identifies what inherited numeration applies to divisions.

Parameter:
{}divisions-inherit-from
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$divisions-inherit-from as xs:string := ''
+

Description

+ +

If division numbers inherit from their ancestors, these are the ancestors they +inherit from.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_divisions-number-from.html b/guide/2.2.2/p_divisions-number-from.html new file mode 100644 index 0000000000..c70ab9bef2 --- /dev/null +++ b/guide/2.2.2/p_divisions-number-from.html @@ -0,0 +1,13 @@ +$divisions-number-from

$divisions-number-from

$divisions-number-from — Identifies where division numeration begins.

Parameter:
{}divisions-number-from
Defined in:
param.xsl
Used in:
param.xsl, modules/numbers.xsl

Synopsis

  |$divisions-number-from as xs:string := 'book'
+

Description

+ +

Divisions numbers (if divisions are numbered) begin from here.

+

See Section 3.6, “Controlling numeration”.

+
+ root +

Divisions are numbered from the beginning of the document.

+ set +

Divisions are numbered from their nearest ancestor set.

+ book +

Divisions are numbered from their parent book.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_docbook-transclusion.html b/guide/2.2.2/p_docbook-transclusion.html new file mode 100644 index 0000000000..f0c007777d --- /dev/null +++ b/guide/2.2.2/p_docbook-transclusion.html @@ -0,0 +1,10 @@ +$docbook-transclusion

$docbook-transclusion

$docbook-transclusion — Enable DocBook transclusion processing.

Parameter:
{}docbook-transclusion
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$docbook-transclusion := 'false'
+

Description

+ +

The $docbook-transclusion controls whether or not +DocBook transclusion processing (see Transclusion) is +performed. The default at present is false because I don’t believe it’s in widespread +use and transclusion processing on large documents can be quite slow. If either +of those conditions change, the default may become true in some future version +of the stylesheets.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_dynamic-profile-error.html b/guide/2.2.2/p_dynamic-profile-error.html new file mode 100644 index 0000000000..9432998be2 --- /dev/null +++ b/guide/2.2.2/p_dynamic-profile-error.html @@ -0,0 +1,19 @@ +$dynamic-profile-error

$dynamic-profile-error

$dynamic-profile-error — How are errors in dynamic profiling handled?

Parameter:
{}dynamic-profile-error
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$dynamic-profile-error := 'ignore'
+

Description

+ +

If an error occurs evaluating a dynamic profiling expression, what should happen? +That depends on the setting of $dynamic-profile-error: +

+
+ ignore +

The error is ignored. This has no effect on whether or not the +element is included.

+ include +

The error is ignored and the expression is considered to have +returned a value of “true”.

+ exclude +

The error is ignored and the expression is considered to have +returned a value of “false”.

+ error +

Raises the dbe:DYNAMIC-PROFILE-EVAL-ERROR exception.

any other value

Raises the dbe:INVALID-DYNAMIC-PROFILE-ERROR exception.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_dynamic-profile-variables.html b/guide/2.2.2/p_dynamic-profile-variables.html new file mode 100644 index 0000000000..0882378707 --- /dev/null +++ b/guide/2.2.2/p_dynamic-profile-variables.html @@ -0,0 +1,7 @@ +$dynamic-profile-variables

$dynamic-profile-variables

$dynamic-profile-variables — Dynamic profiling variables.

Parameter:
{}dynamic-profile-variables
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$dynamic-profile-variables as map(xs:QName, item()*)? := ()
+

Description

+ +

The dynamic profile variables are passed to each of the pre- and +post-processing transformations in addition to the standard +parameters. See Section 5.7, “The pre- and post-processing pipeline”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_dynamic-profiles.html b/guide/2.2.2/p_dynamic-profiles.html new file mode 100644 index 0000000000..80d31b98ae --- /dev/null +++ b/guide/2.2.2/p_dynamic-profiles.html @@ -0,0 +1,6 @@ +$dynamic-profiles

$dynamic-profiles

$dynamic-profiles — Is dynamic profiling enabled?

Parameter:
{}dynamic-profiles
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$dynamic-profiles as xs:string := 'false'
+

Description

+ +

If this parameter is true, dynamic profiling +will be applied to the document. See Section 2.9.4, “Dynamic profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_experimental-pmuj.html b/guide/2.2.2/p_experimental-pmuj.html new file mode 100644 index 0000000000..7fb855e60d --- /dev/null +++ b/guide/2.2.2/p_experimental-pmuj.html @@ -0,0 +1,20 @@ +$experimental-pmuj

$experimental-pmuj

$experimental-pmuj — Insert reverse links.

Parameter:
{}experimental-pmuj
Defined in:
param.xsl
Used in:
param.xsl, modules/xlink.xsl

Synopsis

  |$experimental-pmuj := 'false'
+

Description

+ +

If $experimental-pmuj + is +true, then links will be inserted from link targets back +to link sources. In other words, if clicking on “A” jumps +you to “B”, the stylesheets will add a link at “B” that jumps you back +back to “A”. (Pmuj is jump spelled backwards.) +

+
Caution

This feature is entirely experimental. It may change in +arbitrary ways or it may be abandoned. +

+

Support is limited at the moment to inlines and formal objects +that have title pages. There’s currently no where to insert markup for +every possible element that could be a link target. +

+

Pmuj’s from title pages should probably be inserted in the +heading, not above it, just because the styling would be nicer.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_fallback-js.html b/guide/2.2.2/p_fallback-js.html new file mode 100644 index 0000000000..5697b85bfc --- /dev/null +++ b/guide/2.2.2/p_fallback-js.html @@ -0,0 +1,15 @@ +$fallback-js

$fallback-js

$fallback-js — Script to support audio/video fallback.

Parameter:
{}fallback-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl, modules/objects.xsl

Synopsis

  |$fallback-js := 'js/fallback.js'
+

Description

+ +

Apparently, there’s no declarative way to offer an HTML fallback +message when all of the audio or video sources in a media object are +unusable. Instead, it has to be done with JavaScript.

+

This parameter identifies the JavaScript file to load for this support. +It must define a global function named docbook_object_fallback +that takes the source node as a paramter.

+

To disable fallback, set this parameter to the empty sequence or the +empty string.

+

Place this script in the +head of the document +and do not defer loading it.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_footnote-numeration.html b/guide/2.2.2/p_footnote-numeration.html new file mode 100644 index 0000000000..532af1bc92 --- /dev/null +++ b/guide/2.2.2/p_footnote-numeration.html @@ -0,0 +1,16 @@ +$footnote-numeration

$footnote-numeration

$footnote-numeration — How are footnotes numbered?

Parameter:
{}footnote-numeration
Defined in:
param.xsl
Used in:
param.xsl, modules/footnotes.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$footnote-numeration := ('1')
+

Description

+ +

There are different styles of footnote numeration. This parameter +contains a list of the symbols that should be used. If there could be more +footnotes than symbols in the list, the last symbol in the +list must be a character suitable for formatting numbers. +

+

For example, if the sequence in $footnote-numeration is +“*”, “†”, “a”, then the first footnote will be marked with “*”, +the second with “”, the third with +“a”, the forth with +“b”, and so on.

+

When chunking, footnotes may be renumbered +within each chunk (see $chunk-renumber-footnotes).

+
\ No newline at end of file diff --git a/guide/2.2.2/p_formal-object-title-placement.html b/guide/2.2.2/p_formal-object-title-placement.html new file mode 100644 index 0000000000..1783eb7d54 --- /dev/null +++ b/guide/2.2.2/p_formal-object-title-placement.html @@ -0,0 +1,16 @@ +$formal-object-title-placement

$formal-object-title-placement

$formal-object-title-placement — Specify placement of title on formal elements.

Parameter:
{}formal-object-title-placement
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$formal-object-title-placement := 'after table:before formalgroup:before'
+

Description

+ +

Formal elements are elements with a title that are often +displayed with a caption: figure, table, +example and equation. The +$formal-object-title-placement parameter determines +if the title precedes or follows the element itself.

+

The parameter consists of a series of tokens, “before”, +“after”, or +“element + : + position”. +The named forms (e.g., figure:before) take precedence with +the unnamed form serving as a default for any that don’t have named forms.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_formal-objects-inherit-from.html b/guide/2.2.2/p_formal-objects-inherit-from.html new file mode 100644 index 0000000000..4bb2b17895 --- /dev/null +++ b/guide/2.2.2/p_formal-objects-inherit-from.html @@ -0,0 +1,7 @@ +$formal-objects-inherit-from

$formal-objects-inherit-from

$formal-objects-inherit-from — Identifies what inherited numeration applies to formal-objects.

Parameter:
{}formal-objects-inherit-from
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$formal-objects-inherit-from as xs:string := 'component'
+

Description

+ +

If formal object numbers inherit from their ancestors, these are the ancestors they +inherit from.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_formal-objects-number-from.html b/guide/2.2.2/p_formal-objects-number-from.html new file mode 100644 index 0000000000..5c708efa50 --- /dev/null +++ b/guide/2.2.2/p_formal-objects-number-from.html @@ -0,0 +1,19 @@ +$formal-objects-number-from

$formal-objects-number-from

$formal-objects-number-from — Identifies where formal-object numeration begins.

Parameter:
{}formal-objects-number-from
Defined in:
param.xsl
Used in:
param.xsl, modules/numbers.xsl

Synopsis

  |$formal-objects-number-from as xs:string := 'component'
+

Description

+ +

Formal object numbers (if formal objects are numbered) begin from here.

+

See Section 3.6, “Controlling numeration”.

+
+ root +

Formal objects are numbered from the beginning of the document.

+ set +

Formal objects are numbered from their nearest ancestor set.

+ book +

Formal objects are numbered from their nearest ancestor book.

+ division +

Formal objects are numbered from their nearest ancestor division.

+ component +

Formal objects are numbered from their nearest ancestor component.

+ section +

Formal objects are numbered from their parent section.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_formalgroup-nested-object-title-placement.html b/guide/2.2.2/p_formalgroup-nested-object-title-placement.html new file mode 100644 index 0000000000..2ff505a600 --- /dev/null +++ b/guide/2.2.2/p_formalgroup-nested-object-title-placement.html @@ -0,0 +1,12 @@ +$formalgroup-nested-object-title-placement

$formalgroup-nested-object-title-placement

$formalgroup-nested-object-title-placement — Specify placement of title on formal elements inside formalgroup + .

Parameter:
{}formalgroup-nested-object-title-placement
Defined in:
param.xsl
Used in:
param.xsl
Since:
2.0.13

Synopsis

  |$formalgroup-nested-object-title-placement := 'after'
+

Description

+ +

The $formal-object-title-placement parameter +controls how formal object titles are displayed generally. The +$formalgroup-nested-object-title-placement parameter +specifies how formal object titles are displayed when the +formal object is inside a formalgroup. It has the same format +as $formal-object-title-placement. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_funcsynopsis-default-style.html b/guide/2.2.2/p_funcsynopsis-default-style.html new file mode 100644 index 0000000000..4a9c2aceed --- /dev/null +++ b/guide/2.2.2/p_funcsynopsis-default-style.html @@ -0,0 +1,7 @@ +$funcsynopsis-default-style

$funcsynopsis-default-style

$funcsynopsis-default-style — Default style for function synopses.

Parameter:
{}funcsynopsis-default-style
Defined in:
param.xsl
Used in:
param.xsl, modules/programming.xsl

Synopsis

  |$funcsynopsis-default-style := 'kr'
+

Description

+ +

The funcsynopsis element can be rendered in several +styles. The $funcsynopsis-default-style +parameter determines which style is used by default.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_funcsynopsis-table-threshold.html b/guide/2.2.2/p_funcsynopsis-table-threshold.html new file mode 100644 index 0000000000..67dfb0f2d7 --- /dev/null +++ b/guide/2.2.2/p_funcsynopsis-table-threshold.html @@ -0,0 +1,10 @@ +$funcsynopsis-table-threshold

$funcsynopsis-table-threshold

$funcsynopsis-table-threshold — Maximium width of a function synopsis.

Parameter:
{}funcsynopsis-table-threshold
Defined in:
param.xsl
Used in:
param.xsl, modules/programming.xsl

Synopsis

  |$funcsynopsis-table-threshold := 40
+

Description

+ +

When rendering funcsynopsis elements, the width of the synopsis depends on +the number of parameters and the lengths of their names and types. If the width of the +funcsynopsis would exceed $funcsynopsis-table-threshold characters, +the presentation switches from an inline style to a tabular style. +The tabular style aligns the parameters up vertically after the function name. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_funcsynopsis-trailing-punctuation.html b/guide/2.2.2/p_funcsynopsis-trailing-punctuation.html new file mode 100644 index 0000000000..90b55f29d9 --- /dev/null +++ b/guide/2.2.2/p_funcsynopsis-trailing-punctuation.html @@ -0,0 +1,8 @@ +$funcsynopsis-trailing-punctuation

$funcsynopsis-trailing-punctuation

$funcsynopsis-trailing-punctuation — Trailing punctuation in function synopses.

Parameter:
{}funcsynopsis-trailing-punctuation
Defined in:
param.xsl
Used in:
param.xsl, modules/programming.xsl

Synopsis

  |$funcsynopsis-trailing-punctuation := ';'
+

Description

+ +

This punctuation character is added after the end of a +funcsynopisis. The default value of “;” is appropriate for +C and other languages that use “;” as statement separator. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generate-html-page.html b/guide/2.2.2/p_generate-html-page.html new file mode 100644 index 0000000000..2371910a64 --- /dev/null +++ b/guide/2.2.2/p_generate-html-page.html @@ -0,0 +1,13 @@ +$generate-html-page

$generate-html-page

$generate-html-page — Generate the HTML page structure around the styled document.

Parameter:
{}generate-html-page
Defined in:
param.xsl
Used in:
docbook.xsl, param.xsl
Used by:

Synopsis

  |$generate-html-page as xs:string := 'true'
+

Description

+ +

If this parameter is true, then a +complete HTML page will be generated for the transformed document: an +html tag, head and body tags, etc. If +it’s false, then only the “raw” transformed content will be +produced. This is true for both the primary output and any secondary result documents.

+
Note

When the “raw” output option is selected, links to the CSS +stylesheets, scripts, and other interactive features will not be +generated. You must make sure those are provided in some other way. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generate-index.html b/guide/2.2.2/p_generate-index.html new file mode 100644 index 0000000000..2ac7481455 --- /dev/null +++ b/guide/2.2.2/p_generate-index.html @@ -0,0 +1,8 @@ +$generate-index

$generate-index

$generate-index — Automatically generate an index?

Parameter:
{}generate-index
Defined in:
param.xsl
Used in:
param.xsl, modules/index.xsl

Synopsis

  |$generate-index := 'true'
+

Description

+ +

If a document contains an empty setindex, index, or +indexdiv, and $generate-index + is true, then an index will automatically be generated +from any indexterms found in the document.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generate-nested-toc.html b/guide/2.2.2/p_generate-nested-toc.html new file mode 100644 index 0000000000..9fd33c32ce --- /dev/null +++ b/guide/2.2.2/p_generate-nested-toc.html @@ -0,0 +1,7 @@ +$generate-nested-toc

$generate-nested-toc

$generate-nested-toc — Determines if subsubections appear in the table of contents.

Synopsis

  |$generate-nested-toc as xs:string := 'not(f:section(.)) 
+  |                                     or (f:section(.) and f:section-depth(.) le $vp:section-toc-depth)'
+

Description

+ +

This parameter is no longer used. Instead, you can control the elements +that appear in a table of contents with the m:toc-nested mode.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generate-toc.html b/guide/2.2.2/p_generate-toc.html new file mode 100644 index 0000000000..885c2a1b98 --- /dev/null +++ b/guide/2.2.2/p_generate-toc.html @@ -0,0 +1,8 @@ +$generate-toc

$generate-toc

$generate-toc — Generate a table-of-contents?

Synopsis

  |$generate-toc as xs:string := '(empty(parent::*) and self::db:article) 
+  |                              or self::db:set or self::db:book 
+  |                              or self::db:part or self::db:reference'
+

Description

+ +

This parameter is no longer used. Instead, you can control the elements +that contain a table of contents with the m:toc mode.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generate-trivial-toc.html b/guide/2.2.2/p_generate-trivial-toc.html new file mode 100644 index 0000000000..24853abe8c --- /dev/null +++ b/guide/2.2.2/p_generate-trivial-toc.html @@ -0,0 +1,11 @@ +$generate-trivial-toc

$generate-trivial-toc

$generate-trivial-toc — Generate a trivial table-of-contents?

Parameter:
{}generate-trivial-toc
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl

Synopsis

  |$generate-trivial-toc as xs:string := 'false'
+

Description

+ +

If the $generate-trivial-toc parameter +is true, a table of contents will be generated even if it +consists of only a single entry. Otherwise, such “trivial” tables of contents will be elided.

+

This +parameter applies only to top-level tables of contents. Nested tables +of contents will be generated even if they consist of only a single +entry.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generated-id-root.html b/guide/2.2.2/p_generated-id-root.html new file mode 100644 index 0000000000..25b92e72ad --- /dev/null +++ b/guide/2.2.2/p_generated-id-root.html @@ -0,0 +1,9 @@ +$generated-id-root

$generated-id-root

$generated-id-root — The string generated as the unique identifier for the root of the tree.

Parameter:
{}generated-id-root
Defined in:
param.xsl
Used in:
param.xsl, modules/functions.xsl

Synopsis

  |$generated-id-root := 'R'
+

Description

+ +

When f:generate-id() is constructing a unique +identifier for an element, it walks up the ancestors of that element. If it reaches +the root of the tree, it uses $generated-id-root to mark that +location. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generated-id-sep.html b/guide/2.2.2/p_generated-id-sep.html new file mode 100644 index 0000000000..9812f2a1fd --- /dev/null +++ b/guide/2.2.2/p_generated-id-sep.html @@ -0,0 +1,15 @@ +$generated-id-sep

$generated-id-sep

$generated-id-sep — The string generated to separate parts of a unique identifier.

Parameter:
{}generated-id-sep
Defined in:
param.xsl
Used in:
param.xsl, modules/functions.xsl

Synopsis

  |$generated-id-sep := '_'
+

Description

+ +

When f:generate-id() is constructing a unique +identifier for an element, it walks up the ancestors of that element. +To make the identifiers easier to read, and to disambiguate values, it +places $generated-id-sep between each component +that it uses. +

+
Note

Historically, a “.” was used as the separator. However, if +JavaScript is going to be used to process the HTML documents that the +stylesheet produces, that may be inconvenient. (Because selectors use +“.” to separate element names from class values.) +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_generator-metadata.html b/guide/2.2.2/p_generator-metadata.html new file mode 100644 index 0000000000..0d412e9fac --- /dev/null +++ b/guide/2.2.2/p_generator-metadata.html @@ -0,0 +1,10 @@ +$generator-metadata

$generator-metadata

$generator-metadata — Output generator metadata?

Parameter:
{}generator-metadata
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$generator-metadata as xs:string := 'true'
+

Description

+ +

If this parameter is true, the +head element +of each result document will contain a +meta element +with the name generator that identifies the +stylesheet and processor used to produce the result.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_gentext-language.html b/guide/2.2.2/p_gentext-language.html new file mode 100644 index 0000000000..6f7ee72981 --- /dev/null +++ b/guide/2.2.2/p_gentext-language.html @@ -0,0 +1,9 @@ +$gentext-language

$gentext-language

$gentext-language — Specifies language for generated text.

Parameter:
{}gentext-language
Defined in:
param.xsl
Used in:
param.xsl, modules/gentext.xsl, modules/functions.xsl

Synopsis

  |$gentext-language := ()
+

Description

+ +

The language used for generated text (words “Chapter” +and “Figure”, for example) usually depends on the language of the (section of) +the document where they appear. If $gentext-language is +specified, that language will be used for all generated text, regardless of +the context.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_glossary-automatic-divisions.html b/guide/2.2.2/p_glossary-automatic-divisions.html new file mode 100644 index 0000000000..befa2e3ed5 --- /dev/null +++ b/guide/2.2.2/p_glossary-automatic-divisions.html @@ -0,0 +1,20 @@ +$glossary-automatic-divisions

$glossary-automatic-divisions

$glossary-automatic-divisions — Divide glossaries into sections?

Parameter:
{}glossary-automatic-divisions
Defined in:
param.xsl
Used in:
param.xsl, modules/glossary.xsl

Synopsis

  |$glossary-automatic-divisions := 'false'
+

Description

+ +

If $glossary-automatic-divisions + is true, +the entries in an automatically constructed glossary will be grouped. The actual grouping +is performed by the t:glossary-divisions template. This parameter is +false by default for backwards compatibility. +

+

Automatic divisions can be specified on a per-glossary basis with a +db processing instruction + using the glossary-divisions + +pseudo-attribute with a value of true or false.

+

This parameter only applies if +$glossary-sort-entries + is true and the glossary +is not already grouped with glossdiv elements by hand. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_glossary-collection.html b/guide/2.2.2/p_glossary-collection.html new file mode 100644 index 0000000000..d40ae65b67 --- /dev/null +++ b/guide/2.2.2/p_glossary-collection.html @@ -0,0 +1,26 @@ +$glossary-collection

$glossary-collection

$glossary-collection — An external collection of glossary entries.

Parameter:
{}glossary-collection
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$glossary-collection as xs:string := ''
+

Description

+ +

It’s often convenient to share a common glossary +across many documents. If +$glossary-collection points to a +glossary, the stylesheets will automatically populate glossary +entries in the document being transformed.

+

To achieve this:

+
  1. Create a shared glossary and store it somewhere.

  2. In the document you’re transforming, add an empty glossary with +@role='auto'.

  3. Run your +transformation with $glossary-collection set +to the URI of that document. +

+

The stylesheets will copy referenced entries into your document before processing it.

+

You may specify per-document glossary collections with the +db + processing instruction using the +glossary-collection + pseudo-attribute. This must appear in the root element of +your main document. If per-document glossary collections are provided, +they are processed in the order provided before the global +collection.

+

If multiple definitions for the same term appear in a glossary collection, only +the first term is used.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_glossary-sort-entries.html b/guide/2.2.2/p_glossary-sort-entries.html new file mode 100644 index 0000000000..a1346044e5 --- /dev/null +++ b/guide/2.2.2/p_glossary-sort-entries.html @@ -0,0 +1,10 @@ +$glossary-sort-entries

$glossary-sort-entries

$glossary-sort-entries — Sort glossaries?

Parameter:
{}glossary-sort-entries
Defined in:
param.xsl
Used in:
param.xsl, modules/glossary.xsl

Synopsis

  |$glossary-sort-entries := 'true'
+

Description

+ +

If $glossary-sort-entries + is true, the entries in a +glossary or glosslist will be sorted before transformation. +This saves the author from the burden of maintaining the list in a strictly +alphabetic order. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_html-extension.html b/guide/2.2.2/p_html-extension.html new file mode 100644 index 0000000000..ee34171d19 --- /dev/null +++ b/guide/2.2.2/p_html-extension.html @@ -0,0 +1,6 @@ +$html-extension

$html-extension

$html-extension — The extension used for HTML output when chunking.

Parameter:
{}html-extension
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk.xsl

Synopsis

  |$html-extension := '.html'
+

Description

+ +

When using chunking (see Section 2.7, ““Chunked” output”), the resulting +HTML documents will have this extension by default.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_image-ignore-scaling.html b/guide/2.2.2/p_image-ignore-scaling.html new file mode 100644 index 0000000000..82ea76c4aa --- /dev/null +++ b/guide/2.2.2/p_image-ignore-scaling.html @@ -0,0 +1,6 @@ +$image-ignore-scaling

$image-ignore-scaling

$image-ignore-scaling — Ignore scaling?

Parameter:
{}image-ignore-scaling
Defined in:
param.xsl
Used in:
param.xsl, modules/objects.xsl

Synopsis

  |$image-ignore-scaling as xs:boolean := false()
+

Description

+ +

If this parameter is true, all of the scaling attributes on +images are ignored. Images will be displayed at their intrinsic size.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_image-nominal-height.html b/guide/2.2.2/p_image-nominal-height.html new file mode 100644 index 0000000000..924291e29b --- /dev/null +++ b/guide/2.2.2/p_image-nominal-height.html @@ -0,0 +1,7 @@ +$image-nominal-height

$image-nominal-height

$image-nominal-height — Nominal height of an image.

Parameter:
{}image-nominal-height
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$image-nominal-height := '4in'
+

Description

+ +

If the extension functions necessary to determine the intrinsic height +of an image are unavailable, or if the height cannot be determined, this value +will be used as the assumed intrinsic height of the image.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_image-nominal-width.html b/guide/2.2.2/p_image-nominal-width.html new file mode 100644 index 0000000000..5ef64fcfa3 --- /dev/null +++ b/guide/2.2.2/p_image-nominal-width.html @@ -0,0 +1,7 @@ +$image-nominal-width

$image-nominal-width

$image-nominal-width — Nominal width of an image.

Parameter:
{}image-nominal-width
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$image-nominal-width := $nominal-page-width
+

Description

+ +

If the extension functions necessary to determine the intrinsic width +of an image are unavailable, or if the width cannot be determined, this value +will be used as the assumed intrinsic width of the image.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_image-property-warning.html b/guide/2.2.2/p_image-property-warning.html new file mode 100644 index 0000000000..1cfc78b7f5 --- /dev/null +++ b/guide/2.2.2/p_image-property-warning.html @@ -0,0 +1,8 @@ +$image-property-warning

$image-property-warning

$image-property-warning — Warn if image properties cannot be obtained?

Parameter:
{}image-property-warning
Defined in:
param.xsl
Used in:
param.xsl, modules/objects.xsl

Synopsis

  |$image-property-warning := true()
+

Description

+ +

This flag controls whether or not an +xsl:message is emitted when +the ext:image-properties() extension function is unavailable. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_index-on-type.html b/guide/2.2.2/p_index-on-type.html new file mode 100644 index 0000000000..d60730bc67 --- /dev/null +++ b/guide/2.2.2/p_index-on-type.html @@ -0,0 +1,15 @@ +$index-on-type

$index-on-role, $index-on-type

$index-on-type, $index-on-role — Make distinct indexes based on role and type?

Parameter:
{}index-on-type
{}index-on-role
Defined in:
param.xsl (2)
Used in:
param.xsl, modules/index.xsl

Synopsis

  |$index-on-type := 'true'
+
  |$index-on-role := 'true'
+

Description

+ +

DocBook supports the creation of different types of index. A book +that documents an API might have a general index, for example, and also an +index of functions, an index of variables, etc.

+

Typed indexes are created by specifying the index type in the +type or role attribute. If +$index-on-type is true, then separate indexes +will be generated based on type values. If +$index-on-role is true, then separate indexes +will be generated based on role values. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_index-show-entries.html b/guide/2.2.2/p_index-show-entries.html new file mode 100644 index 0000000000..215c01f2da --- /dev/null +++ b/guide/2.2.2/p_index-show-entries.html @@ -0,0 +1,7 @@ +$index-show-entries

$index-show-entries

$index-show-entries — Make index entries visible in the text?

Parameter:
{}index-show-entries
Defined in:
param.xsl
Used in:
param.xsl, modules/index.xsl

Synopsis

  |$index-show-entries := ()
+

Description

+ +

If this value is non-empty, small markers will be left in the text +where indexterm elements appear. This is probably not appropriate for +final publication, but it can be a useful way to review the level of indexing.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_indexed-section-groups.html b/guide/2.2.2/p_indexed-section-groups.html new file mode 100644 index 0000000000..f329639d08 --- /dev/null +++ b/guide/2.2.2/p_indexed-section-groups.html @@ -0,0 +1,12 @@ +$indexed-section-groups

$indexed-section-groups

$indexed-section-groups — Generate index entries grouped by section.

Parameter:
{}indexed-section-groups
Defined in:
param.xsl
Used in:
param.xsl, modules/index.xsl

Synopsis

  |$indexed-section-groups := 'true'
+

Description

+ +

Before the introduction of this parameter, an automatically generated index +contained only one index entry for any given section. +If the $indexed-section-groups parameter +is true, an index entry will be generated for every +indexterm, with a +span surrounding all +of the entries for each section. This results in a more complete index while +still preserving the ability to see in which sections the terms occur.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_inline-xlink-href.html b/guide/2.2.2/p_inline-xlink-href.html new file mode 100644 index 0000000000..0c27e1bcfe --- /dev/null +++ b/guide/2.2.2/p_inline-xlink-href.html @@ -0,0 +1,9 @@ +$inline-xlink-href
\ No newline at end of file diff --git a/guide/2.2.2/p_lists-of-equations.html b/guide/2.2.2/p_lists-of-equations.html new file mode 100644 index 0000000000..38501a3d53 --- /dev/null +++ b/guide/2.2.2/p_lists-of-equations.html @@ -0,0 +1,9 @@ +$lists-of-equations

$lists-of-equations

$lists-of-equations — Generate a list of equations?

Parameter:
{}lists-of-equations
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl

Synopsis

  |$lists-of-equations as xs:string := 'false'
+

Description

+ +

If true, a list of equations will be generated. By default, they are only +generated for books and sets.

+

This is a pseudo-boolean parameter. It is considered true if it +has the value '1’, ‘yes’, or ‘true’. Any other value is considered false. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_lists-of-examples.html b/guide/2.2.2/p_lists-of-examples.html new file mode 100644 index 0000000000..31d128ed35 --- /dev/null +++ b/guide/2.2.2/p_lists-of-examples.html @@ -0,0 +1,9 @@ +$lists-of-examples

$lists-of-examples

$lists-of-examples — Generate a list of examples?

Parameter:
{}lists-of-examples
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl

Synopsis

  |$lists-of-examples as xs:string := 'true'
+

Description

+ +

If true, a list of examples will be generated. By default, they are only +generated for books and sets.

+

This is a pseudo-boolean parameter. It is considered true if it +has the value '1’, ‘yes’, or ‘true’. Any other value is considered false. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_lists-of-figures.html b/guide/2.2.2/p_lists-of-figures.html new file mode 100644 index 0000000000..557181051c --- /dev/null +++ b/guide/2.2.2/p_lists-of-figures.html @@ -0,0 +1,9 @@ +$lists-of-figures

$lists-of-figures

$lists-of-figures — Generate a list of figures?

Parameter:
{}lists-of-figures
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl

Synopsis

  |$lists-of-figures as xs:string := 'true'
+

Description

+ +

If true, a list of figures will be generated. By default, they are only +generated for books and sets.

+

This is a pseudo-boolean parameter. It is considered true if it +has the value '1’, ‘yes’, or ‘true’. Any other value is considered false. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_lists-of-procedures.html b/guide/2.2.2/p_lists-of-procedures.html new file mode 100644 index 0000000000..280244893e --- /dev/null +++ b/guide/2.2.2/p_lists-of-procedures.html @@ -0,0 +1,9 @@ +$lists-of-procedures

$lists-of-procedures

$lists-of-procedures — Generate a list of figures?

Parameter:
{}lists-of-procedures
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl

Synopsis

  |$lists-of-procedures as xs:string := 'false'
+

Description

+ +

If true, a list of procedures will be generated. By default, they are only +generated for books and sets.

+

This is a pseudo-boolean parameter. It is considered true if it +has the value '1’, ‘yes’, or ‘true’. Any other value is considered false. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_lists-of-tables.html b/guide/2.2.2/p_lists-of-tables.html new file mode 100644 index 0000000000..04b5126d79 --- /dev/null +++ b/guide/2.2.2/p_lists-of-tables.html @@ -0,0 +1,9 @@ +$lists-of-tables

$lists-of-tables

$lists-of-tables — Generate a list of tables?

Parameter:
{}lists-of-tables
Defined in:
param.xsl
Used in:
param.xsl, modules/toc.xsl

Synopsis

  |$lists-of-tables as xs:string := 'true'
+

Description

+ +

If true, a list of tables will be generated. By default, they are only +generated for books and sets.

+

This is a pseudo-boolean parameter. It is considered true if it +has the value '1’, ‘yes’, or ‘true’. Any other value is considered false. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_local-conventions.html b/guide/2.2.2/p_local-conventions.html new file mode 100644 index 0000000000..8b031f9ea0 --- /dev/null +++ b/guide/2.2.2/p_local-conventions.html @@ -0,0 +1,55 @@ +$local-conventions

$local-conventions

$local-conventions — Transformation for local conventions.

Parameter:
{}local-conventions
Defined in:
param.xsl
Used in:
docbook.xsl, param.xsl

Synopsis

  |$local-conventions as xs:string? := ()
+

Description

+ +

This parameter allows you to specify a tranformation for local +markup conventions. This book uses several non-DocBook tagging +conventions as a typing convenience, +<att> for <tag class="attribute">, +for example. These can be translated back into proper DocBook markup +by the $local-conventions stylesheet. This +stylesheet is run during the $v:standard-transforms, +just before validation +(see $relax-ng-grammar).

+

For example, the test suite stylesheet +that transforms pseudo-DocBook elements “att” and +“mode” into valid DocBook markup looks like this:

+
   |            <?xml version="1.0" encoding="utf-8"?>
+   |<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   |                xmlns="http://docbook.org/ns/docbook"
+   |                xmlns:db="http://docbook.org/ns/docbook"
+   |                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+   |                exclude-result-prefixes="db xs"
+   |                version="3.0">
+   | 
+   |<xsl:template match="db:att">
+   |  <tag class="attribute">
+   |    <xsl:copy-of select="@* except @class"/>
+   |    <xsl:apply-templates/>
+   |  </tag>
+   |</xsl:template>
+   | 
+   |<xsl:template match="db:mode">
+   |  <code role="{string-join(
+   |                distinct-values((@role/string(), 'mode')),
+   |                ' ')}">
+   |    <xsl:copy-of select="@* except @role"/>
+   |    <xsl:apply-templates/>
+   |  </code>
+   |</xsl:template>
+   | 
+   |<xsl:template match="element()">
+   |  <xsl:copy>
+   |    <xsl:apply-templates select="@*,node()"/>
+   |  </xsl:copy>
+   |</xsl:template>
+   | 
+   |<xsl:template match="attribute()|text()|comment()
+   |                     |processing-instruction()">
+   |  <xsl:copy/>
+   |</xsl:template>
+   | 
+   |</xsl:stylesheet>
+   | 
+   |         
+
+
\ No newline at end of file diff --git a/guide/2.2.2/p_mathml-js.html b/guide/2.2.2/p_mathml-js.html new file mode 100644 index 0000000000..6dc8f81bc4 --- /dev/null +++ b/guide/2.2.2/p_mathml-js.html @@ -0,0 +1,7 @@ +$mathml-js

$mathml-js

$mathml-js — JavaScript library supporting MathML.

Parameter:
{}mathml-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$mathml-js := 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=MML_CHTML'
+

Description

+ +

If your documents use MathML, this library will be included to support +MathML rendering. MathJax is a popular choice. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-accessibility.html b/guide/2.2.2/p_mediaobject-accessibility.html new file mode 100644 index 0000000000..549ef5be4e --- /dev/null +++ b/guide/2.2.2/p_mediaobject-accessibility.html @@ -0,0 +1,52 @@ +$mediaobject-accessibility

$mediaobject-accessibility

$mediaobject-accessibility — Accessibility settings for media objects.

Parameter:
{}mediaobject-accessibility
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$mediaobject-accessibility as xs:string := 'summary details'
+

Description

+ +

The $mediaobject-accessibility parameter +determines how accessibility features are added to media objects +(image, video, and audio elements).

+

The value of this parameter is a space-separated list of strings. If the list +contains:

+
summary

A summary attribute will be added if there is an +alt element or a textobject containing a single +phrase is available.

details

A details element will be added to the div +that surrounds the image if there is +a textobject containing anything other than a single +phrase available.

a11y-metadata

Metadata will be provided using the conventions described +in EPUB Accessibility. +

+

The list may contain either or both values. If other values are present, +they are ignored.

+

See Example 1, “An example of media object accessibility”.

+
   |<mediaobject>
+   |   <alt>This is a skeuomorphic “postage stamp” with the
+   |DocBook logo.</alt>
+   |   <imageobject>
+   |      <imagedata fileref="media/stamp400x256.png"/>
+   |   </imageobject>
+   |   <textobject>
+   |      <para>This is a skeuomorphic image of a “postage
+   |stamp.” Centrally, it features the DocBook wood
+   |duck logo. the word “DocBook” appears on the left
+   |hand side, rotated 90° counter-clockwise. The
+   |DocBook tag line, “The Source for Documentation”
+   |is printed in the upper-right corner.
+   |</para>
+   |   </textobject>
+   |</mediaobject>
+
Example 1An example of media object accessibility
+

One possible rendering of such an example:

+ +

This is a skeuomorphic image of a “postage +stamp.” Centrally, it features the DocBook wood +duck logo. the word “DocBook” appears on the left +hand side, rotated 90° counter-clockwise. The +DocBook tag line, “The Source for Documentation” +is printed in the upper-right corner. +

This is a skeuomorphic “postage stamp” with the DocBook logo.
+

Inspection of the HTML will reveal that the summary attribute +is present on the div that wraps the figure and a +details element precedes the image. These may or may not be +rendered by your user agent depending on its accessibility features and +settings.

+

See also $table-accessibility.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-details-placement.html b/guide/2.2.2/p_mediaobject-details-placement.html new file mode 100644 index 0000000000..725344fb23 --- /dev/null +++ b/guide/2.2.2/p_mediaobject-details-placement.html @@ -0,0 +1,13 @@ +$mediaobject-details-placement

$mediaobject-details-placement

$mediaobject-details-placement — Specify placement of details on media objects.

Parameter:
{}mediaobject-details-placement
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl
Since:
2.0.13

Synopsis

  |$mediaobject-details-placement := 'before'
+

Description

+ +

If a details element is generated for a media object, this parameter +determines if it goes before or after the object.

+

The parameter consists of a series of tokens, “before”, +“after”, or +“element + : + position”. +The named forms (e.g., figure:before) take precedence with +the unnamed form serving as a default for any that don’t have named forms.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-exclude-extensions.html b/guide/2.2.2/p_mediaobject-exclude-extensions.html new file mode 100644 index 0000000000..321c481c92 --- /dev/null +++ b/guide/2.2.2/p_mediaobject-exclude-extensions.html @@ -0,0 +1,20 @@ +$mediaobject-exclude-extensions

$mediaobject-exclude-extensions

$mediaobject-exclude-extensions — Exclude media objects by extension.

Parameter:
{}mediaobject-exclude-extensions
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$mediaobject-exclude-extensions as xs:string := ".eps .ps .pdf"
+

Description

+ +

The mediaobject element (and inlinemediaobject) +can contain several, alternative objects. The +$mediaobject-exclude-extensions parameter provides +a way to exclude some of them. +

+

One common use case is to provide two versions of each image, +one as a bitmap, perhaps a +PNG + , +and another as a vector, perhaps an +EPS + . Then +$mediaobject-exclude-extensions can be used to exclude +“.eps” images from the web format and “.png” images from the print (or paged media) +format. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-grouped-by-type.html b/guide/2.2.2/p_mediaobject-grouped-by-type.html new file mode 100644 index 0000000000..750919090a --- /dev/null +++ b/guide/2.2.2/p_mediaobject-grouped-by-type.html @@ -0,0 +1,13 @@ +$mediaobject-grouped-by-type

$mediaobject-grouped-by-type

$mediaobject-grouped-by-type — Are media grouped by type?

Parameter:
{}mediaobject-grouped-by-type
Defined in:
param.xsl
Used in:
param.xsl, modules/objects.xsl
Since:
2.0.8

Synopsis

  |$mediaobject-grouped-by-type as xs:string := 'false'
+

Description

+ +

If $mediaobject-grouped-by-type + is true, +an extra directory level is implicit in the input path. Images are grouped +by type, so image.png is assumed to be in + + $mediaobject-input-base-uri/png/image.png. +

+

The f:mediaobject-amend-uri() function adds the type, +which is computed by f:mediaobject-type().

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-input-base-uri.html b/guide/2.2.2/p_mediaobject-input-base-uri.html new file mode 100644 index 0000000000..c7363e303d --- /dev/null +++ b/guide/2.2.2/p_mediaobject-input-base-uri.html @@ -0,0 +1,17 @@ +$mediaobject-input-base-uri

$mediaobject-input-base-uri

$mediaobject-input-base-uri — Base URI of images and other media in the XML sources.

Parameter:
{}mediaobject-input-base-uri
Defined in:
param.xsl
Used in:
param.xsl, modules/objects.xsl

Synopsis

  |$mediaobject-input-base-uri as xs:string? := ()
+

Description

+ +

Computing the correct URI for media objects (images, videos, +audio files, etc.) is complicated. See Section 5.4.1, “Mediaobject URIs”. +The $mediaobject-input-base-uri is used to compute +the absolute base URI of input media objects. +

+

If the “cwd” extension function is +available, then the default value of this parameter is the current working +directory. Otherwise, the default value is the empty string.

+

The current working directory is only likely to be a useful value for +this parameter if you are running the processor in the same directory where +your XML source files are stored. +See $v:mediaobject-input-base-uri. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-output-base-uri.html b/guide/2.2.2/p_mediaobject-output-base-uri.html new file mode 100644 index 0000000000..2737dc5c7e --- /dev/null +++ b/guide/2.2.2/p_mediaobject-output-base-uri.html @@ -0,0 +1,12 @@ +$mediaobject-output-base-uri

$mediaobject-output-base-uri

$mediaobject-output-base-uri — Base URI of images and other media in the output.

Parameter:
{}mediaobject-output-base-uri
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$mediaobject-output-base-uri as xs:string? := ()
+

Description

+ +

Computing the correct URI for media objects (images, videos, +audio files, etc.) is complicated. See Section 5.4.1, “Mediaobject URIs”. +The $mediaobject-output-base-uri is used to compute +the base URI of media objects in the output. +

+

It defaults to the empty string. +See $v:mediaobject-output-base-uri. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-output-paths.html b/guide/2.2.2/p_mediaobject-output-paths.html new file mode 100644 index 0000000000..9e8750bda9 --- /dev/null +++ b/guide/2.2.2/p_mediaobject-output-paths.html @@ -0,0 +1,5 @@ +$mediaobject-output-paths

$mediaobject-output-paths

$mediaobject-output-paths — Preserve input mediaobject paths in output.

Parameter:
{}mediaobject-output-paths
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$mediaobject-output-paths as xs:string := 'true'
+

Description

+ +

FIXME:

+
\ No newline at end of file diff --git a/guide/2.2.2/p_mediaobject-video-element.html b/guide/2.2.2/p_mediaobject-video-element.html new file mode 100644 index 0000000000..a81b8641bc --- /dev/null +++ b/guide/2.2.2/p_mediaobject-video-element.html @@ -0,0 +1,25 @@ +$mediaobject-video-element

$mediaobject-video-element

$mediaobject-video-element — Use the video element?

Parameter:
{}mediaobject-video-element
Defined in:
param.xsl
Used in:
param.xsl, modules/objects.xsl

Synopsis

  |$mediaobject-video-element as xs:string := 'video'
+

Description

+ +

This element identifies the element to use for video content. +The default starting in version 1.11.0 is +video where it +had previously been +iframe.

+

Video is a bit complicated, the +video element works best +for local video sources but won’t work for embedding content from other sites. +If all of your content is embedded, specifying +iframe here will +be simplest.

+

If you need a mixture, of styles, it can be specified on a per-video +basis with the +db + processing instruction using the +video + pseudo-attribute. +

+
Note

The only supported values are iframe and +video; you cannot use this parameter or the processing +instruction to insert arbitrary element names.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_message-level.html b/guide/2.2.2/p_message-level.html new file mode 100644 index 0000000000..f9f57f2cb9 --- /dev/null +++ b/guide/2.2.2/p_message-level.html @@ -0,0 +1,18 @@ +$message-level

$message-level

$message-level — How chatty should status messages be?

Parameter:
{}message-level
Defined in:
param.xsl
Used in:
param.xsl, modules/verbatim.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$message-level as xs:integer := 1
+

Description

+ +

Broadly speaking, there are three kinds of messages that the +stylesheets produce: debugging messages, status messages, and errors. +Debugging messages are controled by the $debug +parameter. Error messages cause stylesheet processing to abort. Status +messages fall somewhere in between. They alert you to facts about your +document that you might want to fix, for example, broken cross references. +If you ignore them, the stylesheets will produce some output.

+

Previously, status messages were always printed. This parameter +has been introduced to provide more control. If +$message-level is 0, most status messages will +be suppressed. A value greater than 0 will cause some or all status +messages to be printed. (At the time of this writing, all messages are +at level 1, but it’s possible that more detailed messaging will be +introduced in the future.)

+
\ No newline at end of file diff --git a/guide/2.2.2/p_nominal-page-width.html b/guide/2.2.2/p_nominal-page-width.html new file mode 100644 index 0000000000..dd2880231b --- /dev/null +++ b/guide/2.2.2/p_nominal-page-width.html @@ -0,0 +1,8 @@ +$nominal-page-width

$nominal-page-width

$nominal-page-width — The nominal page width.

Parameter:
{}nominal-page-width
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$nominal-page-width := '6in'
+

Description

+ +

To calculate the width of the columns in some complex CALS +tables, the stylesheets need to know the page width. The +$nominal-page-width is used for this +value.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_number-single-appendix.html b/guide/2.2.2/p_number-single-appendix.html new file mode 100644 index 0000000000..b4db8827e1 --- /dev/null +++ b/guide/2.2.2/p_number-single-appendix.html @@ -0,0 +1,10 @@ +$number-single-appendix

$number-single-appendix

$number-single-appendix — Number a single appendix?

Parameter:
{}number-single-appendix
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$number-single-appendix := 'true'
+

Description

+ +

If a book (or other element) has several appendixes, they will +be numbered, usually “A”, “B”, “C”, etc. If there is only a single appendix, +it will be numbered if $number-single-appendix + is true. Otherwise, it will be unnumbered.

+

This can be used to create the numbered title “Appendix” for a +single appendix.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_olink-databases.html b/guide/2.2.2/p_olink-databases.html new file mode 100644 index 0000000000..1ad33e906b --- /dev/null +++ b/guide/2.2.2/p_olink-databases.html @@ -0,0 +1,7 @@ +$olink-databases
\ No newline at end of file diff --git a/guide/2.2.2/p_orderedlist-item-numeration.html b/guide/2.2.2/p_orderedlist-item-numeration.html new file mode 100644 index 0000000000..4107992e6b --- /dev/null +++ b/guide/2.2.2/p_orderedlist-item-numeration.html @@ -0,0 +1,16 @@ +$orderedlist-item-numeration

$orderedlist-item-numeration

$orderedlist-item-numeration — Numeration for nested ordered lists.

Parameter:
{}orderedlist-item-numeration
Defined in:
param.xsl
Used in:
param.xsl, modules/functions.xsl

Synopsis

  |$orderedlist-item-numeration := '1aiAI'
+

Description

+ +

The $orderedlist-item-numeration parameter +controls the numeration style of nested orderedlist elements. +Items in the top-level list will use the numeration style of the first character +in $orderedlist-item-numeration, items in the second-level +list will use the numeration style of the second character in the string, etc. +If the list depth exceeds the number of characters in +the $orderedlist-item-numeration, selection “wraps back around” +to the first character.

+

In other words, if the string is “1ai”: +list items at the first, fourth, seventh, tenth, etc. depth will have arabic numeration. +List items at the second, fifth, eight, eleventh, etc. depth will have lowercase alpha +numeration, etc.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_othername-in-middle.html b/guide/2.2.2/p_othername-in-middle.html new file mode 100644 index 0000000000..0cde6170da --- /dev/null +++ b/guide/2.2.2/p_othername-in-middle.html @@ -0,0 +1,7 @@ +$othername-in-middle

$othername-in-middle

$othername-in-middle — Treat othername as a middle name.

Parameter:
{}othername-in-middle
Defined in:
param.xsl
Used in:
param.xsl, modules/info.xsl

Synopsis

  |$othername-in-middle := 'true'
+

Description

+ +

If $othername-in-middle is true, then +the first othername in a personname will be presented +as the person’s “middle” name. See t:person-name.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_output-media.html b/guide/2.2.2/p_output-media.html new file mode 100644 index 0000000000..8e1ebbf2a8 --- /dev/null +++ b/guide/2.2.2/p_output-media.html @@ -0,0 +1,8 @@ +$output-media

$output-media

$output-media — The intended output media.

Parameter:
{}output-media
Defined in:
main.xsl, param.xsl
Used in:
param.xsl, modules/head.xsl, modules/functions.xsl

Synopsis

  |$output-media := 'screen'
+

Description

+ +

The $output-media parameter +identifies the intended output medium, screen or +print. It can be used to make conditional +transformations.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_oxy-markup.html b/guide/2.2.2/p_oxy-markup.html new file mode 100644 index 0000000000..f9774a591e --- /dev/null +++ b/guide/2.2.2/p_oxy-markup.html @@ -0,0 +1,17 @@ +$oxy-markup

$oxy-markup

$oxy-markup — Is Oxygen change tracking markup rendered?

Parameter:
{}oxy-markup
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$oxy-markup := 'false'
+

Description

+ +

If $oxy-markup is true, then +the change tracking processing instructions that Oxygen inserts into +the document will be transformed into elements marked with CSS classes +for rendering in the output. +

+

Rendering Oxygen change markup can be specified on a document-by-document +basis with a db + processing instruction. +If the oxy-markup + +pseudo-attribute is true, the markup will be rendered. +This processing instruction must be in the info element of the document +element.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_page-style.html b/guide/2.2.2/p_page-style.html new file mode 100644 index 0000000000..e2fdd0e384 --- /dev/null +++ b/guide/2.2.2/p_page-style.html @@ -0,0 +1,14 @@ +$page-style

$page-style

$page-style — Select the page style.

Parameter:
{}page-style
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$page-style as xs:string := 'article'
+

Description

+ +

This value selects the page style. The page style is reflected +in the class attribute on the root +html element. +It is then used by the CSS stylesheets. +A page style of “value” will be added to +the class attribute as “value-style”.

+

The CSS print stylesheets support two styles: +article and book. The book style +places new components on a right-hand page and adjusts the inner margin +for binding.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_pagetoc-dynamic.html b/guide/2.2.2/p_pagetoc-dynamic.html new file mode 100644 index 0000000000..7cbe7a4f2b --- /dev/null +++ b/guide/2.2.2/p_pagetoc-dynamic.html @@ -0,0 +1,25 @@ +$pagetoc-dynamic

$pagetoc-dynamic

$pagetoc-dynamic — Make the on-page ToC dynamic?

Parameter:
{}pagetoc-dynamic
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$pagetoc-dynamic := 'true'
+

Description

+ +

If this value is true, and the on-page +ToC is displayed, then it will be updated dynamically to reflect the +readers position. This has two consequences. First, the section titles +that are currently in view will be highlighted. The default +highlighting is to make them a little darker and place a bullet next +to them. The highlighting can be changed with CSS. Second, a clickable +symbol is added in the upper left corner. This lets the reader toggle +between dynamic, non-dynamic, and hidden views.

+

If the on-page ToC is not dynamic, then no highlighting is performed.

+

The clickable symbols can be changed as well, but it requires adding +a bit more JavaScript to the page. Ensure that your code runs first and set the +following properties:

+
1 |window.DocBook = {};
+  |window.DocBook.pagetoc = {};
+  |window.DocBook.pagetoc.decorated = "ON";
+  |window.DocBook.pagetoc.plain = "OFF";
+5 |window.DocBook.pagetoc.hidden = "HIDDEN";
+
+

The values can be strings or markup, such as an +img element. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_pagetoc-elements.html b/guide/2.2.2/p_pagetoc-elements.html new file mode 100644 index 0000000000..0a43d597e0 --- /dev/null +++ b/guide/2.2.2/p_pagetoc-elements.html @@ -0,0 +1,7 @@ +$pagetoc-elements

$pagetoc-elements

$pagetoc-elements — Elements that should have an on-page ToC.

Parameter:
{}pagetoc-elements
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$pagetoc-elements := ''
+

Description

+ +

This parameter is a space-separated list of element names (local names). +An on-page ToC will be generated for +elements with these names.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_pagetoc-js.html b/guide/2.2.2/p_pagetoc-js.html new file mode 100644 index 0000000000..4387a39279 --- /dev/null +++ b/guide/2.2.2/p_pagetoc-js.html @@ -0,0 +1,7 @@ +$pagetoc-js

$pagetoc-js

$pagetoc-js — Script to support the on-page ToC.

Parameter:
{}pagetoc-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$pagetoc-js := 'js/pagetoc.js'
+

Description

+ +

If the on-page ToC is enabled, a link to this script will be +added to the document. This script must contain the JavaScript +necessary to support the on-page ToC feature.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_paper-size.html b/guide/2.2.2/p_paper-size.html new file mode 100644 index 0000000000..bd79dabb11 --- /dev/null +++ b/guide/2.2.2/p_paper-size.html @@ -0,0 +1,12 @@ +$paper-size

$paper-size

$paper-size — Select the paper style.

Parameter:
{}paper-size
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$paper-size as xs:string? := ()
+

Description

+ +

This value selects the paper size. The paper size is reflected +in the class attribute on the root +html element. +It is then used by the CSS stylesheets.

+

The CSS print stylesheets support three page sizes: +A4, A5, and (US) +Letter. Additional sizes can be implemented +in CSS.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_persistent-toc-css.html b/guide/2.2.2/p_persistent-toc-css.html new file mode 100644 index 0000000000..1d86fc9c51 --- /dev/null +++ b/guide/2.2.2/p_persistent-toc-css.html @@ -0,0 +1,6 @@ +$persistent-toc-css

$persistent-toc-css

$persistent-toc-css — Persistent ToC CSS.

Parameter:
{}persistent-toc-css
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$persistent-toc-css := 'css/docbook-toc.css'
+

Description

+ +

If the persistent ToC popup is enabled, a link to this +CSS file will be added to the HTML HEAD.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_persistent-toc-filename.html b/guide/2.2.2/p_persistent-toc-filename.html new file mode 100644 index 0000000000..7c6890d9a7 --- /dev/null +++ b/guide/2.2.2/p_persistent-toc-filename.html @@ -0,0 +1,11 @@ +$persistent-toc-filename

$persistent-toc-filename

$persistent-toc-filename — Name of file that holds the persistent ToC.

Parameter:
{}persistent-toc-filename
Defined in:
param.xsl
Used in:
param.xsl, modules/chunk-output.xsl
Since:
2.0.2

Synopsis

  |$persistent-toc-filename as xs:string? := 'persistent-toc.html'
+

Description

+ +

When the $persistent-toc parameter +is true, the +persistent ToC will be stored +either in each HTML file, or in a single file that is loaded +dynamically. If $persistent-toc-filename is not empty, +then it will be used as the name for an external file that will be loaded +when the ToC is requested.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_persistent-toc-js.html b/guide/2.2.2/p_persistent-toc-js.html new file mode 100644 index 0000000000..8d7184f1a0 --- /dev/null +++ b/guide/2.2.2/p_persistent-toc-js.html @@ -0,0 +1,7 @@ +$persistent-toc-js

$persistent-toc-js

$persistent-toc-js — Script to support the persistent ToC.

Parameter:
{}persistent-toc-js
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$persistent-toc-js := 'js/persistent-toc.js'
+

Description

+ +

If the persistent ToC is enabled, a link to this script will be +added to the document. This script must contain the JavaScript +necessary to support the persistent ToC feature.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_persistent-toc-search.html b/guide/2.2.2/p_persistent-toc-search.html new file mode 100644 index 0000000000..791c5f8cf4 --- /dev/null +++ b/guide/2.2.2/p_persistent-toc-search.html @@ -0,0 +1,15 @@ +$persistent-toc-search
\ No newline at end of file diff --git a/guide/2.2.2/p_persistent-toc.html b/guide/2.2.2/p_persistent-toc.html new file mode 100644 index 0000000000..64cf3b16b1 --- /dev/null +++ b/guide/2.2.2/p_persistent-toc.html @@ -0,0 +1,6 @@ +$persistent-toc

$persistent-toc

$persistent-toc — Generate a persistent Table of Contents?

Parameter:
{}persistent-toc
Defined in:
param.xsl
Used in:
main.xsl, param.xsl, modules/head.xsl, modules/chunk-cleanup.xsl, modules/chunk-output.xsl

Synopsis

  |$persistent-toc := 'false'
+

Description

+ +

If this value is true, then a +persistent ToC will be generated.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_personal-name-style.html b/guide/2.2.2/p_personal-name-style.html new file mode 100644 index 0000000000..c9749eb1a6 --- /dev/null +++ b/guide/2.2.2/p_personal-name-style.html @@ -0,0 +1,9 @@ +$personal-name-style

$personal-name-style

$personal-name-style — The style for formatting personal names.

Parameter:
{}personal-name-style
Defined in:
param.xsl
Used in:
param.xsl, modules/info.xsl

Synopsis

  |$personal-name-style := ()
+

Description

+ +

The stylesheets can format personal names in a variety of ways. +This is usually locale dependent. If $personal-name-style +is specified, it wil be used in preferance to the locale dependent style. +See +t:person-name.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_pixels-per-inch.html b/guide/2.2.2/p_pixels-per-inch.html new file mode 100644 index 0000000000..cb377ed899 --- /dev/null +++ b/guide/2.2.2/p_pixels-per-inch.html @@ -0,0 +1,8 @@ +$pixels-per-inch

$pixels-per-inch

$pixels-per-inch — The number of pixels per inch.

Parameter:
{}pixels-per-inch
Defined in:
param.xsl
Used in:
param.xsl, modules/units.xsl

Synopsis

  |$pixels-per-inch := 96.0
+

Description

+ +

If the stylesheets need to convert between absolute and +relative units (see Section 5.2, “Lengths and units”), this value is used +to convert lengths into pixels. If $pixels-per-inch has +the value 96, then 25% of a 6in width is 144px.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_presentation-css.html b/guide/2.2.2/p_presentation-css.html new file mode 100644 index 0000000000..42d4e9a009 --- /dev/null +++ b/guide/2.2.2/p_presentation-css.html @@ -0,0 +1,6 @@ +$presentation-css

$presentation-css

$presentation-css — CSS to support presentation mode.

Parameter:
{}presentation-css
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$presentation-css := 'css/presentation.css'
+

Description

+ +

If presentation mode is enabled, a link to this +CSS file will be added to the document.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_presentation-js.html b/guide/2.2.2/p_presentation-js.html new file mode 100644 index 0000000000..053df3e29b --- /dev/null +++ b/guide/2.2.2/p_presentation-js.html @@ -0,0 +1,7 @@ +$presentation-js

$presentation-js

$presentation-js — Script to support presentation mode.

Parameter:
{}presentation-js
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$presentation-js := 'js/presentation.js'
+

Description

+ +

If presentation mode is enabled, a link to +this script will be added to the document. This script must contain the JavaScript +necessary to support the presentation mode features.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_presentation-mode.html b/guide/2.2.2/p_presentation-mode.html new file mode 100644 index 0000000000..c9d0760448 --- /dev/null +++ b/guide/2.2.2/p_presentation-mode.html @@ -0,0 +1,6 @@ +$presentation-mode

$presentation-mode

$presentation-mode — Format the output for use as a presentation?

Parameter:
{}presentation-mode
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl
Since:
2.1.5

Synopsis

  |$presentation-mode := 'false'
+

Description

+ +

If this parameter is true, the +presentation mode CSS and JavaScript links will be included.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_procedure-step-numeration.html b/guide/2.2.2/p_procedure-step-numeration.html new file mode 100644 index 0000000000..69ee987754 --- /dev/null +++ b/guide/2.2.2/p_procedure-step-numeration.html @@ -0,0 +1,16 @@ +$procedure-step-numeration

$procedure-step-numeration

$procedure-step-numeration — Numeration for nested procedure steps.

Parameter:
{}procedure-step-numeration
Defined in:
param.xsl
Used in:
param.xsl, modules/functions.xsl

Synopsis

  |$procedure-step-numeration := '1aiAI'
+

Description

+ +

The $procedure-step-numeration parameter +controls the numeration style of nested steps and substeps in a procedure. +Steps at the top level will use the numeration style of the first character +in $procedure-step-numeration, substeps at the second-level +will use the numeration style of the second character in the string, etc. +If the step depth exceeds the number of characters in +the $procedure-step-numeration, selection “wraps back around” +to the first character.

+

In other words, if the string is “1ai”: +steps at the first, fourth, seventh, tenth, etc. depth will have arabic numeration. +Steps at the second, fifth, eight, eleventh, etc. depth will have lowercase alpha +numeration, etc.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_productionset-lhs-rhs-separator.html b/guide/2.2.2/p_productionset-lhs-rhs-separator.html new file mode 100644 index 0000000000..6c4172e694 --- /dev/null +++ b/guide/2.2.2/p_productionset-lhs-rhs-separator.html @@ -0,0 +1,9 @@ +$productionset-lhs-rhs-separator

$productionset-lhs-rhs-separator

$productionset-lhs-rhs-separator — Separator in productions.

Parameter:
{}productionset-lhs-rhs-separator
Defined in:
param.xsl
Used in:
param.xsl, modules/programming.xsl

Synopsis

  |$productionset-lhs-rhs-separator := ':='
+

Description

+ +

A productionset consists of non-terminals on the +“left hand side” (LHS) and the productions that they expand to on the +“right hand side” (RHS). When formatted, this string will be used as +the separator between the left- and right-hand sides. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-arch.html b/guide/2.2.2/p_profile-arch.html new file mode 100644 index 0000000000..8ef62d87ed --- /dev/null +++ b/guide/2.2.2/p_profile-arch.html @@ -0,0 +1,7 @@ +$profile-arch

$profile-arch

$profile-arch — Profile tokens for “arch”

Parameter:
{}profile-arch
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-arch := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-arch are matched against +the values in the arch attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-audience.html b/guide/2.2.2/p_profile-audience.html new file mode 100644 index 0000000000..ef7932ef7b --- /dev/null +++ b/guide/2.2.2/p_profile-audience.html @@ -0,0 +1,7 @@ +$profile-audience

$profile-audience

$profile-audience — Profile tokens for “audience”

Parameter:
{}profile-audience
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-audience := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-audience are matched against +the values in the audience attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-condition.html b/guide/2.2.2/p_profile-condition.html new file mode 100644 index 0000000000..b13c7c6e7e --- /dev/null +++ b/guide/2.2.2/p_profile-condition.html @@ -0,0 +1,7 @@ +$profile-condition

$profile-condition

$profile-condition — Profile tokens for “condition”

Parameter:
{}profile-condition
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-condition := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-condition are matched against +the values in the condition attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-conformance.html b/guide/2.2.2/p_profile-conformance.html new file mode 100644 index 0000000000..8c26ba8f4a --- /dev/null +++ b/guide/2.2.2/p_profile-conformance.html @@ -0,0 +1,7 @@ +$profile-conformance

$profile-conformance

$profile-conformance — Profile tokens for “conformance”

Parameter:
{}profile-conformance
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-conformance := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-conformance are matched against +the values in the conformance attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-lang.html b/guide/2.2.2/p_profile-lang.html new file mode 100644 index 0000000000..f1e6e286d7 --- /dev/null +++ b/guide/2.2.2/p_profile-lang.html @@ -0,0 +1,7 @@ +$profile-lang

$profile-lang

$profile-lang — Profile tokens for “xml:lang”

Parameter:
{}profile-lang
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-lang := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-lang are matched against +the values in the xml:lang attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-os.html b/guide/2.2.2/p_profile-os.html new file mode 100644 index 0000000000..247efbb7c5 --- /dev/null +++ b/guide/2.2.2/p_profile-os.html @@ -0,0 +1,7 @@ +$profile-os

$profile-os

$profile-os — Profile tokens for “os”

Parameter:
{}profile-os
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-os := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-os are matched against +the values in the os attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-outputformat.html b/guide/2.2.2/p_profile-outputformat.html new file mode 100644 index 0000000000..f3d9d8d2da --- /dev/null +++ b/guide/2.2.2/p_profile-outputformat.html @@ -0,0 +1,7 @@ +$profile-outputformat

$profile-outputformat

$profile-outputformat — Profile tokens for “outputformat”

Parameter:
{}profile-outputformat
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-outputformat := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-outputformat are matched against +the values in the outputformat attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-revision.html b/guide/2.2.2/p_profile-revision.html new file mode 100644 index 0000000000..055e2138d1 --- /dev/null +++ b/guide/2.2.2/p_profile-revision.html @@ -0,0 +1,7 @@ +$profile-revision

$profile-revision

$profile-revision — Profile tokens for “revision”

Parameter:
{}profile-revision
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-revision := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-revision are matched against +the values in the revision attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-revisionflag.html b/guide/2.2.2/p_profile-revisionflag.html new file mode 100644 index 0000000000..e4b72b40db --- /dev/null +++ b/guide/2.2.2/p_profile-revisionflag.html @@ -0,0 +1,7 @@ +$profile-revisionflag

$profile-revisionflag

$profile-revisionflag — Profile tokens for “revisionflag”

Parameter:
{}profile-revisionflag
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-revisionflag := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-revisionflag are matched against +the values in the revisionflag attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-role.html b/guide/2.2.2/p_profile-role.html new file mode 100644 index 0000000000..a523e3ca86 --- /dev/null +++ b/guide/2.2.2/p_profile-role.html @@ -0,0 +1,7 @@ +$profile-role

$profile-role

$profile-role — Profile tokens for “role”

Parameter:
{}profile-role
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-role := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-role are matched against +the values in the role attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-security.html b/guide/2.2.2/p_profile-security.html new file mode 100644 index 0000000000..d5ad0b8605 --- /dev/null +++ b/guide/2.2.2/p_profile-security.html @@ -0,0 +1,7 @@ +$profile-security

$profile-security

$profile-security — Profile tokens for “security”

Parameter:
{}profile-security
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-security := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-security are matched against +the values in the security attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-separator.html b/guide/2.2.2/p_profile-separator.html new file mode 100644 index 0000000000..978c855c29 --- /dev/null +++ b/guide/2.2.2/p_profile-separator.html @@ -0,0 +1,8 @@ +$profile-separator

$profile-separator

$profile-separator — The profile separator character.

Parameter:
{}profile-separator
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-separator := ';'
+

Description

+ +

The profiling parameters (and the profiling attributes) are strings. Profiling +operates on sets of tokens. The strings in each case are divided into tokens by separating them +at the $profile-separator character. Common values for separator include +“;” and “ “ (space). See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-userlevel.html b/guide/2.2.2/p_profile-userlevel.html new file mode 100644 index 0000000000..fff0c6c227 --- /dev/null +++ b/guide/2.2.2/p_profile-userlevel.html @@ -0,0 +1,7 @@ +$profile-userlevel

$profile-userlevel

$profile-userlevel — Profile tokens for “userlevel”

Parameter:
{}profile-userlevel
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-userlevel := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-userlevel are matched against +the values in the userlevel attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-vendor.html b/guide/2.2.2/p_profile-vendor.html new file mode 100644 index 0000000000..b764928d69 --- /dev/null +++ b/guide/2.2.2/p_profile-vendor.html @@ -0,0 +1,7 @@ +$profile-vendor

$profile-vendor

$profile-vendor — Profile tokens for “vendor”

Parameter:
{}profile-vendor
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-vendor := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-vendor are matched against +the values in the vendor attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_profile-wordsize.html b/guide/2.2.2/p_profile-wordsize.html new file mode 100644 index 0000000000..1b4ad217a0 --- /dev/null +++ b/guide/2.2.2/p_profile-wordsize.html @@ -0,0 +1,7 @@ +$profile-wordsize

$profile-wordsize

$profile-wordsize — Profile tokens for “wordsize”

Parameter:
{}profile-wordsize
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$profile-wordsize := ''
+

Description

+ +

The tokens (separated by $profile-separator) +specified for $profile-wordsize are matched against +the values in the wordsize attribute. See Section 2.9, “Effectivity attributes and profiling”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_qandadiv-default-toc.html b/guide/2.2.2/p_qandadiv-default-toc.html new file mode 100644 index 0000000000..73a09ba960 --- /dev/null +++ b/guide/2.2.2/p_qandadiv-default-toc.html @@ -0,0 +1,6 @@ +$qandadiv-default-toc

$qandadiv-default-toc

$qandadiv-default-toc — Generate a table-of-contents for qandadiv elements?

Parameter:
{}qandadiv-default-toc
Defined in:
param.xsl
Used in:
param.xsl, modules/blocks.xsl

Synopsis

  |$qandadiv-default-toc := $qandaset-default-toc
+

Description

+ +

If this parameter is true, by default a table-of-contents will +be generated at the beginning of each qandadiv.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_qandaset-default-label.html b/guide/2.2.2/p_qandaset-default-label.html new file mode 100644 index 0000000000..bb4d672686 --- /dev/null +++ b/guide/2.2.2/p_qandaset-default-label.html @@ -0,0 +1,6 @@ +$qandaset-default-label

$qandaset-default-label

$qandaset-default-label — The default label for qandaset elements.

Parameter:
{}qandaset-default-label
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl, modules/gentext.xsl, modules/xref.xsl

Synopsis

  |$qandaset-default-label := 'number'
+

Description

+ +

Question and answers can be rendered with a few different labeling styles. +This parameter selects the default style.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_qandaset-default-toc.html b/guide/2.2.2/p_qandaset-default-toc.html new file mode 100644 index 0000000000..4b40e9cd76 --- /dev/null +++ b/guide/2.2.2/p_qandaset-default-toc.html @@ -0,0 +1,6 @@ +$qandaset-default-toc

$qandaset-default-toc

$qandaset-default-toc — Generate a table-of-contents for qandaset elements?

Parameter:
{}qandaset-default-toc
Defined in:
param.xsl
Used in:
param.xsl, modules/blocks.xsl

Synopsis

  |$qandaset-default-toc := 'true'
+

Description

+ +

If this parameter is true, by default a table-of-contents will +be generated at the beginning of each qandaset.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_refentry-generate-name.html b/guide/2.2.2/p_refentry-generate-name.html new file mode 100644 index 0000000000..f65e3c2895 --- /dev/null +++ b/guide/2.2.2/p_refentry-generate-name.html @@ -0,0 +1,12 @@ +$refentry-generate-name

$refentry-generate-name

$refentry-generate-name — Use “Name” as the title of a refentry + .

Parameter:
{}refentry-generate-name
Defined in:
param.xsl
Used in:
param.xsl, modules/refentry.xsl

Synopsis

  |$refentry-generate-name := true()
+

Description

+ +

If $refentry-generate-name is true, the +title of the refentry page will be the word “Name”. Otherwise it will +be the title of the subject of the reference page. Generally, exactly one +of $refentry-generate-name or +$refentry-generate-title should +be true. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_refentry-generate-title.html b/guide/2.2.2/p_refentry-generate-title.html new file mode 100644 index 0000000000..39a312d2c4 --- /dev/null +++ b/guide/2.2.2/p_refentry-generate-title.html @@ -0,0 +1,13 @@ +$refentry-generate-title

$refentry-generate-title

$refentry-generate-title — Use the subject of the page as the title of a refentry + .

Parameter:
{}refentry-generate-title
Defined in:
param.xsl
Used in:
param.xsl, modules/refentry.xsl

Synopsis

  |$refentry-generate-title := true()
+

Description

+ +

If $refentry-generate-title is true, the +title of the refentry page will be the subject of the page (the +refentrytitle, refdescriptor, or the first +refname). Generally, exactly one +of $refentry-generate-name or +$refentry-generate-title should +be true. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_relax-ng-grammar.html b/guide/2.2.2/p_relax-ng-grammar.html new file mode 100644 index 0000000000..141ff0eb50 --- /dev/null +++ b/guide/2.2.2/p_relax-ng-grammar.html @@ -0,0 +1,9 @@ +$relax-ng-grammar

$relax-ng-grammar

$relax-ng-grammar — Validation grammar.

Parameter:
{}relax-ng-grammar
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$relax-ng-grammar as xs:string? := ()
+

Description

+ +

If $relax-ng-grammar is provided, then the +$v:standard-transforms will validate the document +against +the provided grammar. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_resource-base-uri.html b/guide/2.2.2/p_resource-base-uri.html new file mode 100644 index 0000000000..5028b9c796 --- /dev/null +++ b/guide/2.2.2/p_resource-base-uri.html @@ -0,0 +1,8 @@ +$resource-base-uri

$resource-base-uri

$resource-base-uri — Base URI of additional resources.

Parameter:
{}resource-base-uri
Defined in:
param.xsl
Used in:
main.xsl, param.xsl, modules/variable.xsl, modules/head.xsl

Synopsis

  |$resource-base-uri := './'
+

Description

+ +

Web pages rely on additional resources (CSS, JavaScript, etc.) to +render properly. The $resource-base-uri is used +as the base URI for these resources. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_revhistory-style.html b/guide/2.2.2/p_revhistory-style.html new file mode 100644 index 0000000000..08debb476e --- /dev/null +++ b/guide/2.2.2/p_revhistory-style.html @@ -0,0 +1,48 @@ +$revhistory-style

$revhistory-style

$revhistory-style — Rendering style for revhistory elements.

Parameter:
{}revhistory-style
Defined in:
param.xsl
Used in:
param.xsl, modules/blocks.xsl

Synopsis

  |$revhistory-style := 'table'
+

Description

+ +

The revhistory element can be rendered as a list or a table. +If $revhistory-style is +“table>”, it will be rendered using the tabular +style, if it is “list”, it will be rendered +using the list style.

+

+ Example 1, “An example of char alignment” shows an example of a revhistory element.

+
   |<revhistory>
+   |<revision>
+   |<revnumber>1.0.0</revnumber>
+   |<date>2020-07-27</date>
+   |<author>
+   |<personname>Norman Tovey-Walsh</personname>
+   |</author>
+   |<revdescription>
+   |<para>Version 1.0.0 released.</para>
+   |</revdescription>
+   |</revision>
+   |<revision>
+   |<revnumber>0.0.1</revnumber>
+   |<date>2020-05-08T06:24:00Z</date>
+   |<author>
+   |<personname>Norman Tovey-Walsh</personname>
+   |</author>
+   |<revremark>Development begins.</revremark>
+   |</revision>
+   |</revhistory>
+
Example 1An example of char alignment
+

It is shown rendered as a table in Figure 1, “An example of revhistory rendered as a table”.

+
Revision History
1.0.027 Jul 2020Norman Tovey-Walsh
+

Version 1.0.0 released.

+
0.0.106:24 08 May 2020Norman Tovey-Walsh

Development begins.

Figure 1An example of revhistory rendered as a table
+

The same revhistory is shown rendered as a list in +Figure 2, “An example of revhistory rendered as a list”.

+
Revision History
  • 1.0.0, 27 Jul 2020, Norman Tovey-Walsh
    +

    Version 1.0.0 released.

    +
  • 0.0.1, 06:24 08 May 2020, Norman Tovey-Walsh

    Development begins.

Figure 2An example of revhistory rendered as a list
+

The default style specified by +$revhistory-style can be overridden on a +case-by-case basis with the +db + processing instruction using the +revhistory-style + pseudo-attribute.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_section-numbers-inherit.html b/guide/2.2.2/p_section-numbers-inherit.html new file mode 100644 index 0000000000..8c71e79f5f --- /dev/null +++ b/guide/2.2.2/p_section-numbers-inherit.html @@ -0,0 +1,5 @@ +$section-numbers-inherit

$section-numbers-inherit

$section-numbers-inherit — Include ancestor section labels?

Synopsis

  |$section-numbers-inherit := 'true'
+

Description

+ +

This parameter is no longer used. See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_section-numbers.html b/guide/2.2.2/p_section-numbers.html new file mode 100644 index 0000000000..d51da997c9 --- /dev/null +++ b/guide/2.2.2/p_section-numbers.html @@ -0,0 +1,9 @@ +$section-numbers

$section-numbers

$section-numbers — Are sections numbered?

Parameter:
{}section-numbers
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$section-numbers as xs:string := 'true'
+

Description

+ +

If $section-numbers + is true, +sections that do not have +an explicit label will be labeled with their section number.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_section-toc-depth.html b/guide/2.2.2/p_section-toc-depth.html new file mode 100644 index 0000000000..8ebe2287e0 --- /dev/null +++ b/guide/2.2.2/p_section-toc-depth.html @@ -0,0 +1,12 @@ +$section-toc-depth

$section-toc-depth

$section-toc-depth — Depth of sections in the table of contents.

Parameter:
{}section-toc-depth
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$section-toc-depth := 'unbounded'
+

Description

+ +

When generating a Table of Contents, the +$section-toc-depth determines the maximum depth +of section to include. See also $generate-toc +and $generate-nested-toc. +

+

The $section-toc-depth should be a positive +integer or the token unbounded to indicate arbitrary +depth.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_sections-inherit-from.html b/guide/2.2.2/p_sections-inherit-from.html new file mode 100644 index 0000000000..072ebdd4aa --- /dev/null +++ b/guide/2.2.2/p_sections-inherit-from.html @@ -0,0 +1,7 @@ +$sections-inherit-from

$sections-inherit-from

$sections-inherit-from — Identifies what inherited numeration applies to sections.

Parameter:
{}sections-inherit-from
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$sections-inherit-from as xs:string := 'section'
+

Description

+ +

If section numbers inherit from their ancestors, these are the ancestors they +inherit from.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_sections-number-from.html b/guide/2.2.2/p_sections-number-from.html new file mode 100644 index 0000000000..b347ef2166 --- /dev/null +++ b/guide/2.2.2/p_sections-number-from.html @@ -0,0 +1,19 @@ +$sections-number-from

$sections-number-from

$sections-number-from — Identifies where (top-level) section numeration begins.

Parameter:
{}sections-number-from
Defined in:
param.xsl
Used in:
param.xsl, modules/numbers.xsl

Synopsis

  |$sections-number-from as xs:string := 'component'
+

Description

+ +

Top-level section numbers (if sections are numbered) begin from here.

+

This parameter only applies to top-level sections. Nested sections are +always numbered sequentially within their parent section.

+

See Section 3.6, “Controlling numeration”.

+
+ root +

Top-level sections are numbered from the beginning of the document.

+ set +

Top-level sections are numbered from their nearest ancestor set.

+ book +

Top-level sections are numbered from their nearest ancestor book.

+ division +

Top-level sections are numbered from their nearest ancestor division.

+ component +

Top-level sections are numbered from their parent component.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_segmentedlist-style.html b/guide/2.2.2/p_segmentedlist-style.html new file mode 100644 index 0000000000..c72d461da1 --- /dev/null +++ b/guide/2.2.2/p_segmentedlist-style.html @@ -0,0 +1,42 @@ +$segmentedlist-style

$segmentedlist-style

$segmentedlist-style — Choose segmented list presentation style.

Parameter:
{}segmentedlist-style
Defined in:
param.xsl
Used in:
param.xsl, modules/lists.xsl

Synopsis

  |$segmentedlist-style := 'table'
+

Description

+ +

Segmented lists can be presented in two different ways: as lists +or tables. The default is determined by +$segmentedlist-style which must be either +“list” or “table”.

+

Consider the following segmentedlist of (some of) the +US states and their capitals:

+
 1 |<segmentedlist>
+   |<segtitle>State</segtitle>
+   |<segtitle>Capital</segtitle>
+   |<seglistitem>
+ 5 |<seg>Alabama</seg>
+   |<seg>Montgomery</seg>
+   |</seglistitem>
+   |<seglistitem>
+   |<seg>Alaska</seg>
+10 |<seg>Anchorage</seg>
+   |</seglistitem>
+   |<seglistitem>
+   |<seg>Arkansas</seg>
+   |<seg>Little Rock</seg>
+15 |</seglistitem>
+   |</segmentedlist>
+
+

This can be rendered as a table, as shown in +Figure 1, “Segmented list formatted as a table”:

+
StateCapital
AlabamaMontgomery
AlaskaAnchorage
ArkansasLittle Rock
Figure 1Segmented list formatted as a table
+

Or as a list, as shown in +Figure 2, “Segmented list formatted as a list”:

+
State: Alabama
Capital: Montgomery
State: Alaska
Capital: Anchorage
State: Arkansas
Capital: Little Rock
Figure 2Segmented list formatted as a list
+

The style can be selected on a per-list basis with the +db + processing instruction using the +segmentedlist-style + pseudo-attribute. +A table-summary + pseudo-attribute is also provided +for the table summary in tabular presentations. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_sets-inherit-from.html b/guide/2.2.2/p_sets-inherit-from.html new file mode 100644 index 0000000000..69a6b678c9 --- /dev/null +++ b/guide/2.2.2/p_sets-inherit-from.html @@ -0,0 +1,7 @@ +$sets-inherit-from

$sets-inherit-from

$sets-inherit-from — Identifies what inherited numeration applies to sets.

Parameter:
{}sets-inherit-from
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$sets-inherit-from as xs:string := ''
+

Description

+ +

If set numbers inherit from their ancestors, these are the ancestors they +inherit from.

+

See Section 3.6, “Controlling numeration”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_sets-number-from.html b/guide/2.2.2/p_sets-number-from.html new file mode 100644 index 0000000000..189e53fe52 --- /dev/null +++ b/guide/2.2.2/p_sets-number-from.html @@ -0,0 +1,11 @@ +$sets-number-from

$sets-number-from

$sets-number-from — Identifies where set numeration begins.

Parameter:
{}sets-number-from
Defined in:
param.xsl
Used in:
param.xsl, modules/numbers.xsl

Synopsis

  |$sets-number-from as xs:string := 'set'
+

Description

+ +

Set numbers (if sets are numbered) begin from here.

+

See Section 3.6, “Controlling numeration”.

+
+ root +

Sets are numbered from the beginning of the document.

+ set +

Sets are numbered from their parent set.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_show-remarks.html b/guide/2.2.2/p_show-remarks.html new file mode 100644 index 0000000000..92d5d7f8b5 --- /dev/null +++ b/guide/2.2.2/p_show-remarks.html @@ -0,0 +1,10 @@ +$show-remarks

$show-remarks

$show-remarks — Show remark elements?

Parameter:
{}show-remarks
Defined in:
param.xsl
Used in:
param.xsl, modules/blocks.xsl

Synopsis

  |$show-remarks := 'false'
+

Description

+ +

The remark element is useful for editorial comments +and other notes that are not intended to appear in the final publication. +If $show-remarks + is true, then +they will be included in the transformed result. Otherwise, they are +omitted.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_sidebar-as-aside.html b/guide/2.2.2/p_sidebar-as-aside.html new file mode 100644 index 0000000000..d4cb006e45 --- /dev/null +++ b/guide/2.2.2/p_sidebar-as-aside.html @@ -0,0 +1,15 @@ +$sidebar-as-aside

$sidebar-as-aside

$sidebar-as-aside — Render sidebar as an + aside?

Parameter:
{}sidebar-as-aside
Defined in:
param.xsl
Used in:
param.xsl, modules/blocks.xsl

Synopsis

  |$sidebar-as-aside := false()
+

Description

+ +

The HTML +aside element has +specific semantics. Whether or not those semantics are consistent with +the way sidebar is used in your DocBook documents is an +open question. If $sidebar-as-aside + is true, sidebar elements will be +rendered as HTML aside elements, +otherwise they will be +rendered as div elements. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_sort-collation.html b/guide/2.2.2/p_sort-collation.html new file mode 100644 index 0000000000..ff23d65e49 --- /dev/null +++ b/guide/2.2.2/p_sort-collation.html @@ -0,0 +1,6 @@ +$sort-collation

$sort-collation

$sort-collation — Sorting collation.

Parameter:
{}sort-collation
Defined in:
param.xsl
Used in:
param.xsl, modules/glossary.xsl

Synopsis

  |$sort-collation := 'http://www.w3.org/2005/xpath-functions/collation/html-ascii-case-insensitive'
+

Description

+ +

When items (the terms in a glossary, for example) are sorted, +this collation is used.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_table-accessibility.html b/guide/2.2.2/p_table-accessibility.html new file mode 100644 index 0000000000..084f078719 --- /dev/null +++ b/guide/2.2.2/p_table-accessibility.html @@ -0,0 +1,81 @@ +$table-accessibility

$table-accessibility

$table-accessibility — Accessibility settings for tables.

Parameter:
{}table-accessibility
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$table-accessibility as xs:string := 'summary details'
+

Description

+ +

The $table-accessibility parameter +determines how accessibility features are added to CALS +tables*.

+

The value of this parameter is a space-separated list of strings. If the list +contains:

+
summary

A summary attribute will be added to the table if an +alt element or a textobject containing a single +phrase is available.

details

A details element will be added if there is +a textobject containing anything other than a single +phrase available.

+

The list may contain either or both values. If other values are present, +they are ignored.

+

See Example 1, “An example of table accessibility”.

+
   |<table frame="all">
+   |   <title>Square numbers</title>
+   |   <alt>The first four whole numbers
+   |and their squares.</alt>
+   |   <textobject>
+   |      <para>This table shows the first four whole numbers
+   |and their squares. (The square of a number is that
+   |number times itself.)
+   |</para>
+   |   </textobject>
+   |   <tgroup cols="2" colsep="1" rowsep="1">
+   |      <thead>
+   |         <row>
+   |            <entry>
+   |               <inlineequation>
+   |                  <mathphrase>n</mathphrase>
+   |               </inlineequation>
+   |            </entry>
+   |            <entry>
+   |               <inlineequation>
+   |                  <mathphrase>n<superscript>2</superscript>
+   |                  </mathphrase>
+   |               </inlineequation>
+   |            </entry>
+   |         </row>
+   |      </thead>
+   |      <tbody>
+   |         <row>
+   |            <entry>1</entry>
+   |            <entry>1</entry>
+   |         </row>
+   |         <row>
+   |            <entry>2</entry>
+   |            <entry>4</entry>
+   |         </row>
+   |         <row>
+   |            <entry>3</entry>
+   |            <entry>9</entry>
+   |         </row>
+   |         <row>
+   |            <entry>4</entry>
+   |            <entry>16</entry>
+   |         </row>
+   |      </tbody>
+   |   </tgroup>
+   |</table>
+
Example 1An example of table accessibility
+

One possible rendering of such an example:

+
Table 1Square numbers

This table shows the first four whole numbers +and their squares. (The square of a number is that +number times itself.) +

+ n + + n2 + +
11
24
39
416
+

Inspection of the HTML will reveal that the summary attribute +is present on the element that wraps the table and a +details element precedes it. These may or may not be +rendered by your user agent depending on its accessibility features and +settings.

+

See also $mediaobject-accessibility.

+

This parameter does not apply to HTML tables because +the HTML table model supports these features directly.

\ No newline at end of file diff --git a/guide/2.2.2/p_table-footnote-numeration.html b/guide/2.2.2/p_table-footnote-numeration.html new file mode 100644 index 0000000000..a7f87fc94f --- /dev/null +++ b/guide/2.2.2/p_table-footnote-numeration.html @@ -0,0 +1,11 @@ +$table-footnote-numeration

$table-footnote-numeration

$table-footnote-numeration — How are footnotes numbered in tables?

Parameter:
{}table-footnote-numeration
Defined in:
param.xsl
Used in:
param.xsl, modules/footnotes.xsl, modules/chunk-cleanup.xsl

Synopsis

  |$table-footnote-numeration := ('a')
+

Description

+ +

There are different styles of footnote numeration. This +parameter contains a list of the symbols that should be used to mark +footnotes in tables. If there could be more footnotes than symbols in +the list, the last symbol in the list must be a character suitable for +formatting numbers. See $footnote-numeration. +

+

Footnote number begins with the first symbol in each table.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_theme-picker.html b/guide/2.2.2/p_theme-picker.html new file mode 100644 index 0000000000..c796d65dc8 --- /dev/null +++ b/guide/2.2.2/p_theme-picker.html @@ -0,0 +1,12 @@ +$theme-picker

$theme-picker

$theme-picker — Allow users to select themes?

Parameter:
{}theme-picker
Defined in:
param.xsl
Used in:
main.xsl, param.xsl

Synopsis

  |$theme-picker as xs:string := 'false'
+

Description

+ +

If this parameter is true, a JavaScript +“theme picker” will be included in the document. This is provided through +a + hamburger menu + in the upper-right +corner. Given that one of the ostensible goals of providing themes +is accessibility, it’s somewhat ironic that this feature is not especially +accessible. Suggestions welcome.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_titleabbrev-passthrough.html b/guide/2.2.2/p_titleabbrev-passthrough.html new file mode 100644 index 0000000000..34b05858e6 --- /dev/null +++ b/guide/2.2.2/p_titleabbrev-passthrough.html @@ -0,0 +1,33 @@ +$titleabbrev-passthrough

$titleabbrev-passthrough

$titleabbrev-passthrough — Pass titleabbrev elements through to the HTML.

Parameter:
{}titleabbrev-passthrough
Defined in:
param.xsl
Used in:
param.xsl, modules/titles.xsl

Synopsis

  |$titleabbrev-passthrough as xs:string := 'true'
+

Description

+ +

The titleabbrev element allows an author to provide +an abbreviated title. This is used, for example, in the Table of +Contents and in other “lists of titles” (LoT).

+

The actual titles of books, chapters, sections, etc. come from +the title element. But if downstream processing generates an LoT +dynamically, for example the on-page table of contents, +it’s useful to have access to the titleabbrev content.

+

Unfortunately, HTML doesn’t provide an obvious mechanism to pass +content that should not be rendered. (Simply suppressing the content +with CSS is insufficient in this case because the abbreviated title +really shouldn’t appear even if CSS is not available.) The only element that won’t +render is the +script element.

+

If this parameter is true, the rendered +titleabbrev content will be embedded in the header using a +script element. For example:

+
1 |<header>
+  |<h1>
+  |  <script type="text/html" class="titleabbrev"
+  |  >Buckaroo Banzai</script>The Adventures of
+5 |  Buckaroo Banzai Across the 8th Dimension
+  |</h1>
+  |</header>
+
+

If it’s present, the on-page ToC feature will render the abbreviated title. +This parameter is true by default. Abbreviated titles are relatively uncommon +and the presence of extra script elements isn’t likely to be a problem. But if your +environment has hard requirements to avoid script elements, this feature can +be disabled by setting the parameter to “false”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transclusion-id-fixup.html b/guide/2.2.2/p_transclusion-id-fixup.html new file mode 100644 index 0000000000..eee9aec03a --- /dev/null +++ b/guide/2.2.2/p_transclusion-id-fixup.html @@ -0,0 +1,7 @@ +$transclusion-id-fixup

$transclusion-id-fixup

$transclusion-id-fixup — Transclusion ID fixup.

Parameter:
{}transclusion-id-fixup
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$transclusion-id-fixup as xs:string := 'none'
+

Description

+ +

These stylesheets attempt to implement Transclusion. +This parameter specifies the ID fixup. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transclusion-link-scope.html b/guide/2.2.2/p_transclusion-link-scope.html new file mode 100644 index 0000000000..ef9d39b3c4 --- /dev/null +++ b/guide/2.2.2/p_transclusion-link-scope.html @@ -0,0 +1,7 @@ +$transclusion-link-scope
\ No newline at end of file diff --git a/guide/2.2.2/p_transclusion-prefix-separator.html b/guide/2.2.2/p_transclusion-prefix-separator.html new file mode 100644 index 0000000000..02c3674461 --- /dev/null +++ b/guide/2.2.2/p_transclusion-prefix-separator.html @@ -0,0 +1,6 @@ +$transclusion-prefix-separator

$transclusion-prefix-separator

$transclusion-prefix-separator — Transclusion separator.

Parameter:
{}transclusion-prefix-separator
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$transclusion-prefix-separator as xs:string := '---'
+

Description

+ +

These stylesheets attempt to implement Transclusion. +This parameter provides the separator for auto-generated prefixes.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transclusion-suffix.html b/guide/2.2.2/p_transclusion-suffix.html new file mode 100644 index 0000000000..30269f35a8 --- /dev/null +++ b/guide/2.2.2/p_transclusion-suffix.html @@ -0,0 +1,7 @@ +$transclusion-suffix

$transclusion-suffix

$transclusion-suffix — Transclusion suffix.

Parameter:
{}transclusion-suffix
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$transclusion-suffix as xs:string := ''
+

Description

+ +

These stylesheets attempt to implement Transclusion. +This parameter specifies the suffix used for transcluded IDs. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transform-after.html b/guide/2.2.2/p_transform-after.html new file mode 100644 index 0000000000..ea830fc3cc --- /dev/null +++ b/guide/2.2.2/p_transform-after.html @@ -0,0 +1,6 @@ +$transform-after

$transform-after

$transform-after — Transform the process document.

Parameter:
{}transform-after
Defined in:
param.xsl
Used in:
docbook.xsl, param.xsl
Used by:

Synopsis

  |$transform-after := ()
+

Description

+ +

Identifies the transform(s) that should be applied after the document +has been transformed to HTML. See Section 5.7, “The pre- and post-processing pipeline”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transform-before.html b/guide/2.2.2/p_transform-before.html new file mode 100644 index 0000000000..39f569f4af --- /dev/null +++ b/guide/2.2.2/p_transform-before.html @@ -0,0 +1,7 @@ +$transform-before

$transform-before

$transform-before — Transform the preprocessed document.

Parameter:
{}transform-before
Defined in:
param.xsl
Used in:
docbook.xsl, param.xsl

Synopsis

  |$transform-before := ()
+

Description

+ +

Identifies the transform(s) that should be applied before the document +is transformation into HTML (but after the standard transformations). +See Section 5.7, “The pre- and post-processing pipeline”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transform-original.html b/guide/2.2.2/p_transform-original.html new file mode 100644 index 0000000000..cd04fcca3b --- /dev/null +++ b/guide/2.2.2/p_transform-original.html @@ -0,0 +1,6 @@ +$transform-original

$transform-original

$transform-original — Transform the original document.

Parameter:
{}transform-original
Defined in:
param.xsl
Used in:
docbook.xsl, param.xsl

Synopsis

  |$transform-original := ()
+

Description

+ +

Identifies the transform(s) that should be applied to the original +document. See Section 5.7, “The pre- and post-processing pipeline”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transformed-docbook-input.html b/guide/2.2.2/p_transformed-docbook-input.html new file mode 100644 index 0000000000..7c8722b1e4 --- /dev/null +++ b/guide/2.2.2/p_transformed-docbook-input.html @@ -0,0 +1,19 @@ +$transformed-docbook-input

$transformed-docbook-input

$transformed-docbook-input — URI for transformed DocBook input.

Parameter:
{}transformed-docbook-input
Defined in:
param.xsl
Used in:
docbook.xsl, param.xsl
Used by:

Synopsis

  |$transformed-docbook-input as xs:string? := ()
+

Description

+ +

Broadly speaking, the DocBook transformation process has + three phases:

+
  1. The DocBook input supplied by the user is run through a + series of transformations to produce a document that is ready + to be transformed to HTML. (See Section 5.7, “The pre- and post-processing pipeline”.)

  2. That document is transformed into “HTML”. It’s not really HTML (yet) + because some aspects (footnotes, chunking, etc.) are not yet resolved. + (See $transformed-docbook-output.) +

  3. The “HTML” from the previous step is transformed to produce one + (or more) HTML results. +

+

If the $transformed-docbook-input parameter is not the empty + sequence, it is assumed to be a URI. It will be made absolute against the base URI of the + input document. + The transformed DocBook that results from step 1 above will be + output to that location.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_transformed-docbook-output.html b/guide/2.2.2/p_transformed-docbook-output.html new file mode 100644 index 0000000000..9d68eb7da6 --- /dev/null +++ b/guide/2.2.2/p_transformed-docbook-output.html @@ -0,0 +1,18 @@ +$transformed-docbook-output

$transformed-docbook-output

$transformed-docbook-output — URI for transformed DocBook output.

Parameter:
{}transformed-docbook-output
Defined in:
param.xsl
Used in:
docbook.xsl, param.xsl
Used by:

Synopsis

  |$transformed-docbook-output as xs:string? := ()
+

Description

+ +

Broadly speaking, the DocBook transformation process has + three phases:

+
  1. The DocBook input supplied by the user is run through a + series of transformations to produce a document that is ready + to be transformed to HTML. (See $transformed-docbook-input.)

  2. That document is transformed into “HTML”. It’s not really HTML (yet) + because some aspects (footnotes, chunking, etc.) are not yet resolved. +

  3. The “HTML” from the previous step is transformed to produce one + (or more) HTML results. +

+

If the $transformed-docbook-output + parameter is not the empty sequence, it is assumed to be a URI. It + will be made absolute against the base URI of the input document. + The transformed “HTML” that results from step 2 above will be + output to that location.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_translate-suppress-elements.html b/guide/2.2.2/p_translate-suppress-elements.html new file mode 100644 index 0000000000..4ee86a6277 --- /dev/null +++ b/guide/2.2.2/p_translate-suppress-elements.html @@ -0,0 +1,7 @@ +$translate-suppress-elements

$translate-suppress-elements

$translate-suppress-elements — Elements in which translation is suppressed.

Parameter:
{}translate-suppress-elements
Defined in:
param.xsl
Used in:
param.xsl, modules/functions.xsl
Since:
2.1.3

Synopsis

  |$translate-suppress-elements := ''
+

Description

+ +

This parameter is a list of (local) element names. Any output for these elements +will have the translate attribute with the value +“no”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_unwrap-paragraphs.html b/guide/2.2.2/p_unwrap-paragraphs.html new file mode 100644 index 0000000000..f74f17f9f8 --- /dev/null +++ b/guide/2.2.2/p_unwrap-paragraphs.html @@ -0,0 +1,19 @@ +$unwrap-paragraphs

$unwrap-paragraphs

$unwrap-paragraphs — Attempt to unwrap paragraphs that contain block elements?

Parameter:
{}unwrap-paragraphs
Defined in:
param.xsl
Used in:
param.xsl, modules/blocks.xsl
Since:
2.0.13

Synopsis

  |$unwrap-paragraphs as xs:string := 'false'
+

Description

+ +

DocBook allows “block elements” (tables, figures, etc.) inside paragraphs +or between paragraphs. The question of whether or not a table, figure, etc. is part +of a paragraph is an editorial one. If you put the block element in the +DocBook para, it will be in the resulting HTML +p element.

+

Except, that’s not valid HTML. HTML deprives you of the editorial choice. +If $unwrap-paragraphs + is true, the +stylesheets will attempt to unwrap block elements inside paragraphs, producing +a sequence of paragraphs and blocks.

+

Note that with this option, a +p element identified +with an ID attribute is not +guaranteed to contain all of the content that the DocBook paragraph +contained.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_use-docbook-css.html b/guide/2.2.2/p_use-docbook-css.html new file mode 100644 index 0000000000..093003658a --- /dev/null +++ b/guide/2.2.2/p_use-docbook-css.html @@ -0,0 +1,21 @@ +$use-docbook-css

$use-docbook-css

$use-docbook-css — Create links to standard DocBook CSS stylesheets?

Parameter:
{}use-docbook-css
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$use-docbook-css as xs:string := 'true'
+

Description

+ +

If this parameter is true, then the +output will contain links to the standard DocBook CSS stylesheets: +

+
  |<link href="{$resource-base-uri}css/docbook.css"
+  |rel="stylesheet" media="screen"/>
+  |<link href="{$resource-base-uri}css/docbook-paged.css"
+  |rel="stylesheet" media="print"/>
+
+

If $use-minified-css is true, then the links will +be to minified CSS stylesheets. +You can quickly disable all of these links by setting this +parameter to false. There are a number of other stylesheets that +are only conditionally included, +see $verbatim-syntax-highlight-css and +$persistent-toc-css. User defined stylesheets +are added with $user-css-links. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_use-minified-css.html b/guide/2.2.2/p_use-minified-css.html new file mode 100644 index 0000000000..5514386125 --- /dev/null +++ b/guide/2.2.2/p_use-minified-css.html @@ -0,0 +1,9 @@ +$use-minified-css

$use-minified-css

$use-minified-css — Create links to minified CSS?

Parameter:
{}use-minified-css
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$use-minified-css as xs:string := 'false'
+

Description

+ +

If this parameter is true, then the +links to standard DocBook CSS stylesheets will be to minified versions +instead of the “ordinary” versions. This does not effect links in +$user-css-links. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_user-css-links.html b/guide/2.2.2/p_user-css-links.html new file mode 100644 index 0000000000..f8dd8215ec --- /dev/null +++ b/guide/2.2.2/p_user-css-links.html @@ -0,0 +1,6 @@ +$user-css-links
\ No newline at end of file diff --git a/guide/2.2.2/p_variablelist-panelset.html b/guide/2.2.2/p_variablelist-panelset.html new file mode 100644 index 0000000000..0c1138e300 --- /dev/null +++ b/guide/2.2.2/p_variablelist-panelset.html @@ -0,0 +1,16 @@ +$variablelist-panelset

$variablelist-panelset

$variablelist-panelset — Enable the “panelset” rendering for variable lists?

Parameter:
{}variablelist-panelset
Defined in:
param.xsl
Used in:
param.xsl, modules/lists.xsl
Since:
2.2.1

Synopsis

  |$variablelist-panelset as xs:string := 'true'
+

Description

+ +

If this parameter is true, a “panel set” rendering +may be selected for variablelist elements by placing panelset +in its role attribute. In interactive presentations, these +render as selectable, alternative “panels”. In other presentations, they render as a +normal list.

+

Panels are often used to show equivalent code samples in different +languages (Groovy or Kotlin, JavaScript or TypeScript) or different +versions of a language (Python 2.x or Python 3.x). +

The actual content of the individual panels is constrainted only by +the content model of listitem in variablelist. +

With the panelset role attribute value. But note that in print +output, this option is false by default.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_variablelist-termlength-threshold.html b/guide/2.2.2/p_variablelist-termlength-threshold.html new file mode 100644 index 0000000000..f41d76c0a8 --- /dev/null +++ b/guide/2.2.2/p_variablelist-termlength-threshold.html @@ -0,0 +1,10 @@ +$variablelist-termlength-threshold

$variablelist-termlength-threshold

$variablelist-termlength-threshold — Threshold value for considering varlistentry terms “long”

Parameter:
{}variablelist-termlength-threshold
Defined in:
param.xsl
Used in:
param.xsl, modules/attributes.xsl

Synopsis

  |$variablelist-termlength-threshold := 20
+

Description

+ +

If the sum of the lengths of the term elements in a varlistentry +exceeds this threshold, the variable list will have a “long” class. +This can be used in CSS or in other downstream processing to decide whether or not the +terms and their corresponding list items should be aligned side-by-side.

+

The length computation is just the number of characters. No attempt is made to +adjust for wide or narrow characters.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_varlistentry-separate-terms.html b/guide/2.2.2/p_varlistentry-separate-terms.html new file mode 100644 index 0000000000..26e22c696c --- /dev/null +++ b/guide/2.2.2/p_varlistentry-separate-terms.html @@ -0,0 +1,7 @@ +$varlistentry-separate-terms

$varlistentry-separate-terms

$varlistentry-separate-terms — Output separate terms for variable list entries?

Parameter:
{}varlistentry-separate-terms
Defined in:
param.xsl
Used in:
param.xsl, modules/lists.xsl
Since:
2.1.5

Synopsis

  |$varlistentry-separate-terms := 'false'
+

Description

+ +

If this parameter is true, each term in a +varlistentry will be output in its own +dt.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_vendor-css.html b/guide/2.2.2/p_vendor-css.html new file mode 100644 index 0000000000..2588271701 --- /dev/null +++ b/guide/2.2.2/p_vendor-css.html @@ -0,0 +1,14 @@ +$vendor-css

$vendor-css

$vendor-css — Additional, vendor specific CSS.

Parameter:
{}vendor-css
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl
Since:
2.2.2

Synopsis

  |$vendor-css as xs:string* := ()
+

Description

+ +

If this parameter allows you to add an additional stylesheet for +vendor-specific CSS. This can be used, for example, to customize the CSS used for +different paged media engines.

+

Two such stylesheets are provided:

+
vendor-ahf-portrait.css

An extension for the AntennaHouse Formatter that prints +landscape material without rotating the page +headers and footers.

This version is intended for documents that are printed in portrait orientation. +

vendor-ahf-landscape.css

An extension for the AntennaHouse Formatter that prints portrait material +without rotating the page headers and footers.

This version is intended for documents that are printed in +landscape orientation.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-callouts.html b/guide/2.2.2/p_verbatim-callouts.html new file mode 100644 index 0000000000..b9a88fc48d --- /dev/null +++ b/guide/2.2.2/p_verbatim-callouts.html @@ -0,0 +1,35 @@ +$verbatim-callouts

$verbatim-callouts

$verbatim-callouts — A list determining how callouts are processed.

Parameter:
{}verbatim-callouts
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-callouts as xs:string := 'linecolumn lines lineranges-first'
+

Description

+ +

The $verbatim-callouts parameter is a space separated +list of token values. These token values determine which kinds of callouts in a +programlistingco or screenco will be processed and how. +

+
+ linecolumn +

If “linecolumn” appears in the list then +callouts that have a units attribute of linecolumn and specify both a line and column +will be processed. A callout marker will be placed on the line and +before the column indicated. Additional lines and columns will be added to the +listing if necessary.

+ lines +

If “lines” appears in the list then callouts +that have a units attribute of linecolumn and specify only a line will be +processed. A callout marker will be placed on the line and before +the $callout-default-column.

+ lineranges-first +

If “lineranges-first” appears in the list +then callouts that have a units attribute of linerange will be processed. A callout marker +will be placed on the first line and before the +$callout-default-column.

Only one of lineranges-first and +lineranges-all should be specified.

+ lineranges-all +

If “lineranges-first” appears in the list +then callouts that have a units attribute of linerange will be processed. A callout marker +will be placed on every line in the range before the +$callout-default-column.

Only one of lineranges-first and +lineranges-all should be specified.

+

There is no support for areas with a units value of +“calspair” or “linecolumnpair”. +They are always ignored.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-line-style.html b/guide/2.2.2/p_verbatim-line-style.html new file mode 100644 index 0000000000..7a7cede430 --- /dev/null +++ b/guide/2.2.2/p_verbatim-line-style.html @@ -0,0 +1,9 @@ +$verbatim-line-style

$verbatim-line-style

$verbatim-line-style — List of verbatim elements to be rendered in the line style.

Parameter:
{}verbatim-line-style
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-line-style := 'programlisting programlistingco 
+  |                         screen screenco synopsis'
+

Description

+ +

This parameter is a space-separated list of element names (local names). +Verbatim elements that appear in this list will be formatted using the line +style by default. For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-number-every-nth.html b/guide/2.2.2/p_verbatim-number-every-nth.html new file mode 100644 index 0000000000..1088f47dcf --- /dev/null +++ b/guide/2.2.2/p_verbatim-number-every-nth.html @@ -0,0 +1,7 @@ +$verbatim-number-every-nth

$verbatim-number-every-nth

$verbatim-number-every-nth — Line numbering frequency.

Parameter:
{}verbatim-number-every-nth
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-number-every-nth := 5
+

Description

+ +

When formatting verbatim environments with line numbers, +every $verbatim-number-every-nth line is numbered. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-number-first-line.html b/guide/2.2.2/p_verbatim-number-first-line.html new file mode 100644 index 0000000000..10d8924d80 --- /dev/null +++ b/guide/2.2.2/p_verbatim-number-first-line.html @@ -0,0 +1,9 @@ +$verbatim-number-first-line

$verbatim-number-first-line

$verbatim-number-first-line — Number the first line?

Parameter:
{}verbatim-number-first-line
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-number-first-line := 'true'
+

Description

+ +

When formatting verbatim environments with line numbers, +if $verbatim-number-first-line line is true, +the first line will be numbered even it isn’t one of +the $verbatim-number-every-nth lines. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-number-minlines.html b/guide/2.2.2/p_verbatim-number-minlines.html new file mode 100644 index 0000000000..56fc69cff4 --- /dev/null +++ b/guide/2.2.2/p_verbatim-number-minlines.html @@ -0,0 +1,9 @@ +$verbatim-number-minlines

$verbatim-number-minlines

$verbatim-number-minlines — Shortest listing to number.

Parameter:
{}verbatim-number-minlines
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-number-minlines := '5'
+

Description

+ +

When formatting verbatim environments with line numbers, +environments less than +$verbatim-number-minlines in length will +not be numbered. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-number-separator.html b/guide/2.2.2/p_verbatim-number-separator.html new file mode 100644 index 0000000000..289532d463 --- /dev/null +++ b/guide/2.2.2/p_verbatim-number-separator.html @@ -0,0 +1,14 @@ +$verbatim-number-separator

$verbatim-number-separator

$verbatim-number-separator — Separator between line numbers and lines.

Parameter:
{}verbatim-number-separator
Defined in:
param.xsl
Used in:
param.xsl, modules/verbatim.xsl

Synopsis

  |$verbatim-number-separator := '|'
+

Description

+ +

When formatting verbatim environments with line numbers, +this separator is inserted (wrapped in a +span with a +class of nsep) between +the line number and the text of the line.

+

In most presentations, CSS prevents the nsep +from being displayed; instead, a CSS border is used as a separator. +The $verbatim-number-separator is most often seen +with text-only browsers. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-numbered-elements.html b/guide/2.2.2/p_verbatim-numbered-elements.html new file mode 100644 index 0000000000..842b23adb9 --- /dev/null +++ b/guide/2.2.2/p_verbatim-numbered-elements.html @@ -0,0 +1,9 @@ +$verbatim-numbered-elements

$verbatim-numbered-elements

$verbatim-numbered-elements — Verbatim environments that should be numbered.

Parameter:
{}verbatim-numbered-elements
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-numbered-elements := 'programlisting programlistingco'
+

Description

+ +

This parameter is a space-separated list of element names (local names). +Verbatim elements that appear in this list will be formatted with line numbers. +For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-plain-style.html b/guide/2.2.2/p_verbatim-plain-style.html new file mode 100644 index 0000000000..246697bb1f --- /dev/null +++ b/guide/2.2.2/p_verbatim-plain-style.html @@ -0,0 +1,10 @@ +$verbatim-plain-style

$verbatim-plain-style

$verbatim-plain-style — List of verbatim elements to be rendered in the plain style.

Parameter:
{}verbatim-plain-style
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-plain-style as xs:string := 'address literallayout funcsynopsisinfo classsynopsisinfo'
+

Description

+ +

This parameter is a space-separated list of element names (local names). +Verbatim elements that appear in this list will be formatted using the plain +style by default. For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”. +

+

See also $v:verbatim-plain-style.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-space.html b/guide/2.2.2/p_verbatim-space.html new file mode 100644 index 0000000000..c63275d8e6 --- /dev/null +++ b/guide/2.2.2/p_verbatim-space.html @@ -0,0 +1,9 @@ +$verbatim-space

$verbatim-space

$verbatim-space — The space character to use when padding verbatim lines.

Parameter:
{}verbatim-space
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-space := ' '
+

Description

+ +

When a verbatim line has to be padded in order to get a callout to appear in +the correct column, this character will be used as the padding character. +For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-style-default.html b/guide/2.2.2/p_verbatim-style-default.html new file mode 100644 index 0000000000..703a3458a8 --- /dev/null +++ b/guide/2.2.2/p_verbatim-style-default.html @@ -0,0 +1,7 @@ +$verbatim-style-default

$verbatim-style-default

$verbatim-style-default — The default verbatim style.

Parameter:
{}verbatim-style-default
Defined in:
param.xsl
Used in:
param.xsl, modules/verbatim.xsl

Synopsis

  |$verbatim-style-default := 'lines'
+

Description

+ +

The default verbatim style for verbatim environments that do not +specify a style explicitly. For a discussion of verbatim +elements and styles, see Section 5.3, “Verbatim styles”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-syntax-highlight-css.html b/guide/2.2.2/p_verbatim-syntax-highlight-css.html new file mode 100644 index 0000000000..34ff1a4786 --- /dev/null +++ b/guide/2.2.2/p_verbatim-syntax-highlight-css.html @@ -0,0 +1,8 @@ +$verbatim-syntax-highlight-css

$verbatim-syntax-highlight-css

$verbatim-syntax-highlight-css — Stylesheet for syntax highlighting.

Parameter:
{}verbatim-syntax-highlight-css
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl

Synopsis

  |$verbatim-syntax-highlight-css := 'css/pygments.css'
+

Description

+ +

If the $verbatim-syntax-highlight-languages parameter +is non-empty, then this stylesheet will be linked from the HTML document. The purpose +of this stylesheet is to provide styling (fonts, colors, etc.) for syntax highlighted +verbatim listings.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-syntax-highlight-languages.html b/guide/2.2.2/p_verbatim-syntax-highlight-languages.html new file mode 100644 index 0000000000..9ad1cabf37 --- /dev/null +++ b/guide/2.2.2/p_verbatim-syntax-highlight-languages.html @@ -0,0 +1,19 @@ +$verbatim-syntax-highlight-languages

$verbatim-syntax-highlight-languages

$verbatim-syntax-highlight-languages — Languages for which syntax highlighting should be performed.

Parameter:
{}verbatim-syntax-highlight-languages
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-syntax-highlight-languages := 'python perl html xml xslt xquery javascript json css'
+

Description

+ +

This parameter is a space-separated list of programming languages. +If the Pygments + + +syntax highlighter is available, the stylesheets can apply syntax +highlighting to program listings. +If the program listing language (as specified in the language +attribute) appears in the list of +$verbatim-syntax-highlight-languages, syntax highlighting +will be attempted.

+
Note

Syntax highlighting is incompatible with inline markup in the +program listing; the embedded markup will be ignored.

+

The examples in this guide show syntax highlighting applied to XML.

+

See also $v:verbatim-syntax-highlight-options +and $v:verbatim-syntax-highlight-pygments-options.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-syntax-highlighter.html b/guide/2.2.2/p_verbatim-syntax-highlighter.html new file mode 100644 index 0000000000..00b2b8cafb --- /dev/null +++ b/guide/2.2.2/p_verbatim-syntax-highlighter.html @@ -0,0 +1,38 @@ +$verbatim-syntax-highlighter

$verbatim-syntax-highlighter

$verbatim-syntax-highlighter — Selects the syntax highlighter.

Parameter:
{}verbatim-syntax-highlighter
Defined in:
param.xsl
Used in:
param.xsl, modules/head.xsl, modules/verbatim.xsl

Synopsis

  |$verbatim-syntax-highlighter as xs:string := 'pygments'
+

Description

+ +

This parameter specifies the syntax highlighter to use. Most of +the parameters related to syntax highlighting only work if the + + pygments + highlighter is selected. +However, that requires running an external process which might not be +available and which, even if it is available, has an impact on +performance. Using Pygments has the advantage that the stylesheets +have more control over the process and it is available both for online +and paged media formats. +

+

The alternative to running an external program is to use +JavaScript to highlight the listing in the browser. This is faster at +formatting time, but limits syntax highlighting to those environments where +JavaScript is available.

+

The following options are supported:

+
+ pygments +

This is the default highlighter. +

+ highlight.js +

Uses the highlight.js JavaScript library to perform +syntax highlighting. The $highlight-js-head-elements variable +determines what CSS stylesheets and JavaScript libraries are loaded for this option. +

+ prism +

Uses the Prism JavaScript library to perform +syntax highlighting. The $prism-js-head-elements variable +determines what CSS stylesheets and JavaScript libraries are loaded for this option. +

+ none +

Disables syntax highlighting but also suppresses messages about features +that are not available because syntax highlighting is disabled. +

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-table-style.html b/guide/2.2.2/p_verbatim-table-style.html new file mode 100644 index 0000000000..bf4ece3373 --- /dev/null +++ b/guide/2.2.2/p_verbatim-table-style.html @@ -0,0 +1,8 @@ +$verbatim-table-style

$verbatim-table-style

$verbatim-table-style — List of verbatim elements to be rendered in the table style.

Parameter:
{}verbatim-table-style
Defined in:
param.xsl
Used in:
param.xsl, modules/variable.xsl

Synopsis

  |$verbatim-table-style := ''
+

Description

+ +

This parameter is a space-separated list of element names (local names). +Verbatim elements that appear in this list will be formatted using the table +style by default. For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-trim-leading-blank-lines.html b/guide/2.2.2/p_verbatim-trim-leading-blank-lines.html new file mode 100644 index 0000000000..e177d6cb6a --- /dev/null +++ b/guide/2.2.2/p_verbatim-trim-leading-blank-lines.html @@ -0,0 +1,12 @@ +$verbatim-trim-leading-blank-lines

$verbatim-trim-leading-blank-lines

$verbatim-trim-leading-blank-lines — Trim leading blank lines off of verbatim environments?

Parameter:
{}verbatim-trim-leading-blank-lines
Defined in:
param.xsl
Used in:
param.xsl, modules/verbatim.xsl
Since:
2.1.2

Synopsis

  |$verbatim-trim-leading-blank-lines := 'false'
+

Description

+ +

If a verbatim environment is processed with a syntax highlighter, the +highlighter may remove leading blank lines. This option will produce that result +for verbatim environments that are not syntax highlighted.

+

If leading blank lines aren’t significant, setting +$verbatim-trim-leading-blank-lines will cause +the stylesheets to trim blank (that is, entirely empty) lines from +the beginning of verbatim environments.

+

(This parameter is false by default for backwards compatibility.)

+
\ No newline at end of file diff --git a/guide/2.2.2/p_verbatim-trim-trailing-blank-lines.html b/guide/2.2.2/p_verbatim-trim-trailing-blank-lines.html new file mode 100644 index 0000000000..89b09e035f --- /dev/null +++ b/guide/2.2.2/p_verbatim-trim-trailing-blank-lines.html @@ -0,0 +1,13 @@ +$verbatim-trim-trailing-blank-lines

$verbatim-trim-trailing-blank-lines

$verbatim-trim-trailing-blank-lines — Trim trailing blank lines off of verbatim environments?

Parameter:
{}verbatim-trim-trailing-blank-lines
Defined in:
param.xsl
Used in:
param.xsl, modules/verbatim.xsl

Synopsis

  |$verbatim-trim-trailing-blank-lines := 'true'
+

Description

+ +

Trailing blank lines can be introduced into verbatim +environments in a number of ways. Transcluded text files may have +trailing blank lines, for example, and authors often put a newline +before the closing tag of an environment.

+

This can produce spurious looking listings in the documentation. +If trailing newlines aren’t significant, setting +$verbatim-trim-trailing-blank-lines will cause +the stylesheets to trim blank (that is, entirely empty) lines from +the end of verbatim environments.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_warn-about-missing-localizations.html b/guide/2.2.2/p_warn-about-missing-localizations.html new file mode 100644 index 0000000000..62f3dd865f --- /dev/null +++ b/guide/2.2.2/p_warn-about-missing-localizations.html @@ -0,0 +1,6 @@ +$warn-about-missing-localizations

$warn-about-missing-localizations

$warn-about-missing-localizations — Warn about missing localization?

Parameter:
{}warn-about-missing-localizations
Defined in:
param.xsl
Used in:
param.xsl, modules/gentext.xsl

Synopsis

  |$warn-about-missing-localizations as xs:string := 'true'
+

Description

+ +

If this parameter is true, then warning +messages will be issued for missing localizations.

+
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-arclist-after.html b/guide/2.2.2/p_xlink-arclist-after.html new file mode 100644 index 0000000000..5e87e2207a --- /dev/null +++ b/guide/2.2.2/p_xlink-arclist-after.html @@ -0,0 +1,6 @@ +$xlink-arclist-after
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-arclist-before.html b/guide/2.2.2/p_xlink-arclist-before.html new file mode 100644 index 0000000000..7e31df70f7 --- /dev/null +++ b/guide/2.2.2/p_xlink-arclist-before.html @@ -0,0 +1,6 @@ +$xlink-arclist-before
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-arclist-sep.html b/guide/2.2.2/p_xlink-arclist-sep.html new file mode 100644 index 0000000000..87f123d3c9 --- /dev/null +++ b/guide/2.2.2/p_xlink-arclist-sep.html @@ -0,0 +1,6 @@ +$xlink-arclist-sep
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-arclist-titlesep.html b/guide/2.2.2/p_xlink-arclist-titlesep.html new file mode 100644 index 0000000000..dad7b0bec3 --- /dev/null +++ b/guide/2.2.2/p_xlink-arclist-titlesep.html @@ -0,0 +1,6 @@ +$xlink-arclist-titlesep
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-icon-closed.html b/guide/2.2.2/p_xlink-icon-closed.html new file mode 100644 index 0000000000..5745020d4a --- /dev/null +++ b/guide/2.2.2/p_xlink-icon-closed.html @@ -0,0 +1,9 @@ +$xlink-icon-closed
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-icon-open.html b/guide/2.2.2/p_xlink-icon-open.html new file mode 100644 index 0000000000..ace0d7c1ab --- /dev/null +++ b/guide/2.2.2/p_xlink-icon-open.html @@ -0,0 +1,12 @@ +$xlink-icon-open
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-js.html b/guide/2.2.2/p_xlink-js.html new file mode 100644 index 0000000000..33691d78bf --- /dev/null +++ b/guide/2.2.2/p_xlink-js.html @@ -0,0 +1,7 @@ +$xlink-js
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-style-default.html b/guide/2.2.2/p_xlink-style-default.html new file mode 100644 index 0000000000..8e206565fe --- /dev/null +++ b/guide/2.2.2/p_xlink-style-default.html @@ -0,0 +1,9 @@ +$xlink-style-default
\ No newline at end of file diff --git a/guide/2.2.2/p_xlink-style.html b/guide/2.2.2/p_xlink-style.html new file mode 100644 index 0000000000..202f2fc830 --- /dev/null +++ b/guide/2.2.2/p_xlink-style.html @@ -0,0 +1,26 @@ +$xlink-style
\ No newline at end of file diff --git a/guide/2.2.2/p_xspec.html b/guide/2.2.2/p_xspec.html new file mode 100644 index 0000000000..b6c266a942 --- /dev/null +++ b/guide/2.2.2/p_xspec.html @@ -0,0 +1,9 @@ +$xspec

$xspec

$xspec — Are we running XSpec tests?

Parameter:
{}xspec
Defined in:
param.xsl
Used in:
param.xsl

Synopsis

  |$xspec as xs:string := 'false'
+

Description

+ +

This parameter is only true if the stylesheets are running in +the context of the XSpec test harness. This allows tests to be crafted +such that normal variations (Saxon HE vs. EE, the version of the +stylesheets, or the current time, for example) don’t introduce spurious +differences in the results, causing tests to fail.

+
\ No newline at end of file diff --git a/guide/2.2.2/params.html b/guide/2.2.2/params.html new file mode 100644 index 0000000000..8868006437 --- /dev/null +++ b/guide/2.2.2/params.html @@ -0,0 +1,5 @@ +I. Parameter reference

IParameter reference

Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/parti.html b/guide/2.2.2/parti.html new file mode 100644 index 0000000000..9cfd5f4e04 --- /dev/null +++ b/guide/2.2.2/parti.html @@ -0,0 +1 @@ +Part I. Introduction

Part IIntroduction

\ No newline at end of file diff --git a/guide/2.2.2/partii.html b/guide/2.2.2/partii.html new file mode 100644 index 0000000000..8b576e4788 --- /dev/null +++ b/guide/2.2.2/partii.html @@ -0,0 +1,6 @@ +Part II. Reference

Part IIReference

Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/persistent-toc.html b/guide/2.2.2/persistent-toc.html new file mode 100644 index 0000000000..0ff0bdaed5 --- /dev/null +++ b/guide/2.2.2/persistent-toc.html @@ -0,0 +1,6 @@ +DocBook xslTNG Reference \ No newline at end of file diff --git a/guide/2.2.2/pi_current-dateTime.html b/guide/2.2.2/pi_current-dateTime.html new file mode 100644 index 0000000000..5d0420275e --- /dev/null +++ b/guide/2.2.2/pi_current-dateTime.html @@ -0,0 +1,23 @@ +current-dateTime

current-dateTime

current-dateTime — Resolves to a formatted date/time string.

Processing instruction:
current-dateTime

Description

+ +

The current-dateTime processing +instruction will be replaced by a formatted date and time. The date +and time is controlled by three pseudo-attributes:

+ +
dateTime

The ISO 8601 date or date/time to format. +If not specified, defaults to the current date/time. If a date (and +not a date/time) is specified, a default time of noon is assumed. +

offset

An ISO 8601 day/time duration or +year/month duration. This value will be added to the dateTime that is +to be formatted. +

format

The format string to use. If not specified, the +$date-dateTime-format is used. +

+

For example:

+
  |<para>Published on
+  |<?current-dateTime format="[F]"?>.</para>
+
+

Will render like this:

+

Published on +Wednesday.

+
\ No newline at end of file diff --git a/guide/2.2.2/pi_db.html b/guide/2.2.2/pi_db.html new file mode 100644 index 0000000000..6a150fdebb --- /dev/null +++ b/guide/2.2.2/pi_db.html @@ -0,0 +1,7 @@ +db \ No newline at end of file diff --git a/guide/2.2.2/pi_docbook-xsltng-version.html b/guide/2.2.2/pi_docbook-xsltng-version.html new file mode 100644 index 0000000000..63df8a7e54 --- /dev/null +++ b/guide/2.2.2/pi_docbook-xsltng-version.html @@ -0,0 +1,15 @@ +DocBook-xslTNG-version

DocBook-xslTNG-version

DocBook-xslTNG-version — Resolves to the DocBook stylesheet version.

Processing instruction:
DocBook-xslTNG-version

Description

+ +

The DocBook-xslTNG-version processing +instruction will be replaced by the version number of the +stylesheets.

+

For example:

+
  |<para>This document was formatted with the <citetitle>DocBook
+  |xslTNG Stylesheets</citetitle>
+  |version <?DocBook-xslTNG-version?>.</para>
+
+

Will render like this:

+

This document was formatted with the DocBook +xslTNG Stylesheets +version 2.2.2-SNAPSHOT.

+
\ No newline at end of file diff --git a/guide/2.2.2/pi_system-property.html b/guide/2.2.2/pi_system-property.html new file mode 100644 index 0000000000..620d824298 --- /dev/null +++ b/guide/2.2.2/pi_system-property.html @@ -0,0 +1,19 @@ +system-property

system-property

system-property — Resolves to an XSLT system property.

Processing instruction:
system-property

Description

+ +

The system-property processing +instruction will be replaced by the corresponding system +property.

+

For example:

+
  |<para>This document was formatted with
+  |<?system-property xsl:product-name?>
+  |version <?system-property xsl:product-version?> on
+  |<?current-dateTime format="[D01] [MNn,*-3] [Y0001]"?>.
+  |</para>
+
+

Will render like this:

+

This document was formatted with +SAXON +version HE 12.5 on +09 Oct 2024. +

+
\ No newline at end of file diff --git a/guide/2.2.2/pis.html b/guide/2.2.2/pis.html new file mode 100644 index 0000000000..e7bcd37a6e --- /dev/null +++ b/guide/2.2.2/pis.html @@ -0,0 +1 @@ +VI. Processing instruction reference

VIProcessing instruction reference

Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/references.html b/guide/2.2.2/references.html new file mode 100644 index 0000000000..01a09d47d5 --- /dev/null +++ b/guide/2.2.2/references.html @@ -0,0 +1,53 @@ +References

References

[Antenna House] Antenna House Formatter. Version 7.0.3. +

[ISO 8601] ISO 8601-1:2019 +Date and time — Representations for information interchange — Part 1: +Basic rules. +ISO (International Organization for Standardization). +.

[CSS] +What Is CSS?. +A family of standards developed by the W3C.

[TR +9901:1999] XML +Exchange Table Model Document Type +Definition. Organization for the Advancement of Structured +Information Standards (OASIS) Technical Memorandum TR 9901:1999. +Tables Technical Committee. Norman Walsh, editor.

[TR +9502:1995] CALS +Table Model Document Type Definition. +SGML Open Technical Memorandum TM 9502:1995. +Table Interchange Subcommittee. Harvey Bingham, editor. +

[Gradle] Gradle. +

[RFC 5147] URI Fragment Identifiers +for the text/plain Media Type. E. Wilde and M. Duerst, +editors. Internet Engineering Task Force. 2008. +

[MathJax] MathJax. +

[OldMeasure] The +Old Measure: An Inquiry Into the Origins of the U.S. Customary System of +Weights and Measures. 2010. Jon Bosak. +

[Prince] Prince. +Version 13.5.

[Transclusion] DocBook +Transclusion. 2015. Jirka Koskek. +

[Names] Falsehoods Programmers Believe About Names. 2010. Patrick McKenzie. +

[XML] Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +Extensible Markup +Language (XML) 1.0 Fifth Edition. +World Wide Web Consortium, 2008. +

[XInclude] Jonathan Marsh, +David Orchard, and Daniel Veillard, editors. +XML Inclusions +(XInclude) Version 1.0 (Second Edition). +World Wide Web Consortium, 2006. +

[Pygments] Pygments: +Python Syntax Highlighter. Version 2.6.1.

[highlight.js] highlight.js. +Version 10.1.2.

[Prism] Prism. +Version 1.20.0.

[metadata-extractor] metadata-extractor. +Version 2.14.0.

[search] Searching +text/plain documents with a fragid.

[XSLT 1.0] XSL Transformations (XSLT) +Version 1.0. James Clark, editor. +W3C Recommendation. 16 November 1999.

[XSLT 2.0] XSL Transformations (XSLT) +Version 2.0. Michael Kay, editor. +W3C Recommendation. 23 January 2007.

[XSLT 3.0] XSL Transformations (XSLT) +Version 3.0. Michael Kay, editor. +W3C Recommendation. 8 June 2017.

[XSL FO] Extensible Stylesheet +Language (XSL) Version 1.1. Anders Berglund, Editor. +W3C Recommendation. 5 December 2006.

\ No newline at end of file diff --git a/guide/2.2.2/t_audio-fallback.html b/guide/2.2.2/t_audio-fallback.html new file mode 100644 index 0000000000..f0035899ed --- /dev/null +++ b/guide/2.2.2/t_audio-fallback.html @@ -0,0 +1,5 @@ +t:audio-fallback

t:audio-fallback

t:audio-fallback — Generate fallback for audio.

Description

+ +

Audio fallback is now supported with $fallback-js. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_biblioentry.html b/guide/2.2.2/t_biblioentry.html new file mode 100644 index 0000000000..a78898b202 --- /dev/null +++ b/guide/2.2.2/t_biblioentry.html @@ -0,0 +1,10 @@ +t:biblioentry

t:biblioentry

t:biblioentry — Format a biblioentry element.

Template:
{http://docbook.org/ns/docbook/templates}biblioentry
Defined in:
modules/templates.xsl
Used in:
modules/bibliography.xsl

Synopsis

<xsl:template name="t:biblioentry"/>

Description

+ +

Unlike bibliomixed, where the author is expected to +provide most of the formatting, biblioentry is a bag of +metadata. On the one hand, this opens up the possibility of producing +different bibliographic styles from the same entry. On the other hand, it +greatly complicates formatting.

+

The default t:biblioentry template uses a +header template (see Section 5.5, “Templates”).

+
\ No newline at end of file diff --git a/guide/2.2.2/t_bottom-nav.html b/guide/2.2.2/t_bottom-nav.html new file mode 100644 index 0000000000..0610f95b7d --- /dev/null +++ b/guide/2.2.2/t_bottom-nav.html @@ -0,0 +1,12 @@ +t:bottom-nav

t:bottom-nav

t:bottom-nav — Generate bottom-of-page navigation links.

Template:
{http://docbook.org/ns/docbook/templates}bottom-nav
Defined in:
modules/chunk-cleanup.xsl
Used in:
modules/chunk-cleanup.xsl

Synopsis

<xsl:template name="t:bottom-nav">
+                  <xsl:param name="chunk" as="xs:boolean"/>
+  <xsl:param name="node" as="element()"/>
+  <xsl:param name="prev" as="element()?"/>
+  <xsl:param name="next" as="element()?"/>
+  <xsl:param name="up" as="element()?"/>
+  <xsl:param name="top" as="element()?"/>
+                </xsl:template>

Description

+ +

This template generates the bottom-of-page nav element. When +chunking is performed, this should provide links between pages.

+
\ No newline at end of file diff --git a/guide/2.2.2/t_chunk-cleanup.html b/guide/2.2.2/t_chunk-cleanup.html new file mode 100644 index 0000000000..fd5ee6b750 --- /dev/null +++ b/guide/2.2.2/t_chunk-cleanup.html @@ -0,0 +1,10 @@ +t:chunk-cleanup

t:chunk-cleanup

t:chunk-cleanup — Cleanup the HTML markup for a DocBook document.

Template:
{http://docbook.org/ns/docbook/templates}chunk-cleanup
Defined in:
docbook.xsl
Used in:
docbook.xsl
Used by:

Synopsis

<xsl:template name="t:chunk-cleanup">
+                  <xsl:param name="source" as="document-node()"/>
+  <xsl:param name="docbook" as="document-node()"/>
+                </xsl:template>

Description

+ +

This mode performs cleanup tasks on the HTML document that +results from DocBook processing. This process +moves footnotes and annotations when necessary, generates navigation +elements, etc.

+
\ No newline at end of file diff --git a/guide/2.2.2/t_chunk-footnotes.html b/guide/2.2.2/t_chunk-footnotes.html new file mode 100644 index 0000000000..b1467e75bc --- /dev/null +++ b/guide/2.2.2/t_chunk-footnotes.html @@ -0,0 +1,8 @@ +t:chunk-footnotes

t:chunk-footnotes

t:chunk-footnotes — Processes footnotes in a chunk.

Template:
{http://docbook.org/ns/docbook/templates}chunk-footnotes
Defined in:
modules/chunk-cleanup.xsl
Used in:
modules/chunk-cleanup.xsl

Synopsis

<xsl:template name="t:chunk-footnotes">
+                  <xsl:param name="footnotes" as="element()*"/>
+                </xsl:template>

Description

+ +

When chunking is being performed (see Section 2.7, ““Chunked” output”), +all of the footnotes that should appear in a chunk are processed with this template. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_chunk-output.html b/guide/2.2.2/t_chunk-output.html new file mode 100644 index 0000000000..3e3cce6e91 --- /dev/null +++ b/guide/2.2.2/t_chunk-output.html @@ -0,0 +1,10 @@ +t:chunk-output

t:chunk-output

t:chunk-output — Generate chunked output for a DocBook document.

Template:
{http://docbook.org/ns/docbook/templates}chunk-output
Defined in:
docbook.xsl
Used in:
docbook.xsl
Used by:

Synopsis

<xsl:template name="t:chunk-output">
+                  <xsl:param name="source" as="document-node()"/>
+  <xsl:param name="docbook" as="document-node()"/>
+                </xsl:template>

Description

+ +

This mode processes the $persistent-toc if +requested and generates individual documents for each chunk. Like the +XPath transform function, this template returns a map. +You must process the map to store the documents.

+
\ No newline at end of file diff --git a/guide/2.2.2/t_docbook.html b/guide/2.2.2/t_docbook.html new file mode 100644 index 0000000000..ba103b6c30 --- /dev/null +++ b/guide/2.2.2/t_docbook.html @@ -0,0 +1,23 @@ +t:docbook

t:docbook

t:docbook — Process a DocBook document.

Template:
{http://docbook.org/ns/docbook/templates}docbook
Defined in:
docbook.xsl
Used in:
docbook.xsl

Synopsis

<xsl:template name="t:docbook">
+                  <xsl:param name="return" as="xs:string"/>
+                </xsl:template>

Description

+ +

This mode processes a DocBook document. It’s usually called +automatically by the root template in the stylesheets. You only need to call +it explicitly if you have an override for the root template and want to +do some specialized processing. +

+

The template has a single parameter, return, which selects +what should be constructed by the template:

+ +
main-document, the default value

Returns the primary output of the stylesheet. +

raw-results

Returns a map with two keys, document containing the original +DocBook document processed and output containing the transformed +result. +

chunked-results

Returns a map with two keys, document containing the original +DocBook document processed and chunks containing a map from +output URIs to documents.

+ +

Any other value is an error. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_generate-index.html b/guide/2.2.2/t_generate-index.html new file mode 100644 index 0000000000..edeb3de2f6 --- /dev/null +++ b/guide/2.2.2/t_generate-index.html @@ -0,0 +1,15 @@ +t:generate-index

t:generate-index

t:generate-index — Generate a back-of-the-book style index.

Template:
{http://docbook.org/ns/docbook/templates}generate-index
Defined in:
modules/index.xsl
Used in:
modules/index.xsl

Synopsis

<xsl:template name="t:generate-index">
+                  <xsl:param name="scope"/>
+                </xsl:template>

Description

+ +

This template is called when an empty index tag is found +the document and automatic index generation is enabled. Automatic index +generation is enabled if +either the $generate-index is true +or a +db processing instruction with an +autoindex pseudo-attribute is true. If the autoindex pseudo-attribute +is explicitly false, automatic index generation is suppressed for the index in which +it appears. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_glossary-divisions.html b/guide/2.2.2/t_glossary-divisions.html new file mode 100644 index 0000000000..4035f3279d --- /dev/null +++ b/guide/2.2.2/t_glossary-divisions.html @@ -0,0 +1,10 @@ +t:glossary-divisions

t:glossary-divisions

t:glossary-divisions — Groups entries in a glossary.

Template:
{http://docbook.org/ns/docbook/templates}glossary-divisions
Defined in:
modules/glossary.xsl
Used in:
modules/glossary.xsl

Synopsis

<xsl:template name="t:glossary-divisions">
+                  <xsl:param name="terms" as="element(db:glossentry)+"/>
+                </xsl:template>

Description

+ +

If $glossary-automatic-divisions is true, +this template is used to construct the divisions. By default, it makes groups based on the +(upper-case) first letter of the terms. It does not add a grouping wrapper if there’s only +one group. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_index-zone-reference.html b/guide/2.2.2/t_index-zone-reference.html new file mode 100644 index 0000000000..62fe342eac --- /dev/null +++ b/guide/2.2.2/t_index-zone-reference.html @@ -0,0 +1,11 @@ +t:index-zone-reference

t:index-zone-reference

t:index-zone-reference — Process index zone references.

Template:
{http://docbook.org/ns/docbook/templates}index-zone-reference
Defined in:
modules/index.xsl
Used in:
modules/index.xsl

Synopsis

<xsl:template name="t:index-zone-reference">
+                  <xsl:param name="scope"/>
+  <xsl:param name="role"/>
+  <xsl:param name="type"/>
+  <xsl:param name="lang"/>
+  <xsl:param name="zones" as="xs:string*"/>
+                </xsl:template>

Description

+ +

This template is called to generate index references for terms that have +a zone attribute. It is only called when generating an index.

+
\ No newline at end of file diff --git a/guide/2.2.2/t_inline.html b/guide/2.2.2/t_inline.html new file mode 100644 index 0000000000..4562251973 --- /dev/null +++ b/guide/2.2.2/t_inline.html @@ -0,0 +1,21 @@ +t:inline

t:inline

t:inline — Process an inline element.

Template:
{http://docbook.org/ns/docbook/templates}inline
Defined in:
modules/inlines.xsl
Used in:
modules/bibliography.xsl, modules/glossary.xsl, modules/info.xsl, modules/blocks.xsl, modules/verbatim.xsl, modules/inlines.xsl, modules/links.xsl, modules/publishers.xsl

Synopsis

<xsl:template name="t:inline">
+                  <xsl:param name="namemap"/>
+  <xsl:param name="class" as="xs:string*"/>
+  <xsl:param name="local-name-as-class" as="xs:boolean"/>
+  <xsl:param name="extra-attributes" as="attribute()*"/>
+  <xsl:param name="content"/>
+                </xsl:template>

Description

+ +

All of the inline elements are processed by t:inline. +This provides a common place to handle the fact that any of them might be a link. +Several parameters exist to handle variations in presentation:

+ +
namemap

Maps the element to a particular HTML element. Defaults to +span. +

class

A list of tokens that should be added to the element’s class attribute. +

local-name-as-class

If this is true, the local name of the DocBook element being processed will +be added to the classes. +

content

The element content. By default, this is obtained by applying XSLT templates to +the element’s content.

extra-attributes

Extra attributes to be added to the element. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_mediaobject-img.html b/guide/2.2.2/t_mediaobject-img.html new file mode 100644 index 0000000000..526a7d75fd --- /dev/null +++ b/guide/2.2.2/t_mediaobject-img.html @@ -0,0 +1,12 @@ +t:mediaobject-img

t:mediaobject-img

t:mediaobject-img — Generate a mediaobject img.

Template:
{http://docbook.org/ns/docbook/templates}mediaobject-img
Defined in:
modules/objects.xsl
Used in:
modules/objects.xsl

Synopsis

<xsl:template name="t:mediaobject-img">
+                  <xsl:param name="filename" as="xs:string"/>
+  <xsl:param name="styles" as="xs:string*"/>
+  <xsl:param name="viewport" as="map(*)?"/>
+  <xsl:param name="imageproperties" as="map(*)?"/>
+                </xsl:template>

Description

+ +

This template is called to generate the +img element for +a media object. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_person-name-family-given.html b/guide/2.2.2/t_person-name-family-given.html new file mode 100644 index 0000000000..46e02952ad --- /dev/null +++ b/guide/2.2.2/t_person-name-family-given.html @@ -0,0 +1,24 @@ +t:person-name-family-given

t:person-name-family-given

t:person-name-family-given — Formats a personal name in the “FAMILY-given” style.

Template:
{http://docbook.org/ns/docbook/templates}person-name-family-given
Defined in:
modules/info.xsl
Used in:
modules/info.xsl

Synopsis

<xsl:template name="t:person-name-family-given"/>

Description

+ +

The “FAMILY-given” style formats a personal +name as the family name (surname) in upper-case, followed +by the first given name (if there is one), followed by the text +“[FAMILY given]”. See t:person-name.

+ +

Example 1, “The FAMILY-given name style” shows an example of a personal +name to be formatted with the “FAMILY-given” style.

+ +
  |<para>The author is
+  |<personname role="FAMILY-given">
+  |      <givenname>Norman</givenname>
+  |      <surname>Walsh</surname>
+  |      <othername>David</othername>
+  |   </personname>.</para>
+
Example 1The FAMILY-given name style
+ +

That would be formatted as:

+ +

The author is +WALSH Norman [FAMILY Given].

+ +
\ No newline at end of file diff --git a/guide/2.2.2/t_person-name-first-last.html b/guide/2.2.2/t_person-name-first-last.html new file mode 100644 index 0000000000..2605b59b90 --- /dev/null +++ b/guide/2.2.2/t_person-name-first-last.html @@ -0,0 +1,31 @@ +t:person-name-first-last

t:person-name-first-last

t:person-name-first-last — Formats a personal name in the “first-last” style.

Template:
{http://docbook.org/ns/docbook/templates}person-name-first-last
Defined in:
modules/info.xsl
Used in:
modules/info.xsl

Synopsis

<xsl:template name="t:person-name-first-last"/>

Description

+ +

The “first-last” style formats a personal name +as: the first honorific, followed by +the given name, followed possibly by the “middle name”, followed by the +surname, followed by the lineage. +See t:person-name. +

+ +

If an othername is provided and if +$othername-in-middle is true, then the first +othername will be treated as a “middle name” and presented +between the given and family names.

+ +

Example 1, “The first-last name style” shows an example of a personal +name to be formatted with the “first-last” style.

+ +
  |<para>The author is
+  |<personname role="first-last">
+  |      <givenname>Norman</givenname>
+  |      <surname>Walsh</surname>
+  |      <othername>David</othername>
+  |   </personname>.</para>
+
Example 1The first-last name style
+ +

That would be formatted as:

+ +

The author is +Norman David Walsh.

+ +
\ No newline at end of file diff --git a/guide/2.2.2/t_person-name-last-first.html b/guide/2.2.2/t_person-name-last-first.html new file mode 100644 index 0000000000..511a4a6d67 --- /dev/null +++ b/guide/2.2.2/t_person-name-last-first.html @@ -0,0 +1,23 @@ +t:person-name-last-first

t:person-name-last-first

t:person-name-last-first — Formats a personal name in the “last-first” style.

Template:
{http://docbook.org/ns/docbook/templates}person-name-last-first
Defined in:
modules/info.xsl
Used in:
modules/info.xsl

Synopsis

<xsl:template name="t:person-name-last-first"/>

Description

+ +

The “last-first” style formats a personal +name as the family name (surname) followed +by the first given name (if there is one). If both a family name and a given name +are present, they are separated by a comma. See t:person-name.

+ +

Example 1, “The last-first name style” shows an example of a personal +name to be formatted with the “last-first” style.

+ +
  |<para>The author is
+  |<personname role="last-first">
+  |      <givenname>Norman</givenname>
+  |      <surname>Walsh</surname>
+  |      <othername>David</othername>
+  |   </personname>.</para>
+
Example 1The last-first name style
+ +

That would be formatted as:

+ +

The author is +Walsh, Norman.

+
\ No newline at end of file diff --git a/guide/2.2.2/t_person-name-list.html b/guide/2.2.2/t_person-name-list.html new file mode 100644 index 0000000000..f224932851 --- /dev/null +++ b/guide/2.2.2/t_person-name-list.html @@ -0,0 +1,13 @@ +t:person-name-list

t:person-name-list

t:person-name-list — Formats a sequence of personal names.

Template:
{http://docbook.org/ns/docbook/templates}person-name-list
Defined in:
modules/info.xsl
Used in:
modules/bibliography.xsl

Synopsis

<xsl:template name="t:person-name-list"/>

Description

+ +

Formats a sequence of names:

+
  • If the sequence consists of a single name, it is formatted. +

  • If the sequence consists of exactly two names, they are +formatted with “and” between them where “and” is taken from the +in-scope language localization file. It is the item with the key +“author-sep2”.

  • If the sequence consists of more than two names, all but the +last are separated by “, “ (the localization item with the key +“author-sep”). The last is separated by “, and” +(the localization item with the key “author-seplast”). +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_person-name.html b/guide/2.2.2/t_person-name.html new file mode 100644 index 0000000000..7eb77acc0a --- /dev/null +++ b/guide/2.2.2/t_person-name.html @@ -0,0 +1,63 @@ +t:person-name

t:person-name

t:person-name — Formats a personal name.

Template:
{http://docbook.org/ns/docbook/templates}person-name
Defined in:
modules/info.xsl
Used in:
modules/info.xsl

Synopsis

<xsl:template name="t:person-name">
+                  <xsl:param name="style" as="xs:string"/>
+                </xsl:template>

Description

+ +

This template formats a personal name according to the specified style. +This template must only be called when the current context item is a +personname. The personname element can be used +in two different ways, it can just contain the name:

+ +
  |<personname>Norman Walsh</personname>
+
+ +

or it can contain the name with markup:

+ +
  |<personname><givenname>Norman</givenname>
+  |<surname>Walsh</surname></personname>
+
+ +

How the name is formatted depends on which form of markup is used +and which style is selected. Several styles are supported:

+ +
  1. If the name contains no markup, it is simply formatted as is. +

  2. If the style is “FAMILY-given”, it is formatted +with t:person-name-family-given and generally produces +the family name in upper case followed by the given name. For example: “WALSH Norman”. +

  3. If the style is “last-first”, it is formatted +with t:person-name-last-first and generally produces +the family name followed by the given name separated by a comma. +For example: “Walsh, Norman”. +

  4. If the style is “first-last”, it is formatted +with t:person-name-first-last and generally produces +the given name followed by the family name. For example: “Norman Walsh”. +

  5. Any other value raises dbe:INVALID-NAME-STYLE. +

+ +
Given names

Historically, DocBook used firstname for the given name of a person. +In DocBook 5.1, the givenname element was introduced as an +alternative. The stylesheets treat them identically.

+ +

The stylesheets attempt to determine what style to use for each +personname:

+ +
  1. First, by looking at that the role attribute +on that element. If any of styles from the +$v:personal-name-styles list appear in the role, +that style will be selected. (If more than one style appears, the +results are undefined.)

  2. If the personname doesn’t identify a style, and if it’s a child of +author, editor, or othercredit, the role +attirbute of its parent is inspected.

  3. If the $personal-name-style is defined, it is +is selected.

  4. If a style still hasn’t been selected the style in the +localization file is used.

+ +

Personal names are notoriously complicated (see +Names). DocBook includes several tags +for identifying parts of names:

+ +
firstname or givenname

for a given name,

surname

for a family name,

lineage

for lineage (such as “Jr” or “III”),

honorific

for an honorific title (such as “Dr” or “Ms”), and

othername

for everything else.

+ +

In all likelihood, if your document contains a variety of personal names, +you will need to use roles to disambiguate special cases and you will have to +provide alternate or additional templates to format them.

+ +
\ No newline at end of file diff --git a/guide/2.2.2/t_table-footnotes.html b/guide/2.2.2/t_table-footnotes.html new file mode 100644 index 0000000000..e889d3ec97 --- /dev/null +++ b/guide/2.2.2/t_table-footnotes.html @@ -0,0 +1,7 @@ +t:table-footnotes

t:table-footnotes

t:table-footnotes — Process table footnotes.

Template:
{http://docbook.org/ns/docbook/templates}table-footnotes
Defined in:
modules/footnotes.xsl
Used in:
modules/tablecals.xsl, modules/tablehtml.xsl

Synopsis

<xsl:template name="t:table-footnotes">
+                  <xsl:param name="footnotes" as="element(db:footnote)+"/>
+                </xsl:template>

Description

+ +

The t:table-footnotes template is called +to process footnotes at the bottom of a table.

+
\ No newline at end of file diff --git a/guide/2.2.2/t_top-nav.html b/guide/2.2.2/t_top-nav.html new file mode 100644 index 0000000000..f507ab8aac --- /dev/null +++ b/guide/2.2.2/t_top-nav.html @@ -0,0 +1,12 @@ +t:top-nav

t:top-nav

t:top-nav — Generate top-of-page navigation links.

Template:
{http://docbook.org/ns/docbook/templates}top-nav
Defined in:
modules/chunk-cleanup.xsl
Used in:
modules/chunk-cleanup.xsl

Synopsis

<xsl:template name="t:top-nav">
+                  <xsl:param name="chunk" as="xs:boolean"/>
+  <xsl:param name="node" as="element()"/>
+  <xsl:param name="prev" as="element()?"/>
+  <xsl:param name="next" as="element()?"/>
+  <xsl:param name="up" as="element()?"/>
+  <xsl:param name="top" as="element()?"/>
+                </xsl:template>

Description

+ +

This template generates the top-of-page nav element. When +chunking is performed, this should provide links between pages.

+
\ No newline at end of file diff --git a/guide/2.2.2/t_video-fallback.html b/guide/2.2.2/t_video-fallback.html new file mode 100644 index 0000000000..17c8c349ac --- /dev/null +++ b/guide/2.2.2/t_video-fallback.html @@ -0,0 +1,5 @@ +t:video-fallback

t:video-fallback

t:video-fallback — Generate fallback for video.

Description

+ +

Video fallback is now supported with $fallback-js. +

+
\ No newline at end of file diff --git a/guide/2.2.2/t_xlink.html b/guide/2.2.2/t_xlink.html new file mode 100644 index 0000000000..932277cc22 --- /dev/null +++ b/guide/2.2.2/t_xlink.html @@ -0,0 +1,10 @@ +t:xlink
\ No newline at end of file diff --git a/guide/2.2.2/templates.html b/guide/2.2.2/templates.html new file mode 100644 index 0000000000..291fbdd0ae --- /dev/null +++ b/guide/2.2.2/templates.html @@ -0,0 +1 @@ +IV. Template reference

IVTemplate reference

Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/v_VERSION-ID.html b/guide/2.2.2/v_VERSION-ID.html new file mode 100644 index 0000000000..3b0baf3350 --- /dev/null +++ b/guide/2.2.2/v_VERSION-ID.html @@ -0,0 +1,8 @@ +$v:VERSION-ID

$v:VERSION-ID

$v:VERSION-ID — A unique version identifier.

Variable:
{http://docbook.org/ns/docbook/variables}VERSION-ID
Defined in:
VERSION.xsl
Used in:
modules/head.xsl

Synopsis

$v:VERSION-ID := '7688aa3b'

Description

+ +

Generally speaking the $VERSION is sufficient to +identify the stylesheets. The $VERSION-ID adds a unique identifier +derived from the latest +git +commit.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_VERSION.html b/guide/2.2.2/v_VERSION.html new file mode 100644 index 0000000000..7fe6b4ba5e --- /dev/null +++ b/guide/2.2.2/v_VERSION.html @@ -0,0 +1,4 @@ +$v:VERSION

$v:VERSION

$v:VERSION — The stylesheet version.

Variable:
{http://docbook.org/ns/docbook/variables}VERSION
Defined in:
VERSION.xsl
Used in:
modules/head.xsl, modules/inlines.xsl

Synopsis

$v:VERSION := '2.2.2-SNAPSHOT'

Description

+ +

This variable holds the version number of the stylesheets.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_admonition-icons.html b/guide/2.2.2/v_admonition-icons.html new file mode 100644 index 0000000000..f2de50be52 --- /dev/null +++ b/guide/2.2.2/v_admonition-icons.html @@ -0,0 +1,15 @@ +$v:admonition-icons

$v:admonition-icons

$v:admonition-icons — Admonition icons.

Variable:
{http://docbook.org/ns/docbook/variables}admonition-icons
Defined in:
modules/variable.xsl
Used in:
modules/admonitions.xsl

Synopsis

  |<xsl:variable name="v:admonition-icons">
+  |   <tip></tip>
+  |   <note></note>
+  |   <important></important>
+  |   <caution></caution>
+  |   <warning>🛑</warning>
+  |   <danger></danger>
+  |</xsl:variable>
+

Description

+ +

These are the icons that will be presented next to admonitions. +They’re single Unicode characters in the default distribution, but they +can be replaced by graphics or other markup. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_annotation-close.html b/guide/2.2.2/v_annotation-close.html new file mode 100644 index 0000000000..9ccf522793 --- /dev/null +++ b/guide/2.2.2/v_annotation-close.html @@ -0,0 +1,9 @@ +$v:annotation-close

$v:annotation-close

$v:annotation-close — Annotation close button.

Variable:
{http://docbook.org/ns/docbook/variables}annotation-close
Defined in:
modules/variable.xsl
Used in:
main.xsl

Synopsis

  |<xsl:variable name="v:annotation-close"
+  |              as="element()">
+  |   <span></span>
+  |</xsl:variable>
+

Description

+ +

The contents of this variable will be rendered as the “close” +icon for popup annotations.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_arg-choice-def-close.html b/guide/2.2.2/v_arg-choice-def-close.html new file mode 100644 index 0000000000..f0be90398f --- /dev/null +++ b/guide/2.2.2/v_arg-choice-def-close.html @@ -0,0 +1,78 @@ +$arg-choice-def-close-str

$arg-choice-def-close-str, …

$arg-choice-def-close-str, $v:arg-choice-def-open-str, $v:arg-choice-opt-close-str, $v:arg-choice-opt-open-str, $v:arg-choice-plain-close-str, $v:arg-choice-plain-open-str, $v:arg-choice-req-close-str, $v:arg-choice-req-open-str, $v:arg-or-sep, $v:arg-rep-def-str, $v:arg-rep-norepeat-str, $v:arg-rep-repeat-str — Punctuation marks used in formatting cmdsynopsis.

Variable:
{http://docbook.org/ns/docbook/variables}arg-choice-def-close-str
{http://docbook.org/ns/docbook/variables}arg-choice-def-open-str
{http://docbook.org/ns/docbook/variables}arg-choice-opt-close-str
{http://docbook.org/ns/docbook/variables}arg-choice-opt-open-str
{http://docbook.org/ns/docbook/variables}arg-choice-plain-close-str
{http://docbook.org/ns/docbook/variables}arg-choice-plain-open-str
{http://docbook.org/ns/docbook/variables}arg-choice-req-close-str
{http://docbook.org/ns/docbook/variables}arg-choice-req-open-str
{http://docbook.org/ns/docbook/variables}arg-or-sep
{http://docbook.org/ns/docbook/variables}arg-rep-def-str
{http://docbook.org/ns/docbook/variables}arg-rep-norepeat-str
{http://docbook.org/ns/docbook/variables}arg-rep-repeat-str
Defined in:
modules/variable.xsl (12)
Used in:
modules/programming.xsl

Synopsis

  |<xsl:variable name="v:arg-choice-opt-open-str">
+  |   <span class="cmdpunct">[</span>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-choice-opt-close-str">
+  |   <span class="cmdpunct">]</span>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-choice-req-open-str">
+  |   <span class="cmdpunct">{</span>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-choice-req-close-str">
+  |   <span class="cmdpunct">}</span>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-choice-plain-open-str">
+  |   <xsl:text/>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-choice-plain-close-str">
+  |   <xsl:text/>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-choice-def-open-str">
+  |   <span class="cmdpunct">[</span>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-choice-def-close-str">
+  |   <span class="cmdpunct">]</span>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-rep-repeat-str">
+  |   <span class="cmdpunct"></span>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-rep-norepeat-str">
+  |   <xsl:text/>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-rep-def-str">
+  |   <xsl:text/>
+  |</xsl:variable>
+
  |<xsl:variable name="v:arg-or-sep">
+  |   <span class="cmdpunct"> | </span>
+  |</xsl:variable>
+

Description

+ +

The cmdsynopsis element is used to model the syntax of +command line interfaces. Broadly, a command line interface consists of a command +followed by a variety of options. These options can be optional or required +and may or may not be repeatable.

+

User expections about how these should be formatted vary by platform and +publisher. The $v:arg-… variables are designed to make +it easy to adapt to many common forms of presentation. Each contains (usually) +a single character used as a delimiter:

+ +
VariableUse in a synopsisDefaulta
$v:arg-choice-def-close-strFollows a default option]
$v:arg-choice-def-open-strPrecedes a default option[
$v:arg-choice-opt-close-strFollows an optional option]
$v:arg-choice-opt-open-strPrecedes an optional option[
$v:arg-choice-plain-close-strFollows an option identified as “plain”(empty string)
$v:arg-choice-plain-open-strPrecedes an option identified as “plain”(empty string)
$v:arg-choice-req-close-strFollows a required option}
$v:arg-choice-req-open-strPrecedes a required option{
$v:arg-or-sepSeparator between options in an “or” group|
$v:arg-rep-def-strIdentifies a repeatable default option(empty string)
$v:arg-rep-norepeat-strIdentifies a non-repeatable option(empty string)
$v:arg-rep-repeat-strIdentifies an explicitly repeatable option

Each of the default characters is placed +in an HTML span with the class “cmdpunct”. +

+ +

A contrived cmdsynopsis appears in +Example 1, “An example of a cmdsynopsis.

+ +
   |<cmdsynopsis>
+   |   <command>command</command>
+   |   <arg choice="plain">
+   |      <option>--path <replaceable>PATH</replaceable>
+   |      </option>
+   |   </arg>
+   |   <arg>-opt</arg>
+   |   <arg choice="req">-req</arg>
+   |   <arg rep="repeat">-D<replaceable>name</replaceable>
+   |   </arg>
+   |   <group>
+   |      <arg choice="plain">-M</arg>
+   |      <arg choice="plain">-MD</arg>
+   |   </group>
+   |</cmdsynopsis>
+
Example 1An example of a cmdsynopsis
+ +

One possible rendering of such a synopsis:

+ +
command + --path PATH + [-opt] {-req} [-Dname] [-M | -MD]
+ +
\ No newline at end of file diff --git a/guide/2.2.2/v_as-json.html b/guide/2.2.2/v_as-json.html new file mode 100644 index 0000000000..9e74cd092b --- /dev/null +++ b/guide/2.2.2/v_as-json.html @@ -0,0 +1,5 @@ +$v:as-json

$v:as-json

$v:as-json — Map for serializing JSON.

Variable:
{http://docbook.org/ns/docbook/variables}as-json
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

$v:as-json := map {'method':'json','indent':true()}

Description

+ +

This is a convience variable for serializing maps as JSON. +Used mostly in debugging.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_as-xml.html b/guide/2.2.2/v_as-xml.html new file mode 100644 index 0000000000..1692ed7a25 --- /dev/null +++ b/guide/2.2.2/v_as-xml.html @@ -0,0 +1,5 @@ +$v:as-xml

$v:as-xml

$v:as-xml — Map for serializing XML.

Variable:
{http://docbook.org/ns/docbook/variables}as-xml
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

$v:as-xml := map {'method':'xml','indent':true()}

Description

+ +

This is a convience variable for serializing maps as JSON. +Used mostly in debugging.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_bridgehead-map.html b/guide/2.2.2/v_bridgehead-map.html new file mode 100644 index 0000000000..1bd7f9b663 --- /dev/null +++ b/guide/2.2.2/v_bridgehead-map.html @@ -0,0 +1,21 @@ +$v:bridgehead-map

$v:bridgehead-map

$v:bridgehead-map — Maps bridgehead renderas values.

Variable:
{http://docbook.org/ns/docbook/variables}bridgehead-map
Defined in:
modules/sections.xsl
Used in:
modules/sections.xsl

Synopsis

   |<xsl:variable name="v:bridgehead-map"
+   |              as="map(*)">
+   |   <xsl:map>
+   |      <xsl:map-entry key="'sect1'" select="'h2'"/>
+   |      <xsl:map-entry key="'sect2'" select="'h3'"/>
+   |      <xsl:map-entry key="'sect3'" select="'h4'"/>
+   |      <xsl:map-entry key="'sect4'" select="'h5'"/>
+   |      <xsl:map-entry key="'sect5'" select="'h5'"/>
+   |      <xsl:map-entry key="'sect6'" select="'h5'"/>
+   |      <xsl:map-entry key="'block'" select="'div'"/>
+   |   </xsl:map>
+   |</xsl:variable>
+

Description

+ +

The bridgehead element allows the author to insert a +heading without regard to the logical structure of the document. This +variable controls how the values provided in the renderas attribute +map to HTML. If there is no mapping for the specified rendering, it is +rendered as a div. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_chunk-filter-namespaces.html b/guide/2.2.2/v_chunk-filter-namespaces.html new file mode 100644 index 0000000000..37487472e8 --- /dev/null +++ b/guide/2.2.2/v_chunk-filter-namespaces.html @@ -0,0 +1,10 @@ +$v:chunk-filter-namespaces

$v:chunk-filter-namespaces

$v:chunk-filter-namespaces — Namespace context for chunking expressions.

Variable:
{http://docbook.org/ns/docbook/variables}chunk-filter-namespaces
Defined in:
modules/variable.xsl
Used in:
modules/chunk.xsl

Synopsis

  |<xsl:variable name="v:chunk-filter-namespaces"
+  |              as="namespace-node()*">
+  |   <xsl:namespace name="db" select="'http://docbook.org/ns/docbook'"/>
+  |</xsl:variable>
+

Description

+ +

When the $chunk-include and +$chunk-exclude expressions are evaluated, +the namespace bindings in this variable will be in-scope.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_chunk-renumber-footnotes.html b/guide/2.2.2/v_chunk-renumber-footnotes.html new file mode 100644 index 0000000000..49ba16c3ca --- /dev/null +++ b/guide/2.2.2/v_chunk-renumber-footnotes.html @@ -0,0 +1,13 @@ +$v:chunk-renumber-footnotes

$v:chunk-renumber-footnotes

$v:chunk-renumber-footnotes — Renumber footnotes when chunking?

Variable:
{http://docbook.org/ns/docbook/variables}chunk-renumber-footnotes
Defined in:
modules/variable.xsl
Used in:
modules/chunk-cleanup.xsl

Synopsis

$v:chunk-renumber-footnotes as xs:boolean := f:is-true($chunk-renumber-footnotes)

Description

+ +

Footnotes are generally numbered (or otherwise marked, +see $footnote-numeration) sequentially throughout a document. +If the document is being broken +into chunks, it may seem odd if the only +footnote in a chunk is labeled “5”. If +$v:chunk-renumber-footnotes is true, the stylesheets +will attempt to renumber footnotes in each chunk so that they begin at the +first mark in each chunk.

+
Note

If your document uses footnoteref and the reference and the +footnote are in different chunks, this may lead to very confusing numeration!

+
\ No newline at end of file diff --git a/guide/2.2.2/v_chunk.html b/guide/2.2.2/v_chunk.html new file mode 100644 index 0000000000..8dd0b76592 --- /dev/null +++ b/guide/2.2.2/v_chunk.html @@ -0,0 +1,5 @@ +$v:chunk

$v:chunk

$v:chunk — Are we chunking on this run?

Variable:
{http://docbook.org/ns/docbook/variables}chunk
Defined in:
modules/variable.xsl
Used in:
param.xsl, modules/variable.xsl, modules/chunk.xsl, modules/chunk-cleanup.xsl, modules/chunk-output.xsl

Synopsis

$v:chunk as xs:boolean := not(normalize-space($chunk) = '')

Description

+ +

If $v:chunk is true, then the stylesheets are +producing chunked output. See Section 2.7, ““Chunked” output”.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_custom-localizations.html b/guide/2.2.2/v_custom-localizations.html new file mode 100644 index 0000000000..4bf4b13f10 --- /dev/null +++ b/guide/2.2.2/v_custom-localizations.html @@ -0,0 +1,4 @@ +$v:custom-localizations

$v:custom-localizations

$v:custom-localizations — Customize localizations.

Variable:
{http://docbook.org/ns/docbook/variables}custom-localizations
Defined in:
modules/variable.xsl
Used in:
modules/gentext.xsl
Since:
2.0.0

Synopsis

$v:custom-localizations as document-node()? := ()

Description

+ +

Provides overrides for localization. See Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_DYNAMIC-PROFILE-EVAL-ERROR.html b/guide/2.2.2/v_dbe_DYNAMIC-PROFILE-EVAL-ERROR.html new file mode 100644 index 0000000000..30f0bead22 --- /dev/null +++ b/guide/2.2.2/v_dbe_DYNAMIC-PROFILE-EVAL-ERROR.html @@ -0,0 +1,7 @@ +$err:DYNAMIC-PROFILE-EVAL-ERROR

$err:DYNAMIC-PROFILE-EVAL-ERROR

$err:DYNAMIC-PROFILE-EVAL-ERROR — Error evaluating dynamic profile expression.

Variable:
{http://docbook.org/ns/docbook/errors}DYNAMIC-PROFILE-EVAL-ERROR
Defined in:
modules/errors.xsl
Used in:
Not used.

Synopsis

$dbe:DYNAMIC-PROFILE-EVAL-ERROR := xs:QName('dbe:DYNAMIC-PROFILE-EVAL-ERROR')

Description

+ +

This error is raised if the variable referenced in a dynamic profile +expression (see Section 2.9, “Effectivity attributes and profiling”) is not available and the +$dynamic-profile-error configuration is +“error”.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_DYNAMIC-PROFILE-SYNTAX-ERROR.html b/guide/2.2.2/v_dbe_DYNAMIC-PROFILE-SYNTAX-ERROR.html new file mode 100644 index 0000000000..70c65dee9a --- /dev/null +++ b/guide/2.2.2/v_dbe_DYNAMIC-PROFILE-SYNTAX-ERROR.html @@ -0,0 +1,8 @@ +$err:DYNAMIC-PROFILE-SYNTAX-ERROR

$err:DYNAMIC-PROFILE-SYNTAX-ERROR

$err:DYNAMIC-PROFILE-SYNTAX-ERROR — Internal error processing dynamic profiles.

Variable:
{http://docbook.org/ns/docbook/errors}DYNAMIC-PROFILE-SYNTAX-ERROR
Defined in:
modules/errors.xsl
Used in:
Not used.

Synopsis

$dbe:DYNAMIC-PROFILE-SYNTAX-ERROR := xs:QName('dbe:DYNAMIC-PROFILE-SYNTAX-ERROR')

Description

+ +

This is an internal error. It indicates that the syntax of a +dynamic profiling expression was unrecognized. Since dynamic profiling +should only be applied to expressions that have +been recognized, this error should never happen. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INTERNAL-HIGHLIGHT-ERROR.html b/guide/2.2.2/v_dbe_INTERNAL-HIGHLIGHT-ERROR.html new file mode 100644 index 0000000000..02bbb4c02b --- /dev/null +++ b/guide/2.2.2/v_dbe_INTERNAL-HIGHLIGHT-ERROR.html @@ -0,0 +1,10 @@ +$err:INTERNAL-HIGHLIGHT-ERROR

$err:INTERNAL-HIGHLIGHT-ERROR

$err:INTERNAL-HIGHLIGHT-ERROR — Internal error in syntax highlighting.

Variable:
{http://docbook.org/ns/docbook/errors}INTERNAL-HIGHLIGHT-ERROR
Defined in:
modules/errors.xsl
Used in:
highlight.xsl

Synopsis

$dbe:INTERNAL-HIGHLIGHT-ERROR := xs:QName('dbe:INTERNAL-HIGHLIGHT-ERROR')

Description

+ +

This is an internal error that should never happen. It indicates +that stylesheet processing of program listings attempted to use the syntax +highlighter when the syntax highlighter was known to be unavailable. +If you see this error, please file +an issue +for it. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INTERNAL-RENUMBER-ERROR.html b/guide/2.2.2/v_dbe_INTERNAL-RENUMBER-ERROR.html new file mode 100644 index 0000000000..bd407aa350 --- /dev/null +++ b/guide/2.2.2/v_dbe_INTERNAL-RENUMBER-ERROR.html @@ -0,0 +1,9 @@ +$err:INTERNAL-RENUMBER-ERROR

$err:INTERNAL-RENUMBER-ERROR

$err:INTERNAL-RENUMBER-ERROR — Internal error in chunk formatting.

Variable:
{http://docbook.org/ns/docbook/errors}INTERNAL-RENUMBER-ERROR
Defined in:
modules/errors.xsl
Used in:
modules/chunk-cleanup.xsl

Synopsis

$dbe:INTERNAL-RENUMBER-ERROR := xs:QName('dbe:INTERNAL-RENUMBER-ERROR')

Description

+ +

This is an internal error that should never happen. It indicates +that stylesheet processing of footnotes during “chunking” has gone +awry. If you see this error, please file +an issue +for it. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-AREAREFS.html b/guide/2.2.2/v_dbe_INVALID-AREAREFS.html new file mode 100644 index 0000000000..78c4a54703 --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-AREAREFS.html @@ -0,0 +1,11 @@ +$err:INVALID-AREAREFS

$err:INVALID-AREAREFS

$err:INVALID-AREAREFS — Callout area refers to invalid target.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-AREAREFS
Defined in:
modules/errors.xsl
Used in:
modules/lists.xsl

Synopsis

$dbe:INVALID-AREAREFS := xs:QName('dbe:INVALID-AREAREFS')

Description

+ +

This error indicates that a calloutlist includes an ID/IDREF +link to a callout, but the element identified by the ID is not an areaset, +area, or callout. +

+

This +should +be identified as a validation error by a Schematron rule. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-CALS.html b/guide/2.2.2/v_dbe_INVALID-CALS.html new file mode 100644 index 0000000000..24872d739f --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-CALS.html @@ -0,0 +1,10 @@ +$err:INVALID-CALS

$err:INVALID-CALS

$err:INVALID-CALS — CALS table is invalid.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-CALS
Defined in:
modules/errors.xsl
Used in:
modules/tablecals.xsl

Synopsis

$dbe:INVALID-CALS := xs:QName('dbe:INVALID-CALS')

Description

+ +

This error is raised if a CALS table is invalid. The following +error conditions give rise to this error:

+
  • The number of columns in the table exceeds the specified +cols value on tgroup. +
  • There is a named reference to a colspec but no colspec +with that name exists.
  • There is a named reference to a spanspec but no spanspec +with that name exists.
+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-CONSTRAINT.html b/guide/2.2.2/v_dbe_INVALID-CONSTRAINT.html new file mode 100644 index 0000000000..cdb7dfdf0f --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-CONSTRAINT.html @@ -0,0 +1,9 @@ +$err:INVALID-CONSTRAINT

$err:INVALID-CONSTRAINT

$err:INVALID-CONSTRAINT — Incorrect constraint reference.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-CONSTRAINT
Defined in:
modules/errors.xsl
Used in:
modules/programming.xsl

Synopsis

$dbe:INVALID-CONSTRAINT := xs:QName('dbe:INVALID-CONSTRAINT')

Description

+ +

This error is raised if a constraint link points to something +other than a constraintdef.

+

This +should +be identified as a validation error by a Schematron rule. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-DYNAMIC-PROFILE-ERROR.html b/guide/2.2.2/v_dbe_INVALID-DYNAMIC-PROFILE-ERROR.html new file mode 100644 index 0000000000..029df76296 --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-DYNAMIC-PROFILE-ERROR.html @@ -0,0 +1,6 @@ +$err:INVALID-DYNAMIC-PROFILE-ERROR

$err:INVALID-DYNAMIC-PROFILE-ERROR

$err:INVALID-DYNAMIC-PROFILE-ERROR — Invalid value specified for $dynamic-profile-error.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-DYNAMIC-PROFILE-ERROR
Defined in:
modules/errors.xsl
Used in:
Not used.

Synopsis

$dbe:INVALID-DYNAMIC-PROFILE-ERROR := xs:QName('dbe:INVALID-DYNAMIC-PROFILE-ERROR')

Description

+ +

This error is raised if the value of +$dynamic-profile-error is not a recognized value. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-INJECT.html b/guide/2.2.2/v_dbe_INVALID-INJECT.html new file mode 100644 index 0000000000..24dabe2401 --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-INJECT.html @@ -0,0 +1,7 @@ +$err:INVALID-INJECT

$err:INVALID-INJECT

$err:INVALID-INJECT — Invalid callout area specification.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-INJECT
Defined in:
modules/errors.xsl
Used in:
modules/verbatim.xsl

Synopsis

$dbe:INVALID-INJECT := xs:QName('dbe:INVALID-INJECT')

Description

+ +

This error is raised if a programlistingco or +screenco contains invalid areas. This can arise from invalid +markup, unsupported units in an area, or unparseable coordinates in an area. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-NAME-STYLE.html b/guide/2.2.2/v_dbe_INVALID-NAME-STYLE.html new file mode 100644 index 0000000000..08e6a635d7 --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-NAME-STYLE.html @@ -0,0 +1,6 @@ +$err:INVALID-NAME-STYLE

$err:INVALID-NAME-STYLE

$err:INVALID-NAME-STYLE — Invalid name style.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-NAME-STYLE
Defined in:
modules/errors.xsl
Used in:
modules/info.xsl

Synopsis

$dbe:INVALID-NAME-STYLE := xs:QName('dbe:INVALID-NAME-STYLE')

Description

+ +

This error indicates that a request was made to format a personal +name (see t:person-name) with an unknown style name. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-PRODUCTIONRECAP.html b/guide/2.2.2/v_dbe_INVALID-PRODUCTIONRECAP.html new file mode 100644 index 0000000000..5c04cd0757 --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-PRODUCTIONRECAP.html @@ -0,0 +1,9 @@ +$err:INVALID-PRODUCTIONRECAP

$err:INVALID-PRODUCTIONRECAP

$err:INVALID-PRODUCTIONRECAP — Incorrect production reference.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-PRODUCTIONRECAP
Defined in:
modules/errors.xsl
Used in:
modules/programming.xsl

Synopsis

$dbe:INVALID-PRODUCTIONRECAP := xs:QName('dbe:INVALID-PRODUCTIONRECAP')

Description

+ +

This error is raised if a productionrecap link points to something +other than a production.

+

This +should +be identified as a validation error by a Schematron rule. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-RESULTS-REQUESTED.html b/guide/2.2.2/v_dbe_INVALID-RESULTS-REQUESTED.html new file mode 100644 index 0000000000..94894d112d --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-RESULTS-REQUESTED.html @@ -0,0 +1,7 @@ +$err:INVALID-RESULTS-REQUESTED

$err:INVALID-RESULTS-REQUESTED

$err:INVALID-RESULTS-REQUESTED — Invalid result form parameter.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-RESULTS-REQUESTED
Defined in:
modules/errors.xsl
Used in:
docbook.xsl
Used by:

Synopsis

$dbe:INVALID-RESULTS-REQUESTED := xs:QName('dbe:INVALID-RESULTS-REQUESTED')

Description

+ +

This error is raised if the +$result parameter passed to t:docbook is +not one of “raw-results”, “chunked-results”, +or “main-document”.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID-TEMPLATE.html b/guide/2.2.2/v_dbe_INVALID-TEMPLATE.html new file mode 100644 index 0000000000..c6d6180d93 --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID-TEMPLATE.html @@ -0,0 +1,5 @@ +$err:INVALID-TEMPLATE

$err:INVALID-TEMPLATE

$err:INVALID-TEMPLATE — Invalid template reference.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-TEMPLATE
Defined in:
modules/errors.xsl
Used in:
modules/templates.xsl

Synopsis

$dbe:INVALID-TEMPLATE := xs:QName('dbe:INVALID-TEMPLATE')

Description

+ +

This error is raised if a template reference names a template that +does not exist.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_dbe_INVALID_TRANSFORM.html b/guide/2.2.2/v_dbe_INVALID_TRANSFORM.html new file mode 100644 index 0000000000..de5e0cb55a --- /dev/null +++ b/guide/2.2.2/v_dbe_INVALID_TRANSFORM.html @@ -0,0 +1,9 @@ +$err:INVALID-TRANSFORM

$err:INVALID-TRANSFORM

$err:INVALID-TRANSFORM — Error processing a transform.

Variable:
{http://docbook.org/ns/docbook/errors}INVALID-TRANSFORM
Defined in:
modules/errors.xsl
Used in:
docbook.xsl
Used by:

Synopsis

$dbe:INVALID-TRANSFORM := xs:QName('dbe:INVALID-TRANSFORM')

Description

+ +

The lists of transforms in $transform-original +$transform-before, and $transform-after +must either be strings (the stylesheet location) or a map that specifies +the stylesheet location and other properties.

+

This error is raised if an element of the list is neither a map nor +a string.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_debug.html b/guide/2.2.2/v_debug.html new file mode 100644 index 0000000000..b46017a6fb --- /dev/null +++ b/guide/2.2.2/v_debug.html @@ -0,0 +1,6 @@ +$v:debug

$v:debug

$v:debug — Debugging flags.

Variable:
{http://docbook.org/ns/docbook/variables}debug
Defined in:
modules/variable.xsl
Used in:
docbook.xsl, modules/variable.xsl, modules/titlepage.xsl, modules/objects.xsl, modules/chunk-cleanup.xsl, modules/chunk-output.xsl
Used by:
Static:
Yes

Synopsis

$v:debug as xs:string* := tokenize($debug, '[,\s]+') ! normalize-space(.)

Description

+ +

The $v:debug variable contains a sequence of +debugging flags. These are derived from tokenizing the +$debug parameter value.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_formal-object-title-placement.html b/guide/2.2.2/v_formal-object-title-placement.html new file mode 100644 index 0000000000..0b7d2ed3e0 --- /dev/null +++ b/guide/2.2.2/v_formal-object-title-placement.html @@ -0,0 +1,8 @@ +$v:formal-object-title-placement

$v:formal-object-title-placement

$v:formal-object-title-placement — Placement of formal object titles.

Variable:
{http://docbook.org/ns/docbook/variables}formal-object-title-placement
Defined in:
modules/variable.xsl
Used in:
modules/blocks.xsl, modules/tablecals.xsl

Synopsis

$v:formal-object-title-placement as map(xs:string,xs:string) := fp:parse-key-value-pairs( tokenize($formal-object-title-placement, '\s+'))

Description

+ +

This variable, usually derived from +$formal-object-title-placement is a map from +element (local) names to placements. The placement is either +“before” or “after”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_formalgroup-nested-object-title-placement.html b/guide/2.2.2/v_formalgroup-nested-object-title-placement.html new file mode 100644 index 0000000000..55e30bacc0 --- /dev/null +++ b/guide/2.2.2/v_formalgroup-nested-object-title-placement.html @@ -0,0 +1,8 @@ +$v:formalgroup-nested-object-title-placement

$v:formalgroup-nested-object-title-placement

$v:formalgroup-nested-object-title-placement — Placement of formal object titles within a formalgroup.

Variable:
{http://docbook.org/ns/docbook/variables}formalgroup-nested-object-title-placement
Defined in:
modules/variable.xsl
Used in:
modules/blocks.xsl, modules/tablecals.xsl

Synopsis

$v:formalgroup-nested-object-title-placement as map(xs:string,xs:string) := fp:parse-key-value-pairs( tokenize($formal-object-title-placement, '\s+'))

Description

+ +

This variable, usually derived from +$formalgroup-nested-object-title-placement is a map from +element (local) names to placements. The placement is either +“before” or “after”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_highlight-js-head-elements.html b/guide/2.2.2/v_highlight-js-head-elements.html new file mode 100644 index 0000000000..98890170e5 --- /dev/null +++ b/guide/2.2.2/v_highlight-js-head-elements.html @@ -0,0 +1,19 @@ +$v:highlight-js-head-elements

$v:highlight-js-head-elements

$v:highlight-js-head-elements — CSS and JavaScript to support highlight.js.

Variable:
{http://docbook.org/ns/docbook/variables}highlight-js-head-elements
Defined in:
modules/variable.xsl
Used in:
modules/head.xsl

Synopsis

  |<xsl:variable name="v:highlight-js-head-elements"
+  |              as="element()*">
+  |   <link rel="stylesheet"
+  |         href="{$resource-base-uri}css/highlight-11.6.0.min.css"/>
+  |   <script src="{$resource-base-uri}js/highlight-11.6.0.min.js"/>
+  |   <script>hljs.highlightAll();</script>
+  |</xsl:variable>
+

Description

+ +

If the highlight.js syntax highlighter is +selected (see $verbatim-syntax-highlighter), these elements are +added to the head element to +load and configure the highlighter.

+

Starting with the DocBook xslTNG Stylesheets version 1.4.1, +any link elements will be +added to the head element +before links to user-defined CSS files so that property overrides +may be specified.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_image-nominal-height.html b/guide/2.2.2/v_image-nominal-height.html new file mode 100644 index 0000000000..66ea764da4 --- /dev/null +++ b/guide/2.2.2/v_image-nominal-height.html @@ -0,0 +1,7 @@ +$v:image-nominal-height

$v:image-nominal-height

$v:image-nominal-height — Nominal height of an image.

Variable:
{http://docbook.org/ns/docbook/variables}image-nominal-height
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

$v:image-nominal-height := f:parse-length($image-nominal-height)

Description

+ +

If the extension functions necessary to determine the intrinsic height +of an image are unavailable, or if the height cannot be determined, this value +will be used as the assumed intrinsic height of the image. This is generally the +parsed value of $image-nominal-height.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_image-nominal-width.html b/guide/2.2.2/v_image-nominal-width.html new file mode 100644 index 0000000000..4c6ca9cba2 --- /dev/null +++ b/guide/2.2.2/v_image-nominal-width.html @@ -0,0 +1,7 @@ +$v:image-nominal-width

$v:image-nominal-width

$v:image-nominal-width — Nominal width of an image.

Variable:
{http://docbook.org/ns/docbook/variables}image-nominal-width
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

$v:image-nominal-width := f:parse-length($image-nominal-width)

Description

+ +

If the extension functions necessary to determine the intrinsic width +of an image are unavailable, or if the width cannot be determined, this value +will be used as the assumed intrinsic width of the image. This is generally the +parsed value of $image-nominal-width.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_invisible-characters.html b/guide/2.2.2/v_invisible-characters.html new file mode 100644 index 0000000000..14fd2a9169 --- /dev/null +++ b/guide/2.2.2/v_invisible-characters.html @@ -0,0 +1,8 @@ +$v:invisible-characters

$v:invisible-characters

$v:invisible-characters — A list of characters that are invisible in verbatim environments.

Variable:
{http://docbook.org/ns/docbook/variables}invisible-characters
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:invisible-characters := ('︀', '︁', '︂', '︃', '︄', '︅', '︆', '︇', '︈', '︉', '︊', '︋', '︌', '︍', '︎', '️', '​')

Description

+ +

When callouts are being inserted into a verbatim environment, the +stylesheets must count the characters in each line in order to find the correct +column. The characters in this list are considered invisible and do not +increase the column count as they’re passed. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_localization-base-uri.html b/guide/2.2.2/v_localization-base-uri.html new file mode 100644 index 0000000000..af3bd382e1 --- /dev/null +++ b/guide/2.2.2/v_localization-base-uri.html @@ -0,0 +1,4 @@ +$v:localization-base-uri

$v:localization-base-uri

$v:localization-base-uri — Base URI for localization data files.

Variable:
{http://docbook.org/ns/docbook/variables}localization-base-uri
Defined in:
modules/variable.xsl
Used in:
modules/functions.xsl
Since:
2.0.0

Synopsis

$v:localization-base-uri := resolve-uri('../locale/', static-base-uri())

Description

+ +

This is the base URI used to resolve references to localization data.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_media-type-default.html b/guide/2.2.2/v_media-type-default.html new file mode 100644 index 0000000000..2a854191f5 --- /dev/null +++ b/guide/2.2.2/v_media-type-default.html @@ -0,0 +1,8 @@ +$v:media-type-default

$v:media-type-default

$v:media-type-default — Default media type.

Variable:
{http://docbook.org/ns/docbook/variables}media-type-default
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

$v:media-type-default as xs:string := 'application/octet-stream'

Description

+ +

When attempting to determine the media type of a file, the stylesheets +use the $v:media-type-map to check for a media type based on +the filename (or URI) extension. If there’s no extension or if the extension isn’t +in that map, this value is used. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_media-type-map.html b/guide/2.2.2/v_media-type-map.html new file mode 100644 index 0000000000..f43ff1b828 --- /dev/null +++ b/guide/2.2.2/v_media-type-map.html @@ -0,0 +1,102 @@ +$v:media-type-map

$v:media-type-map

$v:media-type-map — Mapping from extensions to media types.

Variable:
{http://docbook.org/ns/docbook/variables}media-type-map
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

   |<xsl:variable name="v:media-type-map"
+   |              as="map(xs:string, xs:string)">
+   |   <xsl:map>
+   |      <xsl:map-entry key="'.aac'" select="'audio/aac'"/>
+   |      <xsl:map-entry key="'.abw'" select="'application/x-abiword'"/>
+   |      <xsl:map-entry key="'.arc'" select="'application/x-freearc'"/>
+   |      <xsl:map-entry key="'.avif'" select="'image/avif'"/>
+   |      <xsl:map-entry key="'.avi'" select="'video/x-msvideo'"/>
+   |      <xsl:map-entry key="'.azw'" select="'application/vnd.amazon.ebook'"/>
+   |      <xsl:map-entry key="'.bin'" select="'application/octet-stream'"/>
+   |      <xsl:map-entry key="'.bmp'" select="'image/bmp'"/>
+   |      <xsl:map-entry key="'.bz'" select="'application/x-bzip'"/>
+   |      <xsl:map-entry key="'.bz2'" select="'application/x-bzip2'"/>
+   |      <xsl:map-entry key="'.cda'" select="'application/x-cdf'"/>
+   |      <xsl:map-entry key="'.csh'" select="'application/x-csh'"/>
+   |      <xsl:map-entry key="'.css'" select="'text/css'"/>
+   |      <xsl:map-entry key="'.csv'" select="'text/csv'"/>
+   |      <xsl:map-entry key="'.doc'" select="'application/msword'"/>
+   |      <xsl:map-entry key="'.docx'"
+   |                     select="'application/vnd.openxmlformats-officedocument.wordprocessingml.document'"/>
+   |      <xsl:map-entry key="'.eot'" select="'application/vnd.ms-fontobject'"/>
+   |      <xsl:map-entry key="'.epub'" select="'application/epub+zip'"/>
+   |      <xsl:map-entry key="'.gz'" select="'application/gzip'"/>
+   |      <xsl:map-entry key="'.gif'" select="'image/gif'"/>
+   |      <xsl:map-entry key="'.htm'" select="'text/html'"/>
+   |      <xsl:map-entry key="'.html'" select="'text/html'"/>
+   |      <xsl:map-entry key="'.ico'" select="'image/vnd.microsoft.icon'"/>
+   |      <xsl:map-entry key="'.ics'" select="'text/calendar'"/>
+   |      <xsl:map-entry key="'.jar'" select="'application/java-archive'"/>
+   |      <xsl:map-entry key="'.jpeg'" select="'image/jpeg'"/>
+   |      <xsl:map-entry key="'.jpg'" select="'image/jpeg'"/>
+   |      <xsl:map-entry key="'.js'" select="'text/javascript'"/>
+   |      <xsl:map-entry key="'.json'" select="'application/json'"/>
+   |      <xsl:map-entry key="'.jsonld'" select="'application/ld+json'"/>
+   |      <xsl:map-entry key="'.mid'" select="'audio/midi'"/>
+   |      <xsl:map-entry key="'.midi'" select="'audio/midi'"/>
+   |      <xsl:map-entry key="'.mjs'" select="'text/javascript'"/>
+   |      <xsl:map-entry key="'.m3u8'" select="'application/x-mpegURL'"/>
+   |      <xsl:map-entry key="'.mp3'" select="'audio/mpeg'"/>
+   |      <xsl:map-entry key="'.mp4'" select="'video/mp4'"/>
+   |      <xsl:map-entry key="'.mpeg'" select="'video/mpeg'"/>
+   |      <xsl:map-entry key="'.mpkg'" select="'application/vnd.apple.installer+xml'"/>
+   |      <xsl:map-entry key="'.mov'" select="'video/quicktime'"/>
+   |      <xsl:map-entry key="'.odp'" select="'application/vnd.oasis.opendocument.presentation'"/>
+   |      <xsl:map-entry key="'.ods'" select="'application/vnd.oasis.opendocument.spreadsheet'"/>
+   |      <xsl:map-entry key="'.odt'" select="'application/vnd.oasis.opendocument.text'"/>
+   |      <xsl:map-entry key="'.oga'" select="'audio/ogg'"/>
+   |      <xsl:map-entry key="'.ogv'" select="'video/ogg'"/>
+   |      <xsl:map-entry key="'.ogx'" select="'application/ogg'"/>
+   |      <xsl:map-entry key="'.opus'" select="'audio/opus'"/>
+   |      <xsl:map-entry key="'.otf'" select="'font/otf'"/>
+   |      <xsl:map-entry key="'.png'" select="'image/png'"/>
+   |      <xsl:map-entry key="'.pdf'" select="'application/pdf'"/>
+   |      <xsl:map-entry key="'.php'" select="'application/x-httpd-php'"/>
+   |      <xsl:map-entry key="'.ppt'" select="'application/vnd.ms-powerpoint'"/>
+   |      <xsl:map-entry key="'.pptx'"
+   |                     select="'application/vnd.openxmlformats-officedocument.presentationml.presentation'"/>
+   |      <xsl:map-entry key="'.rar'" select="'application/vnd.rar'"/>
+   |      <xsl:map-entry key="'.rtf'" select="'application/rtf'"/>
+   |      <xsl:map-entry key="'.sh'" select="'application/x-sh'"/>
+   |      <xsl:map-entry key="'.svg'" select="'image/svg'"/>
+   |      <!-- not image/svg+xml for epub -->
+   |      <xsl:map-entry key="'.tar'" select="'application/x-tar'"/>
+   |      <xsl:map-entry key="'.tif'" select="'image/tiff'"/>
+   |      <xsl:map-entry key="'.tiff'" select="'image/tiff'"/>
+   |      <xsl:map-entry key="'.ts'" select="'video/mp2t'"/>
+   |      <xsl:map-entry key="'.ttf'" select="'font/ttf'"/>
+   |      <xsl:map-entry key="'.txt'" select="'text/plain'"/>
+   |      <xsl:map-entry key="'.text'" select="'text/plain'"/>
+   |      <xsl:map-entry key="'.vsd'" select="'application/vnd.visio'"/>
+   |      <xsl:map-entry key="'.wav'" select="'audio/wav'"/>
+   |      <xsl:map-entry key="'.weba'" select="'audio/webm'"/>
+   |      <xsl:map-entry key="'.webm'" select="'video/webm'"/>
+   |      <xsl:map-entry key="'.webp'" select="'image/webp'"/>
+   |      <xsl:map-entry key="'.wmv'" select="'video/x-ms-wmv'"/>
+   |      <xsl:map-entry key="'.woff'" select="'font/woff'"/>
+   |      <xsl:map-entry key="'.woff2'" select="'font/woff2'"/>
+   |      <xsl:map-entry key="'.xhtml'" select="'application/xhtml+xml'"/>
+   |      <xsl:map-entry key="'.xls'" select="'application/vnd.ms-excel'"/>
+   |      <xsl:map-entry key="'.xlsx'"
+   |                     select="'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'"/>
+   |      <xsl:map-entry key="'.xml'" select="'application/xml'"/>
+   |      <xsl:map-entry key="'.xul'" select="'application/vnd.mozilla.xul+xml'"/>
+   |      <xsl:map-entry key="'.zip'" select="'application/zip'"/>
+   |      <xsl:map-entry key="'.7z'" select="'application/x-7z-compressed'"/>
+   |   </xsl:map>
+   |</xsl:variable>
+

Description

+ +

When attempting to determine the media type of a file, the stylesheets +use this map to check for a media type based on +the filename (or URI) extension.

+

This mapping is derived from Mozilla’s +list of common types. The “.3gp” and +“.3g2” extensions have been removed because they +have multiple mappings. The “.text”, “.mov”, +“.m3u8”, and “.wmv” extensions have been +added. The media type for “.svg” has been simplified to just +“image/svg” +because that seems to be what EPUB readers require. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_mediaobject-details-placement.html b/guide/2.2.2/v_mediaobject-details-placement.html new file mode 100644 index 0000000000..b2449ad973 --- /dev/null +++ b/guide/2.2.2/v_mediaobject-details-placement.html @@ -0,0 +1,8 @@ +$v:mediaobject-details-placement

$v:mediaobject-details-placement

$v:mediaobject-details-placement — Placement of formal object titles.

Variable:
{http://docbook.org/ns/docbook/variables}mediaobject-details-placement
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

$v:mediaobject-details-placement as map(xs:string,xs:string) := fp:parse-key-value-pairs( tokenize($mediaobject-details-placement, '\s+'))

Description

+ +

This variable, usually derived from +$mediaobject-details-placement is a map from +element (local) names to placements. The placement is either +“before” or “after”. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_mediaobject-exclude-extensions.html b/guide/2.2.2/v_mediaobject-exclude-extensions.html new file mode 100644 index 0000000000..6caaf896be --- /dev/null +++ b/guide/2.2.2/v_mediaobject-exclude-extensions.html @@ -0,0 +1,6 @@ +$v:mediaobject-exclude-extensions

$v:mediaobject-exclude-extensions

$v:mediaobject-exclude-extensions — Exluded media type extensions.

Variable:
{http://docbook.org/ns/docbook/variables}mediaobject-exclude-extensions
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl

Synopsis

$v:mediaobject-exclude-extensions := tokenize($mediaobject-exclude-extensions, '\s+')

Description

+ +

This variable simply contains the list of excluded extensions constructed +from the $mediaobject-exclude-extensions parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_mediaobject-input-base-uri.html b/guide/2.2.2/v_mediaobject-input-base-uri.html new file mode 100644 index 0000000000..c2f2de8280 --- /dev/null +++ b/guide/2.2.2/v_mediaobject-input-base-uri.html @@ -0,0 +1,5 @@ +$v:mediaobject-input-base-uri

$v:mediaobject-input-base-uri

$v:mediaobject-input-base-uri — Base URI of images and other media in the XML sources.

Description

+ +

This variable was replaced with f:mediaobject-input-base-uri(). +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_mediaobject-output-base-uri.html b/guide/2.2.2/v_mediaobject-output-base-uri.html new file mode 100644 index 0000000000..6687bf6dc3 --- /dev/null +++ b/guide/2.2.2/v_mediaobject-output-base-uri.html @@ -0,0 +1,16 @@ +$v:mediaobject-output-base-uri

$v:mediaobject-output-base-uri

$v:mediaobject-output-base-uri — Base URI of images and other media in the output.

Variable:
{http://docbook.org/ns/docbook/variables}mediaobject-output-base-uri
Defined in:
modules/variable.xsl
Used in:
Not used.

Synopsis

  |<xsl:variable name="v:mediaobject-output-base-uri"
+  |              as="xs:string?">
+  |   <xsl:message use-when="'mediaobject-uris' = $v:debug"
+  |                select="'Mediaobject out. base URI:',                        if (empty($mediaobject-output-base-uri))                        then ()                        else if (ends-with($mediaobject-output-base-uri, '/'))                             then $mediaobject-output-base-uri                             else $mediaobject-output-base-uri || '/'"/>
+  |   <xsl:sequence select="if (empty($mediaobject-output-base-uri))                         then ()                         else if (ends-with($mediaobject-output-base-uri, '/'))                              then $mediaobject-output-base-uri                              else $mediaobject-output-base-uri || '/'"/>
+  |</xsl:variable>
+

Description

+ +

This value is calculated from the +$mediaobject-output-base-uri parameter. If the +parameter is the empty string, then this value is the empty sequence. Otherwise, +this value is the value of the +$mediaobject-output-base-uri parameter, which is assumed +to be absolute. A trailing slash will be added to the parameter value if +it is not present.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_nominal-page-width.html b/guide/2.2.2/v_nominal-page-width.html new file mode 100644 index 0000000000..0c3339a179 --- /dev/null +++ b/guide/2.2.2/v_nominal-page-width.html @@ -0,0 +1,8 @@ +$v:nominal-page-width

$v:nominal-page-width

$v:nominal-page-width — The nominal page width.

Variable:
{http://docbook.org/ns/docbook/variables}nominal-page-width
Defined in:
modules/variable.xsl
Used in:
modules/tablecals.xsl

Synopsis

$v:nominal-page-width := f:parse-length($nominal-page-width)

Description

+ +

To calculate the width of the columns in some complex CALS +tables, the stylesheets need to know the page width. The +$nominal-page-width is used for this +value. It is generally the value of $nominal-page-width +parsed as a length (see Section 5.2, “Lengths and units”).

+
\ No newline at end of file diff --git a/guide/2.2.2/v_olink-databases.html b/guide/2.2.2/v_olink-databases.html new file mode 100644 index 0000000000..256fd161ba --- /dev/null +++ b/guide/2.2.2/v_olink-databases.html @@ -0,0 +1,24 @@ +$v:olink-databases
\ No newline at end of file diff --git a/guide/2.2.2/v_personal-name-styles.html b/guide/2.2.2/v_personal-name-styles.html new file mode 100644 index 0000000000..4632b25bd6 --- /dev/null +++ b/guide/2.2.2/v_personal-name-styles.html @@ -0,0 +1,7 @@ +$personal-name-styles

$v:personal-name-styles

$personal-name-styles — The list of known personal name styles.

Variable:
{http://docbook.org/ns/docbook/variables}personal-name-styles
Defined in:
modules/variable.xsl
Used in:
modules/info.xsl

Synopsis

$v:personal-name-styles := ('first-last', 'last-first', 'FAMILY-given')

Description

+ +

The stylesheets can format personal names in a variety of ways. +This variable contains the list of known ways, see +t:person-name. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_pi-db-attributes-are-uris.html b/guide/2.2.2/v_pi-db-attributes-are-uris.html new file mode 100644 index 0000000000..6e51d0a6a4 --- /dev/null +++ b/guide/2.2.2/v_pi-db-attributes-are-uris.html @@ -0,0 +1,16 @@ +$v:pi-db-attributes-are-uris

$v:pi-db-attributes-are-uris

$v:pi-db-attributes-are-uris — Controls which “db” processing instruction pseudo-attributes are URIs.

Variable:
{http://docbook.org/ns/docbook/variables}pi-db-attributes-are-uris
Defined in:
../standalone-functions.xsl
Used in:
modules/functions.xsl

Synopsis

$v:pi-db-attributes-are-uris as xs:string* := ('glossary-collection', 'bibliography-collection', 'annotation-collection')

Description

+ +

The “db” processing instruction can be used to provide +configuration values within a document. For example:

+ +
  |<?db xlink-style='inline' glossary-collection='../gcollection.xml'?>
+
+ +

In this example, xlink-style is just a string value, but +glossary-collection is a URI. +When the value in question is a URI, it must be made absolute against the base URI +of the processing instruction on which it occurs. The $v:pi-db-attributes-are-uris +variable determines which pseudo-attributes are considered URIs. Their values are made absolute +when the processing instruction is parsed.

+ +
\ No newline at end of file diff --git a/guide/2.2.2/v_prism-js-head-elements.html b/guide/2.2.2/v_prism-js-head-elements.html new file mode 100644 index 0000000000..44a1fde03b --- /dev/null +++ b/guide/2.2.2/v_prism-js-head-elements.html @@ -0,0 +1,17 @@ +$v:prism-js-head-elements

$v:prism-js-head-elements

$v:prism-js-head-elements — CSS and JavaScript to support Prism.

Variable:
{http://docbook.org/ns/docbook/variables}prism-js-head-elements
Defined in:
modules/variable.xsl
Used in:
modules/head.xsl

Synopsis

  |<xsl:variable name="v:prism-js-head-elements"
+  |              as="element()*">
+  |   <link rel="stylesheet" href="{$resource-base-uri}css/prism.css"/>
+  |   <script src="{$resource-base-uri}js/prism.js"/>
+  |</xsl:variable>
+

Description

+ +

If the prism syntax highlighter is +selected (see $verbatim-syntax-highlighter), these elements are +added to the head element to +load and configure the highlighter.

+

Starting with the DocBook xslTNG Stylesheets version 1.4.1, +any link elements will be +added to the head element +before links to user-defined CSS files so that property overrides +may be specified.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_standard-tranasforms.html b/guide/2.2.2/v_standard-tranasforms.html new file mode 100644 index 0000000000..0fba27a1eb --- /dev/null +++ b/guide/2.2.2/v_standard-tranasforms.html @@ -0,0 +1,88 @@ +$v:standard-transforms

$v:standard-transforms

$v:standard-transforms — The standard pre-processing transformations.

Variable:
{http://docbook.org/ns/docbook/variables}standard-transforms
Defined in:
docbook.xsl
Used in:
docbook.xsl

Synopsis

   |<xsl:variable name="v:standard-transforms"
+   |              as="map(*)*">
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/00-logstruct.xsl', static-base-uri())"/>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/10-xinclude.xsl', static-base-uri())"/>
+   |      <xsl:map-entry key="'functions'"
+   |                     select="'Q{http://docbook.org/extensions/xslt}xinclude'"/>
+   |      <xsl:map-entry key="'test'" select="'exists(//xi:include)'"/>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/20-db4to5.xsl', static-base-uri())"/>
+   |      <xsl:map-entry key="'test'">
+   |      not(namespace-uri(/*) = 'http://docbook.org/ns/docbook')
+   |    </xsl:map-entry>
+   |      <xsl:map-entry key="'extra-params'"
+   |                     select="map { QName('', 'base-uri'): 'base-uri(/*)' }"/>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/30-transclude.xsl', static-base-uri())"/>
+   |      <xsl:map-entry key="'test'" select="'f:is-true($docbook-transclusion)'"/>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/40-profile.xsl', static-base-uri())"/>
+   |      <xsl:map-entry key="'test'">
+   |         f:is-true($dynamic-profiles)
+   |      or $profile-lang != ''         or $profile-revisionflag != ''
+   |      or $profile-role != ''         or $profile-arch != ''
+   |      or $profile-audience != ''     or $profile-condition != ''
+   |      or $profile-conformance != ''  or $profile-os != ''
+   |      or $profile-outputformat != '' or $profile-revision != ''
+   |      or $profile-security != ''     or $profile-userlevel != ''
+   |      or $profile-vendor != ''       or $profile-wordsize != ''
+   |    </xsl:map-entry>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/50-normalize.xsl', static-base-uri())"/>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/60-annotations.xsl', static-base-uri())"/>
+   |      <xsl:map-entry key="'test'" select="'exists(//db:annotation)'"/>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/70-xlinkbase.xsl', static-base-uri())"/>
+   |   </xsl:map>
+   |   <xsl:if test="exists($local-conventions)">
+   |      <xsl:map>
+   |         <xsl:map-entry key="'stylesheet-location'" select="$local-conventions"/>
+   |      </xsl:map>
+   |   </xsl:if>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/75-validate.xsl', static-base-uri())"/>
+   |      <xsl:map-entry key="'functions'"
+   |                     select="'Q{http://docbook.org/extensions/xslt}validate-with-relax-ng'"/>
+   |      <xsl:map-entry key="'test'" select="'normalize-space($relax-ng-grammar) != '''''"/>
+   |   </xsl:map>
+   |   <xsl:map>
+   |      <xsl:map-entry key="'stylesheet-location'"
+   |                     select="resolve-uri('transforms/80-oxy-markup.xsl', static-base-uri())"/>
+   |      <xsl:map-entry key="'test'">
+   |      f:is-true(f:pi(/*/db:info, 'oxy-markup', $oxy-markup))
+   |      and exists(//processing-instruction()[starts-with(name(), 'oxy_')])
+   |    </xsl:map-entry>
+   |   </xsl:map>
+   |</xsl:variable>
+

Description

+ +

This variable contains the list of preprocessing transforms +applied to each document. You can add transformations that operate +on the original document +($transform-original) or on the result of +these transforms, but before the DocBook HTML transformation occurs +($transform-before), or after +the HTML transformation ($transform-after).

+

You shouldn’t need to modify this variable unless you want to +remove or reorder the standard transforms, or insert your own +into the middle.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_templates.html b/guide/2.2.2/v_templates.html new file mode 100644 index 0000000000..c7e0eee8ea --- /dev/null +++ b/guide/2.2.2/v_templates.html @@ -0,0 +1,13 @@ +$v:templates

$v:templates

$v:templates — Custom templates for title pages.

Variable:
{http://docbook.org/ns/docbook/variables}templates
Defined in:
modules/templates.xsl
Used in:
modules/templates.xsl

Synopsis

  |<xsl:variable name="v:templates"
+  |              as="document-node()">
+  |   <xsl:document/>
+  |</xsl:variable>
+

Description

+ +

The stylesheets use templates, as described in Section 5.5, “Templates”, +to determine the formatting of title pages*. Any templates provided in +$v:templates will be used preferentially to whatever builtin templates +exist.

+

The term “title pages” +should be understood very broadly here. Anything that has a title has a title page, even +if that “page” consists of only a single heading.

\ No newline at end of file diff --git a/guide/2.2.2/v_theme-list.html b/guide/2.2.2/v_theme-list.html new file mode 100644 index 0000000000..d049687136 --- /dev/null +++ b/guide/2.2.2/v_theme-list.html @@ -0,0 +1,25 @@ +$v:theme-list

$v:theme-list

$v:theme-list — Enumerates available themes.

Variable:
{http://docbook.org/ns/docbook/variables}theme-list
Defined in:
modules/variable.xsl
Used in:
modules/variable.xsl

Synopsis

  |<xsl:variable name="v:theme-list"
+  |              as="element()*">
+  |   <theme name="Materials dark" id="materials-dark" dark="true"/>
+  |   <theme name="Materials light" id="materials-light" dark="false"/>
+  |</xsl:variable>
+

Description

+ +

This variable is part of the experimental themes feature. It +enumerates the available themes. Each theme has three parts, a name, +an ID, and (optionally) an indication of whether or not it’s a “dark” +theme.

+

Themes are implemented in CSS. If the +$theme-picker is enabled, it will be possible +for the reader to select a theme. The theme names are used for this +purpose.

+

The ID value is used as a class on the +html element. +Everything else about the theme is implemented in CSS. To add a new theme, +provide a set of CSS rules that apply when the ID class is in effect.

+

The dark mode setting is only used as a default. If the document +does not specify a $default-theme, if the user +has never selected a theme, if the user has enabled dark mode at the +operating system level, and if the browser makes this fact available, +the first “dark” theme will automatically be selected.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_title-groups.html b/guide/2.2.2/v_title-groups.html new file mode 100644 index 0000000000..9427b8f9ed --- /dev/null +++ b/guide/2.2.2/v_title-groups.html @@ -0,0 +1,28 @@ +$v:title-groups

$v:title-groups

$v:title-groups — Controls how titles are formatted.

Variable:
{http://docbook.org/ns/docbook/variables}title-groups
Defined in:
modules/titles.xsl
Used in:
modules/titles.xsl
Since:
2.0.0

Synopsis

   |<xsl:variable name="v:title-groups"
+   |              as="element()+">
+   |   <xsl:sequence select="$v:user-title-groups"/>
+   |   <title xpath="self::db:section|self::db:sect1                 |self::db:sect2|self::db:sect3|self::db:sect4|self::db:sect5                 |self::db:refsection|self::db:refsect1|self::db:refsect2|self::db:refsect3"
+   |          group="{if (f:is-true($section-numbers))                  then 'title-numbered'                  else 'title-unnumbered'}"/>
+   |   <title xpath="self::db:article|self::db:preface|self::db:chapter|self::db:appendix"
+   |          group="{if (f:is-true($component-numbers))                  then 'title-numbered'                  else 'title-unnumbered'}"/>
+   |   <title xpath="self::db:set" group="title-unnumbered"/>
+   |   <title xpath="self::db:book|self::db:part|self::db:reference"
+   |          group="{if (f:is-true($division-numbers))                  then 'title-numbered'                  else 'title-unnumbered'}"/>
+   |   <title xpath="self::db:figure[parent::db:formalgroup]                 |self::db:table[parent::db:formalgroup]                 |self::db:equation[parent::db:formalgroup]                 |self::db:example[parent::db:formalgroup]"
+   |          group="subfigure-title"/>
+   |   <title xpath="self::db:figure|self::db:table|self::db:equation|self::db:example|self::db:procedure"
+   |          group="title-numbered"/>
+   |   <title xpath="self::db:formalgroup" group="title-numbered"/>
+   |   <title xpath="self::db:step|self::db:listitem[parent::db:orderedlist]"
+   |          group="title-unnumbered"/>
+   |   <title xpath="self::db:glosssee|self::db:glossseealso"
+   |          group="title-unnumbered"/>
+   |   <title xpath="self::db:see|self::db:seealso" group="title-unnumbered"/>
+   |   <title xpath="self::db:question|self::db:answer" group="title-numbered"/>
+   |   <title xpath="self::*" group="title-unnumbered"/>
+   |</xsl:variable>
+

Description

+ +

The title groups variable determines which template group is +used for a title. See Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_title-properties.html b/guide/2.2.2/v_title-properties.html new file mode 100644 index 0000000000..d3788995b4 --- /dev/null +++ b/guide/2.2.2/v_title-properties.html @@ -0,0 +1,4 @@ +$v:title-properties

$v:title-properties

$v:title-properties — Controls how titles are formatted.

Description

+ +

Replaced by $v:title-groups.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_titlepage-default.html b/guide/2.2.2/v_titlepage-default.html new file mode 100644 index 0000000000..8a39bb15d3 --- /dev/null +++ b/guide/2.2.2/v_titlepage-default.html @@ -0,0 +1,20 @@ +$v:titlepage-default

$v:titlepage-default

$v:titlepage-default — Default template for title pages.

Variable:
{http://docbook.org/ns/docbook/variables}titlepage-default
Defined in:
modules/templates.xsl
Used in:
modules/templates.xsl

Synopsis

   |<xsl:variable name="v:titlepage-default"
+   |              as="element()">
+   |   <titlepage-default>
+   |      <header>
+   |         <apply-templates select="db:title">
+   |            <div class="title">
+   |               <content/>
+   |            </div>
+   |         </apply-templates>
+   |      </header>
+   |   </titlepage-default>
+   |</xsl:variable>
+

Description

+ +

Title pages, taken loosely to mean anything with a title, +are formatted using templates, see Section 5.5, “Templates”. +If a template doesn’t exist for a particular context, the +$v:titlepage-default template is used. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_toc-close.html b/guide/2.2.2/v_toc-close.html new file mode 100644 index 0000000000..387837238e --- /dev/null +++ b/guide/2.2.2/v_toc-close.html @@ -0,0 +1,10 @@ +$v:toc-close

$v:toc-close

$v:toc-close — Persistent ToC close button.

Variable:
{http://docbook.org/ns/docbook/variables}toc-close
Defined in:
modules/variable.xsl
Used in:
modules/chunk-output.xsl

Synopsis

  |<xsl:variable name="v:toc-close"
+  |              as="element()">
+  |   <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAtklEQVQ4jaWT0Q3DIAxEz52AEbyB2cDZhBEY3SNcPyqqBEwqpZaQAHNP5jBCEiJCPAiSIgAeiUe8zoveO9x9e9jd0XtfKwHA1hpHtNY49rO8u59zn4mqMiJSyFkcEVTVFQCAtdYFMotrrXN111JnyA/xCsggN2JeXmGEmaGU8l2XUmBm29fZuh0RW2PTK2SGZcamADPb3nmGmNkKOI7j1rAzJG2kcWhqkstQ1QX+/2ciKU/FJOUN6JFZYWpmK3sAAAAASUVORK5CYII="
+  |        alt="X"/>
+  |</xsl:variable>
+

Description

+ +

The contents of this variable will be rendered as the “close” +icon for the persistent ToC.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_toc-open.html b/guide/2.2.2/v_toc-open.html new file mode 100644 index 0000000000..3bb42971de --- /dev/null +++ b/guide/2.2.2/v_toc-open.html @@ -0,0 +1,10 @@ +$v:toc-open

$v:toc-open

$v:toc-open — Persistent ToC open button.

Variable:
{http://docbook.org/ns/docbook/variables}toc-open
Defined in:
modules/variable.xsl
Used in:
modules/chunk-output.xsl

Synopsis

  |<xsl:variable name="v:toc-open"
+  |              as="element()">
+  |   <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAABYlAAAWJQFJUiTwAAABDklEQVQ4je2UUW3EMAyGv0wDUAhlkDBIyuAYXCEclEJoGZRBUgYOgzJoGHgPW6o7rWq35+2TIkWW9duW7N+oKuM46jiOGGMAaNsW5xzee5xzn8EvRESXZUFEWNcVAFWl73v6vjcGUIAYIyEEANZ1RUSY55lSCo/HA4BhGGiahtvthnOOtm0BSCnRdd1eVAGNMeoR27aptVattbpt22FOjFGrzjsX1I7q/4q3y4xf8i/4FwT3Pcw5Y4zBWvujfQMopZBzJuf8XbCeVyWEgHOO+/2+x0SEaZpIKSEih0X2Wz6jdlxKuezaqL7qpZS0lLKbw/M4ANba3RyapiGE8OJGqOrpizGq916999VATvM/AGFn1sxsVjL5AAAAAElFTkSuQmCC"
+  |        alt="[toc]"/>
+  |</xsl:variable>
+

Description

+ +

The contents of this variable will be rendered as the “open” +icon for the persistent ToC.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_unit-scale.html b/guide/2.2.2/v_unit-scale.html new file mode 100644 index 0000000000..37b6888d19 --- /dev/null +++ b/guide/2.2.2/v_unit-scale.html @@ -0,0 +1,25 @@ +$v:unit-scale

$v:unit-scale

$v:unit-scale — List of known measurement units and their sizes.

Variable:
{http://docbook.org/ns/docbook/variables}unit-scale
Defined in:
modules/units.xsl
Used in:
modules/units.xsl

Synopsis

   |<xsl:variable name="v:unit-scale"
+   |              as="map(*)">
+   |   <xsl:map>
+   |      <xsl:map-entry key="'px'" select="1.0"/>
+   |      <xsl:map-entry key="'in'" select="$pixels-per-inch"/>
+   |      <xsl:map-entry key="'m'" select="$pixels-per-inch div 2.54 * 100.0"/>
+   |      <xsl:map-entry key="'cm'" select="$pixels-per-inch div 2.54"/>
+   |      <xsl:map-entry key="'mm'" select="$pixels-per-inch div 25.4"/>
+   |      <xsl:map-entry key="'pt'" select="$pixels-per-inch div 72.0"/>
+   |      <xsl:map-entry key="'pc'" select="$pixels-per-inch div 6.0"/>
+   |      <xsl:map-entry key="'em'" select="$pixels-per-inch div 6.0"/>
+   |      <xsl:map-entry key="'barleycorn'" select="$pixels-per-inch div 3.0"/>
+   |   </xsl:map>
+   |</xsl:variable>
+

Description

+ +

The $v:unit-scale map contains a set of +measurement units and their absolute length in terms of pixels (as +computed with $pixels-per-inch).

+

Recognized units at the time of this writing are shown in +Figure 1, “Recognized units of measure”.

+ +
UnitSize
px1.0
in$pixels-per-inch
m$pixels-per-inch div 2.54 * 100.0
cm$pixels-per-inch div 2.54
mm$pixels-per-inch div 25.4
pt$pixels-per-inch div 72.0
pc$pixels-per-inch div 6.0
em$pixels-per-inch div 6.0
barleycorn$pixels-per-inch div 3.0
Figure 1Recognized units of measure
+

See also Section 5.2, “Lengths and units”.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_user-title-groups.html b/guide/2.2.2/v_user-title-groups.html new file mode 100644 index 0000000000..b03d921535 --- /dev/null +++ b/guide/2.2.2/v_user-title-groups.html @@ -0,0 +1,8 @@ +$v:user-title-groups

$v:user-title-groups

$v:user-title-groups — Controls how titles are formatted.

Variable:
{http://docbook.org/ns/docbook/variables}user-title-groups
Defined in:
modules/titles.xsl
Used in:
modules/titles.xsl
Since:
2.0.0

Synopsis

  |<xsl:variable name="v:user-title-groups"
+  |              as="element()*"/>
+

Description

+ +

This variable contains user-supplied overrides to +$v:title-groups. See that variable for more details. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_user-title-properties.html b/guide/2.2.2/v_user-title-properties.html new file mode 100644 index 0000000000..dfde0eabb5 --- /dev/null +++ b/guide/2.2.2/v_user-title-properties.html @@ -0,0 +1,4 @@ +$v:user-title-properties

$v:user-title-properties

$v:user-title-properties — Controls how titles are formatted.

Description

+ +

Replaced by $v:user-title-groups.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_user-xref-groups.html b/guide/2.2.2/v_user-xref-groups.html new file mode 100644 index 0000000000..8bead26ea8 --- /dev/null +++ b/guide/2.2.2/v_user-xref-groups.html @@ -0,0 +1,8 @@ +$v:user-xref-groups

$v:user-xref-groups

$v:user-xref-groups — Controls how cross-references are formatted.

Variable:
{http://docbook.org/ns/docbook/variables}user-xref-groups
Defined in:
modules/xref.xsl
Used in:
modules/xref.xsl
Since:
2.0.0

Synopsis

  |<xsl:variable name="v:user-xref-groups"
+  |              as="element()*"/>
+

Description

+ +

This variable contains user-supplied overrides to +$v:xref-groups. See that variable for more details. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_user-xref-properties.html b/guide/2.2.2/v_user-xref-properties.html new file mode 100644 index 0000000000..2c87187137 --- /dev/null +++ b/guide/2.2.2/v_user-xref-properties.html @@ -0,0 +1,4 @@ +$v:user-xref-properties

$v:user-xref-properties

$v:user-xref-properties — Controls how cross-references are formatted.

Description

+ +

Replaced by $v:user-xref-groups.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-callouts.html b/guide/2.2.2/v_verbatim-callouts.html new file mode 100644 index 0000000000..1aa69298c7 --- /dev/null +++ b/guide/2.2.2/v_verbatim-callouts.html @@ -0,0 +1,5 @@ +$v:verbatim-callouts

$v:verbatim-callouts

$v:verbatim-callouts — A list determining how callouts are processed.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-callouts
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-callouts as xs:string* := tokenize($verbatim-callouts, '\s+')

Description

+ +

This value is a sequence constructed automatically from the +$verbatim-callouts parameter.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-line-style.html b/guide/2.2.2/v_verbatim-line-style.html new file mode 100644 index 0000000000..bbb97effd4 --- /dev/null +++ b/guide/2.2.2/v_verbatim-line-style.html @@ -0,0 +1,11 @@ +$v:verbatim-line-style

$v:verbatim-line-style

$v:verbatim-line-style — List of verbatim elements to be rendered in the line style.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-line-style
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-line-style := tokenize($verbatim-line-style, '\s+')

Description

+ +

The elements whose local names appear in this list will be +formatted using the line verbatim style by default. +For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”.

+ +

This list is +usually constructed from the $verbatim-line-style parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-number-every-nth.html b/guide/2.2.2/v_verbatim-number-every-nth.html new file mode 100644 index 0000000000..dc309cde50 --- /dev/null +++ b/guide/2.2.2/v_verbatim-number-every-nth.html @@ -0,0 +1,9 @@ +$v:verbatim-number-every-nth

$v:verbatim-number-every-nth

$v:verbatim-number-every-nth — Line numbering frequency.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-number-every-nth
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-number-every-nth := xs:integer($verbatim-number-every-nth)

Description

+ +

When formatting verbatim environments with line numbers, +every $verbatim-number-every-nth line is numbered. +

+

This value is +usually constructed from the $verbatim-number-every-nth parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-number-first-line.html b/guide/2.2.2/v_verbatim-number-first-line.html new file mode 100644 index 0000000000..47ef011572 --- /dev/null +++ b/guide/2.2.2/v_verbatim-number-first-line.html @@ -0,0 +1,11 @@ +$v:verbatim-number-first-line

$v:verbatim-number-first-line

$v:verbatim-number-first-line — Always number the first line of a verbatim listing?

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-number-first-line
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-number-first-line := f:is-true($verbatim-number-first-line)

Description

+ +

When formatting verbatim environments with line numbers, +the first line will be numbered (irrespective of the setting of +$v:verbatim-number-every-nth if this value +is true. +

+

This value is +usually constructed from the $verbatim-number-first-line parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-number-minlines.html b/guide/2.2.2/v_verbatim-number-minlines.html new file mode 100644 index 0000000000..c60920abb9 --- /dev/null +++ b/guide/2.2.2/v_verbatim-number-minlines.html @@ -0,0 +1,11 @@ +$v:verbatim-number-minlines

$v:verbatim-number-minlines

$v:verbatim-number-minlines — Shortest listing to number.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-number-minlines
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-number-minlines := xs:integer($verbatim-number-minlines)

Description

+ +

When formatting verbatim environments with line numbers, +environments less than +$verbatim-number-minlines in length will +not be numbered. +

+

This value is +usually constructed from the $verbatim-number-minlines parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-numbered-elements.html b/guide/2.2.2/v_verbatim-numbered-elements.html new file mode 100644 index 0000000000..a5a6685946 --- /dev/null +++ b/guide/2.2.2/v_verbatim-numbered-elements.html @@ -0,0 +1,8 @@ +$v:verbatim-numbered-elements

$v:verbatim-numbered-elements

$v:verbatim-numbered-elements — Identifies verbatim elements that should have line numbers.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-numbered-elements
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-numbered-elements as xs:string* := tokenize($verbatim-numbered-elements, '\s+')

Description

+ +

A list of the verbatim environments that should be numbered. +

+

This value is +usually constructed from the $verbatim-numbered-elements parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-plain-style.html b/guide/2.2.2/v_verbatim-plain-style.html new file mode 100644 index 0000000000..f61517f3c6 --- /dev/null +++ b/guide/2.2.2/v_verbatim-plain-style.html @@ -0,0 +1,11 @@ +$v:verbatim-plain-style

$v:verbatim-plain-style

$v:verbatim-plain-style — List of verbatim elements to be rendered in the plain style.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-plain-style
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-plain-style as xs:string* := tokenize($verbatim-plain-style, '\s+')

Description

+ +

The elements whose local names appear in this list will be +formatted using the plain verbatim style by default. +For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”.

+ +

This list is +usually constructed from the $verbatim-plain-style parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-properties.html b/guide/2.2.2/v_verbatim-properties.html new file mode 100644 index 0000000000..a8097ccf17 --- /dev/null +++ b/guide/2.2.2/v_verbatim-properties.html @@ -0,0 +1,10 @@ +$v:verbatim-properties

$v:verbatim-properties

$v:verbatim-properties — Controls the verbatim properties of an element.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-properties
Defined in:
modules/verbatim.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-properties as array(map(*))

Description

+ +

When processing a verbatim environment, this array of maps is consulted to +determine what properties apply to the verbatim environment. Most simple, global +customizations of verbatim environments can be achieved by setting the +$verbatim-line-style, $verbatim-plain-style, +$verbatim-callouts, and +$verbatim-numbered-elements parameters. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-space.html b/guide/2.2.2/v_verbatim-space.html new file mode 100644 index 0000000000..28c48421eb --- /dev/null +++ b/guide/2.2.2/v_verbatim-space.html @@ -0,0 +1,16 @@ +$v:verbatim-space

$v:verbatim-space

$v:verbatim-space — The space character to use when padding verbatim lines.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-space
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

  |<xsl:variable name="v:verbatim-space"
+  |              as="node()">
+  |   <xsl:value-of select="substring($verbatim-space || ' ', 1, 1)"/>
+  |</xsl:variable>
+

Description

+ +

When a verbatim line has to be padded in order to get a callout to appear in +the correct column, this character will be used as the padding character. +For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”. +

+

This character is usually constructed from the +$verbatim-space parameter. +Unlike the $verbatim-space, this variable must be a node not a string. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-syntax-highlight-languages.html b/guide/2.2.2/v_verbatim-syntax-highlight-languages.html new file mode 100644 index 0000000000..480fe34457 --- /dev/null +++ b/guide/2.2.2/v_verbatim-syntax-highlight-languages.html @@ -0,0 +1,6 @@ +$v:verbatim-syntax-highlight-languages

$v:verbatim-syntax-highlight-languages

$v:verbatim-syntax-highlight-languages — Languages for which syntax highlighting should be performed.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-syntax-highlight-languages
Defined in:
modules/variable.xsl
Used in:
modules/head.xsl, modules/verbatim.xsl

Synopsis

$v:verbatim-syntax-highlight-languages := tokenize($verbatim-syntax-highlight-languages, '\s+')

Description

+ +

The $verbatim-syntax-highlight-languages is a single +string for the convenience of users. This variable contains the languages as a list. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-syntax-highlight-options.html b/guide/2.2.2/v_verbatim-syntax-highlight-options.html new file mode 100644 index 0000000000..d45bf04af1 --- /dev/null +++ b/guide/2.2.2/v_verbatim-syntax-highlight-options.html @@ -0,0 +1,19 @@ +$v:verbatim-syntax-highlight-options

$v:verbatim-syntax-highlight-options

$v:verbatim-syntax-highlight-options — Syntax highlighting options.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-syntax-highlight-options
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-syntax-highlight-options := map { }

Description

+ +

If the Pygments +syntax highlighter is applied, the +$verbatim-syntax-highlight-options are applied. +

+

Three options are recognized:

+
language

The programming language to use for syntax highlighting. This option is required. +

show-command

If the show-command option is true (“1”, “yes”, or “true”), +then the pygmentize command will be printed. This is a debugging option. +

show-result

If the show-result option is true (“1”, “yes”, or “true”), +then the string returned from pygmentize will be printed. This is a +debugging option. +

+ +
Note

Syntax highlighting with Pygments requires spawning an external +process for each highlighted environment. This can add significantly +to the processing time if there are many such environments.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-syntax-highlight-pygments-options.html b/guide/2.2.2/v_verbatim-syntax-highlight-pygments-options.html new file mode 100644 index 0000000000..8054ca5e7d --- /dev/null +++ b/guide/2.2.2/v_verbatim-syntax-highlight-pygments-options.html @@ -0,0 +1,10 @@ +$v:verbatim-syntax-highlight-pygments-options

$v:verbatim-syntax-highlight-pygments-options

$v:verbatim-syntax-highlight-pygments-options — Pygments options.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-syntax-highlight-pygments-options
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-syntax-highlight-pygments-options := map { }

Description

+ +

If the Pygments +syntax highlighter is applied, the +$verbatim-syntax-highlight-pygments-options are applied. +

+

Each key/value pair in the map will be passed to pygmentize +as a -Pkey=value +option.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_verbatim-table-style.html b/guide/2.2.2/v_verbatim-table-style.html new file mode 100644 index 0000000000..3e97bbf754 --- /dev/null +++ b/guide/2.2.2/v_verbatim-table-style.html @@ -0,0 +1,11 @@ +$v:verbatim-table-style

$v:verbatim-table-style

$v:verbatim-table-style — List of verbatim elements to be rendered in the table style.

Variable:
{http://docbook.org/ns/docbook/variables}verbatim-table-style
Defined in:
modules/variable.xsl
Used in:
modules/verbatim.xsl

Synopsis

$v:verbatim-table-style := tokenize($verbatim-table-style, '\s+')

Description

+ +

The elements whose local names appear in this list will be +formatted using the line verbatim style by default. +For a discussion of verbatim elements and styles, see +Section 5.3, “Verbatim styles”.

+ +

This list is +usually constructed from the $verbatim-table-style parameter. +

+
\ No newline at end of file diff --git a/guide/2.2.2/v_xref-groups.html b/guide/2.2.2/v_xref-groups.html new file mode 100644 index 0000000000..9a073c028b --- /dev/null +++ b/guide/2.2.2/v_xref-groups.html @@ -0,0 +1,19 @@ +$v:xref-groups

$v:xref-groups

$v:xref-groups — Controls how cross-references are formatted.

Variable:
{http://docbook.org/ns/docbook/variables}xref-groups
Defined in:
modules/xref.xsl
Used in:
modules/xref.xsl
Since:
2.0.0

Synopsis

   |<xsl:variable name="v:xref-groups"
+   |              as="element()+">
+   |   <xsl:sequence select="$v:user-xref-groups"/>
+   |   <crossref xpath="self::db:section[ancestor::db:preface]"
+   |             group="xref"
+   |             template="section-in-preface"/>
+   |   <crossref xpath="self::db:section" group="xref-number-and-title"/>
+   |   <crossref xpath="self::db:chapter|self::db:appendix"
+   |             group="xref-number-and-title"/>
+   |   <crossref xpath="self::db:part|self::db:reference" group="xref-number-and-title"/>
+   |   <crossref xpath="self::db:figure|self::db:example|self::db:table                    |self::db:procedure|self::db:equation                    |self::db:formalgroup"
+   |             group="xref-number-and-title"/>
+   |   <crossref xpath="self::*" group="xref"/>
+   |</xsl:variable>
+

Description

+ +

The cross-reference groups variable determines which template group is +used for a cross-reference. See Chapter 4, Localization.

+
\ No newline at end of file diff --git a/guide/2.2.2/v_xref-properties.html b/guide/2.2.2/v_xref-properties.html new file mode 100644 index 0000000000..6aa351c1c2 --- /dev/null +++ b/guide/2.2.2/v_xref-properties.html @@ -0,0 +1,4 @@ +$v:xref-properties

$v:xref-properties

$v:xref-properties — Controls how cross-references are formatted.

Description

+ +

Replaced by $v:xref-groups.

+
\ No newline at end of file diff --git a/guide/2.2.2/variables.html b/guide/2.2.2/variables.html new file mode 100644 index 0000000000..cc2bdc5973 --- /dev/null +++ b/guide/2.2.2/variables.html @@ -0,0 +1 @@ +II. Variables reference

IIVariables reference

Table of Contents
\ No newline at end of file diff --git a/guide/2.2.2/version2.html b/guide/2.2.2/version2.html new file mode 100644 index 0000000000..b044b61156 --- /dev/null +++ b/guide/2.2.2/version2.html @@ -0,0 +1,291 @@ +Appendix A. Changes in version 2.x

Appendix AChanges in version 2.x

A.1Change Log

This section documents the changes made in each release. This +does not necessarily include every minor change, only those likely to +be of interest to users of the stylesheets. See the commits and pull requests on +the repository for +finer detail.

A.1.1Changes in version 2.2.2

Version 2.2.2 is a placeholder

The next release will be version 2.3.0 because the markup changes required +to support lanscape mode seem to justify a major bump (though they aren’t, +technically, backwards incompatible). Version 2.2.2 is just a placeholder while +development continues.

  • The principle new feature in version 2.3.0 is support for landscape (and portrait) + rotation in paged media, fixing #476. + This entails a lage number of changes to the paged media + stylesheets and some markup changes in the HTML output.

    The most significant markup change is that elements that appear before + the first section of component (before the first section of a chapter, + for example) are now wrapped in a + div element with the + classdb-bfs”. This true in both browser and paged media presentations, + though it’s currently unused in the browser presentation.

    Another change is that rotated elements will have “landscape” or + “portrait” in their class attribute. At present, this has no + effect in the browser presentation.

A.1.2Changes in version 2.2.1

  • Add missing zh-cn localization for “Danger”; + fixed #510. +

  • Added Section 3.4, “Customizing title pages”, describing how to customize title pages; + fixed #507.

  • Added support for a numbered DocBook processing instruction pseudo-attribute + to control numbering of divisions, components, and sections on a per-element basis; + fixed #506. + See Section 3.6.1, “Numeration overrides”.

  • Added $variablelist-panelset to + support a “panel set” presentation of variable lists.

  • Simplified and corrected the selection of bibliography entry abbreviations; + fixed #479. + Thanks, Frank!

  • Improved docbook.py script. Thanks, Rafal!

  • Added support for caption elements in CALS tables; + fixed #472.

A.1.3Changes in version 2.2.0

  • Support $titleabbrev-passthrough, + fixed #469. +

  • Integrated support for + automatic glossaries + contributed by Frank Steimke. + Fixed #453 + and #445. + Extended to support automatic glossary divisions, + fixed #460. +

  • Added support for + automatic bibliographies + analogous to automatic glossaries. +

  • Integrated documentation improvements contributed by Frank Steimke, + fixed #452. +

  • Attempted to work around a scrolling issue in the persistent ToC, + fixed #451. +

  • Corrected the image intrinsic functions so that non-integer dimensions are supported in SVG; + added support for dimensions with units, + fixed #413, + #432, + and #443. +

  • Allow pre- and post-processing transforms to be specified as command line parameters, + fixed #440 + and #441 +

  • Merged a fix to the German localization contributed by Tom Schraitle, + fixed #428. +

  • Make sure $v:debug is declared in print.xsl, + fixed #420. +

  • Ensure that subtitle appears on a book titlepage, + fixed #415. +

  • Integrated improved support for improved + cross reference styles + contributed by Frank Steimke, + fixed #414. +

  • Merged a patch, contributed by Frank Steimke, to avoid a + warning when a table width is exactly the same as the nominal page + width, + fixed #411. +

  • Corrected an error where column widths computed from CALS tables did not correctly specify units, + fixed #410. +

A.1.4Changes in version 2.1.9

  • Links added with m:head-additions were not being made relative + to the chunk base URI. Reworked m:html-body-script slightly so that + links there can also be made relative appropriately.

A.1.5Changes in version 2.1.8

  • Added m:head-additions mode for customizers. This allows a customization + layer to add information to the HTML head.

  • Added tunnel parameters to the list of titles templates. This allows a customization + to determine the parent element of the list of titles. (For example, to format the table of contents + for a set differently than for the contained books.) +

  • When formatting a part with a partintro and a list of titles, + move the partintro before the list of titles. (This is technically backwards incompatible, + but it seems so obviously superior to the current behavior that I’m calling the current behavior + a bug.) +

  • Removed incorrect use of v: prefix in the documentation; fixed + #406. +

  • Added a $inline-xlink-href parameter to control whether or not + XLink href attributes are printed after the link in the paged media stylesheets; + fixed #404. + Previously, this was handled in two different ways: for simple + links, the links where always printed; for extended links, the text + were actually added by CSS. Now they’re both controlled by the + parameter and CSS is no longer involved. +

  • Hacked PrismJS a bit; added support for ABNF and my own attempt at an + Invisible XML highlighter. +

  • Added CSS for lists of titles in sets. +

A.1.6Changes in version 2.1.7

  • Tweaks to presentation.js to make sure +revealed elements are in view.

  • Tweaks to the bundled PrismJS to support (not especially well) +syntax highlighting Invisible XML.

  • CSS improvements for footnote rendering in paged media.

  • First attempt to support Vivliostyle +for rendering paged media.

A.1.7Changes in version 2.1.6

  • Fixed the bug where disabling division, component, or section +numbers didn’t change their presentation in Tables of Contents. It’s +not especially elegant, the stylesheets simply check if +“unnumbered” occurs in the localization group name +for the title. If it does, then the unnumbered table of contents +template is also selected.

  • Fixed the bug where chunk navigation wasn’t localized.

A.1.8Changes in version 2.1.5

  • Introduced “presentation mode” as a replacement +for earlier “slides” and “speaker notes” customizations. Simplified the normal “chunk navigation” +processing.

  • Improved copyright handling on title pages. Removed most +CSS page-break-inside: avoid rules. (They cause +overflow if the space isn’t big enough.)

  • Added the ability to put +arbitrary CSS properties on +elements with attributes in the https://xsltng.docbook.org/ns/css +namespace.

  • Added css to the set of verbatim environment +languages that are syntax highlighted by default.

  • The $output-media is now set to “epub” when +formatting EPUBs.

  • Paged media improvements: removed body margins (they’re provided by the page setup); +enabled hyphenation.

  • Add documentation for the properties in gradle.properties.

  • Yet even more fussing with the building the distribution on Windows.

A.1.9Changes in version 2.1.4

  • Fixed a bug where the Index by module index in the PDF +guide ran off the bottom of the page.

  • Improved the left and right page headers in PDF output. +

  • Fixed (another) bug in $unwrap-paragraphs support. +

  • Fixed a bug where the link for the persistent ToC was not visible. (This started +in 2.1.3 when a z-index was added to the page header.) +

  • Added a m:back-cover mode for producing a back +cover. By default, this mode produces no output, but it can be changed +an a customization layer to produce a cover. +

  • Fixed a few places where the $debug parameter was not being +tested correctly. Documented the templates-matches debug flag. +

  • Reworked how the change log is produced; it’s now an appendix rather than attempting +to put it between the front cover and the table of contents. +

  • Fixed some navigation issues associated with annotations when JavaScript is being used +to display the annotations. +

  • For convenience, the SASS SCSS stylesheets are now in the distribution ZIP archive. +These aren’t used at runtime, but if you have plans to make extensive +changes to the CSS, deriving those changes from the SASS sources may +prove easier than updating the derived CSS directly. +

  • Added CSS variables: default-font-size and +default-line-height to simplify customization. +

  • Reworked the title page for articles in books. Previously, they +only rendered the title. An article in a book now renders the “full” +titlepage that’s consistent with stand-alone articles. +

  • A bunch of build fixes: matrix builds work again, attempting to get the release information +uses an authenticated request if it can, an old Xerces implementation pulled in by a transitive +dependency is explicitly excluded (it has problems with UTF-16 encoded files, for example on Windows). +

A.1.10Changes in version 2.1.3

  • Fixed a bug in the handling of the $unwrap-paragraphs parameter. +The list of “block” elements understood to be “unwrapped” was incomplete. +

  • Fixed the way title and citetitle are formatted in bibliographies. +

  • Added support for the translate +attribute in HTML via the +$translate-suppress-elements parameter and the +f:translate-attribute() function. Note that these +attributes are in the HTML output, so they won’t +directly help with translations of the source XML. Apparently, some +production toolchains involve translating the published HTML.

  • Attempt to address problems caused by Oxygen change markup in +CALS tables. Deleted cells are now identified in the output (to keep +the dimensions of the table valid) rather than removing them. +

  • Fixed the rendering of table footnotes in PDF.

  • Added support for PDF bookmarks for H1 and H2 headings.

  • Removed the page-break-inside: avoid property from program listings. +The property was causing some program listings to be rendered beyond the bottom of the page +in PDF.

  • CSS has been adjusted in an attempt to avoid extra space below a calloutlist.

  • Added z-index to avoid problems in fixed navigation headers.

  • Extended the documentation about Docker and Docker alternatives; +improved the Dockerfile, especially with respect to Linux.

  • There are now two files in the GitHub distribution, the “normal” +one and one labeled “nosaxon”. The “nosaxon” ZIP file is the same +release, but without a copy of Saxon-HE. This release should be easier to integrate into environments, +like <oXygen/>, where a version of +Saxon is already provided. (Having two different versions of Saxon can +cause problems.)

  • A fallback version of the “Pygments” CSS file is included in repository. This allows +the correct formatting to be achieved even if +Pygments (and especially +pygmentize) isn’t available locally.

  • Lots (and lots) of build changes to support building the release on Windows. +It’s now at the “works on my machine” stage, but not yet working generally. Specific +suggestions welcome. +

  • A few other build improvements. A wholly unsuccessful attempt to +use the matrix build in CI.

  • A variety of typos have been fixed in the guide.

A.1.11Changes in version 2.1.2

A.1.12Changes in version 2.1.1

  • Added a $copy-verbatim-js parameter. This feature +creates a dynamic “copy” button on verbatim listings that will copy the +text of the listing (without callouts, line annotations, etc.) to the clipboard.

  • Fixed a minor issue where some spurious namespace declarations were being copied +into the HTML output.

A.1.13Changes in version 2.1.0

This is the first official release of the “2.x” versions of the +stylesheets. Version 2.1.0 introduces a number of new features and +corrects major issues with localization and media object rendering, +but is not entirely backwards compatible with the 1.x versions. The +incompatibilities should mostly effect customization layers, not +formatted documents, though the HTML output will be a little different +in most cases. For a summary of the changes, see Section A.2, “Introduction to xslTNG 2.x”.

A.2Introduction to xslTNG 2.x

Version 2.x of the DocBook xslTNG +Stylesheets include some substantial changes from version +1.x. If you use the stylesheets “out of the box” without any +customization, you should have no trouble updating from version 1.x to +version 2.1.0 (or later), but there will be differences in the HTML +produced. If you have customization layers for 1.x, you may need to +change them in order to get the results you expect from 2.x.

The most significant rewrite, and the change that actually +motivated the decision to adopt some backwards incompatible changes, +is in the area of localization. Version 1.x of the +xslTNG stylesheets attempted to simplify (from +the preceding XSLT 2.0 stylesheets) how generated text was +constructed. The model adopted simply didn’t work for some languages. +Trying to adapt the model to support these languages was going to +result in something even more complicated than +what had worked before, so the model has largely been reverted to what +it was before.

The format of the localization data and the way that it’s used +are the subject of Chapter 4, Localization. In broad terms, the new +system should produce “the same results” as the old system for an +equivalent localization, but there may be small changes in the way +lists of titles and cross references are formatted.

The major changes are:

  • Completely reworked how localization is handled. See +Chapter 4, Localization. The +localization file format has changed. Localization files are no longer +simply transformed from the XSLT 1.0 stylesheet format.

  • Completely reworked how numbering of elements is performed. See +Section 3.6, “Controlling numeration”. It’s a bit more complicated now, but it’s also +more flexible and better tested. The default numeration should be the same +as before, although a few small changes may appear in places where (I think) +the previous numeration was wrong. +

  • Completely refactored the way that media objects are located +during the transformation and how the URIs for them are generated in +the output. It is now possible to store the media objects in a location +independent of the source files. Four separate source arrangements are represented +in the test suite and each can be processed to produce several different outputs; +see the all_mo_tests build target and its dependencies.

  • Refactored the templates for processing media objects to improve support for +accessibility metadata and formatting copyright statements, legal notices, etc. +See m:mediaobject-start and m:mediaobject-end. +

  • Fixed the bug where attributes on image, video, audio, and text objects +in mediaobject and inlinemediaobject were not being preserved +in the output. In particular, this meant that role +attributes on those objects were not reflected in the HTML +class attribute.

  • Reworked audio and video fallback. Placing an HTML prose description +in the video tag is not the correct approach in modern browsers. That prose is only +rendered by browsers that don’t understand the +video tag at all. +Apparently, it has to be +handled by JavaScript. There’s now a $fallback-js +parameter.

  • Support media objects that have no media (e.g., a media object that contains +only inline text objects).

  • Implemented an +on-page table of contents feature. +

  • Switched to +section elements +(instead of div elements) +for sections inside of refentry and a number of other places. +This supports the new +on-page table of contents feature and +should have been done when the rest of the sectioning elements +were converted. +

  • Reworked ToC handling. Added $auto-toc parameter. +The placement of generated lists-of-titles can now be controlled with an +empty toc element (or db-toc processing +instruction).

  • Added support for creating ToCs by hand. (Former handling for +tocdiv and tocentry was just broken.) +

  • Placement of table titles, before or after the table, is now +set with $formal-object-title-placement. For backwards +compatibility, it defaults to ‘before’ for tables. Within a +formalgroup, title placement is controlled by +$formalgroup-nested-object-title-placement. In a related way, +the placement of media +object details can be set with $mediaobject-details-placement. +

  • Labels for formal objects may be different, but I think the previous +formatting was actually in error. +

  • Changed $mediaobject-accessibility and +$table-accessibility parameters into space-separated lists of strings.

  • The parameters for the t:top-nav and +t:bottom-nav templates have changed. They are now always +called, even when chunking is not being performed. The new +$chunk parameter indicates whether or not a chunk is being formatted. +

  • Moved the +footer element from +just after +main to just inside it. +This simplifies and improves CSS rendering and is arguably more correct. +

  • Added an $unwrap-paragraphs parameter. If this +parameter is true, a single DocBook paragraph that contains +block elements (for example, tables or figures) will be rendered as several HTML paragraphs +with blocks between them. HTML doesn’t allow blocks inside paragraphs.

  • Made including the docbook-print.css file conditional +on producing print output. Modern browsers attempt to parse the file, even when +the link specifies that it’s for print media, and produce a large number of +spurious error messages.

  • Deprecated the m:html-body-script mode. +Changed the way the standard scripts are included; instead of putting them +at the end of the +body element, they’re +placed in the +head but explicitly marked +deferred. +

  • In some contexts, for example callouts, labels are now used for the +links instead of titles.

  • Removed up-arrow from the keys that $chunk-nav responds +to. The up-arrow key is used by browser to move up the page and chunk navigation was +interfering with that behavior. The U key will still go “up” in +chunk navigation.

  • Reworked the persistent +ToC. It can now store the ToC in a separate file. Improved the +error messages when the persistent ToC is unavailable.

  • Changed ext:cwd() so that it always returns an absolute URI. +This fixes a bug in chunk output base URI handling. Tidied up some code.

  • Process unexected elements in titlepage templates in the normal way; removed +the warning message associated with them. Add it back by putting +templates in $debug.

  • Improved presentation of multiple keycap elements in a +keycombo.

  • Added table-of-contents to the linear flow of EPUBs. This fixes an +epubcheck 3.3 error. Fixed the CSS for the ToC.

  • Added support for ISO 690 bibliographies via a +$bibliography-style parameter. +

  • Added a $message-level parameter to support suppressing +some informational messages.

  • Removed db-footnote attributes from the output. Technically, attribute +names that contain a hyphen are HTML5 extension attributes, but sometimes they make validation +more difficult. Some extension attributes remain, because they’re used by JavaScript in +the presentation for example, but db-footnote isn’t used that way.

  • Fixed bug where authorgroup wasn’t being processed in +biblioentry. +

  • Fixed a bug where orderedlist numeration was not handled +correctly in cross-references to list items.

  • Fixed incorrect URIs for SVG draft overlay in print CSS.

  • Fixed a bug where the catalog.xml file in the +jar file was not at a location where the XML Resolver would find it.

  • Updated the build system to use Pygments version 2.14.0. This effects the markup +produced in some syntax highlighted listings. (You’re free to use any version of Pygments +that’s convenient; this is just about conformance with the expected test results.)

  • The way unit tests are managed has been completely rewritten. +See Section 6.5, “Testing tasks”.

\ No newline at end of file diff --git a/index.html b/index.html index 30922a438f..ff3989824e 100644 --- a/index.html +++ b/index.html @@ -63,7 +63,7 @@

Documentation

Sample output

-

The stylesheets come with a test suite of 1,659 +

The stylesheets come with a test suite of 1,666 tests. The test suite report shows the current status of all of the tests. It also includes samples of the expected output for a large collection diff --git a/report/a11y-result.html b/report/a11y-result.html index 534a9012a4..ea8318de1d 100644 --- a/report/a11y-result.html +++ b/report/a11y-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/a11y.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/a11y.xspec

-

Tested: 28 September 2024 at 10:55

+

Tested: 9 October 2024 at 13:31

Contents

diff --git a/report/a11y-result.xml b/report/a11y-result.xml index 0cbe2fc659..88c9149c81 100644 --- a/report/a11y-result.xml +++ b/report/a11y-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:31:42.833336Z"> diff --git a/report/book-014-result.html b/report/book-014-result.html index 17601003b7..ae1a0a365d 100644 --- a/report/book-014-result.html +++ b/report/book-014-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/book-014.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/book-014.xspec

-

Tested: 28 September 2024 at 10:55

+

Tested: 9 October 2024 at 13:31

Contents

diff --git a/report/book-014-result.xml b/report/book-014-result.xml index a69e447bb9..b1c41c8864 100644 --- a/report/book-014-result.xml +++ b/report/book-014-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:31:49.71331Z"> diff --git a/report/callouts-result.html b/report/callouts-result.html index c438b34463..3aff2e3023 100644 --- a/report/callouts-result.html +++ b/report/callouts-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/callouts.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/callouts.xspec

-

Tested: 28 September 2024 at 10:55

+

Tested: 9 October 2024 at 13:32

Contents

diff --git a/report/callouts-result.xml b/report/callouts-result.xml index bc7a85e509..3b8589ca50 100644 --- a/report/callouts-result.xml +++ b/report/callouts-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:32:02.338848Z"> diff --git a/report/chapters-inherit-from-book-division-result.html b/report/chapters-inherit-from-book-division-result.html index 0d2d92a020..ec32eddb47 100644 --- a/report/chapters-inherit-from-book-division-result.html +++ b/report/chapters-inherit-from-book-division-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-inherit-from-book-division.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-inherit-from-book-division.xspec

-

Tested: 28 September 2024 at 10:56

+

Tested: 9 October 2024 at 13:32

Contents

diff --git a/report/chapters-inherit-from-book-division-result.xml b/report/chapters-inherit-from-book-division-result.xml index ed928ca275..11dacb73b4 100644 --- a/report/chapters-inherit-from-book-division-result.xml +++ b/report/chapters-inherit-from-book-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:32:33.126982Z"> diff --git a/report/chapters-inherit-from-book-result.html b/report/chapters-inherit-from-book-result.html index a4d772f2ea..74f92f598a 100644 --- a/report/chapters-inherit-from-book-result.html +++ b/report/chapters-inherit-from-book-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-inherit-from-book.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-inherit-from-book.xspec

-

Tested: 28 September 2024 at 10:56

+

Tested: 9 October 2024 at 13:32

Contents

diff --git a/report/chapters-inherit-from-book-result.xml b/report/chapters-inherit-from-book-result.xml index 725592acab..bb7831ec23 100644 --- a/report/chapters-inherit-from-book-result.xml +++ b/report/chapters-inherit-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:32:40.283234Z"> diff --git a/report/chapters-inherit-from-division-result.html b/report/chapters-inherit-from-division-result.html index 1961c6437d..5c830cf850 100644 --- a/report/chapters-inherit-from-division-result.html +++ b/report/chapters-inherit-from-division-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-inherit-from-division.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-inherit-from-division.xspec

-

Tested: 28 September 2024 at 10:56

+

Tested: 9 October 2024 at 13:32

Contents

diff --git a/report/chapters-inherit-from-division-result.xml b/report/chapters-inherit-from-division-result.xml index 88cf7145f8..c4363b3e23 100644 --- a/report/chapters-inherit-from-division-result.xml +++ b/report/chapters-inherit-from-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:32:47.373462Z"> diff --git a/report/chapters-inherit-from-set-book-division-result.html b/report/chapters-inherit-from-set-book-division-result.html index a3f77f6183..21eb2a4ac2 100644 --- a/report/chapters-inherit-from-set-book-division-result.html +++ b/report/chapters-inherit-from-set-book-division-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-inherit-from-set-book-division.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-inherit-from-set-book-division.xspec

-

Tested: 28 September 2024 at 10:56

+

Tested: 9 October 2024 at 13:32

Contents

diff --git a/report/chapters-inherit-from-set-book-division-result.xml b/report/chapters-inherit-from-set-book-division-result.xml index a882035895..50ad33ab8a 100644 --- a/report/chapters-inherit-from-set-book-division-result.xml +++ b/report/chapters-inherit-from-set-book-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:32:54.510075Z"> diff --git a/report/chapters-inherit-from-set-book-result.html b/report/chapters-inherit-from-set-book-result.html index 71bb68765e..34fd226cd6 100644 --- a/report/chapters-inherit-from-set-book-result.html +++ b/report/chapters-inherit-from-set-book-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-inherit-from-set-book.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-inherit-from-set-book.xspec

-

Tested: 28 September 2024 at 10:56

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/chapters-inherit-from-set-book-result.xml b/report/chapters-inherit-from-set-book-result.xml index 7d1828aa7d..9901df2bfb 100644 --- a/report/chapters-inherit-from-set-book-result.xml +++ b/report/chapters-inherit-from-set-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:01.838288Z"> diff --git a/report/chapters-inherit-from-set-division-result.html b/report/chapters-inherit-from-set-division-result.html index 05edbdebc7..5d9dbbf633 100644 --- a/report/chapters-inherit-from-set-division-result.html +++ b/report/chapters-inherit-from-set-division-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-inherit-from-set-division.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-inherit-from-set-division.xspec

-

Tested: 28 September 2024 at 10:56

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/chapters-inherit-from-set-division-result.xml b/report/chapters-inherit-from-set-division-result.xml index 5f893e8395..8d9b4ead56 100644 --- a/report/chapters-inherit-from-set-division-result.xml +++ b/report/chapters-inherit-from-set-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:09.116349Z"> diff --git a/report/chapters-inherit-from-set-result.html b/report/chapters-inherit-from-set-result.html index af8c1db092..e729991b22 100644 --- a/report/chapters-inherit-from-set-result.html +++ b/report/chapters-inherit-from-set-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-inherit-from-set.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-inherit-from-set.xspec

-

Tested: 28 September 2024 at 10:56

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/chapters-inherit-from-set-result.xml b/report/chapters-inherit-from-set-result.xml index 8fe78e924f..04759070c3 100644 --- a/report/chapters-inherit-from-set-result.xml +++ b/report/chapters-inherit-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:16.270174Z"> diff --git a/report/chapters-numbered-from-book-result.html b/report/chapters-numbered-from-book-result.html index df17b7e13b..8ab39a5c8a 100644 --- a/report/chapters-numbered-from-book-result.html +++ b/report/chapters-numbered-from-book-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-numbered-from-book.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-numbered-from-book.xspec

-

Tested: 28 September 2024 at 10:57

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/chapters-numbered-from-book-result.xml b/report/chapters-numbered-from-book-result.xml index 34b4b3b903..30e37778d9 100644 --- a/report/chapters-numbered-from-book-result.xml +++ b/report/chapters-numbered-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:23.391509Z"> diff --git a/report/chapters-numbered-from-division-result.html b/report/chapters-numbered-from-division-result.html index 7bf9f6cdfd..18f0512158 100644 --- a/report/chapters-numbered-from-division-result.html +++ b/report/chapters-numbered-from-division-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-numbered-from-division.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-numbered-from-division.xspec

-

Tested: 28 September 2024 at 10:57

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/chapters-numbered-from-division-result.xml b/report/chapters-numbered-from-division-result.xml index 2538614950..48e1b15f04 100644 --- a/report/chapters-numbered-from-division-result.xml +++ b/report/chapters-numbered-from-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:30.454318Z"> diff --git a/report/chapters-numbered-from-root-result.html b/report/chapters-numbered-from-root-result.html index d850b7208f..7b16ce7e27 100644 --- a/report/chapters-numbered-from-root-result.html +++ b/report/chapters-numbered-from-root-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-numbered-from-root.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-numbered-from-root.xspec

-

Tested: 28 September 2024 at 10:57

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/chapters-numbered-from-root-result.xml b/report/chapters-numbered-from-root-result.xml index 0da54deda4..857ae14290 100644 --- a/report/chapters-numbered-from-root-result.xml +++ b/report/chapters-numbered-from-root-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:37.571485Z"> diff --git a/report/chapters-numbered-from-set-result.html b/report/chapters-numbered-from-set-result.html index 8c4f6e188b..9a4b98cbcd 100644 --- a/report/chapters-numbered-from-set-result.html +++ b/report/chapters-numbered-from-set-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/chapters-numbered-from-set.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/chapters-numbered-from-set.xspec

-

Tested: 28 September 2024 at 10:57

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/chapters-numbered-from-set-result.xml b/report/chapters-numbered-from-set-result.xml index 9901146a15..2be1457040 100644 --- a/report/chapters-numbered-from-set-result.xml +++ b/report/chapters-numbered-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:44.658565Z"> diff --git a/report/colors-result.html b/report/colors-result.html index 4e0dd6cf40..4f8b6b318e 100644 --- a/report/colors-result.html +++ b/report/colors-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/colors.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/colors.xspec

-

Tested: 28 September 2024 at 10:57

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/colors-result.xml b/report/colors-result.xml index de682f079b..da93b1acc5 100644 --- a/report/colors-result.xml +++ b/report/colors-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:51.806851Z"> @@ -57,785 +57,787 @@ -

This article contains (contrived) examples of all the markup +

+

This article contains (contrived) examples of all the markup that gets presented in different colors by default today. You are, of course, free to add your own CSS which uses color in other places. The primary purpose of this document is to test various themes, so it’s most useful if the theme picker is enabled.

-

This is a paragraph of ordinary text. - - 1 - -

-
-
-
Table 1 - A Table
-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
nn2 - n3 -
111
248
3927
-
-

Another paragraph. - - 2 - -

-
-
-                              
-                                  1 |
-                                 
-                                 
-                                    
-                                       def
-                                        
-                                       _parse_args
-                                       (
-                                       self
-                                       ,
-                                        
-                                       args
-                                       ):
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                           
-                                       done
-                                        
-                                       =
-                                        
-                                       False
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                           
-                                       for
-                                        
-                                       arg
-                                        
-                                       in
-                                        
-                                       args
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                               
-                                       if
-                                        
-                                       done
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                  5 |
-                                 
-                                 
-                                    
-                                                   
-                                       self
-                                       .
-                                       _check_arg
-                                       (
-                                       arg
-                                       )
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                               
-                                       else
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                   
-                                       if
-                                        
-                                       arg
-                                        
-                                       ==
-                                        
-                                       "--"
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       done
-                                        
-                                       =
-                                        
-                                       True
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                   
-                                       elif
-                                        
-                                       arg
-                                       .
-                                       startswith
-                                       (
-                                       "--config:"
-                                       ):
-                                    
-                                 
-                              
-                              
-
-                              
-                                 10 |
-                                 
-                                 
-                                    
-                                                       
-                                       self
-                                       .
-                                       config_file
-                                        
-                                       =
-                                        
-                                       arg
-                                       [
-                                       9
-                                       :]
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                   
-                                       elif
-                                        
-                                       arg
-                                       .
-                                       startswith
-                                       (
-                                       "--java:"
-                                       ):
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       self
-                                       .
-                                       _java
-                                        
-                                       =
-                                        
-                                       arg
-                                       [
-                                       7
-                                       :]
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                   
-                                       elif
-                                        
-                                       arg
-                                       .
-                                       startswith
-                                       (
-                                       "--root:"
-                                       ):
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       self
-                                       .
-                                       root
-                                        
-                                       =
-                                        
-                                       arg
-                                       [
-                                       7
-                                       :]
-                                    
-                                 
-                              
-                              
-
-                              
-                                 15 |
-                                 
-                                 
-                                    
-                                                   
-                                       elif
-                                        
-                                       arg
-                                        
-                                       ==
-                                        
-                                       "--help"
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       self
-                                       .
-                                       _help
-                                       ()
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       sys
-                                       .
-                                       exit
-                                       (
-                                       0
-                                       )
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                   
-                                       elif
-                                        
-                                       arg
-                                        
-                                       ==
-                                        
-                                       "--verbose"
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       self
-                                       .
-                                       verbose
-                                        
-                                       =
-                                        
-                                       True
-                                    
-                                 
-                              
-                              
-
-                              
-                                 20 |
-                                 
-                                 
-                                    
-                                                   
-                                       elif
-                                        
-                                       arg
-                                        
-                                       ==
-                                        
-                                       "--debug"
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       self
-                                       .
-                                       debug
-                                        
-                                       =
-                                        
-                                       True
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                   
-                                       else
-                                       :
-                                    
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    
-                                                       
-                                       self
-                                       .
-                                       _check_arg
-                                       (
-                                       arg
-                                       )
-                                    
-                                 
-                              
-                              
-
-                           
-
- -

Sections follow, just for the titles. -Revision markp - markup is also -coloured. -

-

- This is a phrase with the error class. - - -

-

-This is a paragraph with the debug class.

-

- Here is a remark. -The keycap rendering has a drop shadow. -There’s also color in code.

-
-
-
+                           

This is a paragraph of ordinary text. + + 1 + +

+
+
+
Table 1 + A Table
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
nn2 + n3 +
111
248
3927
+
+

Another paragraph. + + 2 + +

+
+
                                  
-                                    
-                                         
-                                       |
+                                     1 |
                                     
                                     
-                                       Line one
+                                       
+                                          def
+                                           
+                                          _parse_args
+                                          (
+                                          self
+                                          ,
+                                           
+                                          args
+                                          ):
+                                       
                                     
                                  
                                  
 
-                                 
+                                 
                                     
-                                         
+                                          
                                        |
                                     
                                     
-                                       Line two                                                   
+                                       
+                                              
+                                          done
+                                           
+                                          =
+                                           
+                                          False
                                        
                                     
                                  
                                  
 
-                                 
+                                 
                                     
-                                         
+                                          
                                        |
                                     
                                     
-                                       Line three                                                 
+                                       
+                                              
+                                          for
+                                           
+                                          arg
+                                           
+                                          in
+                                           
+                                          args
+                                          :
+                                       
                                     
                                  
                                  
 
                                  
                                     
-                                         
+                                          
                                        |
                                     
                                     
-                                       Line four
+                                       
+                                                  
+                                          if
+                                           
+                                          done
+                                          :
+                                       
                                     
                                  
                                  
 
-                              
-
-
-

There’s also the “monochrome” listing:

-
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    (defun ndw/insert-date-time (with-tz)
+                                 
+                                     5 |
+                                    
+                                    
+                                       
+                                                      
+                                          self
+                                          .
+                                          _check_arg
+                                          (
+                                          arg
+                                          )
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                  
+                                          else
+                                          :
+                                       
+                                    
                                  
-                                 
-                                      "Insert current date-time string in ISO 8601 format.
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    If WITH-TZ is nil, the time is printed without the timezone;
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    if WITH-TZ is t, the time is printed with the timezone;
-                                 
-                              
-                              
-
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    if WITH-TZ has any other value, that value is interpreted as
-                                 
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    a timezone and the current time in that timezone is inserted.
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                      
+                                          if
+                                           
+                                          arg
+                                           
+                                          ==
+                                           
+                                          "--"
+                                          :
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                    Example: 2010-11-29T23:23:35-08:00"
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          done
+                                           
+                                          =
+                                           
+                                          True
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                      (interactive)
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                      
+                                          elif
+                                           
+                                          arg
+                                          .
+                                          startswith
+                                          (
+                                          "--config:"
+                                          ):
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                      (let ((tz (cond ((eq with-tz nil) nil)
+                                 
+                                    10 |
+                                    
+                                    
+                                       
+                                                          
+                                          self
+                                          .
+                                          config_file
+                                           
+                                          =
+                                           
+                                          arg
+                                          [
+                                          9
+                                          :]
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                                      ((eq with-tz t) (current-time-zone))
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                      
+                                          elif
+                                           
+                                          arg
+                                          .
+                                          startswith
+                                          (
+                                          "--java:"
+                                          ):
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                                      (t (current-time-zone () with-tz)))))
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          self
+                                          .
+                                          _java
+                                           
+                                          =
+                                           
+                                          arg
+                                          [
+                                          7
+                                          :]
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                        (insert
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                      
+                                          elif
+                                           
+                                          arg
+                                          .
+                                          startswith
+                                          (
+                                          "--root:"
+                                          ):
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                         (if (eq tz nil)
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          self
+                                          .
+                                          root
+                                           
+                                          =
+                                           
+                                          arg
+                                          [
+                                          7
+                                          :]
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                             (format-time-string "%Y-%m-%dT%T")
+                                 
+                                    15 |
+                                    
+                                    
+                                       
+                                                      
+                                          elif
+                                           
+                                          arg
+                                           
+                                          ==
+                                           
+                                          "--help"
+                                          :
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                           (concat
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          self
+                                          .
+                                          _help
+                                          ()
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                            (format-time-string "%Y-%m-%dT%T" () tz)
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          sys
+                                          .
+                                          exit
+                                          (
+                                          0
+                                          )
+                                       
+                                    
                                  
-                              
-                              
+                                 
 
-                              
-                                 
-                                       
-                                    |
-                                 
-                                 
-                                            ((lambda (x) (concat (substring x 0 3) ":" (substring x 3 5)))
-                                 
-                              
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                      
+                                          elif
+                                           
+                                          arg
+                                           
+                                          ==
+                                           
+                                          "--verbose"
+                                          :
+                                       
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          self
+                                          .
+                                          verbose
+                                           
+                                          =
+                                           
+                                          True
+                                       
+                                    
+                                 
+                                 
+
+                                 
+                                    20 |
+                                    
+                                    
+                                       
+                                                      
+                                          elif
+                                           
+                                          arg
+                                           
+                                          ==
+                                           
+                                          "--debug"
+                                          :
+                                       
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          self
+                                          .
+                                          debug
+                                           
+                                          =
+                                           
+                                          True
+                                       
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                      
+                                          else
+                                          :
+                                       
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       
+                                                          
+                                          self
+                                          .
+                                          _check_arg
+                                          (
+                                          arg
+                                          )
+                                       
+                                    
+                                 
+                                 
+
+                              
+
+ +

Sections follow, just for the titles. +Revision markp + markup is also +coloured. +

+

+ This is a phrase with the error class. - - - - | +

+

+This is a paragraph with the debug class.

+

+ Here is a remark. +The keycap rendering has a drop shadow. +There’s also color in code.

+
+
+
+                                    
+                                       
+                                            
+                                          |
+                                       
+                                       
+                                          Line one
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                            
+                                          |
+                                       
+                                       
+                                          Line two                                                   
+                                          
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                            
+                                          |
+                                       
+                                       
+                                          Line three                                                 
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                            
+                                          |
+                                       
+                                       
+                                          Line four
+                                       
+                                    
+                                    
+
+                                 
+
+
+

There’s also the “monochrome” listing:

+
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       (defun ndw/insert-date-time (with-tz)
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                         "Insert current date-time string in ISO 8601 format.
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       If WITH-TZ is nil, the time is printed without the timezone;
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       if WITH-TZ is t, the time is printed with the timezone;
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       if WITH-TZ has any other value, that value is interpreted as
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       a timezone and the current time in that timezone is inserted.
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                       Example: 2010-11-29T23:23:35-08:00"
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                         (interactive)
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                         (let ((tz (cond ((eq with-tz nil) nil)
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                                         ((eq with-tz t) (current-time-zone))
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                                         (t (current-time-zone () with-tz)))))
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                           (insert
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                            (if (eq tz nil)
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                                (format-time-string "%Y-%m-%dT%T")
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                              (concat
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                               (format-time-string "%Y-%m-%dT%T" () tz)
+                                    
+                                 
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                               ((lambda (x) (concat (substring x 0 3) ":" (substring x 3 5)))
+                                    
                                  
-                                 
-                                             (format-time-string "%z" () tz)))))))
+                                 
+
+                                 
+                                    
+                                          
+                                       |
+                                    
+                                    
+                                                (format-time-string "%z" () tz)))))))
+                                    
                                  
-                              
-                              
+                                 
 
-                           
+
+
@@ -1142,785 +1144,787 @@ parenthesis.

-

This article contains (contrived) examples of all the markup +

+

This article contains (contrived) examples of all the markup that gets presented in different colors by default today. You are, of course, free to add your own CSS which uses color in other places. The primary purpose of this document is to test various themes, so it’s most useful if the theme picker is enabled.

-

This is a paragraph of ordinary text. - - 1 - -

-
-
-
Table 1 - A Table
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
nn2 - n3 -
111
248
3927
-
-

Another paragraph. - - 2 - -

-
-
-                                 
-                                     1 |
-                                    
-                                    
-                                       
-                                          def
-                                           
-                                          _parse_args
-                                          (
-                                          self
-                                          ,
-                                           
-                                          args
-                                          ):
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                              
-                                          done
-                                           
-                                          =
-                                           
-                                          False
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                              
-                                          for
-                                           
-                                          arg
-                                           
-                                          in
-                                           
-                                          args
-                                          :
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                  
-                                          if
-                                           
-                                          done
-                                          :
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                     5 |
-                                    
-                                    
-                                       
-                                                      
-                                          self
-                                          .
-                                          _check_arg
-                                          (
-                                          arg
-                                          )
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                  
-                                          else
-                                          :
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                      
-                                          if
-                                           
-                                          arg
-                                           
-                                          ==
-                                           
-                                          "--"
-                                          :
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                          
-                                          done
-                                           
-                                          =
-                                           
-                                          True
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                      
-                                          elif
-                                           
-                                          arg
-                                          .
-                                          startswith
-                                          (
-                                          "--config:"
-                                          ):
-                                       
-                                    
-                                 
-                                 
-
-                                 
-                                    10 |
-                                    
-                                    
-                                       
-                                                          
-                                          self
-                                          .
-                                          config_file
-                                           
-                                          =
-                                           
-                                          arg
-                                          [
-                                          9
-                                          :]
-                                       
+                              

This is a paragraph of ordinary text. + + 1 + +

+
+
+
Table 1 + A Table
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
nn2 + n3 +
111
248
3927
+
+

Another paragraph. + + 2 + +

+
+
+                                    
+                                        1 |
+                                       
+                                       
+                                          
+                                             def
+                                              
+                                             _parse_args
+                                             (
+                                             self
+                                             ,
+                                              
+                                             args
+                                             ):
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                      
-                                          elif
-                                           
-                                          arg
-                                          .
-                                          startswith
-                                          (
-                                          "--java:"
-                                          ):
-                                       
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                 
+                                             done
+                                              
+                                             =
+                                              
+                                             False
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                          
-                                          self
-                                          .
-                                          _java
-                                           
-                                          =
-                                           
-                                          arg
-                                          [
-                                          7
-                                          :]
-                                       
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                 
+                                             for
+                                              
+                                             arg
+                                              
+                                             in
+                                              
+                                             args
+                                             :
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                      
-                                          elif
-                                           
-                                          arg
-                                          .
-                                          startswith
-                                          (
-                                          "--root:"
-                                          ):
-                                       
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                     
+                                             if
+                                              
+                                             done
+                                             :
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
+                                    
+                                        5 |
+                                       
+                                       
+                                          
+                                                         
+                                             self
+                                             .
+                                             _check_arg
+                                             (
+                                             arg
+                                             )
+                                          
+                                       
                                     
-                                    
-                                       
-                                                          
-                                          self
-                                          .
-                                          root
-                                           
-                                          =
-                                           
-                                          arg
-                                          [
-                                          7
-                                          :]
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                     
+                                             else
+                                             :
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    15 |
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                         
+                                             if
+                                              
+                                             arg
+                                              
+                                             ==
+                                              
+                                             "--"
+                                             :
+                                          
+                                       
                                     
-                                    
-                                       
-                                                      
-                                          elif
-                                           
-                                          arg
-                                           
-                                          ==
-                                           
-                                          "--help"
-                                          :
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             done
+                                              
+                                             =
+                                              
+                                             True
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                         
+                                             elif
+                                              
+                                             arg
+                                             .
+                                             startswith
+                                             (
+                                             "--config:"
+                                             ):
+                                          
+                                       
                                     
-                                    
-                                       
-                                                          
-                                          self
-                                          .
-                                          _help
-                                          ()
-                                       
+                                    
+
+                                    
+                                       10 |
+                                       
+                                       
+                                          
+                                                             
+                                             self
+                                             .
+                                             config_file
+                                              
+                                             =
+                                              
+                                             arg
+                                             [
+                                             9
+                                             :]
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                         
+                                             elif
+                                              
+                                             arg
+                                             .
+                                             startswith
+                                             (
+                                             "--java:"
+                                             ):
+                                          
+                                       
                                     
-                                    
-                                       
-                                                          
-                                          sys
-                                          .
-                                          exit
-                                          (
-                                          0
-                                          )
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             self
+                                             .
+                                             _java
+                                              
+                                             =
+                                              
+                                             arg
+                                             [
+                                             7
+                                             :]
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                         
+                                             elif
+                                              
+                                             arg
+                                             .
+                                             startswith
+                                             (
+                                             "--root:"
+                                             ):
+                                          
+                                       
                                     
-                                    
-                                       
-                                                      
-                                          elif
-                                           
-                                          arg
-                                           
-                                          ==
-                                           
-                                          "--verbose"
-                                          :
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             self
+                                             .
+                                             root
+                                              
+                                             =
+                                              
+                                             arg
+                                             [
+                                             7
+                                             :]
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       
-                                                          
-                                          self
-                                          .
-                                          verbose
-                                           
-                                          =
-                                           
-                                          True
-                                       
+                                    
+                                       15 |
+                                       
+                                       
+                                          
+                                                         
+                                             elif
+                                              
+                                             arg
+                                              
+                                             ==
+                                              
+                                             "--help"
+                                             :
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    20 |
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             self
+                                             .
+                                             _help
+                                             ()
+                                          
+                                       
                                     
-                                    
-                                       
-                                                      
-                                          elif
-                                           
-                                          arg
-                                           
-                                          ==
-                                           
-                                          "--debug"
-                                          :
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             sys
+                                             .
+                                             exit
+                                             (
+                                             0
+                                             )
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                         
+                                             elif
+                                              
+                                             arg
+                                              
+                                             ==
+                                              
+                                             "--verbose"
+                                             :
+                                          
+                                       
                                     
-                                    
-                                       
-                                                          
-                                          self
-                                          .
-                                          debug
-                                           
-                                          =
-                                           
-                                          True
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             self
+                                             .
+                                             verbose
+                                              
+                                             =
+                                              
+                                             True
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
+                                    
+                                       20 |
+                                       
+                                       
+                                          
+                                                         
+                                             elif
+                                              
+                                             arg
+                                              
+                                             ==
+                                              
+                                             "--debug"
+                                             :
+                                          
+                                       
                                     
-                                    
-                                       
-                                                      
-                                          else
-                                          :
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             self
+                                             .
+                                             debug
+                                              
+                                             =
+                                              
+                                             True
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                         
+                                             else
+                                             :
+                                          
+                                       
                                     
-                                    
-                                       
-                                                          
-                                          self
-                                          .
-                                          _check_arg
-                                          (
-                                          arg
-                                          )
-                                       
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          
+                                                             
+                                             self
+                                             .
+                                             _check_arg
+                                             (
+                                             arg
+                                             )
+                                          
+                                       
                                     
-                                 
-                                 
+                                    
 
-                              
-
-
+
+ -

Sections follow, just for the titles. +

+

Sections follow, just for the titles. Revision markp - markup is also + markup is also coloured.

-

- This is a phrase with the error class. - +

+ This is a phrase with the error class. + -

-

+

+

This is a paragraph with the debug class.

-

- Here is a remark. +

+ Here is a remark. The keycap rendering has a drop shadow. There’s also color in code.

-
-
-
+                              
+
+
+                                       
+                                          
+                                               
+                                             |
+                                          
+                                          
+                                             Line one
+                                          
+                                       
+                                       
+
+                                       
+                                          
+                                               
+                                             |
+                                          
+                                          
+                                             Line two                                                   
+                                             
+                                          
+                                       
+                                       
+
+                                       
+                                          
+                                               
+                                             |
+                                          
+                                          
+                                             Line three                                                 
+                                          
+                                       
+                                       
+
+                                       
+                                          
+                                               
+                                             |
+                                          
+                                          
+                                             Line four
+                                          
+                                       
+                                       
+
+                                    
+
+
+

There’s also the “monochrome” listing:

+
+
                                     
                                        
-                                            
+                                             
+                                          |
+                                       
+                                       
+                                          (defun ndw/insert-date-time (with-tz)
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                            "Insert current date-time string in ISO 8601 format.
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          If WITH-TZ is nil, the time is printed without the timezone;
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          if WITH-TZ is t, the time is printed with the timezone;
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          if WITH-TZ has any other value, that value is interpreted as
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                          a timezone and the current time in that timezone is inserted.
+                                       
+                                    
+                                    
+
+                                    
+                                       
+                                             
                                           |
                                        
                                        
-                                          Line one
+                                          Example: 2010-11-29T23:23:35-08:00"
                                        
                                     
                                     
 
-                                    
+                                    
                                        
-                                            
+                                             
                                           |
                                        
                                        
-                                          Line two                                                   
-                                          
+                                            (interactive)
                                        
                                     
                                     
 
-                                    
+                                    
                                        
-                                            
+                                             
                                           |
                                        
                                        
-                                          Line three                                                 
+                                            (let ((tz (cond ((eq with-tz nil) nil)
                                        
                                     
                                     
 
-                                    
+                                    
                                        
-                                            
+                                             
                                           |
                                        
                                        
-                                          Line four
+                                                            ((eq with-tz t) (current-time-zone))
                                        
                                     
                                     
 
-                                 
-
-
-

There’s also the “monochrome” listing:

-
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       (defun ndw/insert-date-time (with-tz)
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                         "Insert current date-time string in ISO 8601 format.
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       If WITH-TZ is nil, the time is printed without the timezone;
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       if WITH-TZ is t, the time is printed with the timezone;
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       if WITH-TZ has any other value, that value is interpreted as
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       a timezone and the current time in that timezone is inserted.
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                       Example: 2010-11-29T23:23:35-08:00"
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                         (interactive)
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                         (let ((tz (cond ((eq with-tz nil) nil)
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                                         ((eq with-tz t) (current-time-zone))
-                                    
-                                 
-                                 
-
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                                         (t (current-time-zone () with-tz)))))
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                                            (t (current-time-zone () with-tz)))))
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                           (insert
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                              (insert
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                            (if (eq tz nil)
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                               (if (eq tz nil)
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                                (format-time-string "%Y-%m-%dT%T")
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                                   (format-time-string "%Y-%m-%dT%T")
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                              (concat
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                                 (concat
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                               (format-time-string "%Y-%m-%dT%T" () tz)
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                                  (format-time-string "%Y-%m-%dT%T" () tz)
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                               ((lambda (x) (concat (substring x 0 3) ":" (substring x 3 5)))
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                                  ((lambda (x) (concat (substring x 0 3) ":" (substring x 3 5)))
+                                       
                                     
-                                 
-                                 
+                                    
 
-                                 
-                                    
-                                          
-                                       |
-                                    
-                                    
-                                                (format-time-string "%z" () tz)))))))
+                                    
+                                       
+                                             
+                                          |
+                                       
+                                       
+                                                   (format-time-string "%z" () tz)))))))
+                                       
                                     
-                                 
-                                 
+                                    
 
-                              
+ +
diff --git a/report/coverage-report.html b/report/coverage-report.html index 12d647b4f7..fe721b8905 100644 --- a/report/coverage-report.html +++ b/report/coverage-report.html @@ -1,5 +1,5 @@ -DocBook xslTNG Coverage Report

DocBook xslTNG

Coverage Report

Reported on 28 Sep 2024 at 10:57 UTC.

The “core” elements

abbrev (68)
abstract (61)
accel (3)
acknowledgements (7)
acronym (15)
address (59)
affiliation (23)
alt (168)
anchor (1)
annotation (43)
answer (15)
appendix (95)
application (8)
arc (14)
area (1150)
areaset (134)
areaspec (160)
arg (95)
article (571)
artpagenums (2)
attribution (3)
audiodata (4)
audioobject (3)
author (163)
authorgroup (45)
authorinitials (41)
blockquote (16)
book (289)
bridgehead (19)
buildtarget (2)
callout (891)
calloutlist (154)
caption (29)
caution (12)
chapter (1061)
citation (13)
citebiblioid (11)
citerefentry (3)
citetitle (89)
city (14)
classname (11)
classsynopsis (5)
classsynopsisinfo (2)
cmdsynopsis (14)
co (49)
code (82)
col (13)
colgroup (4)
collab (2)
colophon (4)
colspec (191)
command (21)
computeroutput (4)
confdates (2)
confgroup (2)
confnum (2)
confsponsor (2)
conftitle (2)
constant (4)
constraint (2)
constraintdef (2)
constructorsynopsis (4)
contractnum (2)
contractsponsor (2)
contrib (2)
copyright (30)
coref (2)
country (4)
cover (3)
danger (12)
database (21)
date (67)
dedication (5)
description
destructorsynopsis (1)
edition (10)
editor (30)
email (53)
emphasis (199)
entry (49828)
entrytbl (3)
enumidentifier (5)
enumitem (3)
enumitemdescription (2)
enumname (3)
enumsynopsis (1)
enumvalue (2)
envar (4)
epigraph (1)
equation (296)
errorcode (3)
errorname (3)
errortext (3)
errortype (3)
example (265)
exceptionname (3)
extendedlink (14)
fax (2)
fieldsynopsis (4)
figure (560)
filename (94)
firstname (178)
firstterm (6)
footnote (51)
footnoteref (14)
foreignphrase (3)
formalgroup (29)
formalpara (6)
funcdef (28)
funcparams (10)
funcprototype (28)
funcsynopsis (14)
funcsynopsisinfo (6)
function (43)
givenname (4)
glossterm (67)
group (20)
guibutton (4)
guiicon (4)
guilabel (4)
guimenu (3)
guimenuitem (3)
guisubmenu (3)
hardware (3)
holder (30)
honorific (9)
imagedata (139)
imageobject (130)
imageobjectco (7)
important (15)
index (18)
indexdiv (1)
indexentry (7)
indexterm (313)
info (521)
informalequation (4)
informalexample (16)
informalfigure (4)
informaltable (226)
initializer (7)
inlineequation (3)
inlinemediaobject (7)
interfacename (3)
issuenum (10)
itemizedlist (75)
itermset (1)
jobtitle (8)
keycap (36)
keycode (3)
keycombo (2)
keysym (3)
keyword (13)
keywordset (6)
label (2)
legalnotice (11)
lhs (8)
lineage (6)
lineannotation (4)
link (95)
listitem (593)
literal (47)
literallayout (36)
locator (45)
macrodef
macroname (2)
macroprototype
macrosynopsis
manvolnum (15)
markup (3)
mathphrase (288)
mediaobject (121)
member (96)
menuchoice (2)
methodname (14)
methodparam (8)
methodsynopsis (6)
modifier (33)
mousebutton (3)
msg (1)
msgaud (1)
msgentry (1)
msgexplan (3)
msginfo (1)
msglevel (1)
msgmain (1)
msgorig (1)
msgrel (2)
msgset (3)
msgsub (1)
msgtext (6)
multimediaparam (6)
packagesynopsis (1)
nonterminal (22)
note (34)
olink (4)
ooclass (7)
ooexception (2)
oointerface (2)
option (15)
optional (3)
orderedlist (63)
org (2)
orgdiv (5)
orgname (71)
otheraddr (2)
othercredit (27)
othername (14)
package (4)
pagenums (5)
para (7004)
paramdef (70)
parameter (140)
part (263)
partintro (6)
person (5)
personblurb (4)
personname (262)
phone (2)
phrase (157)
pob (2)
postcode (6)
preface (133)
printhistory (2)
procedure (276)
production (8)
productionrecap (2)
productionset (4)
productname (10)
productnumber (5)
programlisting (181)
programlistingco (81)
prompt (5)
property (5)
pubdate (46)
publisher (20)
publishername (38)
qandadiv (9)
qandaentry (19)
qandaset (9)
question (19)
quote (23)
refclass (1)
refdescriptor (1)
refentry (104)
refentrytitle (16)
reference (41)
refmeta (15)
refmiscinfo (1)
refname (114)
refnamediv (105)
refpurpose (105)
refsect1 (34)
refsect2 (3)
refsect3 (2)
refsection (123)
refsynopsisdiv (10)
releaseinfo (23)
remark (3)
replaceable (39)
result (1)
returnvalue (3)
revdescription (1)
revhistory (18)
revision (44)
revnumber (45)
revremark (43)
rhs (10)
row (6350)
sbr (14)
screen (99)
screenco (67)
screenshot (6)
secondary (33)
sect1 (30)
sect2 (18)
sect3 (16)
sect4 (16)
sect5 (16)
section (1263)
seg (28)
seglistitem (12)
segmentedlist (5)
segtitle (12)
seriesvolnums (2)
set (212)
setindex (1)
shortaffil (4)
shortcut (2)
sidebar (6)
simpara (18)
simplelist (15)
simplemsgentry (2)
simplesect (4)
spanspec (7)
specializedtemplate
state (6)
step (601)
stepalternatives (4)
street (4)
subject (1)
subjectset (1)
subjectterm (1)
subscript (3)
substeps (15)
subtitle (36)
superscript (264)
surname (180)
symbol (6)
synopfragment (4)
synopfragmentref (4)
synopsis (7)
synopsisinfo (3)
systemitem (27)
table (295)
tag (128)
task (3)
taskprerequisites (3)
taskrelated (3)
tasksummary (3)
tbody (522)
td (439)
template
templateid (2)
term (87)
termdef (2)
textdata (2)
textobject (57)
tfoot (4)
tgroup (486)
th (2)
thead (165)
tip (15)
title (6073)
titleabbrev (15)
token (3)
topic (5)
tr (192)
trademark (15)
type (35)
typedefname (2)
typedefsynopsis
union
unionname (2)
unionsynopsis
uri (13)
userinput (14)
varargs (4)
variablelist (24)
varlistentry (75)
varname (13)
videodata (8)
videoobject (5)
void (13)
volumenum (10)
warning (12)
wordasword (3)
xref (154)
year (39)

Bibliography elements

bibliography (17)
bibliocoverage (2)
bibliodiv (6)
biblioentry (28)
biblioid (39)
bibliolist (8)
bibliomisc (7)
bibliomixed (59)
bibliomset (30)
biblioref (20)
bibliorelation (1)
biblioset (6)
bibliosource (10)

Glossary elements

glossary (11)
glossdef (42)
glossdiv (6)
glossentry (41)
glosslist (4)
glosssee (1)
glossseealso (5)

“Navigation” elements (tables of contents and indexes)

primary (311)
primaryie (7)
secondaryie (4)
see (4)
seealso (8)
seealsoie (3)
seeie (3)
tertiary (6)
tertiaryie (1)
toc (7)
tocdiv (3)
tocentry (13)

Publishers elements

dialogue (4)
drama (1)
inlinestagedir (2)
line (104)
linegroup (12)
poetry (1)
speaker (2)
stagedir (1)
\ No newline at end of file diff --git a/report/dates-result.html b/report/dates-result.html index ab61ce19f8..c9ad3709a3 100644 --- a/report/dates-result.html +++ b/report/dates-result.html @@ -592,7 +592,7 @@

Test Report

Stylesheet: /home/runner/work/xslTNG/xslTNG/build/xspec-xslt/xspec-driver.xsl

XSpec: /home/runner/work/xslTNG/xslTNG/src/test/xspec/dates.xspec

-

Tested: 28 September 2024 at 10:57

+

Tested: 9 October 2024 at 13:33

Contents

diff --git a/report/dates-result.xml b/report/dates-result.xml index 66f2a62ce6..0036f73371 100644 --- a/report/dates-result.xml +++ b/report/dates-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:33:58.942635Z"> diff --git a/report/default-compiled.xsl b/report/default-compiled.xsl index 6e547187d3..720766bc5c 100644 --- a/report/default-compiled.xsl +++ b/report/default-compiled.xsl @@ -44,7 +44,7 @@ file:/home/runner/work/xslTNG/xslTNG/build/env/default.xsl - + @@ -1621,6 +1621,27 @@ + + + + + + + + + + + + + + + + + + + + + ERROR: Unhandled scenario invocation @@ -1644,16 +1665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/address.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d584e0"/> - + expect address.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e4, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -1699,7 +1720,7 @@ expect address.001.expected - + @@ -1719,16 +1740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/address.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d592e0"/> - + expect address.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e7, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -1774,7 +1795,7 @@ expect address.002.expected - + @@ -1794,16 +1815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/admonitions.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d600e0"/> - + expect admonitions.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e10, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -1849,7 +1870,7 @@ expect admonitions.001.expected - + @@ -1869,16 +1890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/admonitions.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d608e0"/> - + expect admonitions.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e13, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -1924,7 +1945,7 @@ expect admonitions.002.expected - + @@ -1944,16 +1965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/alttitlepage.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d616e0"/> - + expect alttitlepage.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e16, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -1999,7 +2020,7 @@ expect alttitlepage.001.expected - + @@ -2019,16 +2040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/annotations.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d624e0"/> - + expect annotations.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e19, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2074,7 +2095,7 @@ expect annotations.001.expected - + @@ -2094,16 +2115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/annotations.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d632e0"/> - + expect annotations.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e22, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2149,7 +2170,7 @@ expect annotations.002.expected - + @@ -2169,16 +2190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/annotations.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d640e0"/> - + expect annotations.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e25, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2224,7 +2245,7 @@ expect annotations.003.expected - + @@ -2244,16 +2265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/annotations.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d648e0"/> - + expect annotations.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e28, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2299,7 +2320,7 @@ expect annotations.004.expected - + @@ -2319,16 +2340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/annotations.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d656e0"/> - + expect annotations.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e31, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2374,7 +2395,7 @@ expect annotations.005.expected - + @@ -2394,16 +2415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/annotations.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d664e0"/> - + expect annotations.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e34, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2449,7 +2470,7 @@ expect annotations.006.expected - + @@ -2469,16 +2490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/appendix.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d672e0"/> - + expect appendix.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e38, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2524,7 +2545,7 @@ expect appendix.001.expected - + @@ -2544,16 +2565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/appendix.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d680e0"/> - + expect appendix.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e41, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2599,7 +2620,7 @@ expect appendix.002.expected - + @@ -2619,16 +2640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/appendix.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d688e0"/> - + expect appendix.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e44, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2674,7 +2695,7 @@ expect appendix.003.expected - + @@ -2694,16 +2715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/application.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d696e0"/> - + expect application.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e47, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2749,7 +2770,7 @@ expect application.001.expected - + @@ -2769,16 +2790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d704e0"/> - + expect article.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e50, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2824,7 +2845,7 @@ expect article.001.expected - + @@ -2844,16 +2865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d712e0"/> - + expect article.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e53, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2899,7 +2920,7 @@ expect article.002.expected - + @@ -2919,16 +2940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d720e0"/> - + expect article.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e56, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -2974,7 +2995,7 @@ expect article.003.expected - + @@ -2994,16 +3015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d728e0"/> - + expect article.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e59, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3049,7 +3070,7 @@ expect article.004.expected - + @@ -3069,16 +3090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d736e0"/> - + expect article.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e62, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3124,7 +3145,7 @@ expect article.005.expected - + @@ -3144,16 +3165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d744e0"/> - + expect article.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e65, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3199,7 +3220,7 @@ expect article.006.expected - + @@ -3219,16 +3240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d752e0"/> - + expect article.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e68, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3274,7 +3295,7 @@ expect article.007.expected - + @@ -3294,16 +3315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d760e0"/> - + expect article.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e72, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3349,7 +3370,7 @@ expect article.008.expected - + @@ -3369,16 +3390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d768e0"/> - + expect article.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e75, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3424,7 +3445,7 @@ expect article.009.expected - + @@ -3444,16 +3465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d776e0"/> - + expect article.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e78, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3499,7 +3520,7 @@ expect article.010.expected - + @@ -3519,16 +3540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d784e0"/> - + expect article.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e81, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3574,7 +3595,7 @@ expect article.011.expected - + @@ -3594,16 +3615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d792e0"/> - + expect article.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e84, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3649,7 +3670,7 @@ expect article.012.expected - + @@ -3669,16 +3690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d800e0"/> - + expect article.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e87, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3724,7 +3745,7 @@ expect article.013.expected - + @@ -3744,16 +3765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.014.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d808e0"/> - + expect article.014.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e90, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3799,7 +3820,7 @@ expect article.014.expected - + @@ -3819,16 +3840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.015.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d816e0"/> - + expect article.015.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e93, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED @@ -3874,7 +3895,7 @@ expect article.015.expected - + @@ -3882,10 +3903,160 @@ - When transforming audioobject.001 + When transforming article.016 scenario31 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec + + When transforming article.016 + + + + file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.016.xml + + + + + + + + + + + + + + + + + + + + + + + + expect article.016.expected + + + + + FAILED + + + scenario31-expect1 + + + expect article.016.expected + + + + + + + + + + When transforming article.017 + + scenario32 + file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec + + When transforming article.017 + + + + file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/article.017.xml + + + + + + + + + + + + + + + + + + + + + + + + expect article.017.expected + + + + + FAILED + + + scenario32-expect1 + + + expect article.017.expected + + + + + + + + + + When transforming audioobject.001 + + scenario33 + file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming audioobject.001 @@ -3894,16 +4065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/audioobject.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d840e0"/> - + - + - expect audioobject.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e102, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario31-expect1 + scenario33-expect1 @@ -3949,17 +4120,17 @@ expect audioobject.001.expected - + - When transforming audioobject.002 - scenario32 + scenario34 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming audioobject.002 @@ -3969,16 +4140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/audioobject.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d848e0"/> - + - + - expect audioobject.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e106, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario32-expect1 + scenario34-expect1 @@ -4024,17 +4195,17 @@ expect audioobject.002.expected - + - When transforming audioobject.003 - scenario33 + scenario35 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming audioobject.003 @@ -4044,16 +4215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/audioobject.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d856e0"/> - + - + - expect audioobject.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e109, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario33-expect1 + scenario35-expect1 @@ -4099,17 +4270,17 @@ expect audioobject.003.expected - + - When transforming auld_lang_syne - scenario34 + scenario36 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming auld_lang_syne @@ -4119,16 +4290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/auld_lang_syne.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d864e0"/> - + - + - expect auld_lang_syne.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e112, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario34-expect1 + scenario36-expect1 @@ -4174,17 +4345,17 @@ expect auld_lang_syne.expected - + - When transforming author.001 - scenario35 + scenario37 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming author.001 @@ -4194,16 +4365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/author.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d872e0"/> - + - + - expect author.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e115, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario35-expect1 + scenario37-expect1 @@ -4249,17 +4420,17 @@ expect author.001.expected - + - When transforming author.002 - scenario36 + scenario38 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming author.002 @@ -4269,16 +4440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/author.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d880e0"/> - + - + - expect author.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e118, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario36-expect1 + scenario38-expect1 @@ -4324,17 +4495,17 @@ expect author.002.expected - + - When transforming bibliography.001 - scenario37 + scenario39 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.001 @@ -4344,16 +4515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d888e0"/> - + - + - expect bibliography.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e121, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario37-expect1 + scenario39-expect1 @@ -4399,17 +4570,17 @@ expect bibliography.001.expected - + - When transforming bibliography.002 - scenario38 + scenario40 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.002 @@ -4419,16 +4590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d896e0"/> - + - + - expect bibliography.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e124, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario38-expect1 + scenario40-expect1 @@ -4474,17 +4645,17 @@ expect bibliography.002.expected - + - When transforming bibliography.003 - scenario39 + scenario41 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.003 @@ -4494,16 +4665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d904e0"/> - + - + - expect bibliography.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e127, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario39-expect1 + scenario41-expect1 @@ -4549,17 +4720,17 @@ expect bibliography.003.expected - + - When transforming bibliography.004 - scenario40 + scenario42 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.004 @@ -4569,16 +4740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d912e0"/> - + - + - expect bibliography.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e130, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario40-expect1 + scenario42-expect1 @@ -4624,17 +4795,17 @@ expect bibliography.004.expected - + - When transforming bibliography.005 - scenario41 + scenario43 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.005 @@ -4644,16 +4815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d920e0"/> - + - + - expect bibliography.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e133, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario41-expect1 + scenario43-expect1 @@ -4699,17 +4870,17 @@ expect bibliography.005.expected - + - When transforming bibliography.006 - scenario42 + scenario44 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.006 @@ -4719,16 +4890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d928e0"/> - + - + - expect bibliography.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e136, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario42-expect1 + scenario44-expect1 @@ -4774,17 +4945,17 @@ expect bibliography.006.expected - + - When transforming bibliography.007 - scenario43 + scenario45 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.007 @@ -4794,16 +4965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d936e0"/> - + - + - expect bibliography.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e140, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario43-expect1 + scenario45-expect1 @@ -4849,17 +5020,17 @@ expect bibliography.007.expected - + - When transforming bibliography.008 - scenario44 + scenario46 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.008 @@ -4869,16 +5040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d944e0"/> - + - + - expect bibliography.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e143, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario44-expect1 + scenario46-expect1 @@ -4924,17 +5095,17 @@ expect bibliography.008.expected - + - When transforming bibliography.009 - scenario45 + scenario47 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.009 @@ -4944,16 +5115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d952e0"/> - + - + - expect bibliography.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e146, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario45-expect1 + scenario47-expect1 @@ -4999,17 +5170,17 @@ expect bibliography.009.expected - + - When transforming bibliography.010 - scenario46 + scenario48 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.010 @@ -5019,16 +5190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d960e0"/> - + - + - expect bibliography.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e149, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario46-expect1 + scenario48-expect1 @@ -5074,17 +5245,17 @@ expect bibliography.010.expected - + - When transforming bibliography.011 - scenario47 + scenario49 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliography.011 @@ -5094,16 +5265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliography.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d968e0"/> - + - + - expect bibliography.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e152, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario47-expect1 + scenario49-expect1 @@ -5149,17 +5320,17 @@ expect bibliography.011.expected - + - When transforming bibliolist.001 - scenario48 + scenario50 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliolist.001 @@ -5169,16 +5340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliolist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d976e0"/> - + - + - expect bibliolist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e155, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario48-expect1 + scenario50-expect1 @@ -5224,17 +5395,17 @@ expect bibliolist.001.expected - + - When transforming bibliolist.002 - scenario49 + scenario51 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliolist.002 @@ -5244,16 +5415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliolist.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d984e0"/> - + - + - expect bibliolist.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e158, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario49-expect1 + scenario51-expect1 @@ -5299,17 +5470,17 @@ expect bibliolist.002.expected - + - When transforming bibliolist.003 - scenario50 + scenario52 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliolist.003 @@ -5319,16 +5490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliolist.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d992e0"/> - + - + - expect bibliolist.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e161, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario50-expect1 + scenario52-expect1 @@ -5374,17 +5545,17 @@ expect bibliolist.003.expected - + - When transforming bibliolist.004 - scenario51 + scenario53 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliolist.004 @@ -5394,16 +5565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliolist.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1000e0"/> - + - + - expect bibliolist.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e164, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario51-expect1 + scenario53-expect1 @@ -5449,17 +5620,17 @@ expect bibliolist.004.expected - + - When transforming bibliolist.005 - scenario52 + scenario54 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliolist.005 @@ -5469,16 +5640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliolist.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1008e0"/> - + - + - expect bibliolist.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e167, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario52-expect1 + scenario54-expect1 @@ -5524,17 +5695,17 @@ expect bibliolist.005.expected - + - When transforming bibliomixed.001 - scenario53 + scenario55 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliomixed.001 @@ -5544,16 +5715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliomixed.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1016e0"/> - + - + - expect bibliomixed.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e170, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario53-expect1 + scenario55-expect1 @@ -5599,17 +5770,17 @@ expect bibliomixed.001.expected - + - When transforming bibliomixed.002 - scenario54 + scenario56 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bibliomixed.002 @@ -5619,16 +5790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bibliomixed.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1024e0"/> - + - + - expect bibliomixed.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e174, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario54-expect1 + scenario56-expect1 @@ -5674,17 +5845,17 @@ expect bibliomixed.002.expected - + - When transforming blockinfo.001 - scenario55 + scenario57 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blockinfo.001 @@ -5694,16 +5865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blockinfo.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1032e0"/> - + - + - expect blockinfo.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e177, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario55-expect1 + scenario57-expect1 @@ -5749,17 +5920,17 @@ expect blockinfo.001.expected - + - When transforming blockinfo.002 - scenario56 + scenario58 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blockinfo.002 @@ -5769,16 +5940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blockinfo.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1040e0"/> - + - + - expect blockinfo.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e180, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario56-expect1 + scenario58-expect1 @@ -5824,17 +5995,17 @@ expect blockinfo.002.expected - + - When transforming blockquote.001 - scenario57 + scenario59 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blockquote.001 @@ -5844,16 +6015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blockquote.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1048e0"/> - + - + - expect blockquote.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e183, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario57-expect1 + scenario59-expect1 @@ -5899,17 +6070,17 @@ expect blockquote.001.expected - + - When transforming blocks.001 - scenario58 + scenario60 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blocks.001 @@ -5919,16 +6090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blocks.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1056e0"/> - + - + - expect blocks.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e186, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario58-expect1 + scenario60-expect1 @@ -5974,17 +6145,17 @@ expect blocks.001.expected - + - When transforming blocks.002 - scenario59 + scenario61 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blocks.002 @@ -5994,16 +6165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blocks.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1064e0"/> - + - + - expect blocks.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e189, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario59-expect1 + scenario61-expect1 @@ -6049,17 +6220,17 @@ expect blocks.002.expected - + - When transforming blocks.003 - scenario60 + scenario62 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blocks.003 @@ -6069,16 +6240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blocks.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1072e0"/> - + - + - expect blocks.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e192, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario60-expect1 + scenario62-expect1 @@ -6124,17 +6295,17 @@ expect blocks.003.expected - + - When transforming blocks.004 - scenario61 + scenario63 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blocks.004 @@ -6144,16 +6315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blocks.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1080e0"/> - + - + - expect blocks.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e195, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario61-expect1 + scenario63-expect1 @@ -6199,17 +6370,17 @@ expect blocks.004.expected - + - When transforming blocks.005 - scenario62 + scenario64 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming blocks.005 @@ -6219,16 +6390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/blocks.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1088e0"/> - + - + - expect blocks.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e198, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario62-expect1 + scenario64-expect1 @@ -6274,17 +6445,17 @@ expect blocks.005.expected - + - When transforming book.001 - scenario63 + scenario65 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.001 @@ -6294,16 +6465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1096e0"/> - + - + - expect book.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e201, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario63-expect1 + scenario65-expect1 @@ -6349,17 +6520,17 @@ expect book.001.expected - + - When transforming book.002 - scenario64 + scenario66 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.002 @@ -6369,16 +6540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1104e0"/> - + - + - expect book.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e204, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario64-expect1 + scenario66-expect1 @@ -6424,17 +6595,17 @@ expect book.002.expected - + - When transforming book.003 - scenario65 + scenario67 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.003 @@ -6444,16 +6615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1112e0"/> - + - + - expect book.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e208, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario65-expect1 + scenario67-expect1 @@ -6499,17 +6670,17 @@ expect book.003.expected - + - When transforming book.004 - scenario66 + scenario68 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.004 @@ -6519,16 +6690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1120e0"/> - + - + - expect book.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e211, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario66-expect1 + scenario68-expect1 @@ -6574,17 +6745,17 @@ expect book.004.expected - + - When transforming book.005 - scenario67 + scenario69 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.005 @@ -6594,16 +6765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1128e0"/> - + - + - expect book.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e214, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario67-expect1 + scenario69-expect1 @@ -6649,17 +6820,17 @@ expect book.005.expected - + - When transforming book.006 - scenario68 + scenario70 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.006 @@ -6669,16 +6840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1136e0"/> - + - + - expect book.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e217, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario68-expect1 + scenario70-expect1 @@ -6724,17 +6895,17 @@ expect book.006.expected - + - When transforming book.007 - scenario69 + scenario71 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.007 @@ -6744,16 +6915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1144e0"/> - + - + - expect book.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e220, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario69-expect1 + scenario71-expect1 @@ -6799,17 +6970,17 @@ expect book.007.expected - + - When transforming book.008 - scenario70 + scenario72 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.008 @@ -6819,16 +6990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1152e0"/> - + - + - expect book.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e223, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario70-expect1 + scenario72-expect1 @@ -6874,17 +7045,17 @@ expect book.008.expected - + - When transforming book.009 - scenario71 + scenario73 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.009 @@ -6894,16 +7065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1160e0"/> - + - + - expect book.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e226, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario71-expect1 + scenario73-expect1 @@ -6949,17 +7120,17 @@ expect book.009.expected - + - When transforming book.010 - scenario72 + scenario74 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.010 @@ -6969,16 +7140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1168e0"/> - + - + - expect book.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e229, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario72-expect1 + scenario74-expect1 @@ -7024,17 +7195,17 @@ expect book.010.expected - + - When transforming book.011 - scenario73 + scenario75 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.011 @@ -7044,16 +7215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1176e0"/> - + - + - expect book.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e232, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario73-expect1 + scenario75-expect1 @@ -7099,17 +7270,17 @@ expect book.011.expected - + - When transforming book.012 - scenario74 + scenario76 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.012 @@ -7119,16 +7290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1184e0"/> - + - + - expect book.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e235, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario74-expect1 + scenario76-expect1 @@ -7174,17 +7345,17 @@ expect book.012.expected - + - When transforming book.013 - scenario75 + scenario77 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.013 @@ -7194,16 +7365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1192e0"/> - + - + - expect book.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e238, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario75-expect1 + scenario77-expect1 @@ -7249,17 +7420,392 @@ expect book.013.expected - + - + + When transforming book.015 + + scenario78 + file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec + + When transforming book.015 + + + + file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.015.xml + + + + + + + + + + + + + + + + + + + + + + + + expect book.015.expected + + + + + FAILED + + + scenario78-expect1 + + + expect book.015.expected + + + + + + + + + + When transforming book.016 + + scenario79 + file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec + + When transforming book.016 + + + + file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.016.xml + + + + + + + + + + + + + + + + + + + + + + + + expect book.016.expected + + + + + FAILED + + + scenario79-expect1 + + + expect book.016.expected + + + + + + + + + + When transforming book.017 + + scenario80 + file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec + + When transforming book.017 + + + + file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.017.xml + + + + + + + + + + + + + + + + + + + + + + + + expect book.017.expected + + + + + FAILED + + + scenario80-expect1 + + + expect book.017.expected + + + + + + + + + + When transforming book.018 + + scenario81 + file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec + + When transforming book.018 + + + + file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.018.xml + + + + + + + + + + + + + + + + + + + + + + + + expect book.018.expected + + + + + FAILED + + + scenario81-expect1 + + + expect book.018.expected + + + + + + + + + + When transforming book.019 + + scenario82 + file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec + + When transforming book.019 + + + + file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.019.xml + + + + + + + + + + + + + + + + + + + + + + + + expect book.019.expected + + + + + FAILED + + + scenario82-expect1 + + + expect book.019.expected + + + + + + + + When transforming book.020 - scenario76 + scenario83 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.020 @@ -7269,16 +7815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.020.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1240e0"/> - + - + - expect book.020.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e257, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario76-expect1 + scenario83-expect1 @@ -7324,17 +7870,17 @@ expect book.020.expected - + - When transforming book.021 - scenario77 + scenario84 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming book.021 @@ -7344,16 +7890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/book.021.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1248e0"/> - + - + - expect book.021.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e260, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario77-expect1 + scenario84-expect1 @@ -7399,17 +7945,17 @@ expect book.021.expected - + - When transforming bridgehead.001 - scenario78 + scenario85 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming bridgehead.001 @@ -7419,16 +7965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/bridgehead.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1256e0"/> - + - + - expect bridgehead.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e263, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario78-expect1 + scenario85-expect1 @@ -7474,17 +8020,17 @@ expect bridgehead.001.expected - + - When transforming calloutlist.001 - scenario79 + scenario86 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming calloutlist.001 @@ -7494,16 +8040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/calloutlist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1264e0"/> - + - + - expect calloutlist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e266, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario79-expect1 + scenario86-expect1 @@ -7549,17 +8095,17 @@ expect calloutlist.001.expected - + - When transforming calloutlist.002 - scenario80 + scenario87 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming calloutlist.002 @@ -7569,16 +8115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/calloutlist.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1272e0"/> - + - + - expect calloutlist.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e269, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario80-expect1 + scenario87-expect1 @@ -7624,17 +8170,17 @@ expect calloutlist.002.expected - + - When transforming calloutlist.003 - scenario81 + scenario88 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming calloutlist.003 @@ -7644,16 +8190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/calloutlist.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1280e0"/> - + - + - expect calloutlist.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e272, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario81-expect1 + scenario88-expect1 @@ -7699,17 +8245,17 @@ expect calloutlist.003.expected - + - When transforming calloutlist.004 - scenario82 + scenario89 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming calloutlist.004 @@ -7719,16 +8265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/calloutlist.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1288e0"/> - + - + - expect calloutlist.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e276, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario82-expect1 + scenario89-expect1 @@ -7774,17 +8320,17 @@ expect calloutlist.004.expected - + - When transforming calloutlist.005 - scenario83 + scenario90 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming calloutlist.005 @@ -7794,16 +8340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/calloutlist.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1296e0"/> - + - + - expect calloutlist.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e279, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario83-expect1 + scenario90-expect1 @@ -7849,17 +8395,17 @@ expect calloutlist.005.expected - + - When transforming changebars.001 - scenario84 + scenario91 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming changebars.001 @@ -7869,16 +8415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/changebars.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1304e0"/> - + - + - expect changebars.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e282, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario84-expect1 + scenario91-expect1 @@ -7924,17 +8470,17 @@ expect changebars.001.expected - + - When transforming chapter.001 - scenario85 + scenario92 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming chapter.001 @@ -7944,16 +8490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/chapter.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1312e0"/> - + - + - expect chapter.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e285, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario85-expect1 + scenario92-expect1 @@ -7999,17 +8545,17 @@ expect chapter.001.expected - + - When transforming chapter.002 - scenario86 + scenario93 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming chapter.002 @@ -8019,16 +8565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/chapter.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1320e0"/> - + - + - expect chapter.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e288, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario86-expect1 + scenario93-expect1 @@ -8074,17 +8620,17 @@ expect chapter.002.expected - + - When transforming chapter.003 - scenario87 + scenario94 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming chapter.003 @@ -8094,16 +8640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/chapter.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1328e0"/> - + - + - expect chapter.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e291, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario87-expect1 + scenario94-expect1 @@ -8149,17 +8695,17 @@ expect chapter.003.expected - + - When transforming chapter.004 - scenario88 + scenario95 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming chapter.004 @@ -8169,16 +8715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/chapter.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1336e0"/> - + - + - expect chapter.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e294, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario88-expect1 + scenario95-expect1 @@ -8224,17 +8770,17 @@ expect chapter.004.expected - + - When transforming chapter.005 - scenario89 + scenario96 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming chapter.005 @@ -8244,16 +8790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/chapter.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1344e0"/> - + - + - expect chapter.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e297, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario89-expect1 + scenario96-expect1 @@ -8299,17 +8845,17 @@ expect chapter.005.expected - + - When transforming chapters-numbered-from - scenario90 + scenario97 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming chapters-numbered-from @@ -8319,16 +8865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/chapters-numbered-from.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1352e0"/> - + - + - expect chapters-numbered-from.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e300, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario90-expect1 + scenario97-expect1 @@ -8374,17 +8920,17 @@ expect chapters-numbered-from.expected - + - When transforming chunk.001 - scenario91 + scenario98 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming chunk.001 @@ -8394,16 +8940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/chunk.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1360e0"/> - + - + - expect chunk.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e303, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario91-expect1 + scenario98-expect1 @@ -8449,17 +8995,17 @@ expect chunk.001.expected - + - When transforming citebiblioid.001 - scenario92 + scenario99 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming citebiblioid.001 @@ -8469,16 +9015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/citebiblioid.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1368e0"/> - + - + - expect citebiblioid.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e306, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario92-expect1 + scenario99-expect1 @@ -8524,17 +9070,17 @@ expect citebiblioid.001.expected - + - When transforming classsynopsis.001 - scenario93 + scenario100 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming classsynopsis.001 @@ -8544,16 +9090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/classsynopsis.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1376e0"/> - + - + - expect classsynopsis.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e310, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario93-expect1 + scenario100-expect1 @@ -8599,17 +9145,17 @@ expect classsynopsis.001.expected - + - When transforming cmdsynopsis.001 - scenario94 + scenario101 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming cmdsynopsis.001 @@ -8619,16 +9165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/cmdsynopsis.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1384e0"/> - + - + - expect cmdsynopsis.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e313, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario94-expect1 + scenario101-expect1 @@ -8674,17 +9220,17 @@ expect cmdsynopsis.001.expected - + - When transforming cmdsynopsis.002 - scenario95 + scenario102 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming cmdsynopsis.002 @@ -8694,16 +9240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/cmdsynopsis.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1392e0"/> - + - + - expect cmdsynopsis.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e316, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario95-expect1 + scenario102-expect1 @@ -8749,17 +9295,17 @@ expect cmdsynopsis.002.expected - + - When transforming co.001 - scenario96 + scenario103 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming co.001 @@ -8769,16 +9315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/co.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1400e0"/> - + - + - expect co.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e319, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario96-expect1 + scenario103-expect1 @@ -8824,17 +9370,17 @@ expect co.001.expected - + - When transforming constant.001 - scenario97 + scenario104 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming constant.001 @@ -8844,16 +9390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/constant.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1408e0"/> - + - + - expect constant.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e322, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario97-expect1 + scenario104-expect1 @@ -8899,17 +9445,17 @@ expect constant.001.expected - + - When transforming database.001 - scenario98 + scenario105 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming database.001 @@ -8919,16 +9465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/database.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1416e0"/> - + - + - expect database.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e325, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario98-expect1 + scenario105-expect1 @@ -8974,17 +9520,17 @@ expect database.001.expected - + - When transforming dates.001 - scenario99 + scenario106 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming dates.001 @@ -8994,16 +9540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/dates.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1424e0"/> - + - + - expect dates.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e328, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario99-expect1 + scenario106-expect1 @@ -9049,17 +9595,17 @@ expect dates.001.expected - + - When transforming dateTime.001 - scenario100 + scenario107 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming dateTime.001 @@ -9069,16 +9615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/dateTime.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1432e0"/> - + - + - expect dateTime.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e331, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario100-expect1 + scenario107-expect1 @@ -9124,17 +9670,17 @@ expect dateTime.001.expected - + - When transforming db45.001 - scenario101 + scenario108 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming db45.001 @@ -9144,16 +9690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/db45.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1440e0"/> - + - + - expect db45.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e334, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario101-expect1 + scenario108-expect1 @@ -9199,17 +9745,17 @@ expect db45.001.expected - + - When transforming de_book - scenario102 + scenario109 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming de_book @@ -9219,16 +9765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/de_book.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1448e0"/> - + - + - expect de_book.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e337, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario102-expect1 + scenario109-expect1 @@ -9274,17 +9820,17 @@ expect de_book.expected - + - When transforming dir.001 - scenario103 + scenario110 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming dir.001 @@ -9294,16 +9840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/dir.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1456e0"/> - + - + - expect dir.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e340, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario103-expect1 + scenario110-expect1 @@ -9349,17 +9895,17 @@ expect dir.001.expected - + - When transforming drama.001 - scenario104 + scenario111 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming drama.001 @@ -9369,16 +9915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/drama.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1464e0"/> - + - + - expect drama.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e344, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario104-expect1 + scenario111-expect1 @@ -9424,17 +9970,17 @@ expect drama.001.expected - + - When transforming duck-small.001 - scenario105 + scenario112 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming duck-small.001 @@ -9444,16 +9990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/duck-small.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1472e0"/> - + - + - expect duck-small.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e347, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario105-expect1 + scenario112-expect1 @@ -9499,17 +10045,17 @@ expect duck-small.001.expected - + - When transforming duck-small.002 - scenario106 + scenario113 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming duck-small.002 @@ -9519,16 +10065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/duck-small.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1480e0"/> - + - + - expect duck-small.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e350, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario106-expect1 + scenario113-expect1 @@ -9574,17 +10120,17 @@ expect duck-small.002.expected - + - When transforming duck-small.003 - scenario107 + scenario114 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming duck-small.003 @@ -9594,16 +10140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/duck-small.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1488e0"/> - + - + - expect duck-small.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e353, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario107-expect1 + scenario114-expect1 @@ -9649,17 +10195,17 @@ expect duck-small.003.expected - + - When transforming duck-small.004 - scenario108 + scenario115 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming duck-small.004 @@ -9669,16 +10215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/duck-small.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1496e0"/> - + - + - expect duck-small.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e356, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario108-expect1 + scenario115-expect1 @@ -9724,17 +10270,17 @@ expect duck-small.004.expected - + - When transforming duck-small.005 - scenario109 + scenario116 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming duck-small.005 @@ -9744,16 +10290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/duck-small.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1504e0"/> - + - + - expect duck-small.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e359, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario109-expect1 + scenario116-expect1 @@ -9799,17 +10345,17 @@ expect duck-small.005.expected - + - When transforming duck-small.006 - scenario110 + scenario117 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming duck-small.006 @@ -9819,16 +10365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/duck-small.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1512e0"/> - + - + - expect duck-small.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e362, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario110-expect1 + scenario117-expect1 @@ -9874,17 +10420,17 @@ expect duck-small.006.expected - + - When transforming duck-small.007 - scenario111 + scenario118 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming duck-small.007 @@ -9894,16 +10440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/duck-small.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1520e0"/> - + - + - expect duck-small.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e365, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario111-expect1 + scenario118-expect1 @@ -9949,17 +10495,17 @@ expect duck-small.007.expected - + - When transforming dynprof.001 - scenario112 + scenario119 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming dynprof.001 @@ -9969,16 +10515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/dynprof.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1528e0"/> - + - + - expect dynprof.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e368, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario112-expect1 + scenario119-expect1 @@ -10024,17 +10570,17 @@ expect dynprof.001.expected - + - When transforming emphasis.001 - scenario113 + scenario120 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming emphasis.001 @@ -10044,16 +10590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/emphasis.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1536e0"/> - + - + - expect emphasis.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e371, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario113-expect1 + scenario120-expect1 @@ -10099,17 +10645,17 @@ expect emphasis.001.expected - + - When transforming emptytitle.001 - scenario114 + scenario121 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming emptytitle.001 @@ -10119,16 +10665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/emptytitle.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1544e0"/> - + - + - expect emptytitle.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e374, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario114-expect1 + scenario121-expect1 @@ -10174,17 +10720,17 @@ expect emptytitle.001.expected - + - When transforming en_caution.001 - scenario115 + scenario122 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_caution.001 @@ -10194,16 +10740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_caution.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1552e0"/> - + - + - expect en_caution.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e378, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario115-expect1 + scenario122-expect1 @@ -10249,17 +10795,17 @@ expect en_caution.001.expected - + - When transforming en_caution.002 - scenario116 + scenario123 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_caution.002 @@ -10269,16 +10815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_caution.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1560e0"/> - + - + - expect en_caution.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e381, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario116-expect1 + scenario123-expect1 @@ -10324,17 +10870,17 @@ expect en_caution.002.expected - + - When transforming en_danger.001 - scenario117 + scenario124 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_danger.001 @@ -10344,16 +10890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_danger.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1568e0"/> - + - + - expect en_danger.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e384, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario117-expect1 + scenario124-expect1 @@ -10399,17 +10945,17 @@ expect en_danger.001.expected - + - When transforming en_danger.002 - scenario118 + scenario125 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_danger.002 @@ -10419,16 +10965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_danger.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1576e0"/> - + - + - expect en_danger.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e387, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario118-expect1 + scenario125-expect1 @@ -10474,17 +11020,17 @@ expect en_danger.002.expected - + - When transforming en_important.001 - scenario119 + scenario126 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_important.001 @@ -10494,16 +11040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_important.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1584e0"/> - + - + - expect en_important.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e390, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario119-expect1 + scenario126-expect1 @@ -10549,17 +11095,17 @@ expect en_important.001.expected - + - When transforming en_important.002 - scenario120 + scenario127 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_important.002 @@ -10569,16 +11115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_important.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1592e0"/> - + - + - expect en_important.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e393, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario120-expect1 + scenario127-expect1 @@ -10624,17 +11170,17 @@ expect en_important.002.expected - + - When transforming en_note.001 - scenario121 + scenario128 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_note.001 @@ -10644,16 +11190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_note.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1600e0"/> - + - + - expect en_note.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e396, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario121-expect1 + scenario128-expect1 @@ -10699,17 +11245,17 @@ expect en_note.001.expected - + - When transforming en_note.002 - scenario122 + scenario129 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_note.002 @@ -10719,16 +11265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_note.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1608e0"/> - + - + - expect en_note.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e399, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario122-expect1 + scenario129-expect1 @@ -10774,17 +11320,17 @@ expect en_note.002.expected - + - When transforming en_note.003 - scenario123 + scenario130 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_note.003 @@ -10794,16 +11340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_note.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1616e0"/> - + - + - expect en_note.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e402, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario123-expect1 + scenario130-expect1 @@ -10849,17 +11395,17 @@ expect en_note.003.expected - + - When transforming en_tip.001 - scenario124 + scenario131 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_tip.001 @@ -10869,16 +11415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_tip.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1624e0"/> - + - + - expect en_tip.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e405, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario124-expect1 + scenario131-expect1 @@ -10924,17 +11470,17 @@ expect en_tip.001.expected - + - When transforming en_tip.002 - scenario125 + scenario132 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_tip.002 @@ -10944,16 +11490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_tip.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1632e0"/> - + - + - expect en_tip.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e408, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario125-expect1 + scenario132-expect1 @@ -10999,17 +11545,17 @@ expect en_tip.002.expected - + - When transforming en_warning.001 - scenario126 + scenario133 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_warning.001 @@ -11019,16 +11565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_warning.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1640e0"/> - + - + - expect en_warning.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e412, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario126-expect1 + scenario133-expect1 @@ -11074,17 +11620,17 @@ expect en_warning.001.expected - + - When transforming en_warning.002 - scenario127 + scenario134 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming en_warning.002 @@ -11094,16 +11640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/en_warning.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1648e0"/> - + - + - expect en_warning.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e415, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario127-expect1 + scenario134-expect1 @@ -11149,17 +11695,17 @@ expect en_warning.002.expected - + - When transforming entityref.001 - scenario128 + scenario135 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming entityref.001 @@ -11169,16 +11715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/entityref.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1656e0"/> - + - + - expect entityref.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e418, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario128-expect1 + scenario135-expect1 @@ -11224,17 +11770,17 @@ expect entityref.001.expected - + - When transforming enumsynopsis.001 - scenario129 + scenario136 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming enumsynopsis.001 @@ -11244,16 +11790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/enumsynopsis.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1664e0"/> - + - + - expect enumsynopsis.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e421, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario129-expect1 + scenario136-expect1 @@ -11299,17 +11845,17 @@ expect enumsynopsis.001.expected - + - When transforming epigraph.001 - scenario130 + scenario137 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming epigraph.001 @@ -11319,16 +11865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/epigraph.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1672e0"/> - + - + - expect epigraph.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e424, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario130-expect1 + scenario137-expect1 @@ -11374,17 +11920,17 @@ expect epigraph.001.expected - + - When transforming equation.001 - scenario131 + scenario138 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming equation.001 @@ -11394,16 +11940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/equation.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1680e0"/> - + - + - expect equation.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e427, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario131-expect1 + scenario138-expect1 @@ -11449,17 +11995,17 @@ expect equation.001.expected - + - When transforming equation.002 - scenario132 + scenario139 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming equation.002 @@ -11469,16 +12015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/equation.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1688e0"/> - + - + - expect equation.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e430, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario132-expect1 + scenario139-expect1 @@ -11524,17 +12070,17 @@ expect equation.002.expected - + - When transforming equation.003 - scenario133 + scenario140 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming equation.003 @@ -11544,16 +12090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/equation.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1696e0"/> - + - + - expect equation.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e433, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario133-expect1 + scenario140-expect1 @@ -11599,17 +12145,17 @@ expect equation.003.expected - + - When transforming equation.004 - scenario134 + scenario141 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming equation.004 @@ -11619,16 +12165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/equation.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1704e0"/> - + - + - expect equation.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e436, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario134-expect1 + scenario141-expect1 @@ -11674,17 +12220,17 @@ expect equation.004.expected - + - When transforming example.001 - scenario135 + scenario142 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming example.001 @@ -11694,16 +12240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/example.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1712e0"/> - + - + - expect example.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e439, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario135-expect1 + scenario142-expect1 @@ -11749,17 +12295,17 @@ expect example.001.expected - + - When transforming figure.001 - scenario136 + scenario143 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming figure.001 @@ -11769,16 +12315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/figure.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1720e0"/> - + - + - expect figure.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e442, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario136-expect1 + scenario143-expect1 @@ -11824,17 +12370,17 @@ expect figure.001.expected - + - When transforming figure.002 - scenario137 + scenario144 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming figure.002 @@ -11844,16 +12390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/figure.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1728e0"/> - + - + - expect figure.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e446, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario137-expect1 + scenario144-expect1 @@ -11899,17 +12445,17 @@ expect figure.002.expected - + - When transforming figure.003 - scenario138 + scenario145 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming figure.003 @@ -11919,16 +12465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/figure.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1736e0"/> - + - + - expect figure.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e449, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario138-expect1 + scenario145-expect1 @@ -11974,17 +12520,17 @@ expect figure.003.expected - + - When transforming figure.004 - scenario139 + scenario146 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming figure.004 @@ -11994,16 +12540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/figure.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1744e0"/> - + - + - expect figure.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e452, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario139-expect1 + scenario146-expect1 @@ -12049,17 +12595,17 @@ expect figure.004.expected - + - When transforming figure.005 - scenario140 + scenario147 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming figure.005 @@ -12069,16 +12615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/figure.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1752e0"/> - + - + - expect figure.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e455, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario140-expect1 + scenario147-expect1 @@ -12124,17 +12670,17 @@ expect figure.005.expected - + - When transforming figure.006 - scenario141 + scenario148 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming figure.006 @@ -12144,16 +12690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/figure.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1760e0"/> - + - + - expect figure.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e458, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario141-expect1 + scenario148-expect1 @@ -12199,17 +12745,17 @@ expect figure.006.expected - + - When transforming figures-numbered-from - scenario142 + scenario149 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming figures-numbered-from @@ -12219,16 +12765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/figures-numbered-from.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1768e0"/> - + - + - expect figures-numbered-from.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e461, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario142-expect1 + scenario149-expect1 @@ -12274,17 +12820,17 @@ expect figures-numbered-from.expected - + - When transforming filename.001 - scenario143 + scenario150 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming filename.001 @@ -12294,16 +12840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/filename.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1776e0"/> - + - + - expect filename.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e464, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario143-expect1 + scenario150-expect1 @@ -12349,17 +12895,17 @@ expect filename.001.expected - + - When transforming footnote.001 - scenario144 + scenario151 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming footnote.001 @@ -12369,16 +12915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/footnote.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1784e0"/> - + - + - expect footnote.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e467, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario144-expect1 + scenario151-expect1 @@ -12424,17 +12970,17 @@ expect footnote.001.expected - + - When transforming footnote.002 - scenario145 + scenario152 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming footnote.002 @@ -12444,16 +12990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/footnote.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1792e0"/> - + - + - expect footnote.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e470, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario145-expect1 + scenario152-expect1 @@ -12499,17 +13045,17 @@ expect footnote.002.expected - + - When transforming footnote.003 - scenario146 + scenario153 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming footnote.003 @@ -12519,16 +13065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/footnote.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1800e0"/> - + - + - expect footnote.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e473, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario146-expect1 + scenario153-expect1 @@ -12574,17 +13120,17 @@ expect footnote.003.expected - + - When transforming footnote.004 - scenario147 + scenario154 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming footnote.004 @@ -12594,16 +13140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/footnote.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1808e0"/> - + - + - expect footnote.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e476, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario147-expect1 + scenario154-expect1 @@ -12649,17 +13195,17 @@ expect footnote.004.expected - + - When transforming footnote.005 - scenario148 + scenario155 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming footnote.005 @@ -12669,16 +13215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/footnote.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1816e0"/> - + - + - expect footnote.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e480, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario148-expect1 + scenario155-expect1 @@ -12724,17 +13270,17 @@ expect footnote.005.expected - + - When transforming formal-objects-numbered-from - scenario149 + scenario156 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formal-objects-numbered-from @@ -12744,16 +13290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formal-objects-numbered-from.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1824e0"/> - + - + - expect formal-objects-numbered-from.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e483, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario149-expect1 + scenario156-expect1 @@ -12799,17 +13345,17 @@ expect formal-objects-numbered-from.expected - + - When transforming formalgroup.001 - scenario150 + scenario157 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formalgroup.001 @@ -12819,16 +13365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formalgroup.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1832e0"/> - + - + - expect formalgroup.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e486, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario150-expect1 + scenario157-expect1 @@ -12874,17 +13420,17 @@ expect formalgroup.001.expected - + - When transforming formalgroup.002 - scenario151 + scenario158 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formalgroup.002 @@ -12894,16 +13440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formalgroup.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1840e0"/> - + - + - expect formalgroup.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e489, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario151-expect1 + scenario158-expect1 @@ -12949,17 +13495,17 @@ expect formalgroup.002.expected - + - When transforming formalgroup.003 - scenario152 + scenario159 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formalgroup.003 @@ -12969,16 +13515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formalgroup.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1848e0"/> - + - + - expect formalgroup.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e492, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario152-expect1 + scenario159-expect1 @@ -13024,17 +13570,17 @@ expect formalgroup.003.expected - + - When transforming formalgroup.004 - scenario153 + scenario160 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formalgroup.004 @@ -13044,16 +13590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formalgroup.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1856e0"/> - + - + - expect formalgroup.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e495, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario153-expect1 + scenario160-expect1 @@ -13099,17 +13645,17 @@ expect formalgroup.004.expected - + - When transforming formalgroup.005 - scenario154 + scenario161 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formalgroup.005 @@ -13119,16 +13665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formalgroup.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1864e0"/> - + - + - expect formalgroup.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e498, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario154-expect1 + scenario161-expect1 @@ -13174,17 +13720,17 @@ expect formalgroup.005.expected - + - When transforming formalpara.001 - scenario155 + scenario162 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formalpara.001 @@ -13194,16 +13740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formalpara.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1872e0"/> - + - + - expect formalpara.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e501, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario155-expect1 + scenario162-expect1 @@ -13249,17 +13795,17 @@ expect formalpara.001.expected - + - When transforming formalpara.002 - scenario156 + scenario163 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming formalpara.002 @@ -13269,16 +13815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/formalpara.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1880e0"/> - + - + - expect formalpara.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e504, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario156-expect1 + scenario163-expect1 @@ -13324,17 +13870,17 @@ expect formalpara.002.expected - + - When transforming fr_caution.001 - scenario157 + scenario164 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_caution.001 @@ -13344,16 +13890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_caution.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1888e0"/> - + - + - expect fr_caution.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e507, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario157-expect1 + scenario164-expect1 @@ -13399,17 +13945,17 @@ expect fr_caution.001.expected - + - When transforming fr_caution.002 - scenario158 + scenario165 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_caution.002 @@ -13419,16 +13965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_caution.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1896e0"/> - + - + - expect fr_caution.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e510, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario158-expect1 + scenario165-expect1 @@ -13474,17 +14020,17 @@ expect fr_caution.002.expected - + - When transforming fr_danger.001 - scenario159 + scenario166 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_danger.001 @@ -13494,16 +14040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_danger.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1904e0"/> - + - + - expect fr_danger.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e514, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario159-expect1 + scenario166-expect1 @@ -13549,17 +14095,17 @@ expect fr_danger.001.expected - + - When transforming fr_danger.002 - scenario160 + scenario167 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_danger.002 @@ -13569,16 +14115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_danger.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1912e0"/> - + - + - expect fr_danger.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e517, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario160-expect1 + scenario167-expect1 @@ -13624,17 +14170,17 @@ expect fr_danger.002.expected - + - When transforming fr_important.001 - scenario161 + scenario168 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_important.001 @@ -13644,16 +14190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_important.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1920e0"/> - + - + - expect fr_important.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e520, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario161-expect1 + scenario168-expect1 @@ -13699,17 +14245,17 @@ expect fr_important.001.expected - + - When transforming fr_important.002 - scenario162 + scenario169 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_important.002 @@ -13719,16 +14265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_important.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1928e0"/> - + - + - expect fr_important.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e523, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario162-expect1 + scenario169-expect1 @@ -13774,17 +14320,17 @@ expect fr_important.002.expected - + - When transforming fr_note.001 - scenario163 + scenario170 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_note.001 @@ -13794,16 +14340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_note.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1936e0"/> - + - + - expect fr_note.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e526, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario163-expect1 + scenario170-expect1 @@ -13849,17 +14395,17 @@ expect fr_note.001.expected - + - When transforming fr_note.002 - scenario164 + scenario171 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_note.002 @@ -13869,16 +14415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_note.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1944e0"/> - + - + - expect fr_note.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e529, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario164-expect1 + scenario171-expect1 @@ -13924,17 +14470,17 @@ expect fr_note.002.expected - + - When transforming fr_note.003 - scenario165 + scenario172 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_note.003 @@ -13944,16 +14490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_note.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1952e0"/> - + - + - expect fr_note.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e532, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario165-expect1 + scenario172-expect1 @@ -13999,17 +14545,17 @@ expect fr_note.003.expected - + - When transforming fr_tip.001 - scenario166 + scenario173 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_tip.001 @@ -14019,16 +14565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_tip.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1960e0"/> - + - + - expect fr_tip.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e535, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario166-expect1 + scenario173-expect1 @@ -14074,17 +14620,17 @@ expect fr_tip.001.expected - + - When transforming fr_tip.002 - scenario167 + scenario174 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_tip.002 @@ -14094,16 +14640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_tip.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1968e0"/> - + - + - expect fr_tip.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e538, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario167-expect1 + scenario174-expect1 @@ -14149,17 +14695,17 @@ expect fr_tip.002.expected - + - When transforming fr_warning.001 - scenario168 + scenario175 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_warning.001 @@ -14169,16 +14715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_warning.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1976e0"/> - + - + - expect fr_warning.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e541, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario168-expect1 + scenario175-expect1 @@ -14224,17 +14770,17 @@ expect fr_warning.001.expected - + - When transforming fr_warning.002 - scenario169 + scenario176 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming fr_warning.002 @@ -14244,16 +14790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/fr_warning.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1984e0"/> - + - + - expect fr_warning.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e544, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario169-expect1 + scenario176-expect1 @@ -14299,17 +14845,17 @@ expect fr_warning.002.expected - + - When transforming funcsynopsis.001 - scenario170 + scenario177 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming funcsynopsis.001 @@ -14319,16 +14865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/funcsynopsis.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d1992e0"/> - + - + - expect funcsynopsis.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e548, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario170-expect1 + scenario177-expect1 @@ -14374,17 +14920,17 @@ expect funcsynopsis.001.expected - + - When transforming glossary.007 - scenario171 + scenario178 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming glossary.007 @@ -14394,16 +14940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/glossary.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2000e0"/> - + - + - expect glossary.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e551, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario171-expect1 + scenario178-expect1 @@ -14449,17 +14995,17 @@ expect glossary.007.expected - + - When transforming glossary.008 - scenario172 + scenario179 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming glossary.008 @@ -14469,16 +15015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/glossary.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2008e0"/> - + - + - expect glossary.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e554, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario172-expect1 + scenario179-expect1 @@ -14524,17 +15070,17 @@ expect glossary.008.expected - + - When transforming glossary.009 - scenario173 + scenario180 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming glossary.009 @@ -14544,16 +15090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/glossary.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2016e0"/> - + - + - expect glossary.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e557, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario173-expect1 + scenario180-expect1 @@ -14599,17 +15145,17 @@ expect glossary.009.expected - + - When transforming glosslist.001 - scenario174 + scenario181 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming glosslist.001 @@ -14619,16 +15165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/glosslist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2024e0"/> - + - + - expect glosslist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e560, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario174-expect1 + scenario181-expect1 @@ -14674,17 +15220,17 @@ expect glosslist.001.expected - + - When transforming guiicon.001 - scenario175 + scenario182 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming guiicon.001 @@ -14694,16 +15240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/guiicon.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2032e0"/> - + - + - expect guiicon.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e563, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario175-expect1 + scenario182-expect1 @@ -14749,17 +15295,17 @@ expect guiicon.001.expected - + - When transforming hen_v - scenario176 + scenario183 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming hen_v @@ -14769,16 +15315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/hen_v.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2040e0"/> - + - + - expect hen_v.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e566, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario176-expect1 + scenario183-expect1 @@ -14824,17 +15370,17 @@ expect hen_v.expected - + - When transforming imageobjectco.001 - scenario177 + scenario184 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming imageobjectco.001 @@ -14844,16 +15390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/imageobjectco.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2048e0"/> - + - + - expect imageobjectco.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e569, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario177-expect1 + scenario184-expect1 @@ -14899,17 +15445,17 @@ expect imageobjectco.001.expected - + - When transforming index.001 - scenario178 + scenario185 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming index.001 @@ -14919,16 +15465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/index.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2056e0"/> - + - + - expect index.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e572, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario178-expect1 + scenario185-expect1 @@ -14974,17 +15520,17 @@ expect index.001.expected - + - When transforming index.002 - scenario179 + scenario186 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming index.002 @@ -14994,16 +15540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/index.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2064e0"/> - + - + - expect index.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e575, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario179-expect1 + scenario186-expect1 @@ -15049,17 +15595,17 @@ expect index.002.expected - + - When transforming index.003 - scenario180 + scenario187 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming index.003 @@ -15069,16 +15615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/index.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2072e0"/> - + - + - expect index.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e578, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario180-expect1 + scenario187-expect1 @@ -15124,17 +15670,17 @@ expect index.003.expected - + - When transforming indexterm.001 - scenario181 + scenario188 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming indexterm.001 @@ -15144,16 +15690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/indexterm.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2080e0"/> - + - + - expect indexterm.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e582, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario181-expect1 + scenario188-expect1 @@ -15199,17 +15745,17 @@ expect indexterm.001.expected - + - When transforming indexterm.002 - scenario182 + scenario189 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming indexterm.002 @@ -15219,16 +15765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/indexterm.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2088e0"/> - + - + - expect indexterm.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e585, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario182-expect1 + scenario189-expect1 @@ -15274,17 +15820,17 @@ expect indexterm.002.expected - + - When transforming indexterm.003 - scenario183 + scenario190 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming indexterm.003 @@ -15294,16 +15840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/indexterm.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2096e0"/> - + - + - expect indexterm.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e588, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario183-expect1 + scenario190-expect1 @@ -15349,17 +15895,17 @@ expect indexterm.003.expected - + - When transforming indexterm.004 - scenario184 + scenario191 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming indexterm.004 @@ -15369,16 +15915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/indexterm.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2104e0"/> - + - + - expect indexterm.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e591, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario184-expect1 + scenario191-expect1 @@ -15424,17 +15970,17 @@ expect indexterm.004.expected - + - When transforming indexterm.005 - scenario185 + scenario192 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming indexterm.005 @@ -15444,16 +15990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/indexterm.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2112e0"/> - + - + - expect indexterm.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e594, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario185-expect1 + scenario192-expect1 @@ -15499,17 +16045,17 @@ expect indexterm.005.expected - + - When transforming indexterm.006 - scenario186 + scenario193 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming indexterm.006 @@ -15519,16 +16065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/indexterm.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2120e0"/> - + - + - expect indexterm.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e597, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario186-expect1 + scenario193-expect1 @@ -15574,17 +16120,17 @@ expect indexterm.006.expected - + - When transforming info.001 - scenario187 + scenario194 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming info.001 @@ -15594,16 +16140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/info.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2128e0"/> - + - + - expect info.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e600, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario187-expect1 + scenario194-expect1 @@ -15649,17 +16195,17 @@ expect info.001.expected - + - When transforming informalequation.001 - scenario188 + scenario195 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming informalequation.001 @@ -15669,16 +16215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/informalequation.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2136e0"/> - + - + - expect informalequation.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e603, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario188-expect1 + scenario195-expect1 @@ -15724,17 +16270,17 @@ expect informalequation.001.expected - + - When transforming informalexample.001 - scenario189 + scenario196 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming informalexample.001 @@ -15744,16 +16290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/informalexample.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2144e0"/> - + - + - expect informalexample.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e606, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario189-expect1 + scenario196-expect1 @@ -15799,17 +16345,17 @@ expect informalexample.001.expected - + - When transforming informalfigure.001 - scenario190 + scenario197 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming informalfigure.001 @@ -15819,16 +16365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/informalfigure.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2152e0"/> - + - + - expect informalfigure.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e609, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario190-expect1 + scenario197-expect1 @@ -15874,17 +16420,17 @@ expect informalfigure.001.expected - + - When transforming inlines.001 - scenario191 + scenario198 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming inlines.001 @@ -15894,16 +16440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/inlines.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2160e0"/> - + - + - expect inlines.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e612, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario191-expect1 + scenario198-expect1 @@ -15949,17 +16495,17 @@ expect inlines.001.expected - + - When transforming inlines.002 - scenario192 + scenario199 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming inlines.002 @@ -15969,16 +16515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/inlines.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2168e0"/> - + - + - expect inlines.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e616, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario192-expect1 + scenario199-expect1 @@ -16024,17 +16570,17 @@ expect inlines.002.expected - + - When transforming iso690.001 - scenario193 + scenario200 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.001 @@ -16044,16 +16590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2176e0"/> - + - + - expect iso690.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e619, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario193-expect1 + scenario200-expect1 @@ -16099,17 +16645,17 @@ expect iso690.001.expected - + - When transforming iso690.002 - scenario194 + scenario201 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.002 @@ -16119,16 +16665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2184e0"/> - + - + - expect iso690.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e622, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario194-expect1 + scenario201-expect1 @@ -16174,17 +16720,17 @@ expect iso690.002.expected - + - When transforming iso690.003 - scenario195 + scenario202 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.003 @@ -16194,16 +16740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2192e0"/> - + - + - expect iso690.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e625, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario195-expect1 + scenario202-expect1 @@ -16249,17 +16795,17 @@ expect iso690.003.expected - + - When transforming iso690.004 - scenario196 + scenario203 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.004 @@ -16269,16 +16815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2200e0"/> - + - + - expect iso690.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e628, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario196-expect1 + scenario203-expect1 @@ -16324,17 +16870,17 @@ expect iso690.004.expected - + - When transforming iso690.005 - scenario197 + scenario204 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.005 @@ -16344,16 +16890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2208e0"/> - + - + - expect iso690.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e631, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario197-expect1 + scenario204-expect1 @@ -16399,17 +16945,17 @@ expect iso690.005.expected - + - When transforming iso690.006 - scenario198 + scenario205 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.006 @@ -16419,16 +16965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2216e0"/> - + - + - expect iso690.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e634, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario198-expect1 + scenario205-expect1 @@ -16474,17 +17020,17 @@ expect iso690.006.expected - + - When transforming iso690.007 - scenario199 + scenario206 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.007 @@ -16494,16 +17040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2224e0"/> - + - + - expect iso690.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e637, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario199-expect1 + scenario206-expect1 @@ -16549,17 +17095,17 @@ expect iso690.007.expected - + - When transforming iso690.008 - scenario200 + scenario207 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.008 @@ -16569,16 +17115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2232e0"/> - + - + - expect iso690.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e640, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario200-expect1 + scenario207-expect1 @@ -16624,17 +17170,17 @@ expect iso690.008.expected - + - When transforming iso690.009 - scenario201 + scenario208 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.009 @@ -16644,16 +17190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2240e0"/> - + - + - expect iso690.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e643, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario201-expect1 + scenario208-expect1 @@ -16699,17 +17245,17 @@ expect iso690.009.expected - + - When transforming iso690.010 - scenario202 + scenario209 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.010 @@ -16719,16 +17265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2248e0"/> - + - + - expect iso690.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e646, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario202-expect1 + scenario209-expect1 @@ -16774,17 +17320,17 @@ expect iso690.010.expected - + - When transforming iso690.011 - scenario203 + scenario210 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.011 @@ -16794,16 +17340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2256e0"/> - + - + - expect iso690.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e650, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario203-expect1 + scenario210-expect1 @@ -16849,17 +17395,17 @@ expect iso690.011.expected - + - When transforming iso690.012 - scenario204 + scenario211 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.012 @@ -16869,16 +17415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2264e0"/> - + - + - expect iso690.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e653, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario204-expect1 + scenario211-expect1 @@ -16924,17 +17470,17 @@ expect iso690.012.expected - + - When transforming iso690.013 - scenario205 + scenario212 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming iso690.013 @@ -16944,16 +17490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/iso690.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2272e0"/> - + - + - expect iso690.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e656, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario205-expect1 + scenario212-expect1 @@ -16999,17 +17545,17 @@ expect iso690.013.expected - + - When transforming itemizedlist.001 - scenario206 + scenario213 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.001 @@ -17019,16 +17565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2280e0"/> - + - + - expect itemizedlist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e659, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario206-expect1 + scenario213-expect1 @@ -17074,17 +17620,17 @@ expect itemizedlist.001.expected - + - When transforming itemizedlist.002 - scenario207 + scenario214 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.002 @@ -17094,16 +17640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2288e0"/> - + - + - expect itemizedlist.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e662, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario207-expect1 + scenario214-expect1 @@ -17149,17 +17695,17 @@ expect itemizedlist.002.expected - + - When transforming itemizedlist.003 - scenario208 + scenario215 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.003 @@ -17169,16 +17715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2296e0"/> - + - + - expect itemizedlist.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e665, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario208-expect1 + scenario215-expect1 @@ -17224,17 +17770,17 @@ expect itemizedlist.003.expected - + - When transforming itemizedlist.004 - scenario209 + scenario216 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.004 @@ -17244,16 +17790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2304e0"/> - + - + - expect itemizedlist.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e668, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario209-expect1 + scenario216-expect1 @@ -17299,17 +17845,17 @@ expect itemizedlist.004.expected - + - When transforming itemizedlist.005 - scenario210 + scenario217 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.005 @@ -17319,16 +17865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2312e0"/> - + - + - expect itemizedlist.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e671, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario210-expect1 + scenario217-expect1 @@ -17374,17 +17920,17 @@ expect itemizedlist.005.expected - + - When transforming itemizedlist.006 - scenario211 + scenario218 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.006 @@ -17394,16 +17940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2320e0"/> - + - + - expect itemizedlist.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e674, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario211-expect1 + scenario218-expect1 @@ -17449,17 +17995,17 @@ expect itemizedlist.006.expected - + - When transforming itemizedlist.007 - scenario212 + scenario219 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.007 @@ -17469,16 +18015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2328e0"/> - + - + - expect itemizedlist.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e677, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario212-expect1 + scenario219-expect1 @@ -17524,17 +18070,17 @@ expect itemizedlist.007.expected - + - When transforming itemizedlist.008 - scenario213 + scenario220 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.008 @@ -17544,16 +18090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2336e0"/> - + - + - expect itemizedlist.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e680, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario213-expect1 + scenario220-expect1 @@ -17599,17 +18145,17 @@ expect itemizedlist.008.expected - + - When transforming itemizedlist.009 - scenario214 + scenario221 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.009 @@ -17619,16 +18165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2344e0"/> - + - + - expect itemizedlist.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e684, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario214-expect1 + scenario221-expect1 @@ -17674,17 +18220,17 @@ expect itemizedlist.009.expected - + - When transforming itemizedlist.010 - scenario215 + scenario222 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.010 @@ -17694,16 +18240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2352e0"/> - + - + - expect itemizedlist.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e687, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario215-expect1 + scenario222-expect1 @@ -17749,17 +18295,17 @@ expect itemizedlist.010.expected - + - When transforming itemizedlist.011 - scenario216 + scenario223 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.011 @@ -17769,16 +18315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2360e0"/> - + - + - expect itemizedlist.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e690, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario216-expect1 + scenario223-expect1 @@ -17824,17 +18370,17 @@ expect itemizedlist.011.expected - + - When transforming itemizedlist.012 - scenario217 + scenario224 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming itemizedlist.012 @@ -17844,16 +18390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/itemizedlist.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2368e0"/> - + - + - expect itemizedlist.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e693, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario217-expect1 + scenario224-expect1 @@ -17899,17 +18445,17 @@ expect itemizedlist.012.expected - + - When transforming JFK_Inaugural - scenario218 + scenario225 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming JFK_Inaugural @@ -17919,16 +18465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/JFK_Inaugural.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2376e0"/> - + - + - expect JFK_Inaugural.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e696, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario218-expect1 + scenario225-expect1 @@ -17974,17 +18520,17 @@ expect JFK_Inaugural.expected - + - When transforming keycap.001 - scenario219 + scenario226 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming keycap.001 @@ -17994,16 +18540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/keycap.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2384e0"/> - + - + - expect keycap.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e699, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario219-expect1 + scenario226-expect1 @@ -18049,17 +18595,17 @@ expect keycap.001.expected - + - When transforming keywordset.001 - scenario220 + scenario227 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming keywordset.001 @@ -18069,16 +18615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/keywordset.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2392e0"/> - + - + - expect keywordset.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e702, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario220-expect1 + scenario227-expect1 @@ -18124,17 +18670,17 @@ expect keywordset.001.expected - + - When transforming l10n.001 - scenario221 + scenario228 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming l10n.001 @@ -18144,16 +18690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/l10n.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2400e0"/> - + - + - expect l10n.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e705, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario221-expect1 + scenario228-expect1 @@ -18199,17 +18745,17 @@ expect l10n.001.expected - + - When transforming l10n.002 - scenario222 + scenario229 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming l10n.002 @@ -18219,16 +18765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/l10n.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2408e0"/> - + - + - expect l10n.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e708, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario222-expect1 + scenario229-expect1 @@ -18274,17 +18820,17 @@ expect l10n.002.expected - + - When transforming l10n.003 - scenario223 + scenario230 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming l10n.003 @@ -18294,16 +18840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/l10n.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2416e0"/> - + - + - expect l10n.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e711, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario223-expect1 + scenario230-expect1 @@ -18349,17 +18895,17 @@ expect l10n.003.expected - + - When transforming legalnotice.001 - scenario224 + scenario231 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming legalnotice.001 @@ -18369,16 +18915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/legalnotice.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2424e0"/> - + - + - expect legalnotice.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e714, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario224-expect1 + scenario231-expect1 @@ -18424,17 +18970,17 @@ expect legalnotice.001.expected - + - When transforming lineannotation.001 - scenario225 + scenario232 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming lineannotation.001 @@ -18444,16 +18990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/lineannotation.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2432e0"/> - + - + - expect lineannotation.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e718, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario225-expect1 + scenario232-expect1 @@ -18499,17 +19045,17 @@ expect lineannotation.001.expected - + - When transforming link.001 - scenario226 + scenario233 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming link.001 @@ -18519,16 +19065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/link.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2440e0"/> - + - + - expect link.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e721, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario226-expect1 + scenario233-expect1 @@ -18574,17 +19120,17 @@ expect link.001.expected - + - When transforming link.002 - scenario227 + scenario234 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming link.002 @@ -18594,16 +19140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/link.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2448e0"/> - + - + - expect link.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e724, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario227-expect1 + scenario234-expect1 @@ -18649,17 +19195,17 @@ expect link.002.expected - + - When transforming link.003 - scenario228 + scenario235 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming link.003 @@ -18669,16 +19215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/link.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2456e0"/> - + - + - expect link.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e727, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario228-expect1 + scenario235-expect1 @@ -18724,17 +19270,17 @@ expect link.003.expected - + - When transforming link.004 - scenario229 + scenario236 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming link.004 @@ -18744,16 +19290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/link.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2464e0"/> - + - + - expect link.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e730, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario229-expect1 + scenario236-expect1 @@ -18799,17 +19345,17 @@ expect link.004.expected - + - When transforming literallayout.001 - scenario230 + scenario237 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming literallayout.001 @@ -18819,16 +19365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/literallayout.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2472e0"/> - + - + - expect literallayout.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e733, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario230-expect1 + scenario237-expect1 @@ -18874,17 +19420,17 @@ expect literallayout.001.expected - + - When transforming literallayout.002 - scenario231 + scenario238 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming literallayout.002 @@ -18894,16 +19440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/literallayout.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2480e0"/> - + - + - expect literallayout.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e736, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario231-expect1 + scenario238-expect1 @@ -18949,17 +19495,17 @@ expect literallayout.002.expected - + - When transforming literallayout.003 - scenario232 + scenario239 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming literallayout.003 @@ -18969,16 +19515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/literallayout.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2488e0"/> - + - + - expect literallayout.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e739, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario232-expect1 + scenario239-expect1 @@ -19024,17 +19570,17 @@ expect literallayout.003.expected - + - When transforming literallayout.004 - scenario233 + scenario240 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming literallayout.004 @@ -19044,16 +19590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/literallayout.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2496e0"/> - + - + - expect literallayout.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e742, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario233-expect1 + scenario240-expect1 @@ -19099,17 +19645,17 @@ expect literallayout.004.expected - + - When transforming literallayout.005 - scenario234 + scenario241 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming literallayout.005 @@ -19119,16 +19665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/literallayout.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2504e0"/> - + - + - expect literallayout.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e745, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario234-expect1 + scenario241-expect1 @@ -19174,17 +19720,17 @@ expect literallayout.005.expected - + - When transforming mediaobject.001 - scenario235 + scenario242 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming mediaobject.001 @@ -19194,16 +19740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/mediaobject.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2512e0"/> - + - + - expect mediaobject.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e748, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario235-expect1 + scenario242-expect1 @@ -19249,17 +19795,17 @@ expect mediaobject.001.expected - + - When transforming mediaobject.002 - scenario236 + scenario243 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming mediaobject.002 @@ -19269,16 +19815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/mediaobject.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2520e0"/> - + - + - expect mediaobject.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e752, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario236-expect1 + scenario243-expect1 @@ -19324,17 +19870,17 @@ expect mediaobject.002.expected - + - When transforming mediaobject.003 - scenario237 + scenario244 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming mediaobject.003 @@ -19344,16 +19890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/mediaobject.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2528e0"/> - + - + - expect mediaobject.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e755, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario237-expect1 + scenario244-expect1 @@ -19399,17 +19945,17 @@ expect mediaobject.003.expected - + - When transforming mediaobject.004 - scenario238 + scenario245 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming mediaobject.004 @@ -19419,16 +19965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/mediaobject.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2536e0"/> - + - + - expect mediaobject.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e758, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario238-expect1 + scenario245-expect1 @@ -19474,17 +20020,17 @@ expect mediaobject.004.expected - + - When transforming mediaobject.006 - scenario239 + scenario246 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming mediaobject.006 @@ -19494,16 +20040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/mediaobject.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2544e0"/> - + - + - expect mediaobject.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e761, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario239-expect1 + scenario246-expect1 @@ -19549,17 +20095,17 @@ expect mediaobject.006.expected - + - When transforming mediaobjectco.001 - scenario240 + scenario247 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming mediaobjectco.001 @@ -19569,16 +20115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/mediaobjectco.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2552e0"/> - + - + - expect mediaobjectco.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e764, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario240-expect1 + scenario247-expect1 @@ -19624,17 +20170,17 @@ expect mediaobjectco.001.expected - + - When transforming meta.001 - scenario241 + scenario248 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming meta.001 @@ -19644,16 +20190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/meta.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2560e0"/> - + - + - expect meta.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e767, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario241-expect1 + scenario248-expect1 @@ -19699,17 +20245,17 @@ expect meta.001.expected - + - When transforming methodsynopsis.001 - scenario242 + scenario249 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming methodsynopsis.001 @@ -19719,16 +20265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/methodsynopsis.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2568e0"/> - + - + - expect methodsynopsis.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e770, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario242-expect1 + scenario249-expect1 @@ -19774,17 +20320,17 @@ expect methodsynopsis.001.expected - + - When transforming msgset.001 - scenario243 + scenario250 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming msgset.001 @@ -19794,16 +20340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/msgset.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2576e0"/> - + - + - expect msgset.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e773, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario243-expect1 + scenario250-expect1 @@ -19849,17 +20395,17 @@ expect msgset.001.expected - + - When transforming numeration-book.001 - scenario244 + scenario251 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming numeration-book.001 @@ -19869,16 +20415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/numeration-book.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2584e0"/> - + - + - expect numeration-book.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e776, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario244-expect1 + scenario251-expect1 @@ -19924,17 +20470,17 @@ expect numeration-book.001.expected - + - When transforming orderedlist.001 - scenario245 + scenario252 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.001 @@ -19944,16 +20490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2592e0"/> - + - + - expect orderedlist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e779, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario245-expect1 + scenario252-expect1 @@ -19999,17 +20545,17 @@ expect orderedlist.001.expected - + - When transforming orderedlist.002 - scenario246 + scenario253 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.002 @@ -20019,16 +20565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2600e0"/> - + - + - expect orderedlist.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e782, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario246-expect1 + scenario253-expect1 @@ -20074,17 +20620,17 @@ expect orderedlist.002.expected - + - When transforming orderedlist.003 - scenario247 + scenario254 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.003 @@ -20094,16 +20640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2608e0"/> - + - + - expect orderedlist.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e786, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario247-expect1 + scenario254-expect1 @@ -20149,17 +20695,17 @@ expect orderedlist.003.expected - + - When transforming orderedlist.004 - scenario248 + scenario255 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.004 @@ -20169,16 +20715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2616e0"/> - + - + - expect orderedlist.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e789, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario248-expect1 + scenario255-expect1 @@ -20224,17 +20770,17 @@ expect orderedlist.004.expected - + - When transforming orderedlist.005 - scenario249 + scenario256 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.005 @@ -20244,16 +20790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2624e0"/> - + - + - expect orderedlist.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e792, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario249-expect1 + scenario256-expect1 @@ -20299,17 +20845,17 @@ expect orderedlist.005.expected - + - When transforming orderedlist.006 - scenario250 + scenario257 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.006 @@ -20319,16 +20865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2632e0"/> - + - + - expect orderedlist.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e795, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario250-expect1 + scenario257-expect1 @@ -20374,17 +20920,17 @@ expect orderedlist.006.expected - + - When transforming orderedlist.007 - scenario251 + scenario258 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.007 @@ -20394,16 +20940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2640e0"/> - + - + - expect orderedlist.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e798, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario251-expect1 + scenario258-expect1 @@ -20449,17 +20995,17 @@ expect orderedlist.007.expected - + - When transforming orderedlist.008 - scenario252 + scenario259 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.008 @@ -20469,16 +21015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2648e0"/> - + - + - expect orderedlist.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e801, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario252-expect1 + scenario259-expect1 @@ -20524,17 +21070,17 @@ expect orderedlist.008.expected - + - When transforming orderedlist.009 - scenario253 + scenario260 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.009 @@ -20544,16 +21090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2656e0"/> - + - + - expect orderedlist.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e804, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario253-expect1 + scenario260-expect1 @@ -20599,17 +21145,17 @@ expect orderedlist.009.expected - + - When transforming orderedlist.010 - scenario254 + scenario261 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.010 @@ -20619,16 +21165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2664e0"/> - + - + - expect orderedlist.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e807, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario254-expect1 + scenario261-expect1 @@ -20674,17 +21220,17 @@ expect orderedlist.010.expected - + - When transforming orderedlist.011 - scenario255 + scenario262 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.011 @@ -20694,16 +21240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2672e0"/> - + - + - expect orderedlist.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e810, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario255-expect1 + scenario262-expect1 @@ -20749,17 +21295,17 @@ expect orderedlist.011.expected - + - When transforming orderedlist.012 - scenario256 + scenario263 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.012 @@ -20769,16 +21315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2680e0"/> - + - + - expect orderedlist.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e813, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario256-expect1 + scenario263-expect1 @@ -20824,17 +21370,17 @@ expect orderedlist.012.expected - + - When transforming orderedlist.013 - scenario257 + scenario264 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.013 @@ -20844,16 +21390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2688e0"/> - + - + - expect orderedlist.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e816, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario257-expect1 + scenario264-expect1 @@ -20899,17 +21445,17 @@ expect orderedlist.013.expected - + - When transforming orderedlist.014 - scenario258 + scenario265 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.014 @@ -20919,16 +21465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.014.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2696e0"/> - + - + - expect orderedlist.014.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e820, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario258-expect1 + scenario265-expect1 @@ -20974,17 +21520,17 @@ expect orderedlist.014.expected - + - When transforming orderedlist.015 - scenario259 + scenario266 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.015 @@ -20994,16 +21540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.015.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2704e0"/> - + - + - expect orderedlist.015.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e823, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario259-expect1 + scenario266-expect1 @@ -21049,17 +21595,17 @@ expect orderedlist.015.expected - + - When transforming orderedlist.016 - scenario260 + scenario267 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.016 @@ -21069,16 +21615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.016.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2712e0"/> - + - + - expect orderedlist.016.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e826, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario260-expect1 + scenario267-expect1 @@ -21124,17 +21670,17 @@ expect orderedlist.016.expected - + - When transforming orderedlist.017 - scenario261 + scenario268 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.017 @@ -21144,16 +21690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.017.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2720e0"/> - + - + - expect orderedlist.017.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e829, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario261-expect1 + scenario268-expect1 @@ -21199,17 +21745,17 @@ expect orderedlist.017.expected - + - When transforming orderedlist.018 - scenario262 + scenario269 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orderedlist.018 @@ -21219,16 +21765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orderedlist.018.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2728e0"/> - + - + - expect orderedlist.018.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e832, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario262-expect1 + scenario269-expect1 @@ -21274,17 +21820,17 @@ expect orderedlist.018.expected - + - When transforming orgname.001 - scenario263 + scenario270 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming orgname.001 @@ -21294,16 +21840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/orgname.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2736e0"/> - + - + - expect orgname.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e835, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario263-expect1 + scenario270-expect1 @@ -21349,17 +21895,17 @@ expect orgname.001.expected - + - When transforming oxy-changemarkup.001 - scenario264 + scenario271 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming oxy-changemarkup.001 @@ -21369,16 +21915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/oxy-changemarkup.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2744e0"/> - + - + - expect oxy-changemarkup.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e838, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario264-expect1 + scenario271-expect1 @@ -21424,17 +21970,17 @@ expect oxy-changemarkup.001.expected - + - When transforming oxy-changemarkup.002 - scenario265 + scenario272 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming oxy-changemarkup.002 @@ -21444,16 +21990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/oxy-changemarkup.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2752e0"/> - + - + - expect oxy-changemarkup.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e841, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario265-expect1 + scenario272-expect1 @@ -21499,17 +22045,17 @@ expect oxy-changemarkup.002.expected - + - When transforming packagesynopsis.001 - scenario266 + scenario273 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming packagesynopsis.001 @@ -21519,16 +22065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/packagesynopsis.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2760e0"/> - + - + - expect packagesynopsis.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e844, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario266-expect1 + scenario273-expect1 @@ -21574,17 +22120,17 @@ expect packagesynopsis.001.expected - + - When transforming panelset.001 - scenario267 + scenario274 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming panelset.001 @@ -21594,16 +22140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/panelset.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2768e0"/> - + - + - expect panelset.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e847, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario267-expect1 + scenario274-expect1 @@ -21649,17 +22195,17 @@ expect panelset.001.expected - + - When transforming panelset.002 - scenario268 + scenario275 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming panelset.002 @@ -21669,16 +22215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/panelset.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2776e0"/> - + - + - expect panelset.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e850, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario268-expect1 + scenario275-expect1 @@ -21724,17 +22270,17 @@ expect panelset.002.expected - + - When transforming para.001 - scenario269 + scenario276 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming para.001 @@ -21744,16 +22290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/para.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2784e0"/> - + - + - expect para.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e854, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario269-expect1 + scenario276-expect1 @@ -21799,17 +22345,17 @@ expect para.001.expected - + - When transforming para.002 - scenario270 + scenario277 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming para.002 @@ -21819,16 +22365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/para.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2792e0"/> - + - + - expect para.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e857, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario270-expect1 + scenario277-expect1 @@ -21874,17 +22420,17 @@ expect para.002.expected - + - When transforming para.003 - scenario271 + scenario278 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming para.003 @@ -21894,16 +22440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/para.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2800e0"/> - + - + - expect para.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e860, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario271-expect1 + scenario278-expect1 @@ -21949,17 +22495,17 @@ expect para.003.expected - + - When transforming para.004 - scenario272 + scenario279 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming para.004 @@ -21969,16 +22515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/para.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2808e0"/> - + - + - expect para.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e863, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario272-expect1 + scenario279-expect1 @@ -22024,17 +22570,17 @@ expect para.004.expected - + - When transforming parameter.001 - scenario273 + scenario280 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming parameter.001 @@ -22044,16 +22590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/parameter.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2816e0"/> - + - + - expect parameter.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e866, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario273-expect1 + scenario280-expect1 @@ -22099,17 +22645,17 @@ expect parameter.001.expected - + - When transforming part.001 - scenario274 + scenario281 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming part.001 @@ -22119,16 +22665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/part.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2824e0"/> - + - + - expect part.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e869, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario274-expect1 + scenario281-expect1 @@ -22174,17 +22720,17 @@ expect part.001.expected - + - When transforming parts-numbered-from - scenario275 + scenario282 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming parts-numbered-from @@ -22194,16 +22740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/parts-numbered-from.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2832e0"/> - + - + - expect parts-numbered-from.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e872, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario275-expect1 + scenario282-expect1 @@ -22249,17 +22795,17 @@ expect parts-numbered-from.expected - + - When transforming personname.001 - scenario276 + scenario283 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming personname.001 @@ -22269,16 +22815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/personname.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2840e0"/> - + - + - expect personname.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e875, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario276-expect1 + scenario283-expect1 @@ -22324,17 +22870,17 @@ expect personname.001.expected - + - When transforming pmuj.001 - scenario277 + scenario284 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming pmuj.001 @@ -22344,16 +22890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/pmuj.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2848e0"/> - + - + - expect pmuj.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e878, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario277-expect1 + scenario284-expect1 @@ -22399,17 +22945,17 @@ expect pmuj.001.expected - + - When transforming preface.001 - scenario278 + scenario285 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming preface.001 @@ -22419,16 +22965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/preface.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2856e0"/> - + - + - expect preface.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e881, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario278-expect1 + scenario285-expect1 @@ -22474,17 +23020,17 @@ expect preface.001.expected - + - When transforming preface.002 - scenario279 + scenario286 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming preface.002 @@ -22494,16 +23040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/preface.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2864e0"/> - + - + - expect preface.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e884, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario279-expect1 + scenario286-expect1 @@ -22549,17 +23095,17 @@ expect preface.002.expected - + - When transforming preface.003 - scenario280 + scenario287 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming preface.003 @@ -22569,16 +23115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/preface.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2872e0"/> - + - + - expect preface.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e888, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario280-expect1 + scenario287-expect1 @@ -22624,17 +23170,17 @@ expect preface.003.expected - + - When transforming procedure.001 - scenario281 + scenario288 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming procedure.001 @@ -22644,16 +23190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/procedure.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2880e0"/> - + - + - expect procedure.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e891, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario281-expect1 + scenario288-expect1 @@ -22699,17 +23245,17 @@ expect procedure.001.expected - + - When transforming procedure.002 - scenario282 + scenario289 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming procedure.002 @@ -22719,16 +23265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/procedure.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2888e0"/> - + - + - expect procedure.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e894, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario282-expect1 + scenario289-expect1 @@ -22774,17 +23320,17 @@ expect procedure.002.expected - + - When transforming procedure.003 - scenario283 + scenario290 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming procedure.003 @@ -22794,16 +23340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/procedure.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2896e0"/> - + - + - expect procedure.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e897, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario283-expect1 + scenario290-expect1 @@ -22849,17 +23395,17 @@ expect procedure.003.expected - + - When transforming procedure.004 - scenario284 + scenario291 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming procedure.004 @@ -22869,16 +23415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/procedure.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2904e0"/> - + - + - expect procedure.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e900, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario284-expect1 + scenario291-expect1 @@ -22924,17 +23470,17 @@ expect procedure.004.expected - + - When transforming procedure.005 - scenario285 + scenario292 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming procedure.005 @@ -22944,16 +23490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/procedure.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2912e0"/> - + - + - expect procedure.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e903, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario285-expect1 + scenario292-expect1 @@ -22999,17 +23545,17 @@ expect procedure.005.expected - + - When transforming productionset.001 - scenario286 + scenario293 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming productionset.001 @@ -23019,16 +23565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/productionset.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2920e0"/> - + - + - expect productionset.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e906, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario286-expect1 + scenario293-expect1 @@ -23074,17 +23620,17 @@ expect productionset.001.expected - + - When transforming productname.001 - scenario287 + scenario294 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming productname.001 @@ -23094,16 +23640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/productname.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2928e0"/> - + - + - expect productname.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e909, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario287-expect1 + scenario294-expect1 @@ -23149,17 +23695,17 @@ expect productname.001.expected - + - When transforming profiling.001 - scenario288 + scenario295 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming profiling.001 @@ -23169,16 +23715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/profiling.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2936e0"/> - + - + - expect profiling.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e912, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario288-expect1 + scenario295-expect1 @@ -23224,17 +23770,17 @@ expect profiling.001.expected - + - When transforming programlisting.001 - scenario289 + scenario296 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.001 @@ -23244,16 +23790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2944e0"/> - + - + - expect programlisting.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e915, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario289-expect1 + scenario296-expect1 @@ -23299,17 +23845,17 @@ expect programlisting.001.expected - + - When transforming programlisting.002 - scenario290 + scenario297 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.002 @@ -23319,16 +23865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2952e0"/> - + - + - expect programlisting.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e918, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario290-expect1 + scenario297-expect1 @@ -23374,17 +23920,17 @@ expect programlisting.002.expected - + - When transforming programlisting.003 - scenario291 + scenario298 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.003 @@ -23394,16 +23940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2960e0"/> - + - + - expect programlisting.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e922, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario291-expect1 + scenario298-expect1 @@ -23449,17 +23995,17 @@ expect programlisting.003.expected - + - When transforming programlisting.004 - scenario292 + scenario299 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.004 @@ -23469,16 +24015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2968e0"/> - + - + - expect programlisting.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e925, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario292-expect1 + scenario299-expect1 @@ -23524,17 +24070,17 @@ expect programlisting.004.expected - + - When transforming programlisting.005 - scenario293 + scenario300 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.005 @@ -23544,16 +24090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2976e0"/> - + - + - expect programlisting.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e928, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario293-expect1 + scenario300-expect1 @@ -23599,17 +24145,17 @@ expect programlisting.005.expected - + - When transforming programlisting.006 - scenario294 + scenario301 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.006 @@ -23619,16 +24165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2984e0"/> - + - + - expect programlisting.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e931, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario294-expect1 + scenario301-expect1 @@ -23674,17 +24220,17 @@ expect programlisting.006.expected - + - When transforming programlisting.007 - scenario295 + scenario302 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.007 @@ -23694,16 +24240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d2992e0"/> - + - + - expect programlisting.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e934, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario295-expect1 + scenario302-expect1 @@ -23749,17 +24295,17 @@ expect programlisting.007.expected - + - When transforming programlisting.008 - scenario296 + scenario303 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.008 @@ -23769,16 +24315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3000e0"/> - + - + - expect programlisting.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e937, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario296-expect1 + scenario303-expect1 @@ -23824,17 +24370,17 @@ expect programlisting.008.expected - + - When transforming programlisting.009 - scenario297 + scenario304 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.009 @@ -23844,16 +24390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3008e0"/> - + - + - expect programlisting.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e940, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario297-expect1 + scenario304-expect1 @@ -23899,17 +24445,17 @@ expect programlisting.009.expected - + - When transforming programlisting.010 - scenario298 + scenario305 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.010 @@ -23919,16 +24465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3016e0"/> - + - + - expect programlisting.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e943, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario298-expect1 + scenario305-expect1 @@ -23974,17 +24520,17 @@ expect programlisting.010.expected - + - When transforming programlisting.011 - scenario299 + scenario306 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.011 @@ -23994,16 +24540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3024e0"/> - + - + - expect programlisting.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e946, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario299-expect1 + scenario306-expect1 @@ -24049,17 +24595,17 @@ expect programlisting.011.expected - + - When transforming programlisting.012 - scenario300 + scenario307 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.012 @@ -24069,16 +24615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3032e0"/> - + - + - expect programlisting.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e949, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario300-expect1 + scenario307-expect1 @@ -24124,17 +24670,17 @@ expect programlisting.012.expected - + - When transforming programlisting.013 - scenario301 + scenario308 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.013 @@ -24144,16 +24690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3040e0"/> - + - + - expect programlisting.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e952, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario301-expect1 + scenario308-expect1 @@ -24199,17 +24745,17 @@ expect programlisting.013.expected - + - When transforming programlisting.014 - scenario302 + scenario309 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.014 @@ -24219,16 +24765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.014.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3048e0"/> - + - + - expect programlisting.014.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e956, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario302-expect1 + scenario309-expect1 @@ -24274,17 +24820,17 @@ expect programlisting.014.expected - + - When transforming programlisting.015 - scenario303 + scenario310 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlisting.015 @@ -24294,16 +24840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlisting.015.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3056e0"/> - + - + - expect programlisting.015.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e959, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario303-expect1 + scenario310-expect1 @@ -24349,17 +24895,17 @@ expect programlisting.015.expected - + - When transforming programlistingco.001 - scenario304 + scenario311 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlistingco.001 @@ -24369,16 +24915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlistingco.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3064e0"/> - + - + - expect programlistingco.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e962, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario304-expect1 + scenario311-expect1 @@ -24424,17 +24970,17 @@ expect programlistingco.001.expected - + - When transforming programlistingco.002 - scenario305 + scenario312 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlistingco.002 @@ -24444,16 +24990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlistingco.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3072e0"/> - + - + - expect programlistingco.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e965, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario305-expect1 + scenario312-expect1 @@ -24499,17 +25045,17 @@ expect programlistingco.002.expected - + - When transforming programlistingco.003 - scenario306 + scenario313 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlistingco.003 @@ -24519,16 +25065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlistingco.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3080e0"/> - + - + - expect programlistingco.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e968, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario306-expect1 + scenario313-expect1 @@ -24574,17 +25120,17 @@ expect programlistingco.003.expected - + - When transforming programlistingco.004 - scenario307 + scenario314 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming programlistingco.004 @@ -24594,16 +25140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/programlistingco.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3088e0"/> - + - + - expect programlistingco.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e971, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario307-expect1 + scenario314-expect1 @@ -24649,17 +25195,17 @@ expect programlistingco.004.expected - + - When transforming pygments.001 - scenario308 + scenario315 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming pygments.001 @@ -24669,16 +25215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/pygments.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3096e0"/> - + - + - expect pygments.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e974, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario308-expect1 + scenario315-expect1 @@ -24724,17 +25270,17 @@ expect pygments.001.expected - + - When transforming pygments.002 - scenario309 + scenario316 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming pygments.002 @@ -24744,16 +25290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/pygments.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3104e0"/> - + - + - expect pygments.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e977, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario309-expect1 + scenario316-expect1 @@ -24799,17 +25345,17 @@ expect pygments.002.expected - + - When transforming pygments.003 - scenario310 + scenario317 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming pygments.003 @@ -24819,16 +25365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/pygments.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3112e0"/> - + - + - expect pygments.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e980, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario310-expect1 + scenario317-expect1 @@ -24874,17 +25420,17 @@ expect pygments.003.expected - + - When transforming pygments.004 - scenario311 + scenario318 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming pygments.004 @@ -24894,16 +25440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/pygments.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3120e0"/> - + - + - expect pygments.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e983, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario311-expect1 + scenario318-expect1 @@ -24949,17 +25495,17 @@ expect pygments.004.expected - + - When transforming qandaset.001 - scenario312 + scenario319 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming qandaset.001 @@ -24969,16 +25515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/qandaset.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3128e0"/> - + - + - expect qandaset.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e986, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario312-expect1 + scenario319-expect1 @@ -25024,17 +25570,17 @@ expect qandaset.001.expected - + - When transforming qandaset.002 - scenario313 + scenario320 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming qandaset.002 @@ -25044,16 +25590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/qandaset.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3136e0"/> - + - + - expect qandaset.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e990, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario313-expect1 + scenario320-expect1 @@ -25099,17 +25645,17 @@ expect qandaset.002.expected - + - When transforming qandaset.003 - scenario314 + scenario321 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming qandaset.003 @@ -25119,16 +25665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/qandaset.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3144e0"/> - + - + - expect qandaset.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e993, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario314-expect1 + scenario321-expect1 @@ -25174,17 +25720,17 @@ expect qandaset.003.expected - + - When transforming qandaset.004 - scenario315 + scenario322 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming qandaset.004 @@ -25194,16 +25740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/qandaset.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3152e0"/> - + - + - expect qandaset.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e996, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario315-expect1 + scenario322-expect1 @@ -25249,17 +25795,17 @@ expect qandaset.004.expected - + - When transforming qandaset.005 - scenario316 + scenario323 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming qandaset.005 @@ -25269,16 +25815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/qandaset.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3160e0"/> - + - + - expect qandaset.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e999, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario316-expect1 + scenario323-expect1 @@ -25324,17 +25870,17 @@ expect qandaset.005.expected - + - When transforming qandaset.006 - scenario317 + scenario324 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming qandaset.006 @@ -25344,16 +25890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/qandaset.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3168e0"/> - + - + - expect qandaset.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1002, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario317-expect1 + scenario324-expect1 @@ -25399,17 +25945,17 @@ expect qandaset.006.expected - + - When transforming qandaset.007 - scenario318 + scenario325 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming qandaset.007 @@ -25419,16 +25965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/qandaset.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3176e0"/> - + - + - expect qandaset.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1005, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario318-expect1 + scenario325-expect1 @@ -25474,17 +26020,17 @@ expect qandaset.007.expected - + - When transforming quote.001 - scenario319 + scenario326 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming quote.001 @@ -25494,16 +26040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/quote.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3184e0"/> - + - + - expect quote.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1008, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario319-expect1 + scenario326-expect1 @@ -25549,17 +26095,17 @@ expect quote.001.expected - + - When transforming refentry.001 - scenario320 + scenario327 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.001 @@ -25569,16 +26115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3192e0"/> - + - + - expect refentry.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1011, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario320-expect1 + scenario327-expect1 @@ -25624,17 +26170,17 @@ expect refentry.001.expected - + - When transforming refentry.002 - scenario321 + scenario328 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.002 @@ -25644,16 +26190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3200e0"/> - + - + - expect refentry.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1014, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario321-expect1 + scenario328-expect1 @@ -25699,17 +26245,17 @@ expect refentry.002.expected - + - When transforming refentry.003 - scenario322 + scenario329 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.003 @@ -25719,16 +26265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3208e0"/> - + - + - expect refentry.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1017, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario322-expect1 + scenario329-expect1 @@ -25774,17 +26320,17 @@ expect refentry.003.expected - + - When transforming refentry.004 - scenario323 + scenario330 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.004 @@ -25794,16 +26340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3216e0"/> - + - + - expect refentry.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1020, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario323-expect1 + scenario330-expect1 @@ -25849,17 +26395,17 @@ expect refentry.004.expected - + - When transforming refentry.005 - scenario324 + scenario331 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.005 @@ -25869,16 +26415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3224e0"/> - + - + - expect refentry.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1024, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario324-expect1 + scenario331-expect1 @@ -25924,17 +26470,17 @@ expect refentry.005.expected - + - When transforming refentry.006 - scenario325 + scenario332 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.006 @@ -25944,16 +26490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3232e0"/> - + - + - expect refentry.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1027, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario325-expect1 + scenario332-expect1 @@ -25999,17 +26545,17 @@ expect refentry.006.expected - + - When transforming refentry.007 - scenario326 + scenario333 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.007 @@ -26019,16 +26565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3240e0"/> - + - + - expect refentry.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1030, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario326-expect1 + scenario333-expect1 @@ -26074,17 +26620,17 @@ expect refentry.007.expected - + - When transforming refentry.008 - scenario327 + scenario334 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.008 @@ -26094,16 +26640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3248e0"/> - + - + - expect refentry.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1033, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario327-expect1 + scenario334-expect1 @@ -26149,17 +26695,17 @@ expect refentry.008.expected - + - When transforming refentry.009 - scenario328 + scenario335 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.009 @@ -26169,16 +26715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3256e0"/> - + - + - expect refentry.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1036, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario328-expect1 + scenario335-expect1 @@ -26224,17 +26770,17 @@ expect refentry.009.expected - + - When transforming refentry.010 - scenario329 + scenario336 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.010 @@ -26244,16 +26790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3264e0"/> - + - + - expect refentry.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1039, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario329-expect1 + scenario336-expect1 @@ -26299,17 +26845,17 @@ expect refentry.010.expected - + - When transforming refentry.011 - scenario330 + scenario337 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.011 @@ -26319,16 +26865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3272e0"/> - + - + - expect refentry.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1042, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario330-expect1 + scenario337-expect1 @@ -26374,17 +26920,17 @@ expect refentry.011.expected - + - When transforming refentry.012 - scenario331 + scenario338 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.012 @@ -26394,16 +26940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3280e0"/> - + - + - expect refentry.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1045, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario331-expect1 + scenario338-expect1 @@ -26449,17 +26995,17 @@ expect refentry.012.expected - + - When transforming refentry.013 - scenario332 + scenario339 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming refentry.013 @@ -26469,16 +27015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/refentry.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3288e0"/> - + - + - expect refentry.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1048, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario332-expect1 + scenario339-expect1 @@ -26524,17 +27070,17 @@ expect refentry.013.expected - + - When transforming reference.001 - scenario333 + scenario340 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming reference.001 @@ -26544,16 +27090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/reference.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3296e0"/> - + - + - expect reference.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1051, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario333-expect1 + scenario340-expect1 @@ -26599,17 +27145,17 @@ expect reference.001.expected - + - When transforming reference.002 - scenario334 + scenario341 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming reference.002 @@ -26619,16 +27165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/reference.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3304e0"/> - + - + - expect reference.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1054, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario334-expect1 + scenario341-expect1 @@ -26674,17 +27220,17 @@ expect reference.002.expected - + - When transforming reference.003 - scenario335 + scenario342 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming reference.003 @@ -26694,16 +27240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/reference.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3312e0"/> - + - + - expect reference.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1058, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario335-expect1 + scenario342-expect1 @@ -26749,17 +27295,17 @@ expect reference.003.expected - + - When transforming remark.001 - scenario336 + scenario343 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming remark.001 @@ -26769,16 +27315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/remark.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3320e0"/> - + - + - expect remark.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1061, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario336-expect1 + scenario343-expect1 @@ -26824,17 +27370,17 @@ expect remark.001.expected - + - When transforming remark.002 - scenario337 + scenario344 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming remark.002 @@ -26844,16 +27390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/remark.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3328e0"/> - + - + - expect remark.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1064, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario337-expect1 + scenario344-expect1 @@ -26899,17 +27445,17 @@ expect remark.002.expected - + - When transforming replaceable.001 - scenario338 + scenario345 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming replaceable.001 @@ -26919,16 +27465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/replaceable.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3336e0"/> - + - + - expect replaceable.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1067, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario338-expect1 + scenario345-expect1 @@ -26974,17 +27520,17 @@ expect replaceable.001.expected - + - When transforming revhistory.001 - scenario339 + scenario346 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming revhistory.001 @@ -26994,16 +27540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/revhistory.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3344e0"/> - + - + - expect revhistory.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1070, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario339-expect1 + scenario346-expect1 @@ -27049,17 +27595,17 @@ expect revhistory.001.expected - + - When transforming screen.001 - scenario340 + scenario347 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming screen.001 @@ -27069,16 +27615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/screen.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3352e0"/> - + - + - expect screen.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1073, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario340-expect1 + scenario347-expect1 @@ -27124,17 +27670,17 @@ expect screen.001.expected - + - When transforming screen.002 - scenario341 + scenario348 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming screen.002 @@ -27144,16 +27690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/screen.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3360e0"/> - + - + - expect screen.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1076, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario341-expect1 + scenario348-expect1 @@ -27199,17 +27745,17 @@ expect screen.002.expected - + - When transforming screenco.001 - scenario342 + scenario349 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming screenco.001 @@ -27219,16 +27765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/screenco.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3368e0"/> - + - + - expect screenco.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1079, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario342-expect1 + scenario349-expect1 @@ -27274,17 +27820,17 @@ expect screenco.001.expected - + - When transforming sect1.001 - scenario343 + scenario350 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming sect1.001 @@ -27294,16 +27840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/sect1.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3376e0"/> - + - + - expect sect1.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1082, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario343-expect1 + scenario350-expect1 @@ -27349,17 +27895,17 @@ expect sect1.001.expected - + - When transforming sect1.002 - scenario344 + scenario351 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming sect1.002 @@ -27369,16 +27915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/sect1.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3384e0"/> - + - + - expect sect1.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1085, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario344-expect1 + scenario351-expect1 @@ -27424,17 +27970,17 @@ expect sect1.002.expected - + - When transforming section.001 - scenario345 + scenario352 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming section.001 @@ -27444,16 +27990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/section.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3392e0"/> - + - + - expect section.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1088, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario345-expect1 + scenario352-expect1 @@ -27499,17 +28045,17 @@ expect section.001.expected - + - When transforming section.002 - scenario346 + scenario353 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming section.002 @@ -27519,16 +28065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/section.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3400e0"/> - + - + - expect section.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1092, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario346-expect1 + scenario353-expect1 @@ -27574,17 +28120,17 @@ expect section.002.expected - + - When transforming section.003 - scenario347 + scenario354 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming section.003 @@ -27594,16 +28140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/section.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3408e0"/> - + - + - expect section.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1095, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario347-expect1 + scenario354-expect1 @@ -27649,17 +28195,17 @@ expect section.003.expected - + - When transforming section.004 - scenario348 + scenario355 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming section.004 @@ -27669,16 +28215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/section.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3416e0"/> - + - + - expect section.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1098, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario348-expect1 + scenario355-expect1 @@ -27724,17 +28270,17 @@ expect section.004.expected - + - When transforming section.005 - scenario349 + scenario356 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming section.005 @@ -27744,16 +28290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/section.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3424e0"/> - + - + - expect section.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1101, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario349-expect1 + scenario356-expect1 @@ -27799,17 +28345,17 @@ expect section.005.expected - + - When transforming sections-numbered-from - scenario350 + scenario357 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming sections-numbered-from @@ -27819,16 +28365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/sections-numbered-from.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3432e0"/> - + - + - expect sections-numbered-from.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1104, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario350-expect1 + scenario357-expect1 @@ -27874,17 +28420,17 @@ expect sections-numbered-from.expected - + - When transforming segmentedlist.001 - scenario351 + scenario358 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming segmentedlist.001 @@ -27894,16 +28440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/segmentedlist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3440e0"/> - + - + - expect segmentedlist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1107, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario351-expect1 + scenario358-expect1 @@ -27949,17 +28495,17 @@ expect segmentedlist.001.expected - + - When transforming segmentedlist.002 - scenario352 + scenario359 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming segmentedlist.002 @@ -27969,16 +28515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/segmentedlist.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3448e0"/> - + - + - expect segmentedlist.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1110, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario352-expect1 + scenario359-expect1 @@ -28024,17 +28570,17 @@ expect segmentedlist.002.expected - + - When transforming segmentedlist.003 - scenario353 + scenario360 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming segmentedlist.003 @@ -28044,16 +28590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/segmentedlist.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3456e0"/> - + - + - expect segmentedlist.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1113, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario353-expect1 + scenario360-expect1 @@ -28099,17 +28645,17 @@ expect segmentedlist.003.expected - + - When transforming set.001 - scenario354 + scenario361 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming set.001 @@ -28119,16 +28665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/set.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3464e0"/> - + - + - expect set.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1116, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario354-expect1 + scenario361-expect1 @@ -28174,17 +28720,17 @@ expect set.001.expected - + - When transforming sidebar.001 - scenario355 + scenario362 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming sidebar.001 @@ -28194,16 +28740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/sidebar.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3472e0"/> - + - + - expect sidebar.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1119, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario355-expect1 + scenario362-expect1 @@ -28249,17 +28795,17 @@ expect sidebar.001.expected - + - When transforming simplelist.001 - scenario356 + scenario363 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplelist.001 @@ -28269,16 +28815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplelist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3480e0"/> - + - + - expect simplelist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1122, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario356-expect1 + scenario363-expect1 @@ -28324,17 +28870,17 @@ expect simplelist.001.expected - + - When transforming simplelist.002 - scenario357 + scenario364 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplelist.002 @@ -28344,16 +28890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplelist.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3488e0"/> - + - + - expect simplelist.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1126, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario357-expect1 + scenario364-expect1 @@ -28399,17 +28945,17 @@ expect simplelist.002.expected - + - When transforming simplelist.003 - scenario358 + scenario365 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplelist.003 @@ -28419,16 +28965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplelist.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3496e0"/> - + - + - expect simplelist.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1129, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario358-expect1 + scenario365-expect1 @@ -28474,17 +29020,17 @@ expect simplelist.003.expected - + - When transforming simplelist.004 - scenario359 + scenario366 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplelist.004 @@ -28494,16 +29040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplelist.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3504e0"/> - + - + - expect simplelist.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1132, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario359-expect1 + scenario366-expect1 @@ -28549,17 +29095,17 @@ expect simplelist.004.expected - + - When transforming simplelist.005 - scenario360 + scenario367 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplelist.005 @@ -28569,16 +29115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplelist.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3512e0"/> - + - + - expect simplelist.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1135, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario360-expect1 + scenario367-expect1 @@ -28624,17 +29170,17 @@ expect simplelist.005.expected - + - When transforming simplelist.006 - scenario361 + scenario368 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplelist.006 @@ -28644,16 +29190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplelist.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3520e0"/> - + - + - expect simplelist.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1138, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario361-expect1 + scenario368-expect1 @@ -28699,17 +29245,17 @@ expect simplelist.006.expected - + - When transforming simplelist.007 - scenario362 + scenario369 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplelist.007 @@ -28719,16 +29265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplelist.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3528e0"/> - + - + - expect simplelist.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1141, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario362-expect1 + scenario369-expect1 @@ -28774,17 +29320,17 @@ expect simplelist.007.expected - + - When transforming simplesect.001 - scenario363 + scenario370 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming simplesect.001 @@ -28794,16 +29340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/simplesect.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3536e0"/> - + - + - expect simplesect.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1144, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario363-expect1 + scenario370-expect1 @@ -28849,17 +29395,17 @@ expect simplesect.001.expected - + - When transforming slides.001 - scenario364 + scenario371 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming slides.001 @@ -28869,16 +29415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/slides.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3544e0"/> - + - + - expect slides.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1147, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario364-expect1 + scenario371-expect1 @@ -28924,17 +29470,17 @@ expect slides.001.expected - + - When transforming slides.002 - scenario365 + scenario372 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming slides.002 @@ -28944,16 +29490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/slides.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3552e0"/> - + - + - expect slides.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1150, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario365-expect1 + scenario372-expect1 @@ -28999,17 +29545,17 @@ expect slides.002.expected - + - When transforming slides.003 - scenario366 + scenario373 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming slides.003 @@ -29019,16 +29565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/slides.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3560e0"/> - + - + - expect slides.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1153, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario366-expect1 + scenario373-expect1 @@ -29074,17 +29620,17 @@ expect slides.003.expected - + - When transforming stamp.001 - scenario367 + scenario374 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.001 @@ -29094,16 +29640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3568e0"/> - + - + - expect stamp.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1156, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario367-expect1 + scenario374-expect1 @@ -29149,17 +29695,17 @@ expect stamp.001.expected - + - When transforming stamp.002 - scenario368 + scenario375 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.002 @@ -29169,16 +29715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3576e0"/> - + - + - expect stamp.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1160, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario368-expect1 + scenario375-expect1 @@ -29224,17 +29770,17 @@ expect stamp.002.expected - + - When transforming stamp.003 - scenario369 + scenario376 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.003 @@ -29244,16 +29790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3584e0"/> - + - + - expect stamp.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1163, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario369-expect1 + scenario376-expect1 @@ -29299,17 +29845,17 @@ expect stamp.003.expected - + - When transforming stamp.004 - scenario370 + scenario377 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.004 @@ -29319,16 +29865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3592e0"/> - + - + - expect stamp.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1166, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario370-expect1 + scenario377-expect1 @@ -29374,17 +29920,17 @@ expect stamp.004.expected - + - When transforming stamp.005 - scenario371 + scenario378 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.005 @@ -29394,16 +29940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3600e0"/> - + - + - expect stamp.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1169, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario371-expect1 + scenario378-expect1 @@ -29449,17 +29995,17 @@ expect stamp.005.expected - + - When transforming stamp.006 - scenario372 + scenario379 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.006 @@ -29469,16 +30015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3608e0"/> - + - + - expect stamp.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1172, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario372-expect1 + scenario379-expect1 @@ -29524,17 +30070,17 @@ expect stamp.006.expected - + - When transforming stamp.007 - scenario373 + scenario380 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.007 @@ -29544,16 +30090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3616e0"/> - + - + - expect stamp.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1175, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario373-expect1 + scenario380-expect1 @@ -29599,17 +30145,17 @@ expect stamp.007.expected - + - When transforming stamp.008 - scenario374 + scenario381 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.008 @@ -29619,16 +30165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3624e0"/> - + - + - expect stamp.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1178, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario374-expect1 + scenario381-expect1 @@ -29674,17 +30220,17 @@ expect stamp.008.expected - + - When transforming stamp.009 - scenario375 + scenario382 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.009 @@ -29694,16 +30240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3632e0"/> - + - + - expect stamp.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1181, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario375-expect1 + scenario382-expect1 @@ -29749,17 +30295,17 @@ expect stamp.009.expected - + - When transforming stamp.010 - scenario376 + scenario383 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.010 @@ -29769,16 +30315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3640e0"/> - + - + - expect stamp.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1184, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario376-expect1 + scenario383-expect1 @@ -29824,17 +30370,17 @@ expect stamp.010.expected - + - When transforming stamp.011 - scenario377 + scenario384 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.011 @@ -29844,16 +30390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3648e0"/> - + - + - expect stamp.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1187, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario377-expect1 + scenario384-expect1 @@ -29899,17 +30445,17 @@ expect stamp.011.expected - + - When transforming stamp.012 - scenario378 + scenario385 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.012 @@ -29919,16 +30465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3656e0"/> - + - + - expect stamp.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1190, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario378-expect1 + scenario385-expect1 @@ -29974,17 +30520,17 @@ expect stamp.012.expected - + - When transforming stamp.013 - scenario379 + scenario386 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.013 @@ -29994,16 +30540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3664e0"/> - + - + - expect stamp.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1194, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario379-expect1 + scenario386-expect1 @@ -30049,17 +30595,17 @@ expect stamp.013.expected - + - When transforming stamp.050 - scenario380 + scenario387 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.050 @@ -30069,16 +30615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.050.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3672e0"/> - + - + - expect stamp.050.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1197, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario380-expect1 + scenario387-expect1 @@ -30124,17 +30670,17 @@ expect stamp.050.expected - + - When transforming stamp.051 - scenario381 + scenario388 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming stamp.051 @@ -30144,16 +30690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/stamp.051.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3680e0"/> - + - + - expect stamp.051.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1200, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario381-expect1 + scenario388-expect1 @@ -30199,17 +30745,17 @@ expect stamp.051.expected - + - When transforming subtitle.001 - scenario382 + scenario389 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming subtitle.001 @@ -30219,16 +30765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/subtitle.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3688e0"/> - + - + - expect subtitle.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1203, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario382-expect1 + scenario389-expect1 @@ -30274,17 +30820,17 @@ expect subtitle.001.expected - + - When transforming svg.001 - scenario383 + scenario390 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming svg.001 @@ -30294,16 +30840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/svg.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3696e0"/> - + - + - expect svg.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1206, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario383-expect1 + scenario390-expect1 @@ -30349,17 +30895,17 @@ expect svg.001.expected - + - When transforming svg.002 - scenario384 + scenario391 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming svg.002 @@ -30369,16 +30915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/svg.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3704e0"/> - + - + - expect svg.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1209, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario384-expect1 + scenario391-expect1 @@ -30424,17 +30970,17 @@ expect svg.002.expected - + - When transforming symbol.001 - scenario385 + scenario392 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming symbol.001 @@ -30444,16 +30990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/symbol.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3712e0"/> - + - + - expect symbol.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1212, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario385-expect1 + scenario392-expect1 @@ -30499,17 +31045,17 @@ expect symbol.001.expected - + - When transforming synopsisinfo.001 - scenario386 + scenario393 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming synopsisinfo.001 @@ -30519,16 +31065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/synopsisinfo.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3720e0"/> - + - + - expect synopsisinfo.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1215, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario386-expect1 + scenario393-expect1 @@ -30574,17 +31120,17 @@ expect synopsisinfo.001.expected - + - When transforming systemitem.001 - scenario387 + scenario394 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming systemitem.001 @@ -30594,16 +31140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/systemitem.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3728e0"/> - + - + - expect systemitem.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1218, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario387-expect1 + scenario394-expect1 @@ -30649,17 +31195,17 @@ expect systemitem.001.expected - + - When transforming table-cals.001 - scenario388 + scenario395 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.001 @@ -30669,16 +31215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3736e0"/> - + - + - expect table-cals.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1221, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario388-expect1 + scenario395-expect1 @@ -30724,17 +31270,17 @@ expect table-cals.001.expected - + - When transforming table-cals.002 - scenario389 + scenario396 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.002 @@ -30744,16 +31290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3744e0"/> - + - + - expect table-cals.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1224, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario389-expect1 + scenario396-expect1 @@ -30799,17 +31345,17 @@ expect table-cals.002.expected - + - When transforming table-cals.003 - scenario390 + scenario397 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.003 @@ -30819,16 +31365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3752e0"/> - + - + - expect table-cals.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1228, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario390-expect1 + scenario397-expect1 @@ -30874,17 +31420,17 @@ expect table-cals.003.expected - + - When transforming table-cals.004 - scenario391 + scenario398 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.004 @@ -30894,16 +31440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3760e0"/> - + - + - expect table-cals.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1231, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario391-expect1 + scenario398-expect1 @@ -30949,17 +31495,17 @@ expect table-cals.004.expected - + - When transforming table-cals.005 - scenario392 + scenario399 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.005 @@ -30969,16 +31515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3768e0"/> - + - + - expect table-cals.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1234, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario392-expect1 + scenario399-expect1 @@ -31024,17 +31570,17 @@ expect table-cals.005.expected - + - When transforming table-cals.006 - scenario393 + scenario400 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.006 @@ -31044,16 +31590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3776e0"/> - + - + - expect table-cals.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1237, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario393-expect1 + scenario400-expect1 @@ -31099,17 +31645,17 @@ expect table-cals.006.expected - + - When transforming table-cals.007 - scenario394 + scenario401 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.007 @@ -31119,16 +31665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3784e0"/> - + - + - expect table-cals.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1240, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario394-expect1 + scenario401-expect1 @@ -31174,17 +31720,17 @@ expect table-cals.007.expected - + - When transforming table-cals.008 - scenario395 + scenario402 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.008 @@ -31194,16 +31740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3792e0"/> - + - + - expect table-cals.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1243, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario395-expect1 + scenario402-expect1 @@ -31249,17 +31795,17 @@ expect table-cals.008.expected - + - When transforming table-cals.009 - scenario396 + scenario403 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.009 @@ -31269,16 +31815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3800e0"/> - + - + - expect table-cals.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1246, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario396-expect1 + scenario403-expect1 @@ -31324,17 +31870,17 @@ expect table-cals.009.expected - + - When transforming table-cals.010 - scenario397 + scenario404 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.010 @@ -31344,16 +31890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3808e0"/> - + - + - expect table-cals.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1249, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario397-expect1 + scenario404-expect1 @@ -31399,17 +31945,17 @@ expect table-cals.010.expected - + - When transforming table-cals.011 - scenario398 + scenario405 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.011 @@ -31419,16 +31965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3816e0"/> - + - + - expect table-cals.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1252, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario398-expect1 + scenario405-expect1 @@ -31474,17 +32020,17 @@ expect table-cals.011.expected - + - When transforming table-cals.012 - scenario399 + scenario406 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.012 @@ -31494,16 +32040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3824e0"/> - + - + - expect table-cals.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1255, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario399-expect1 + scenario406-expect1 @@ -31549,17 +32095,17 @@ expect table-cals.012.expected - + - When transforming table-cals.013 - scenario400 + scenario407 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.013 @@ -31569,16 +32115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3832e0"/> - + - + - expect table-cals.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1258, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario400-expect1 + scenario407-expect1 @@ -31624,17 +32170,17 @@ expect table-cals.013.expected - + - When transforming table-cals.014 - scenario401 + scenario408 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.014 @@ -31644,16 +32190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.014.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3840e0"/> - + - + - expect table-cals.014.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1262, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario401-expect1 + scenario408-expect1 @@ -31699,17 +32245,17 @@ expect table-cals.014.expected - + - When transforming table-cals.015 - scenario402 + scenario409 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.015 @@ -31719,16 +32265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.015.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3848e0"/> - + - + - expect table-cals.015.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1265, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario402-expect1 + scenario409-expect1 @@ -31774,17 +32320,17 @@ expect table-cals.015.expected - + - When transforming table-cals.016 - scenario403 + scenario410 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.016 @@ -31794,16 +32340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.016.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3856e0"/> - + - + - expect table-cals.016.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1268, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario403-expect1 + scenario410-expect1 @@ -31849,17 +32395,17 @@ expect table-cals.016.expected - + - When transforming table-cals.017 - scenario404 + scenario411 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.017 @@ -31869,16 +32415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.017.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3864e0"/> - + - + - expect table-cals.017.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1271, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario404-expect1 + scenario411-expect1 @@ -31924,17 +32470,17 @@ expect table-cals.017.expected - + - When transforming table-cals.018 - scenario405 + scenario412 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.018 @@ -31944,16 +32490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.018.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3872e0"/> - + - + - expect table-cals.018.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1274, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario405-expect1 + scenario412-expect1 @@ -31999,17 +32545,17 @@ expect table-cals.018.expected - + - When transforming table-cals.019 - scenario406 + scenario413 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.019 @@ -32019,16 +32565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.019.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3880e0"/> - + - + - expect table-cals.019.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1277, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario406-expect1 + scenario413-expect1 @@ -32074,17 +32620,17 @@ expect table-cals.019.expected - + - When transforming table-cals.020 - scenario407 + scenario414 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.020 @@ -32094,16 +32640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.020.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3888e0"/> - + - + - expect table-cals.020.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1280, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario407-expect1 + scenario414-expect1 @@ -32149,17 +32695,17 @@ expect table-cals.020.expected - + - When transforming table-cals.021 - scenario408 + scenario415 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.021 @@ -32169,16 +32715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.021.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3896e0"/> - + - + - expect table-cals.021.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1283, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario408-expect1 + scenario415-expect1 @@ -32224,17 +32770,17 @@ expect table-cals.021.expected - + - When transforming table-cals.022 - scenario409 + scenario416 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.022 @@ -32244,16 +32790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.022.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3904e0"/> - + - + - expect table-cals.022.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1286, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario409-expect1 + scenario416-expect1 @@ -32299,17 +32845,17 @@ expect table-cals.022.expected - + - When transforming table-cals.023 - scenario410 + scenario417 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.023 @@ -32319,16 +32865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.023.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3912e0"/> - + - + - expect table-cals.023.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1289, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario410-expect1 + scenario417-expect1 @@ -32374,17 +32920,17 @@ expect table-cals.023.expected - + - When transforming table-cals.024 - scenario411 + scenario418 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.024 @@ -32394,16 +32940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.024.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3920e0"/> - + - + - expect table-cals.024.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1292, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario411-expect1 + scenario418-expect1 @@ -32449,17 +32995,17 @@ expect table-cals.024.expected - + - When transforming table-cals.025 - scenario412 + scenario419 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.025 @@ -32469,16 +33015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.025.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3928e0"/> - + - + - expect table-cals.025.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1296, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario412-expect1 + scenario419-expect1 @@ -32524,17 +33070,17 @@ expect table-cals.025.expected - + - When transforming table-cals.026 - scenario413 + scenario420 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.026 @@ -32544,16 +33090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.026.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3936e0"/> - + - + - expect table-cals.026.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1299, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario413-expect1 + scenario420-expect1 @@ -32599,17 +33145,17 @@ expect table-cals.026.expected - + - When transforming table-cals.027 - scenario414 + scenario421 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.027 @@ -32619,16 +33165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.027.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3944e0"/> - + - + - expect table-cals.027.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1302, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario414-expect1 + scenario421-expect1 @@ -32674,17 +33220,17 @@ expect table-cals.027.expected - + - When transforming table-cals.028 - scenario415 + scenario422 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.028 @@ -32694,16 +33240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.028.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3952e0"/> - + - + - expect table-cals.028.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1305, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario415-expect1 + scenario422-expect1 @@ -32749,17 +33295,17 @@ expect table-cals.028.expected - + - When transforming table-cals.029 - scenario416 + scenario423 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.029 @@ -32769,16 +33315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.029.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3960e0"/> - + - + - expect table-cals.029.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1308, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario416-expect1 + scenario423-expect1 @@ -32824,17 +33370,17 @@ expect table-cals.029.expected - + - When transforming table-cals.030 - scenario417 + scenario424 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.030 @@ -32844,16 +33390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.030.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3968e0"/> - + - + - expect table-cals.030.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1311, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario417-expect1 + scenario424-expect1 @@ -32899,17 +33445,17 @@ expect table-cals.030.expected - + - When transforming table-cals.031 - scenario418 + scenario425 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.031 @@ -32919,16 +33465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.031.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3976e0"/> - + - + - expect table-cals.031.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1314, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario418-expect1 + scenario425-expect1 @@ -32974,17 +33520,17 @@ expect table-cals.031.expected - + - When transforming table-cals.032 - scenario419 + scenario426 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.032 @@ -32994,16 +33540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.032.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3984e0"/> - + - + - expect table-cals.032.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1317, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario419-expect1 + scenario426-expect1 @@ -33049,17 +33595,17 @@ expect table-cals.032.expected - + - When transforming table-cals.033 - scenario420 + scenario427 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.033 @@ -33069,16 +33615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.033.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d3992e0"/> - + - + - expect table-cals.033.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1320, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario420-expect1 + scenario427-expect1 @@ -33124,17 +33670,17 @@ expect table-cals.033.expected - + - When transforming table-cals.034 - scenario421 + scenario428 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.034 @@ -33144,16 +33690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.034.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4000e0"/> - + - + - expect table-cals.034.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1323, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario421-expect1 + scenario428-expect1 @@ -33199,17 +33745,17 @@ expect table-cals.034.expected - + - When transforming table-cals.035 - scenario422 + scenario429 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.035 @@ -33219,16 +33765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.035.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4008e0"/> - + - + - expect table-cals.035.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1326, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario422-expect1 + scenario429-expect1 @@ -33274,17 +33820,17 @@ expect table-cals.035.expected - + - When transforming table-cals.036 - scenario423 + scenario430 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.036 @@ -33294,16 +33840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.036.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4016e0"/> - + - + - expect table-cals.036.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1330, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario423-expect1 + scenario430-expect1 @@ -33349,17 +33895,17 @@ expect table-cals.036.expected - + - When transforming table-cals.037 - scenario424 + scenario431 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.037 @@ -33369,16 +33915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.037.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4024e0"/> - + - + - expect table-cals.037.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1333, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario424-expect1 + scenario431-expect1 @@ -33424,17 +33970,17 @@ expect table-cals.037.expected - + - When transforming table-cals.038 - scenario425 + scenario432 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.038 @@ -33444,16 +33990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.038.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4032e0"/> - + - + - expect table-cals.038.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1336, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario425-expect1 + scenario432-expect1 @@ -33499,17 +34045,17 @@ expect table-cals.038.expected - + - When transforming table-cals.039 - scenario426 + scenario433 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.039 @@ -33519,16 +34065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.039.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4040e0"/> - + - + - expect table-cals.039.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1339, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario426-expect1 + scenario433-expect1 @@ -33574,17 +34120,17 @@ expect table-cals.039.expected - + - When transforming table-cals.040 - scenario427 + scenario434 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.040 @@ -33594,16 +34140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.040.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4048e0"/> - + - + - expect table-cals.040.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1342, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario427-expect1 + scenario434-expect1 @@ -33649,17 +34195,17 @@ expect table-cals.040.expected - + - When transforming table-cals.041 - scenario428 + scenario435 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.041 @@ -33669,16 +34215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.041.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4056e0"/> - + - + - expect table-cals.041.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1345, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario428-expect1 + scenario435-expect1 @@ -33724,17 +34270,17 @@ expect table-cals.041.expected - + - When transforming table-cals.042 - scenario429 + scenario436 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.042 @@ -33744,16 +34290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.042.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4064e0"/> - + - + - expect table-cals.042.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1348, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario429-expect1 + scenario436-expect1 @@ -33799,17 +34345,17 @@ expect table-cals.042.expected - + - When transforming table-cals.043 - scenario430 + scenario437 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.043 @@ -33819,16 +34365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.043.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4072e0"/> - + - + - expect table-cals.043.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1351, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario430-expect1 + scenario437-expect1 @@ -33874,17 +34420,17 @@ expect table-cals.043.expected - + - When transforming table-cals.044 - scenario431 + scenario438 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.044 @@ -33894,16 +34440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.044.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4080e0"/> - + - + - expect table-cals.044.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1354, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario431-expect1 + scenario438-expect1 @@ -33949,17 +34495,17 @@ expect table-cals.044.expected - + - When transforming table-cals.045 - scenario432 + scenario439 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.045 @@ -33969,16 +34515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.045.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4088e0"/> - + - + - expect table-cals.045.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1357, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario432-expect1 + scenario439-expect1 @@ -34024,17 +34570,17 @@ expect table-cals.045.expected - + - When transforming table-cals.046 - scenario433 + scenario440 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.046 @@ -34044,16 +34590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.046.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4096e0"/> - + - + - expect table-cals.046.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1360, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario433-expect1 + scenario440-expect1 @@ -34099,17 +34645,17 @@ expect table-cals.046.expected - + - When transforming table-cals.047 - scenario434 + scenario441 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.047 @@ -34119,16 +34665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.047.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4104e0"/> - + - + - expect table-cals.047.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1364, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario434-expect1 + scenario441-expect1 @@ -34174,17 +34720,17 @@ expect table-cals.047.expected - + - When transforming table-cals.048 - scenario435 + scenario442 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.048 @@ -34194,16 +34740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.048.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4112e0"/> - + - + - expect table-cals.048.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1367, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario435-expect1 + scenario442-expect1 @@ -34249,17 +34795,17 @@ expect table-cals.048.expected - + - When transforming table-cals.049 - scenario436 + scenario443 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.049 @@ -34269,16 +34815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.049.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4120e0"/> - + - + - expect table-cals.049.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1370, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario436-expect1 + scenario443-expect1 @@ -34324,17 +34870,17 @@ expect table-cals.049.expected - + - When transforming table-cals.050 - scenario437 + scenario444 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.050 @@ -34344,16 +34890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.050.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4128e0"/> - + - + - expect table-cals.050.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1373, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario437-expect1 + scenario444-expect1 @@ -34399,17 +34945,17 @@ expect table-cals.050.expected - + - When transforming table-cals.051 - scenario438 + scenario445 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.051 @@ -34419,16 +34965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.051.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4136e0"/> - + - + - expect table-cals.051.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1376, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario438-expect1 + scenario445-expect1 @@ -34474,17 +35020,17 @@ expect table-cals.051.expected - + - When transforming table-cals.052 - scenario439 + scenario446 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.052 @@ -34494,16 +35040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.052.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4144e0"/> - + - + - expect table-cals.052.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1379, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario439-expect1 + scenario446-expect1 @@ -34549,17 +35095,17 @@ expect table-cals.052.expected - + - When transforming table-cals.053 - scenario440 + scenario447 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.053 @@ -34569,16 +35115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.053.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4152e0"/> - + - + - expect table-cals.053.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1382, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario440-expect1 + scenario447-expect1 @@ -34624,17 +35170,17 @@ expect table-cals.053.expected - + - When transforming table-cals.054 - scenario441 + scenario448 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.054 @@ -34644,16 +35190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.054.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4160e0"/> - + - + - expect table-cals.054.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1385, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario441-expect1 + scenario448-expect1 @@ -34699,17 +35245,17 @@ expect table-cals.054.expected - + - When transforming table-cals.055 - scenario442 + scenario449 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-cals.055 @@ -34719,16 +35265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-cals.055.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4168e0"/> - + - + - expect table-cals.055.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1388, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario442-expect1 + scenario449-expect1 @@ -34774,17 +35320,17 @@ expect table-cals.055.expected - + - When transforming table-html.001 - scenario443 + scenario450 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.001 @@ -34794,16 +35340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4176e0"/> - + - + - expect table-html.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1391, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario443-expect1 + scenario450-expect1 @@ -34849,17 +35395,17 @@ expect table-html.001.expected - + - When transforming table-html.002 - scenario444 + scenario451 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.002 @@ -34869,16 +35415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4184e0"/> - + - + - expect table-html.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1394, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario444-expect1 + scenario451-expect1 @@ -34924,17 +35470,17 @@ expect table-html.002.expected - + - When transforming table-html.003 - scenario445 + scenario452 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.003 @@ -34944,16 +35490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4192e0"/> - + - + - expect table-html.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1398, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario445-expect1 + scenario452-expect1 @@ -34999,17 +35545,17 @@ expect table-html.003.expected - + - When transforming table-html.004 - scenario446 + scenario453 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.004 @@ -35019,16 +35565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4200e0"/> - + - + - expect table-html.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1401, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario446-expect1 + scenario453-expect1 @@ -35074,17 +35620,17 @@ expect table-html.004.expected - + - When transforming table-html.005 - scenario447 + scenario454 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.005 @@ -35094,16 +35640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4208e0"/> - + - + - expect table-html.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1404, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario447-expect1 + scenario454-expect1 @@ -35149,17 +35695,17 @@ expect table-html.005.expected - + - When transforming table-html.006 - scenario448 + scenario455 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.006 @@ -35169,16 +35715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4216e0"/> - + - + - expect table-html.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1407, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario448-expect1 + scenario455-expect1 @@ -35224,17 +35770,17 @@ expect table-html.006.expected - + - When transforming table-html.007 - scenario449 + scenario456 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.007 @@ -35244,16 +35790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4224e0"/> - + - + - expect table-html.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1410, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario449-expect1 + scenario456-expect1 @@ -35299,17 +35845,17 @@ expect table-html.007.expected - + - When transforming table-html.008 - scenario450 + scenario457 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.008 @@ -35319,16 +35865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4232e0"/> - + - + - expect table-html.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1413, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario450-expect1 + scenario457-expect1 @@ -35374,17 +35920,17 @@ expect table-html.008.expected - + - When transforming table-html.009 - scenario451 + scenario458 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.009 @@ -35394,16 +35940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4240e0"/> - + - + - expect table-html.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1416, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario451-expect1 + scenario458-expect1 @@ -35449,17 +35995,17 @@ expect table-html.009.expected - + - When transforming table-html.010 - scenario452 + scenario459 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.010 @@ -35469,16 +36015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4248e0"/> - + - + - expect table-html.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1419, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario452-expect1 + scenario459-expect1 @@ -35524,17 +36070,17 @@ expect table-html.010.expected - + - When transforming table-html.011 - scenario453 + scenario460 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.011 @@ -35544,16 +36090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4256e0"/> - + - + - expect table-html.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1422, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario453-expect1 + scenario460-expect1 @@ -35599,17 +36145,17 @@ expect table-html.011.expected - + - When transforming table-html.012 - scenario454 + scenario461 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.012 @@ -35619,16 +36165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4264e0"/> - + - + - expect table-html.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1425, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario454-expect1 + scenario461-expect1 @@ -35674,17 +36220,17 @@ expect table-html.012.expected - + - When transforming table-html.013 - scenario455 + scenario462 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.013 @@ -35694,16 +36240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4272e0"/> - + - + - expect table-html.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1428, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario455-expect1 + scenario462-expect1 @@ -35749,17 +36295,17 @@ expect table-html.013.expected - + - When transforming table-html.014 - scenario456 + scenario463 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.014 @@ -35769,16 +36315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.014.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4280e0"/> - + - + - expect table-html.014.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1432, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario456-expect1 + scenario463-expect1 @@ -35824,17 +36370,17 @@ expect table-html.014.expected - + - When transforming table-html.015 - scenario457 + scenario464 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.015 @@ -35844,16 +36390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.015.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4288e0"/> - + - + - expect table-html.015.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1435, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario457-expect1 + scenario464-expect1 @@ -35899,17 +36445,17 @@ expect table-html.015.expected - + - When transforming table-html.016 - scenario458 + scenario465 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.016 @@ -35919,16 +36465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.016.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4296e0"/> - + - + - expect table-html.016.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1438, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario458-expect1 + scenario465-expect1 @@ -35974,17 +36520,17 @@ expect table-html.016.expected - + - When transforming table-html.017 - scenario459 + scenario466 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.017 @@ -35994,16 +36540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.017.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4304e0"/> - + - + - expect table-html.017.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1441, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario459-expect1 + scenario466-expect1 @@ -36049,17 +36595,17 @@ expect table-html.017.expected - + - When transforming table-html.018 - scenario460 + scenario467 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.018 @@ -36069,16 +36615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.018.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4312e0"/> - + - + - expect table-html.018.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1444, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario460-expect1 + scenario467-expect1 @@ -36124,17 +36670,17 @@ expect table-html.018.expected - + - When transforming table-html.019 - scenario461 + scenario468 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.019 @@ -36144,16 +36690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.019.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4320e0"/> - + - + - expect table-html.019.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1447, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario461-expect1 + scenario468-expect1 @@ -36199,17 +36745,17 @@ expect table-html.019.expected - + - When transforming table-html.020 - scenario462 + scenario469 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.020 @@ -36219,16 +36765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.020.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4328e0"/> - + - + - expect table-html.020.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1450, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario462-expect1 + scenario469-expect1 @@ -36274,17 +36820,17 @@ expect table-html.020.expected - + - When transforming table-html.021 - scenario463 + scenario470 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.021 @@ -36294,16 +36840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.021.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4336e0"/> - + - + - expect table-html.021.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1453, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario463-expect1 + scenario470-expect1 @@ -36349,17 +36895,17 @@ expect table-html.021.expected - + - When transforming table-html.022 - scenario464 + scenario471 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.022 @@ -36369,16 +36915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.022.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4344e0"/> - + - + - expect table-html.022.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1456, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario464-expect1 + scenario471-expect1 @@ -36424,17 +36970,17 @@ expect table-html.022.expected - + - When transforming table-html.023 - scenario465 + scenario472 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.023 @@ -36444,16 +36990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.023.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4352e0"/> - + - + - expect table-html.023.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1459, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario465-expect1 + scenario472-expect1 @@ -36499,17 +37045,17 @@ expect table-html.023.expected - + - When transforming table-html.024 - scenario466 + scenario473 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.024 @@ -36519,16 +37065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.024.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4360e0"/> - + - + - expect table-html.024.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1462, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario466-expect1 + scenario473-expect1 @@ -36574,17 +37120,17 @@ expect table-html.024.expected - + - When transforming table-html.025 - scenario467 + scenario474 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.025 @@ -36594,16 +37140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.025.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4368e0"/> - + - + - expect table-html.025.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1466, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario467-expect1 + scenario474-expect1 @@ -36649,17 +37195,17 @@ expect table-html.025.expected - + - When transforming table-html.026 - scenario468 + scenario475 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.026 @@ -36669,16 +37215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.026.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4376e0"/> - + - + - expect table-html.026.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1469, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario468-expect1 + scenario475-expect1 @@ -36724,17 +37270,17 @@ expect table-html.026.expected - + - When transforming table-html.027 - scenario469 + scenario476 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.027 @@ -36744,16 +37290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.027.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4384e0"/> - + - + - expect table-html.027.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1472, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario469-expect1 + scenario476-expect1 @@ -36799,17 +37345,17 @@ expect table-html.027.expected - + - When transforming table-html.028 - scenario470 + scenario477 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.028 @@ -36819,16 +37365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.028.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4392e0"/> - + - + - expect table-html.028.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1475, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario470-expect1 + scenario477-expect1 @@ -36874,17 +37420,17 @@ expect table-html.028.expected - + - When transforming table-html.029 - scenario471 + scenario478 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming table-html.029 @@ -36894,16 +37440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/table-html.029.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4400e0"/> - + - + - expect table-html.029.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1478, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario471-expect1 + scenario478-expect1 @@ -36949,17 +37495,17 @@ expect table-html.029.expected - + - When transforming tag.001 - scenario472 + scenario479 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming tag.001 @@ -36969,16 +37515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/tag.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4408e0"/> - + - + - expect tag.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1481, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario472-expect1 + scenario479-expect1 @@ -37024,17 +37570,17 @@ expect tag.001.expected - + - When transforming task.001 - scenario473 + scenario480 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming task.001 @@ -37044,16 +37590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/task.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4416e0"/> - + - + - expect task.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1484, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario473-expect1 + scenario480-expect1 @@ -37099,17 +37645,17 @@ expect task.001.expected - + - When transforming titles.001 - scenario474 + scenario481 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming titles.001 @@ -37119,16 +37665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/titles.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4424e0"/> - + - + - expect titles.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1487, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario474-expect1 + scenario481-expect1 @@ -37174,17 +37720,17 @@ expect titles.001.expected - + - When transforming toc.001 - scenario475 + scenario482 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming toc.001 @@ -37194,16 +37740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/toc.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4432e0"/> - + - + - expect toc.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1490, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario475-expect1 + scenario482-expect1 @@ -37249,17 +37795,17 @@ expect toc.001.expected - + - When transforming toc.002 - scenario476 + scenario483 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming toc.002 @@ -37269,16 +37815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/toc.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4440e0"/> - + - + - expect toc.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1493, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario476-expect1 + scenario483-expect1 @@ -37324,17 +37870,17 @@ expect toc.002.expected - + - When transforming topic.001 - scenario477 + scenario484 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming topic.001 @@ -37344,16 +37890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/topic.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4448e0"/> - + - + - expect topic.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1496, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario477-expect1 + scenario484-expect1 @@ -37399,17 +37945,17 @@ expect topic.001.expected - + - When transforming topic.002 - scenario478 + scenario485 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming topic.002 @@ -37419,16 +37965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/topic.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4456e0"/> - + - + - expect topic.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1500, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario478-expect1 + scenario485-expect1 @@ -37474,17 +38020,17 @@ expect topic.002.expected - + - When transforming topic.003 - scenario479 + scenario486 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming topic.003 @@ -37494,16 +38040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/topic.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4464e0"/> - + - + - expect topic.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1503, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario479-expect1 + scenario486-expect1 @@ -37549,17 +38095,17 @@ expect topic.003.expected - + - When transforming trademark.001 - scenario480 + scenario487 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming trademark.001 @@ -37569,16 +38115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/trademark.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4472e0"/> - + - + - expect trademark.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1506, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario480-expect1 + scenario487-expect1 @@ -37624,17 +38170,17 @@ expect trademark.001.expected - + - When transforming uri.001 - scenario481 + scenario488 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming uri.001 @@ -37644,16 +38190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/uri.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4480e0"/> - + - + - expect uri.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1509, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario481-expect1 + scenario488-expect1 @@ -37699,17 +38245,17 @@ expect uri.001.expected - + - When transforming variablelist.001 - scenario482 + scenario489 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming variablelist.001 @@ -37719,16 +38265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/variablelist.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4488e0"/> - + - + - expect variablelist.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1512, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario482-expect1 + scenario489-expect1 @@ -37774,17 +38320,17 @@ expect variablelist.001.expected - + - When transforming variablelist.002 - scenario483 + scenario490 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming variablelist.002 @@ -37794,16 +38340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/variablelist.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4496e0"/> - + - + - expect variablelist.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1515, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario483-expect1 + scenario490-expect1 @@ -37849,17 +38395,17 @@ expect variablelist.002.expected - + - When transforming variablelist.003 - scenario484 + scenario491 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming variablelist.003 @@ -37869,16 +38415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/variablelist.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4504e0"/> - + - + - expect variablelist.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1518, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario484-expect1 + scenario491-expect1 @@ -37924,17 +38470,17 @@ expect variablelist.003.expected - + - When transforming variablelist.004 - scenario485 + scenario492 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming variablelist.004 @@ -37944,16 +38490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/variablelist.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4512e0"/> - + - + - expect variablelist.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1521, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario485-expect1 + scenario492-expect1 @@ -37999,17 +38545,17 @@ expect variablelist.004.expected - + - When transforming videoobject.001 - scenario486 + scenario493 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming videoobject.001 @@ -38019,16 +38565,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/videoobject.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4520e0"/> - + - + - expect videoobject.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1524, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario486-expect1 + scenario493-expect1 @@ -38074,17 +38620,17 @@ expect videoobject.001.expected - + - When transforming videoobject.002 - scenario487 + scenario494 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming videoobject.002 @@ -38094,16 +38640,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/videoobject.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4528e0"/> - + - + - expect videoobject.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1527, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario487-expect1 + scenario494-expect1 @@ -38149,17 +38695,17 @@ expect videoobject.002.expected - + - When transforming videoobject.003 - scenario488 + scenario495 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming videoobject.003 @@ -38169,16 +38715,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/videoobject.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4536e0"/> - + - + - expect videoobject.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1530, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario488-expect1 + scenario495-expect1 @@ -38224,17 +38770,17 @@ expect videoobject.003.expected - + - When transforming videoobject.004 - scenario489 + scenario496 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming videoobject.004 @@ -38244,16 +38790,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/videoobject.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4544e0"/> - + - + - expect videoobject.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1534, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario489-expect1 + scenario496-expect1 @@ -38299,17 +38845,17 @@ expect videoobject.004.expected - + - When transforming wordsize.001 - scenario490 + scenario497 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming wordsize.001 @@ -38319,16 +38865,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/wordsize.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4552e0"/> - + - + - expect wordsize.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1537, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario490-expect1 + scenario497-expect1 @@ -38374,17 +38920,17 @@ expect wordsize.001.expected - + - When transforming xinclude.001 - scenario491 + scenario498 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.001 @@ -38394,16 +38940,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4560e0"/> - + - + - expect xinclude.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1540, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario491-expect1 + scenario498-expect1 @@ -38449,17 +38995,17 @@ expect xinclude.001.expected - + - When transforming xinclude.002 - scenario492 + scenario499 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.002 @@ -38469,16 +39015,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4568e0"/> - + - + - expect xinclude.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1543, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario492-expect1 + scenario499-expect1 @@ -38524,17 +39070,17 @@ expect xinclude.002.expected - + - When transforming xinclude.003 - scenario493 + scenario500 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.003 @@ -38544,16 +39090,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4576e0"/> - + - + - expect xinclude.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1546, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario493-expect1 + scenario500-expect1 @@ -38599,17 +39145,17 @@ expect xinclude.003.expected - + - When transforming xinclude.004 - scenario494 + scenario501 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.004 @@ -38619,16 +39165,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4584e0"/> - + - + - expect xinclude.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1549, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario494-expect1 + scenario501-expect1 @@ -38674,17 +39220,17 @@ expect xinclude.004.expected - + - When transforming xinclude.005 - scenario495 + scenario502 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.005 @@ -38694,16 +39240,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4592e0"/> - + - + - expect xinclude.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1552, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario495-expect1 + scenario502-expect1 @@ -38749,17 +39295,17 @@ expect xinclude.005.expected - + - When transforming xinclude.006 - scenario496 + scenario503 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.006 @@ -38769,16 +39315,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4600e0"/> - + - + - expect xinclude.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1555, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario496-expect1 + scenario503-expect1 @@ -38824,17 +39370,17 @@ expect xinclude.006.expected - + - When transforming xinclude.007 - scenario497 + scenario504 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.007 @@ -38844,16 +39390,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4608e0"/> - + - + - expect xinclude.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1558, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario497-expect1 + scenario504-expect1 @@ -38899,17 +39445,17 @@ expect xinclude.007.expected - + - When transforming xinclude.008 - scenario498 + scenario505 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.008 @@ -38919,16 +39465,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.008.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4616e0"/> - + - + - expect xinclude.008.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1561, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario498-expect1 + scenario505-expect1 @@ -38974,17 +39520,17 @@ expect xinclude.008.expected - + - When transforming xinclude.009 - scenario499 + scenario506 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.009 @@ -38994,16 +39540,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.009.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4624e0"/> - + - + - expect xinclude.009.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1564, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario499-expect1 + scenario506-expect1 @@ -39049,17 +39595,17 @@ expect xinclude.009.expected - + - When transforming xinclude.010 - scenario500 + scenario507 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.010 @@ -39069,16 +39615,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.010.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4632e0"/> - + - + - expect xinclude.010.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1568, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario500-expect1 + scenario507-expect1 @@ -39124,17 +39670,17 @@ expect xinclude.010.expected - + - When transforming xinclude.011 - scenario501 + scenario508 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.011 @@ -39144,16 +39690,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.011.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4640e0"/> - + - + - expect xinclude.011.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1571, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario501-expect1 + scenario508-expect1 @@ -39199,17 +39745,17 @@ expect xinclude.011.expected - + - When transforming xinclude.012 - scenario502 + scenario509 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.012 @@ -39219,16 +39765,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.012.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4648e0"/> - + - + - expect xinclude.012.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1574, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario502-expect1 + scenario509-expect1 @@ -39274,17 +39820,17 @@ expect xinclude.012.expected - + - When transforming xinclude.013 - scenario503 + scenario510 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.013 @@ -39294,16 +39840,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.013.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4656e0"/> - + - + - expect xinclude.013.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1577, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario503-expect1 + scenario510-expect1 @@ -39349,17 +39895,17 @@ expect xinclude.013.expected - + - When transforming xinclude.014 - scenario504 + scenario511 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.014 @@ -39369,16 +39915,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.014.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4664e0"/> - + - + - expect xinclude.014.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1580, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario504-expect1 + scenario511-expect1 @@ -39424,17 +39970,17 @@ expect xinclude.014.expected - + - When transforming xinclude.015 - scenario505 + scenario512 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.015 @@ -39444,16 +39990,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.015.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4672e0"/> - + - + - expect xinclude.015.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1583, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario505-expect1 + scenario512-expect1 @@ -39499,17 +40045,17 @@ expect xinclude.015.expected - + - When transforming xinclude.016 - scenario506 + scenario513 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.016 @@ -39519,16 +40065,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.016.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4680e0"/> - + - + - expect xinclude.016.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1586, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario506-expect1 + scenario513-expect1 @@ -39574,17 +40120,17 @@ expect xinclude.016.expected - + - When transforming xinclude.017 - scenario507 + scenario514 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.017 @@ -39594,16 +40140,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.017.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4688e0"/> - + - + - expect xinclude.017.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1589, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario507-expect1 + scenario514-expect1 @@ -39649,17 +40195,17 @@ expect xinclude.017.expected - + - When transforming xinclude.018 - scenario508 + scenario515 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.018 @@ -39669,16 +40215,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.018.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4696e0"/> - + - + - expect xinclude.018.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1592, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario508-expect1 + scenario515-expect1 @@ -39724,17 +40270,17 @@ expect xinclude.018.expected - + - When transforming xinclude.019 - scenario509 + scenario516 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.019 @@ -39744,16 +40290,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.019.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4704e0"/> - + - + - expect xinclude.019.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1595, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario509-expect1 + scenario516-expect1 @@ -39799,17 +40345,17 @@ expect xinclude.019.expected - + - When transforming xinclude.020 - scenario510 + scenario517 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.020 @@ -39819,16 +40365,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.020.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4712e0"/> - + - + - expect xinclude.020.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1598, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario510-expect1 + scenario517-expect1 @@ -39874,17 +40420,17 @@ expect xinclude.020.expected - + - When transforming xinclude.021 - scenario511 + scenario518 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.021 @@ -39894,16 +40440,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.021.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4720e0"/> - + - + - expect xinclude.021.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1602, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario511-expect1 + scenario518-expect1 @@ -39949,17 +40495,17 @@ expect xinclude.021.expected - + - When transforming xinclude.022 - scenario512 + scenario519 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.022 @@ -39969,16 +40515,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.022.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4728e0"/> - + - + - expect xinclude.022.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1605, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario512-expect1 + scenario519-expect1 @@ -40024,17 +40570,17 @@ expect xinclude.022.expected - + - When transforming xinclude.023 - scenario513 + scenario520 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.023 @@ -40044,16 +40590,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.023.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4736e0"/> - + - + - expect xinclude.023.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1608, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario513-expect1 + scenario520-expect1 @@ -40099,17 +40645,17 @@ expect xinclude.023.expected - + - When transforming xinclude.024 - scenario514 + scenario521 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xinclude.024 @@ -40119,16 +40665,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xinclude.024.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4744e0"/> - + - + - expect xinclude.024.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1611, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario514-expect1 + scenario521-expect1 @@ -40174,17 +40720,17 @@ expect xinclude.024.expected - + - When transforming xlink.001 - scenario515 + scenario522 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xlink.001 @@ -40194,16 +40740,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xlink.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4752e0"/> - + - + - expect xlink.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1614, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario515-expect1 + scenario522-expect1 @@ -40249,17 +40795,17 @@ expect xlink.001.expected - + - When transforming xlink.002 - scenario516 + scenario523 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xlink.002 @@ -40269,16 +40815,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xlink.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4760e0"/> - + - + - expect xlink.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1617, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario516-expect1 + scenario523-expect1 @@ -40324,17 +40870,17 @@ expect xlink.002.expected - + - When transforming xlink.003 - scenario517 + scenario524 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xlink.003 @@ -40344,16 +40890,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xlink.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4768e0"/> - + - + - expect xlink.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1620, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario517-expect1 + scenario524-expect1 @@ -40399,17 +40945,17 @@ expect xlink.003.expected - + - When transforming xlink.004 - scenario518 + scenario525 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xlink.004 @@ -40419,16 +40965,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xlink.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4776e0"/> - + - + - expect xlink.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1623, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario518-expect1 + scenario525-expect1 @@ -40474,17 +41020,17 @@ expect xlink.004.expected - + - When transforming xlink.005 - scenario519 + scenario526 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xlink.005 @@ -40494,16 +41040,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xlink.005.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4784e0"/> - + - + - expect xlink.005.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1626, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario519-expect1 + scenario526-expect1 @@ -40549,17 +41095,17 @@ expect xlink.005.expected - + - When transforming xlink.006 - scenario520 + scenario527 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xlink.006 @@ -40569,16 +41115,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xlink.006.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4792e0"/> - + - + - expect xlink.006.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1629, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario520-expect1 + scenario527-expect1 @@ -40624,17 +41170,17 @@ expect xlink.006.expected - + - When transforming xlink.007 - scenario521 + scenario528 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xlink.007 @@ -40644,16 +41190,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xlink.007.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4800e0"/> - + - + - expect xlink.007.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1632, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario521-expect1 + scenario528-expect1 @@ -40699,17 +41245,17 @@ expect xlink.007.expected - + - When transforming xref.001 - scenario522 + scenario529 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xref.001 @@ -40719,16 +41265,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xref.001.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4808e0"/> - + - + - expect xref.001.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1636, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario522-expect1 + scenario529-expect1 @@ -40774,17 +41320,17 @@ expect xref.001.expected - + - When transforming xref.002 - scenario523 + scenario530 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xref.002 @@ -40794,16 +41340,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xref.002.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4816e0"/> - + - + - expect xref.002.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1639, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario523-expect1 + scenario530-expect1 @@ -40849,17 +41395,17 @@ expect xref.002.expected - + - When transforming xref.003 - scenario524 + scenario531 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xref.003 @@ -40869,16 +41415,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xref.003.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4824e0"/> - + - + - expect xref.003.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1642, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario524-expect1 + scenario531-expect1 @@ -40924,17 +41470,17 @@ expect xref.003.expected - + - When transforming xref.004 - scenario525 + scenario532 file:/home/runner/work/xslTNG/xslTNG/build/xspec/default.xspec When transforming xref.004 @@ -40944,16 +41490,16 @@ file:/home/runner/work/xslTNG/xslTNG/src/test/resources/xml/xref.004.xml - - + + select="$Q{urn:x-xspec:compile:impl}context-d4832e0"/> - + - + - expect xref.004.expected - - + + select="Q{urn:x-xspec:common:deep-equal}deep-equal($Q{urn:x-xspec:compile:impl}expect-d581e1645, $Q{http://www.jenitennison.com/xslt/xspec}result, '')"/> FAILED - scenario525-expect1 + scenario532-expect1 @@ -40999,7 +41545,7 @@ expect xref.004.expected - + diff --git a/report/default-result.html b/report/default-result.html index 81185a67b2..3fe79e7562 100644 --- a/report/default-result.html +++ b/report/default-result.html @@ -1,7 +1,7 @@ - Test Report for /home/runner/work/xslTNG/xslTNG/build/env/default.xsl (passed: 525 / pending: 0 / failed: 0 / total: 525) + Test Report for /home/runner/work/xslTNG/xslTNG/build/env/default.xsl (passed: 532 / pending: 0 / failed: 0 / total: 532)

Unit Test: iso690.001.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Monographs

Non-serial bibliographic item, i.e. an item either complete in +

Unit Test: iso690.001.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Monographs

Non-serial bibliographic item, i.e. an item either complete in one part or complete (or intended to be completed) in a finite number of separate parts.

ElementExample
Primary responsibilityLOMINADZE, DG.
TitleCyclotron waves in plasma
*Subordinate responsibilityTranslated by AN. Dellis; edited by SM. Hamberger
Edition1st ed.
*Place of publicationOxford
*PublisherPergamon Press
Year of publication1981
*Extent206 p.
*SeriesInternational series in natural philosophy
*NotesTranslation of: Ciklotronnye volny v plasme
Standard numberISBN 0-08-021680-3

Markup:

 1 |<biblioentry role="monograph">
diff --git a/report/expected/iso690.002.html b/report/expected/iso690.002.html
index 63fce7c9a4..a540069ae9 100644
--- a/report/expected/iso690.002.html
+++ b/report/expected/iso690.002.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.002.xml

Unit Test: iso690.002.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Serials

Publication, in any medium, issued in successive parts, usually +

Unit Test: iso690.002.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Serials

Publication, in any medium, issued in successive parts, usually having numeric or chronological designations, and intended to be continued indefinitely.

ElementExample
TitleCommunications equipment manufacturers
ResponsibilityManufacturing and Primary Industries Division, Statistics Canada
EditionPreliminary edition
Issue designation (date and/or n°)1970-
*Place of publicationOttawa
*PublisherStatistics Canada
Year of publication1971-
*SeriesAnnual census of manufacturers
*NotesText in English and French
Standard numberISSN 0700-0758

Markup:

 1 |<biblioentry role="serial">
diff --git a/report/expected/iso690.003.html b/report/expected/iso690.003.html
index 3d1686605c..d44100f5a4 100644
--- a/report/expected/iso690.003.html
+++ b/report/expected/iso690.003.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.003.xml

Unit Test: iso690.003.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Parts of monographs

ElementExample
Primary responsibilityPARKER, TJ. and HASWELL, WD.
Title of host documentA text-book of zoology +

Unit Test: iso690.003.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Parts of monographs

ElementExample
Primary responsibilityPARKER, TJ. and HASWELL, WD.
Title of host documentA text-book of zoology
Edition5th ed.
Numeration of the partvol. 1
*Subordinate responsibilityrevised by WD. Lang
*Place of publicationLondon
*PublisherMacmillan
Year of publication1930
Location within hostSection 12, Phylum Mollusca, p. 663-782

Markup:

 1 |<biblioentry role="part">
    |  <authorgroup>
    |    <author>
diff --git a/report/expected/iso690.004.html b/report/expected/iso690.004.html
index 14f43fb0ed..b3434537ff 100644
--- a/report/expected/iso690.004.html
+++ b/report/expected/iso690.004.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.004.xml

Unit Test: iso690.004.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Contributions to monographs

Contribution is independent unit forming part of a document.

ElementExample
for contribution:
Primary responsibilityWRIGLEY, EA.
TitleParish registers and the historian
for host:
Primary responsibilitySTEEL, DJ.
TitleNational index of parish registers +

Unit Test: iso690.004.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Contributions to monographs

Contribution is independent unit forming part of a document.

ElementExample
for contribution:
Primary responsibilityWRIGLEY, EA.
TitleParish registers and the historian
for host:
Primary responsibilitySTEEL, DJ.
TitleNational index of parish registers
Edition(not in this example)
*Place of publicationLondon
*PublisherSociety of Genealogists
Year of publication1968
Location within hostvol. 1, p. 155-167

Markup:

 1 |<biblioentry role="contribution">
    |  <biblioset relation="part">
    |    <author>
diff --git a/report/expected/iso690.005.html b/report/expected/iso690.005.html
index f6266ae9ab..4dd7445788 100644
--- a/report/expected/iso690.005.html
+++ b/report/expected/iso690.005.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.005.xml

Unit Test: iso690.005.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Articles, etc., in serials

ElementExample
Primary responsibilityWEAVER, William
TitleThe collectors: command performances
*Subordinate responsibilityPhotography by Robert Emmett Bright
Title of host documentArchitectural Digest +

Unit Test: iso690.005.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Articles, etc., in serials

ElementExample
Primary responsibilityWEAVER, William
TitleThe collectors: command performances
*Subordinate responsibilityPhotography by Robert Emmett Bright
Title of host documentArchitectural Digest
Edition(not in this example)
Location within host:
Year, Issue designation, Pagination of the partDecember 1985, vol. 42, no. 12, p. 126-133

Markup:

 1 |<biblioentry role="article">
    |  <biblioset relation="article">
    |    <author>
diff --git a/report/expected/iso690.006.html b/report/expected/iso690.006.html
index 5cb67f3e6d..caf1e0a85f 100644
--- a/report/expected/iso690.006.html
+++ b/report/expected/iso690.006.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.006.xml

Unit Test: iso690.006.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Patent documents

ElementExample
*Primary responsibility (applicant)Carl Zeiss Jena, VEB
*Title of the inventionAnordnung zur lichtelektrischen Erfassung der Mitte eines Lichtfeldes +

Unit Test: iso690.006.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Patent documents

ElementExample
*Primary responsibility (applicant)Carl Zeiss Jena, VEB
*Title of the inventionAnordnung zur lichtelektrischen Erfassung der Mitte eines Lichtfeldes
*Subordinate responsibilityErfinder: W. FEIST, C. WAHNERT, E. FEISTAUER
*NotesInt. Cl.3: G02 B 27/14
Identification:
Country or issuing officeSchweiz
Kind of patent documentPatentschrift
Number608 626
Date of publication of cited document1979-01-15

Markup:

 1 |<biblioentry role="patent">
    |  <author>
    |    <orgname>Carl Zeiss Jena, VEB</orgname>
diff --git a/report/expected/iso690.007.html b/report/expected/iso690.007.html
index 7ba2903216..401f90bf1f 100644
--- a/report/expected/iso690.007.html
+++ b/report/expected/iso690.007.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.007.xml

Unit Test: iso690.007.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Monographs, databases and computer programs

ElementExample
Primary responsibilityCARROLL, Lewis
TitleAlice's Adventures in Wonderland +

Unit Test: iso690.007.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Monographs, databases and computer programs

ElementExample
Primary responsibilityCARROLL, Lewis
TitleAlice's Adventures in Wonderland
Type of medium[online]
*Subordinate responsibility(not in this example)
EditionTextinfo ed. 2.1
Place of publication[Dortmund, Germany]
PublisherWindspiel
Date of publicationNovember 1994
Date of update/revision(not in this example)
+Date of citation[cited 10 February 1995]
*Series(not in this example)
*Notes(not in this example)
+ Availability and accessAvailable from World Wide Web: <http://germany.eu.net/books/carroll/alice/html>
Also available in PostScript and ASCII versions from Internet: <ftp://ftp.Germany.EU.net/pub/books/carroll/>
Standard number(not in this example)

Markup:

 1 |<biblioentry role="monograph">
    |  <author>
diff --git a/report/expected/iso690.008.html b/report/expected/iso690.008.html
index 98d9d8ccc4..4ee1a38ec5 100644
--- a/report/expected/iso690.008.html
+++ b/report/expected/iso690.008.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.008.xml

Unit Test: iso690.008.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Parts of monographs, databases and computer programs

ElementExample
Primary responsibility of host documentCARROLL, Lewis
Title of host documentAlice's Adventures in Wonderland +

Unit Test: iso690.008.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Parts of monographs, databases and computer programs

ElementExample
Primary responsibility of host documentCARROLL, Lewis
Title of host documentAlice's Adventures in Wonderland
Type of medium[online]
*Subordinate responsibility of host document(not in this example)
EditionTextinfo ed. 2.2
Place of publication[Dortmund, Germany]
PublisherWindspiel
Date of publicationNovember 1994
Date of update/revision(not in this example)
+Date of citation[cited 30 March 1995]
Chapter or equivalent designation (of part)Chapter VII
Title (of part)Mad Tea-Party
*Numeration within host document(not in this example)
Location within host document(not in this example)
*Notes(not in this example)
+Availability and accessAvailable from World Wide Web: <http://germany.eu.net/books/carroll/alice_10.html#SEC13>
Standard number(not in this example)

Markup:

 1 |<biblioentry role="part">
    |  <author>
    |    <personname>
diff --git a/report/expected/iso690.009.html b/report/expected/iso690.009.html
index cba95d7409..c2d8787b13 100644
--- a/report/expected/iso690.009.html
+++ b/report/expected/iso690.009.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.008.xml

Unit Test: iso690.008.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Contributions to monographs, databases and computer programs

ElementExample
Primary responsibility (of contribution)MCCONNELL, W. H.
Title (of contribution)Constitutional History
Primary responsibility of host document(not in this example)
Title of host documentThe Canadian Encyclopedia +

Unit Test: iso690.008.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Contributions to monographs, databases and computer programs

ElementExample
Primary responsibility (of contribution)MCCONNELL, W. H.
Title (of contribution)Constitutional History
Primary responsibility of host document(not in this example)
Title of host documentThe Canadian Encyclopedia
Type of medium[CD-ROM]
*Subordinate responsibility of host document(not in this example)
EditionMacintosh version 1.1
Place of publicationToronto
PublisherMcClelland & Stewart
Date of publicationc1993
Date of update/revision(not in this example)
+Date of citation(not in this example)
*Numeration within host document(not in this example)
Location within host document(not in this example)
*Notes(not in this example)
+Availability and access(not in this example)
Standard numberISBN 0-7710-1932-7

Markup:

 1 |<biblioentry role="contribution">
    |  <biblioset relation="part">
    |    <author>
diff --git a/report/expected/iso690.010.html b/report/expected/iso690.010.html
index bdcd9e66cc..f4bc588e2e 100644
--- a/report/expected/iso690.010.html
+++ b/report/expected/iso690.010.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.009.xml

Unit Test: iso690.009.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Electronic serials

ElementExample
TitleJournal of Technology Education +

Unit Test: iso690.009.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Electronic serials

ElementExample
TitleJournal of Technology Education
Type of medium[online]
Edition(not in this example)
Place of publicationBlacksburg (Va.)
PublisherVirginia Polytechnic Institute and State University
Date of publication1989-
+Date of citation[cited 15 March 1995]
*Series(not in this example)
*NotesSemi-annual
+Availability and accessAvailable from Internet: <gopher://borg.lib.vt.edu:edu:70/1/jte>
Standard numberISSN 1045-1064

Markup:

 1 |<biblioentry role="serial">
    |  <title>Journal of Technology Education</title>
    |  <bibliomisc role="medium">online</bibliomisc>
diff --git a/report/expected/iso690.011.html b/report/expected/iso690.011.html
index b18fa1c383..87cdb1f6f8 100644
--- a/report/expected/iso690.011.html
+++ b/report/expected/iso690.011.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.010.xml

Unit Test: iso690.010.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Articles and other contributions

ElementExample
Primary responsibility of contributionPRICE-WILKIN, John
Title of contributionUsing the World-Wide Web to Deliver Complex Electronic Documents: Implications for Libraries
Title SerialsThe Public-Access Computer Systems Review +

Unit Test: iso690.010.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Articles and other contributions

ElementExample
Primary responsibility of contributionPRICE-WILKIN, John
Title of contributionUsing the World-Wide Web to Deliver Complex Electronic Documents: Implications for Libraries
Title SerialsThe Public-Access Computer Systems Review
Type of medium[online]
Edition(not in this example)
Number designation1994, vol. 5, no. 3
Date of update/revision(not in this example)
+Date of citation[cited 1994-07-28]
Location within host documentpp. 5-21
*Notes(not in this example)
+Availability and accessAvailable from Internet: <gopher://info.lib.uh.edu:70/00/articles/e-journals/uhlibrary/pacsreview/v5/n3/pricewil.5n3>
Standard numberISSN 1048-6542

Markup:

 1 |<biblioentry role="article">
    |  <biblioset relation="article">
    |    <author>
diff --git a/report/expected/iso690.012.html b/report/expected/iso690.012.html
index ea64a095c2..31a2c03cb3 100644
--- a/report/expected/iso690.012.html
+++ b/report/expected/iso690.012.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.011.xml

Unit Test: iso690.011.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Electronic bulletin boards, discussion lists and electronic messages

+ + This is a very wide column (120mm) + The second column is also wide (80mm) + + + + + + This is a regular para below the very wide table. + It has nothing to say, but will show the orientation within the firts chapter of this book + + + + Second Chapter + The second chapter will end this book, which is very short indeed. It does not tell us anything about the outside world, + it's only purpuse is to show the effect of PDF pages in landscape orientation. + + + + + diff --git a/report/xml/book.016.xml b/report/xml/book.016.xml new file mode 100644 index 0000000000..d3e19b0ac5 --- /dev/null +++ b/report/xml/book.016.xml @@ -0,0 +1,73 @@ + + + + Still more fun with landscape orientation + + A series of book unit test that checks landscape orientation. + + + + + + Purpose of this Book + This book contains a table with two wide columns. + The table won't fit on a regular, portrait-oriented page which is about 160 or 170mm wide (assuming A$ paper size). + This is why it is printed in landscape orientation in PDF output. + But as always, there are different ways to achieve this goal. + This table with it's caption should be printed in landscape orientation + + + + + + + This is a very wide column (120mm) + The second column is also wide (80mm) + + + + We use the table's orient Attribute + + + + + + + This is a regular para below the very wide table. + It has nothing to say, but will show the orientation within the firts chapter of this book + + + + + + + + This is a very wide column (120mm) + The second column is also wide (80mm) + + + + We use the table's role Attribute + + + + + + + + + + Second Chapter + The second chapter will end this book, which is very short indeed. It does not tell us anything about the outside world, + it's only purpuse is to show the effect of PDF pages in landscape orientation. + + + + + diff --git a/report/xml/book.017.xml b/report/xml/book.017.xml new file mode 100644 index 0000000000..dc1febe48a --- /dev/null +++ b/report/xml/book.017.xml @@ -0,0 +1,46 @@ + + + + Landscape orientation, revisited + + A series of book unit test that checks landscape orientation. + + + +
+ Purpose of this Book + This book contains a table with two wide columns. + The table won't fit on a regular, portrait-oriented page which is about 160 or 170mm wide (assuming A$ paper size). + This is why it is printed in landscape orientation in PDF output. + But as always, there are different ways to achieve this goal. + This article should be printed in landscape orientation + + + + +
+ + This is a very wide column (120mm) + The second column is also wide (80mm) + + + + + + This is a regular para below the very wide table. + It has nothing to say, but will show the orientation within the firts chapter of this book + + +
+ Second Chapter + The second chapter will end this book, which is very short indeed. It does not tell us anything about the outside world, + it's only purpuse is to show the effect of PDF pages in landscape orientation. +
+ + + + diff --git a/report/xml/book.018.xml b/report/xml/book.018.xml new file mode 100644 index 0000000000..dc6e87cbbd --- /dev/null +++ b/report/xml/book.018.xml @@ -0,0 +1,35 @@ + + + + Fun with landscape orientend graphics + + A series of book unit test that checks landscape orientation. + + + + + Purpose of this Book + + The folowing figure should be printed in landscape orientation + + + + + + + + + This is a regular paragraph below the figure, it shoud be in portrait orientation. + + + + Second Chapter + The second chapter will end this book, which is very short indeed. It does not tell us anything about the outside world, + it's only purpuse is to show the effect of PDF pages in landscape orientation. + + + + + diff --git a/report/xml/book.019.xml b/report/xml/book.019.xml new file mode 100644 index 0000000000..ddb2826d42 --- /dev/null +++ b/report/xml/book.019.xml @@ -0,0 +1,56 @@ + + + + Fun with landscape orientation + + A series of book unit test that checks landscape orientation. + + + + + Purpose of this Book + This book contains a table with two wide columns. + The table won't fit on a regular, portrait-oriented page which is about 160 or 170mm wide (assuming A$ paper size). + This is why it is printed in landscape orientation in PDF output. + But as always, there are different ways to achieve this goal. + The whole book should be printed in landscape orientation + + + + + + + This is a very wide column (120mm) + The second column is also wide (80mm) + + + + + + This is a regular para below the very wide table. + It has nothing to say, but will show the orientation within the firts chapter of this book + + + + Second Chapter + The second chapter will end this book, which is very short indeed. It + does not tell us anything about the outside world, it's only purpose is to + show the effect of PDF pages in landscape orientation. + +
ElementExample
TitlePACS-L (Public Access Computer Systems Forum) +

Unit Test: iso690.011.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Electronic bulletin boards, discussion lists and electronic messages

ElementExample
TitlePACS-L (Public Access Computer Systems Forum)
Type of medium[online]
Place of publicationHouston (Tex.)
PublisherUniversity of Houston Libraries
Date of publicationJune 1989-
Date of citation[cited 17 May 1995]
*Notes(not in this example)
Availability and accessAvailable from Internet: <listserv@unhupvm1.uh.edu>

Markup:

 1 |<biblioentry role="messagesystem">
    |  <title>PACS-L (Public Access Computer Systems Forum)</title>
    |  <bibliomisc role="medium">online</bibliomisc>
diff --git a/report/expected/iso690.013.html b/report/expected/iso690.013.html
index 561db31d14..82cfd1e997 100644
--- a/report/expected/iso690.013.html
+++ b/report/expected/iso690.013.html
@@ -1,7 +1,7 @@
 Unit Test: iso690.012.xml

Unit Test: iso690.012.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements -for online documents and optional for others.

1Electronic messages

ElementExample
Primary responsibility of messagePARKER, Elliot
Title of messageRe: Citing Electronic Journals
Title of host message systemPACS-L (Public Access Computer Systems Forum) +

Unit Test: iso690.012.xml

Examples are adapted from ISO 690 and ISO 690-2 standards.

Elements marked with * are optional, + marks mandatory elements +for online documents and optional for others.

1Electronic messages

ElementExample
Primary responsibility of messagePARKER, Elliot
Title of messageRe: Citing Electronic Journals
Title of host message systemPACS-L (Public Access Computer Systems Forum)
Type of medium[online]
*Subordinate responsibility/applicant(s)(not in this example)
Place of publicationHouston (Tex.)
PublisherUniversity of Houston Libraries
Date of publication24 November 1989; 13:29:35 CST
Date of citation[cited 1 January 1995; 16:15 EST]
*Numeration within host message system(not in this example)
Location within host message system(not in this example)
Availability and accessAvailable from Internet: <telnet://brsuser@a.cni.org>
*Notes(not in this example)

Markup:

 1 |<biblioentry role="message">
    |  <biblioset relation="part">
    |    <author>
diff --git a/report/expected/js/annotations.js b/report/expected/js/annotations.js
index befc643d6b..43a71ecccd 100644
--- a/report/expected/js/annotations.js
+++ b/report/expected/js/annotations.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is annotations.js providing support for popup annotations.
  *
diff --git a/report/expected/js/chunk-nav.js b/report/expected/js/chunk-nav.js
index 964de9ab93..61336104ba 100644
--- a/report/expected/js/chunk-nav.js
+++ b/report/expected/js/chunk-nav.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is chunk-nav.js providing support for keyboard
  * navigation between chunks.
diff --git a/report/expected/js/controls.js b/report/expected/js/controls.js
index 52a990078f..3594d9836e 100644
--- a/report/expected/js/controls.js
+++ b/report/expected/js/controls.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is controls.js providing JavaScript controls.
  *
diff --git a/report/expected/js/copy-verbatim.js b/report/expected/js/copy-verbatim.js
index 4ee3c33229..d35c560b9f 100644
--- a/report/expected/js/copy-verbatim.js
+++ b/report/expected/js/copy-verbatim.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is copy-verbatim.js providing support for a dynamic
  * copy-to-clipboard link on verbatim listings.
diff --git a/report/expected/js/fallback.js b/report/expected/js/fallback.js
index bfa640b6e1..7e2407485c 100644
--- a/report/expected/js/fallback.js
+++ b/report/expected/js/fallback.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is fallback.js providing support for audio/video fallback.
  *
diff --git a/report/expected/js/pagetoc.js b/report/expected/js/pagetoc.js
index 81af1eafee..9d81939057 100644
--- a/report/expected/js/pagetoc.js
+++ b/report/expected/js/pagetoc.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is pagetoc.js providing support for on-page ToCs.
  *
diff --git a/report/expected/js/persistent-toc.js b/report/expected/js/persistent-toc.js
index df007b49f6..3dadb10089 100644
--- a/report/expected/js/persistent-toc.js
+++ b/report/expected/js/persistent-toc.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is persistent-toc.js providing support for the ToC popup
  *
@@ -14,7 +14,7 @@
   let borderLeftColor = "white";
   let curpress = null;
   let searchListener = false;
-  let VERSION = "2.2.1-SNAPSHOT";
+  let VERSION = "2.2.2-SNAPSHOT";
   let PTOCID = "ptoc-data-file";
 
   const showToC = function(event) {
diff --git a/report/expected/js/presentation.js b/report/expected/js/presentation.js
index c9ee6c414f..1dbc2d8a8d 100644
--- a/report/expected/js/presentation.js
+++ b/report/expected/js/presentation.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * See https://xsltng.docbook.org/
  *
diff --git a/report/expected/js/xlink.js b/report/expected/js/xlink.js
index 7e34f6545d..73a6f70ccb 100644
--- a/report/expected/js/xlink.js
+++ b/report/expected/js/xlink.js
@@ -1,4 +1,4 @@
-/* DocBook xslTNG version 2.2.1-SNAPSHOT
+/* DocBook xslTNG version 2.2.2-SNAPSHOT
  *
  * This is xlink.js providing support for multi-targeted links
  *
diff --git a/report/expected/l10n.001.html b/report/expected/l10n.001.html
index c10b45ab55..a791a87039 100644
--- a/report/expected/l10n.001.html
+++ b/report/expected/l10n.001.html
@@ -1 +1 @@
-Unit Test: l10n.001.xml

Unit Test: l10n.001.xml

This isn’t really in Chinese.

\ No newline at end of file +Unit Test: l10n.001.xml

Unit Test: l10n.001.xml

This isn’t really in Chinese.

\ No newline at end of file diff --git a/report/expected/l10n.002.html b/report/expected/l10n.002.html index 57369fb57b..176d0c79d6 100644 --- a/report/expected/l10n.002.html +++ b/report/expected/l10n.002.html @@ -1 +1 @@ -Unit Test: l10n.002.xml

Unit Test: l10n.002.xml

This is English.

\ No newline at end of file +Unit Test: l10n.002.xml

Unit Test: l10n.002.xml

This is English.

\ No newline at end of file diff --git a/report/expected/l10n.003.html b/report/expected/l10n.003.html index 275c84cde9..873033db06 100644 --- a/report/expected/l10n.003.html +++ b/report/expected/l10n.003.html @@ -1,4 +1,4 @@ -Unit test: l10n.003

Unit test: l10n.003

This is a paragraph.

1Section title

This is a section. +Unit test: l10n.003

Unit test: l10n.003

This is a paragraph.

1Section title

This is a section. Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut diff --git a/report/expected/numeration-book.001.html b/report/expected/numeration-book.001.html index 006ea2d6dc..8ce015276b 100644 --- a/report/expected/numeration-book.001.html +++ b/report/expected/numeration-book.001.html @@ -32,7 +32,7 @@ parts, components, and formal objects. In this book, division and component numbers are in herited.

Book to test sequential numbering of parts, components, and formal objects. In this book, division, - component, and section numbers are inherited.

Preface

This is just a test.

Figure 1First figure
Table 1First table
SomeRow

Example 1First example
E=mc2
Equation 1First equation
annoy-me = equation-without-a-title
Procedure 1First procedure
  1. First step

  2. Second step

Chapter 1First chapter

This is just a test.

Figure 1.1Second figure

Figure 1.2Third figure
Table 1.1Second table
SomeRow

Example 1.1Second example
E=mc2
Equation 1.1Second equation
Procedure 1.1Second procedure
  1. First step

  2. Second step

Part IFirst part

Chapter 2Second chapter

This is just a test.

Figure 2.1Fourth figure
Table 2.1Third table
SomeRow

Example 2.1Third example
E=mc2
Equation 2.1Third equation
Procedure 2.1Third procedure
  1. First step

  2. Second step

Chapter 3Third chapter

This is just a test.

Figure 3.1Fifth figure
Table 3.1Fourth table
SomeRow

Example 3.1Fourth example
E=mc2
Equation 3.1Fourth equation
Procedure 3.1Fourth procedure
  1. First step

  2. Second step

Appendix AFirst appendix

This is just a test.

Figure A.1Sixth figure
Table A.1Fifth table
SomeRow

Example A.1Fifth example
E=mc2
Equation A.1Fifth equation
Procedure A.1Fifth procedure
  1. First step

  2. Second step

1First section in part

2Second section in part

2.1Second section, first subsection

2.2Second section, second subsection

IFirst reference

Table of Contents

Name

First_refentry — An example refentry.

First refsection

+ component, and section numbers are inherited.

Preface

This is just a test.

Figure 1First figure
Table 1First table
SomeRow

Example 1First example
E=mc2
Equation 1First equation
annoy-me = equation-without-a-title
Procedure 1First procedure
  1. First step

  2. Second step

Chapter 1First chapter

This is just a test.

Figure 1.1Second figure

Figure 1.2Third figure
Table 1.1Second table
SomeRow

Example 1.1Second example
E=mc2
Equation 1.1Second equation
Procedure 1.1Second procedure
  1. First step

  2. Second step

Part IFirst part

Chapter 2Second chapter

This is just a test.

Figure 2.1Fourth figure
Table 2.1Third table
SomeRow

Example 2.1Third example
E=mc2
Equation 2.1Third equation
Procedure 2.1Third procedure
  1. First step

  2. Second step

Chapter 3Third chapter

This is just a test.

Figure 3.1Fifth figure
Table 3.1Fourth table
SomeRow

Example 3.1Fourth example
E=mc2
Equation 3.1Fourth equation
Procedure 3.1Fourth procedure
  1. First step

  2. Second step

Appendix AFirst appendix

This is just a test.

Figure A.1Sixth figure
Table A.1Fifth table
SomeRow

Example A.1Fifth example
E=mc2
Equation A.1Fifth equation
Procedure A.1Fifth procedure
  1. First step

  2. Second step

1First section in part

2Second section in part

2.1Second section, first subsection

2.2Second section, second subsection

IFirst reference

Table of Contents

Name

First_refentry — An example refentry.

First refsection

This is just a test.

Figure 1Seventh figure
@@ -56,4 +56,4 @@

Example 2Eighth example
E=mc2
Equation 2Eighth equation
Procedure 2Eighth procedure
  1. First step

  2. Second step

-

Chapter 4Fourth chapter

This is just a test.

Figure 4.1Tenth figure
Table 4.1Ninth table
SomeRow

Example 4.1Ninth example
E=mc2
Equation 4.1Ninth equation
Procedure 4.1Ninth procedure
  1. First step

  2. Second step

Appendix BSecond appendix

This is just a test.

Figure B.1Eleventh figure
Table B.1Tenth table
SomeRow

Example B.1Tenth example
E=mc2
Equation B.1Tenth equation
Procedure B.1Tenth procedure
  1. First step

  2. Second step

1First section

Figure B.2Twelfth figure
Table B.2Eleventh table
SomeRow

Example B.2Eleventh example
E=mc2
Equation B.2Eleventh equation
Procedure B.2Eleventh procedure
  1. First step

  2. Second step

2Second section

2.1Second section, first subsection

2.2Second section, second subsection

\ No newline at end of file +

Chapter 4Fourth chapter

This is just a test.

Figure 4.1Tenth figure
Table 4.1Ninth table
SomeRow

Example 4.1Ninth example
E=mc2
Equation 4.1Ninth equation
Procedure 4.1Ninth procedure
  1. First step

  2. Second step

Appendix BSecond appendix

This is just a test.

Figure B.1Eleventh figure
Table B.1Tenth table
SomeRow

Example B.1Tenth example
E=mc2
Equation B.1Tenth equation
Procedure B.1Tenth procedure
  1. First step

  2. Second step

1First section

Figure B.2Twelfth figure
Table B.2Eleventh table
SomeRow

Example B.2Eleventh example
E=mc2
Equation B.2Eleventh equation
Procedure B.2Eleventh procedure
  1. First step

  2. Second step

2Second section

2.1Second section, first subsection

2.2Second section, second subsection

\ No newline at end of file diff --git a/report/expected/oxy-changemarkup.001.html b/report/expected/oxy-changemarkup.001.html index 6e11c3ee06..9d28b7e719 100644 --- a/report/expected/oxy-changemarkup.001.html +++ b/report/expected/oxy-changemarkup.001.html @@ -4,4 +4,4 @@ beginning of the next.

It has several paras.

It hHas several paras. Oxygen - kept the markup balanced. nice.

This is the last paragraph of the abstract.

Some preambulatory paragraph.

1Section One

Some other paragraph.

1.1Section One.Two

Some other paragraph.

1.2Section One.Three

Some other paragraph.

2Section Two

Some other paragraph.

&lt;appendix&gt;&lt;title&gt;Appendix One&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;section&gt;&lt;title&gt;Section One&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;section&gt;&lt;title&gt;Section One.Two&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;/section&gt;&lt;section&gt;&lt;title&gt;Section One.Three&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;/section&gt;&lt;/section&gt;&lt;/appendix&gt; \ No newline at end of file + kept the markup balanced. nice.

This is the last paragraph of the abstract.

Some preambulatory paragraph.

1Section One

Some other paragraph.

1.1Section One.Two

Some other paragraph.

1.2Section One.Three

Some other paragraph.

2Section Two

Some other paragraph.

&lt;appendix&gt;&lt;title&gt;Appendix One&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;section&gt;&lt;title&gt;Section One&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;section&gt;&lt;title&gt;Section One.Two&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;/section&gt;&lt;section&gt;&lt;title&gt;Section One.Three&lt;/title&gt;&lt;para&gt;Some other paragraph.&lt;/para&gt;&lt;/section&gt;&lt;/section&gt;&lt;/appendix&gt; \ No newline at end of file diff --git a/report/expected/oxy-changemarkup.002.html b/report/expected/oxy-changemarkup.002.html index 1b1cbaf0b4..ecd2362df9 100644 --- a/report/expected/oxy-changemarkup.002.html +++ b/report/expected/oxy-changemarkup.002.html @@ -4,4 +4,4 @@ beginning of the next.

It has several

Has several paras. Oxygen - kept the markup balanced. nice.

This is the last paragraph of the abstract.

Some preambulatory paragraph.

1Section One

Some other paragraph.

1.1Section One.Two

Some other paragraph.

1.2Section One.Three

Some other paragraph.

2Section Two

Some other paragraph.

\ No newline at end of file + kept the markup balanced. nice.

This is the last paragraph of the abstract.

Some preambulatory paragraph.

1Section One

Some other paragraph.

1.1Section One.Two

Some other paragraph.

1.2Section One.Three

Some other paragraph.

2Section Two

Some other paragraph.

\ No newline at end of file diff --git a/report/expected/part.001.html b/report/expected/part.001.html index bd894fb83d..173fa7a9e8 100644 --- a/report/expected/part.001.html +++ b/report/expected/part.001.html @@ -1,3 +1,3 @@ -Part I. Unit Test: part.001

Part IUnit Test: part.001

Chapter 1Chapter

Some test data +Part I. Unit Test: part.001

Part IUnit Test: part.001

Chapter 1Chapter

Some test data -

1A sect1 in a chapter

With a little text.

Bibliography

Entries using biblioentry

[AhoSethiUllman96] Compilers, Principles, Techniques, and Tools. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Copyright © 1996 Bell Telephone Laboratories, Inc.. James T. DeWolf. 0-201-10088-6. Addison-Wesley Publishing Company.

Index

F

  • First Part, 1
\ No newline at end of file +

1A sect1 in a chapter

With a little text.

Bibliography

Entries using biblioentry

[AhoSethiUllman96] Compilers, Principles, Techniques, and Tools. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Copyright © 1996 Bell Telephone Laboratories, Inc.. James T. DeWolf. 0-201-10088-6. Addison-Wesley Publishing Company.

Index

F

  • First Part, 1
\ No newline at end of file diff --git a/report/expected/section.001.html b/report/expected/section.001.html index ad51567d49..d8bd30276a 100644 --- a/report/expected/section.001.html +++ b/report/expected/section.001.html @@ -1 +1 @@ -Article wrapper

Article wrapper

See Section 1.1.2, “Section 1.1.2”.

1Section 1

blah.

1.1Section 1.1

blah.

1.1.1Section 1.1.1

blah.

1.1.1.1Section 1.1.1.1

blah.

1.1.1.1.1Section 1.1.1.1.1

blah.

1.1.1.1.2Section 1.1.1.1.2

blah.

1.1.1.1.3Section 1.1.1.1.3

blah.

1.1.1.2Section 1.1.1.2

blah.

1.1.1.3Section 1.1.1.3

blah.

1.1.2Section 1.1.2

blah.

1.1.3Section 1.1.3

blah.

1.2Section 1.2

blah.

1.3Section 1.3

blah.

\ No newline at end of file +Article wrapper

Article wrapper

1Section 1

blah.

1.1Section 1.1

blah.

1.1.1Section 1.1.1

blah.

Table 1Table title
a1b1-c2d1
a2-a4d2
b3c3d3
b4c4-d4
a5b5d5
1.1.1.1Section 1.1.1.1

blah.

1.1.1.1.1Section 1.1.1.1.1

blah.

1.1.1.1.2Section 1.1.1.1.2

blah.

1.1.1.1.3Section 1.1.1.1.3

blah.

1.1.1.2Section 1.1.1.2

blah.

1.1.1.3Section 1.1.1.3

blah.

1.1.2Section 1.1.2

blah.

1.1.3Section 1.1.3

blah.

1.2Section 1.2

blah.

1.3Section 1.3

blah.

\ No newline at end of file diff --git a/report/expected/section.004.html b/report/expected/section.004.html index a96ae88f17..833b2ccef0 100644 --- a/report/expected/section.004.html +++ b/report/expected/section.004.html @@ -1 +1 @@ -Chapter 1. Article wrapper

Chapter 1Article wrapper

Blah.

1Section 1

blah.

1.1Section 1.1

blah.

1.1.1Section 1.1.1

blah.

1.1.1.1Section 1.1.1.1

blah.

1.1.1.1.1Section 1.1.1.1.1

blah.

1.1.1.1.2Section 1.1.1.1.2

blah.

1.1.1.1.3Section 1.1.1.1.3

blah.

1.1.1.2Section 1.1.1.2

blah.

1.1.1.3Section 1.1.1.3

blah.

1.1.2Section 1.1.2

blah.

1.1.3Section 1.1.3

blah.

1.2Section 1.2

blah.

1.3Section 1.3

blah.

2Section 2

blah.

\ No newline at end of file +Chapter 1. Article wrapper

Chapter 1Article wrapper

Blah.

1Section 1

blah.

1.1Section 1.1

blah.

1.1.1Section 1.1.1

blah.

1.1.1.1Section 1.1.1.1

blah.

1.1.1.1.1Section 1.1.1.1.1

blah.

1.1.1.1.2Section 1.1.1.1.2

blah.

1.1.1.1.3Section 1.1.1.1.3

blah.

1.1.1.2Section 1.1.1.2

blah.

1.1.1.3Section 1.1.1.3

blah.

1.1.2Section 1.1.2

blah.

1.1.3Section 1.1.3

blah.

1.2Section 1.2

blah.

1.3Section 1.3

blah.

2Section 2

blah.

\ No newline at end of file diff --git a/report/expected/section.005.html b/report/expected/section.005.html index 5ec548f4ba..afa14453b6 100644 --- a/report/expected/section.005.html +++ b/report/expected/section.005.html @@ -1 +1 @@ -Unit Test: section.005

Unit Test: section.005

Deeply nested sections with subtitles

Michael Smith

See Section 1.1.2, “Section 1.1.2”.

1Section 1

Subtitle

blah.

1.1Section 1.1

Subtitle

blah.

1.1.1Section 1.1.1

Subtitle

blah.

1.1.1.1Section 1.1.1.1
Subtitle

blah.

1.1.1.1.1Section 1.1.1.1.1
Subtitle

blah.

1.1.1.1.2Section 1.1.1.1.2
Subtitle

blah.

1.1.1.1.2.1Section 1.1.1.1.2.1
Subtitle

blah.

1.1.1.1.3Section 1.1.1.1.3
Subtitle

blah.

Section 1.1.1.1.3.1

blah.

1.1.1.2Section 1.1.1.2
Subtitle

blah.

1.1.1.3Section 1.1.1.3
Subtitle

blah.

1.1.2Section 1.1.2

Subtitle

blah.

1.1.3Section 1.1.3

Subtitle

blah.

1.2Section 1.2

Subtitle

blah.

1.3Section 1.3

Subtitle

blah.

\ No newline at end of file +Unit Test: section.005

Unit Test: section.005

Deeply nested sections with subtitles

Michael Smith

1Section 1

Subtitle

blah.

1.1Section 1.1

Subtitle

blah.

1.1.1Section 1.1.1

Subtitle

blah.

1.1.1.1Section 1.1.1.1
Subtitle

blah.

1.1.1.1.1Section 1.1.1.1.1
Subtitle

blah.

1.1.1.1.2Section 1.1.1.1.2
Subtitle

blah.

1.1.1.1.2.1Section 1.1.1.1.2.1
Subtitle

blah.

1.1.1.1.3Section 1.1.1.1.3
Subtitle

blah.

Section 1.1.1.1.3.1

blah.

1.1.1.2Section 1.1.1.2
Subtitle

blah.

1.1.1.3Section 1.1.1.3
Subtitle

blah.

1.1.2Section 1.1.2

Subtitle

blah.

1.1.3Section 1.1.3

Subtitle

blah.

1.2Section 1.2

Subtitle

blah.

1.3Section 1.3

Subtitle

blah.

\ No newline at end of file diff --git a/report/expected/simplesect.001.html b/report/expected/simplesect.001.html index 878bac2b98..1680ba3418 100644 --- a/report/expected/simplesect.001.html +++ b/report/expected/simplesect.001.html @@ -1 +1 @@ -Chapter 1. Chapter wrapper

Chapter 1Chapter wrapper

This test case is for simplesect.

1A Section Title

Some content here.

First Simplesect

Some content

2Another Section Title

Some content

2.1A Subsection Title

Some content

Second Simplesect

Some content

\ No newline at end of file +Chapter 1. Chapter wrapper

Chapter 1Chapter wrapper

This test case is for simplesect.

1A Section Title

Some content here.

First Simplesect

Some content

2Another Section Title

Some content

2.1A Subsection Title

Some content

Second Simplesect

Some content

\ No newline at end of file diff --git a/report/expected/table-cals.024.html b/report/expected/table-cals.024.html index ac8cc30d0d..f7208c384b 100644 --- a/report/expected/table-cals.024.html +++ b/report/expected/table-cals.024.html @@ -1 +1 @@ -
Table 1This is a “landscape” table
foo
foobar
foo
\ No newline at end of file +
Table 1This is a “landscape” table
foo
foobar
foo
\ No newline at end of file diff --git a/report/expected/titles.001.html b/report/expected/titles.001.html index faba5e9e57..92af38053f 100644 --- a/report/expected/titles.001.html +++ b/report/expected/titles.001.html @@ -1,8 +1,8 @@ -Unit Test: titles.001.xml

Unit Test: titles.001.xml

The Dedication

book: Unit Test: titles.001.xml

abstract: An abstract

dedication: The Dedication

preface: Preface

preface-section: the section called First Section

simplesect: the section called “A simplesect”

part: Part I, “The Main Part”

partintro: The part intro

ch1: Chapter 1, One link

sidebar: A sidebar

blockquote: A Blockquote

fig: Figure 1.1, “Figure”

ex: Example 1.1, “Example”

table: Table 1.1, “Table”

eq: Equation 1.1, “Equation”

procedure: Procedure 1.1, “Procedure”

step2: step 2

step3: step 3

subsubstep: step 2.a.i

screenshot: screenshot

formal: 1.2Formal group

subfig2: Figure 1.2.2, “Second subfigure”

ch2: Chapter 2, Two1

ch2.1: Section 1, “One”

ch2.1.1: Section 1.1, “One Dot One”

ch2.1.2: Section 1.2, “One Dot Two”

ch3: Chapter 3, Three

chlists: Chapter 4, Lists chapter

itemizedlist: An itemized list

orderedlist: An ordered list

o1: 1

o1.1: 1.a

variablelist: A variable list

vli: Term

first:

note: Note

tip: Tip

important: Important

caution: Caution

warning: Warning

danger: Danger

set1: First production set

ebnf.mult: MultExpression

set2: Arithemetic Expressions

ebnf.expression: Expression

ebnf.arith: ArithExpression

ebnf.number: Number

div0: Division by Zero

qandaset: QandAset

qandadiv: QandAdiv

qandaentry: Q: 1.1

question: Q: 1.1

answer: A: 1.1

app: Appendix A, Appendix

app2: Appendix B, Appendix Two

bibliolist: bibliolist

bibliomixed: bibliomixed

glosslist: Gloss list

bibliography: Bibliography

bibliodiv: Bibliography division

bibliomixed2: bibliomixed2

glossary: Glossary

glossdiv: Glossary division

index: Index

acknowledgements: Acknowledgements

colophon: Colophon

Preface

See the Preface.

See the the section called First Section.

See Chapter 1, One link.

See Chapter 2, Two1.

See Appendix A, Appendix.

First Section

See Figure 1.1, “Figure”.

See Example 1.1, “Example”.

See Table 1.1, “Table”.

See Equation 1.1, “Equation”.

A simplesect

Part IThe Main Part

The part intro

Chapter 1One link

A Blockquote

A Formal Paragraph

Figure 1.1Figure

Example 1.1Example
Table 1.1Table
13
24
xn +Unit Test: titles.001.xml

Unit Test: titles.001.xml

The Dedication

book: Unit Test: titles.001.xml

abstract: An abstract

dedication: The Dedication

preface: Preface

preface-section: the section called First Section

simplesect: the section called “A simplesect”

part: Part I, “The Main Part”

partintro: The part intro

ch1: Chapter 1, One link

sidebar: A sidebar

blockquote: A Blockquote

fig: Figure 1.1, “Figure”

ex: Example 1.1, “Example”

table: Table 1.1, “Table”

eq: Equation 1.1, “Equation”

procedure: Procedure 1.1, “Procedure”

step2: step 2

step3: step 3

subsubstep: step 2.a.i

screenshot: screenshot

formal: 1.2Formal group

subfig2: Figure 1.2.2, “Second subfigure”

ch2: Chapter 2, Two1

ch2.1: Section 1, “One”

ch2.1.1: Section 1.1, “One Dot One”

ch2.1.2: Section 1.2, “One Dot Two”

ch3: Chapter 3, Three

chlists: Chapter 4, Lists chapter

itemizedlist: An itemized list

orderedlist: An ordered list

o1: 1

o1.1: 1.a

variablelist: A variable list

vli: Term

first:

note: Note

tip: Tip

important: Important

caution: Caution

warning: Warning

danger: Danger

set1: First production set

ebnf.mult: MultExpression

set2: Arithemetic Expressions

ebnf.expression: Expression

ebnf.arith: ArithExpression

ebnf.number: Number

div0: Division by Zero

qandaset: QandAset

qandadiv: QandAdiv

qandaentry: Q: 1.1

question: Q: 1.1

answer: A: 1.1

app: Appendix A, Appendix

app2: Appendix B, Appendix Two

bibliolist: bibliolist

bibliomixed: bibliomixed

glosslist: Gloss list

bibliography: Bibliography

bibliodiv: Bibliography division

bibliomixed2: bibliomixed2

glossary: Glossary

glossdiv: Glossary division

index: Index

acknowledgements: Acknowledgements

colophon: Colophon

Preface

First Section

See Figure 1.1, “Figure”.

See Example 1.1, “Example”.

See Table 1.1, “Table”.

See Equation 1.1, “Equation”.

A simplesect

Part IThe Main Part

The part intro

Chapter 1One link

A Blockquote

A Formal Paragraph

Figure 1.1Figure

Example 1.1Example
Table 1.1Table
13
24
xn + yn ≠ zn ∀ n ≠ 2
Equation 1.1Equation
Procedure 1.1Procedure
  1. First

  2. Second

    1. Substep

      1. Sub-substep -

  3. Third step

screenshot
Figure 1.2Formal group

Subfigure 1.2.1First subfigure

Subfigure 1.2.2Second subfigure

Subfigure 1.2.3Third subfigure

Chapter 2Two1

1One

1.1One Dot One

1.2One Dot Two

Chapter 3Three

1A sect1

1.1A sect2

1.1.1A sect3

1.1.1.1A sect4

1.1.1.1.1A sect5

Chapter 4Lists chapter

An itemized list
An ordered list
  1. A nested ordered list
A variable list
Term

...

State Capitals
State: Alabama
Capital: Montgomery
State: Alaska
Capital: Anchorage
State: Arkansas
Capital: Little Rock
  |The first line
+

  • Third step

  • screenshot
    Figure 1.2Formal group

    Subfigure 1.2.1First subfigure

    Subfigure 1.2.2Second subfigure

    Subfigure 1.2.3Third subfigure

    Chapter 2Two1

    1One

    1.1One Dot One

    1.2One Dot Two

    Chapter 3Three

    1A sect1

    1.1A sect2

    1.1.1A sect3

    1.1.1.1A sect4

    1.1.1.1.1A sect5

    Chapter 4Lists chapter

    An itemized list
    An ordered list
    1. A nested ordered list
    A variable list
    Term

    ...

    State Capitals
    State: Alabama
    Capital: Montgomery
    State: Alaska
    Capital: Anchorage
    State: Arkansas
    Capital: Little Rock
      |The first line
       |The second line
       |The third line
     
    Calloutlist

    The first line.

    Chapter 5Admonitions

    Note

    This note has a title.

    Tip

    This tip has a title.

    Important

    This important has a title.

    Caution

    This caution has a title.

    🛑
    Warning

    This warning has a title.

    Danger

    This danger has a title.

    Chapter 6Productions

    First production set
    [1] MultExpression:=MultExpression diff --git a/report/expected/topic.002.html b/report/expected/topic.002.html index bd9835e9fd..a40cdbee5d 100644 --- a/report/expected/topic.002.html +++ b/report/expected/topic.002.html @@ -1,7 +1,7 @@ -Unit Test: topic.002

    Unit Test: topic.002

    This is the abstract.

    +Unit Test: topic.002

    Unit Test: topic.002

    This is the abstract.

    This is a topic test.

    -

    1Section

    In a topic!

    +

    1Section

    In a topic!

    \ No newline at end of file diff --git a/report/expected/topic.003.html b/report/expected/topic.003.html index d623f0b0db..e36e3cdd39 100644 --- a/report/expected/topic.003.html +++ b/report/expected/topic.003.html @@ -1,10 +1,10 @@ An book with several topics

    An book with several topics

    Topic the first

    This is a topic test.

    -

    Topic the second

    +

    Topic the second

    This is a topic test.

    -

    1A Section

    In a topic!

    +

    1A Section

    In a topic!

    Topic the third

    This is a topic test.

    diff --git a/report/expected/transclusion.001.html b/report/expected/transclusion.001.html index 7a4df73311..e3186b436e 100644 --- a/report/expected/transclusion.001.html +++ b/report/expected/transclusion.001.html @@ -1,4 +1,4 @@ -Transclusion 001

    Transclusion 001

    In this document, no transclusion fixup is performed. Duplicate IDs exist, +Transclusion 001

    Transclusion 001

    In this document, no transclusion fixup is performed. Duplicate IDs exist, links to those IDs are resolved by the user agent.

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided. @@ -17,7 +17,7 @@ If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    -

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution
    +

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will diff --git a/report/expected/transclusion.002.html b/report/expected/transclusion.002.html index c292d7bc36..56d6b971a5 100644 --- a/report/expected/transclusion.002.html +++ b/report/expected/transclusion.002.html @@ -1,4 +1,4 @@ -Transclusion 002

    Transclusion 002

    In this document, all transcluded IDs are resolved with the ‘auto’ fixup.

    In a document where the same fragment is included (for example, +Transclusion 002

    Transclusion 002

    In this document, all transcluded IDs are resolved with the ‘auto’ fixup.

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    The DocBook Transclusion @@ -16,7 +16,7 @@ If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    -

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution
    +

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will diff --git a/report/expected/transclusion.003.html b/report/expected/transclusion.003.html index a97ffd455f..a35ec92535 100644 --- a/report/expected/transclusion.003.html +++ b/report/expected/transclusion.003.html @@ -1,4 +1,4 @@ -Transclusion 003

    Transclusion 003

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup +Transclusion 003

    Transclusion 003

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup and the default linkscope which is ‘global’.

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided. @@ -17,7 +17,7 @@ If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    -

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution
    +

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will diff --git a/report/expected/transclusion.004.html b/report/expected/transclusion.004.html index a4ba2c0539..f1464666b7 100644 --- a/report/expected/transclusion.004.html +++ b/report/expected/transclusion.004.html @@ -1,4 +1,4 @@ -Transclusion 004

    Transclusion 004

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup +Transclusion 004

    Transclusion 004

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup and ‘local’ linkscope.

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided. @@ -17,7 +17,7 @@ If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    -

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution
    +

    1Subsection One

    Here it is repeated in a subsection:

    Transclusion Example Caution

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will diff --git a/report/expected/xref.002.html b/report/expected/xref.002.html index 2fd36df481..6db27df380 100644 --- a/report/expected/xref.002.html +++ b/report/expected/xref.002.html @@ -1,3 +1,3 @@ -Article wrapper

    Article wrapper

    This is an xref test.

    1Section One Title

    This text is irrelevant.

    2Section Two Title

    This text is irrelevant.

    \ No newline at end of file diff --git a/report/fit-result.html b/report/fit-result.html index 17ef59d2b3..e8f175b6fe 100644 --- a/report/fit-result.html +++ b/report/fit-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/fit.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/fit.xspec

    -

    Tested: 28 September 2024 at 11:00

    +

    Tested: 9 October 2024 at 13:36

    Contents

    diff --git a/report/fit-result.xml b/report/fit-result.xml index 07b3920f32..73efcecdf0 100644 --- a/report/fit-result.xml +++ b/report/fit-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:36:51.156443Z"> diff --git a/report/formal-objects-inherit-from-book-division-component-section-result.html b/report/formal-objects-inherit-from-book-division-component-section-result.html index f46edb6324..c6236232e3 100644 --- a/report/formal-objects-inherit-from-book-division-component-section-result.html +++ b/report/formal-objects-inherit-from-book-division-component-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-book-division-component-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-book-division-component-section.xspec

    -

    Tested: 28 September 2024 at 11:00

    +

    Tested: 9 October 2024 at 13:36

    Contents

    diff --git a/report/formal-objects-inherit-from-book-division-component-section-result.xml b/report/formal-objects-inherit-from-book-division-component-section-result.xml index 506804601d..9d126ea0ea 100644 --- a/report/formal-objects-inherit-from-book-division-component-section-result.xml +++ b/report/formal-objects-inherit-from-book-division-component-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:36:59.896879Z"> @@ -809,13 +809,15 @@

    Appendix (α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix (α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix (α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table (α).B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    - -
    -

    -
    -
    Example (α).B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation (α).B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure (α).B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table (α).B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example (α).B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation (α).B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure (α).B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix (α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table (α).B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example (α).B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation (α).B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure (α).B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table (α).B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example (α).B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation (α).B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure (α).B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-book-result.html b/report/formal-objects-inherit-from-book-result.html index feeb800ad0..dc139a84e8 100644 --- a/report/formal-objects-inherit-from-book-result.html +++ b/report/formal-objects-inherit-from-book-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-book.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-book.xspec

    -

    Tested: 28 September 2024 at 11:00

    +

    Tested: 9 October 2024 at 13:37

    Contents

    diff --git a/report/formal-objects-inherit-from-book-result.xml b/report/formal-objects-inherit-from-book-result.xml index ac7a8ccf42..36cf058943 100644 --- a/report/formal-objects-inherit-from-book-result.xml +++ b/report/formal-objects-inherit-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:37:08.093468Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).1 - Eleventh figure
    -
    -
    -
    -
    -
    Table (α).1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example (α).1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation (α).1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure (α).1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).1 + Eleventh figure
    +
    +
    +
    +
    +
    Table (α).1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example (α).1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation (α).1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure (α).1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure (α).1 - Eleventh figure
    -
    -
    -
    -
    -
    Table (α).1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example (α).1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation (α).1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure (α).1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure (α).1 + Eleventh figure
    +
    +
    +
    +
    +
    Table (α).1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example (α).1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation (α).1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure (α).1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-component-result.html b/report/formal-objects-inherit-from-component-result.html index 9d04947c49..cfed83661a 100644 --- a/report/formal-objects-inherit-from-component-result.html +++ b/report/formal-objects-inherit-from-component-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-component.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-component.xspec

    -

    Tested: 28 September 2024 at 11:00

    +

    Tested: 9 October 2024 at 13:37

    Contents

    diff --git a/report/formal-objects-inherit-from-component-result.xml b/report/formal-objects-inherit-from-component-result.xml index 6bcdc67737..f233a5be9b 100644 --- a/report/formal-objects-inherit-from-component-result.xml +++ b/report/formal-objects-inherit-from-component-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:37:24.011868Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-component-section-result.html b/report/formal-objects-inherit-from-component-section-result.html index c8e2493f3e..2738f90339 100644 --- a/report/formal-objects-inherit-from-component-section-result.html +++ b/report/formal-objects-inherit-from-component-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-component-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-component-section.xspec

    -

    Tested: 28 September 2024 at 11:00

    +

    Tested: 9 October 2024 at 13:37

    Contents

    diff --git a/report/formal-objects-inherit-from-component-section-result.xml b/report/formal-objects-inherit-from-component-section-result.xml index 29375748a2..00bdd60622 100644 --- a/report/formal-objects-inherit-from-component-section-result.xml +++ b/report/formal-objects-inherit-from-component-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:37:16.061924Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-division-component-result.html b/report/formal-objects-inherit-from-division-component-result.html index 6458644b06..29a551574d 100644 --- a/report/formal-objects-inherit-from-division-component-result.html +++ b/report/formal-objects-inherit-from-division-component-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-division-component.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-division-component.xspec

    -

    Tested: 28 September 2024 at 11:01

    +

    Tested: 9 October 2024 at 13:37

    Contents

    diff --git a/report/formal-objects-inherit-from-division-component-result.xml b/report/formal-objects-inherit-from-division-component-result.xml index 72553e0a08..034a931ad1 100644 --- a/report/formal-objects-inherit-from-division-component-result.xml +++ b/report/formal-objects-inherit-from-division-component-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:37:40.170738Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-division-component-section-result.html b/report/formal-objects-inherit-from-division-component-section-result.html index f0c2755c44..adb95eb864 100644 --- a/report/formal-objects-inherit-from-division-component-section-result.html +++ b/report/formal-objects-inherit-from-division-component-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-division-component-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-division-component-section.xspec

    -

    Tested: 28 September 2024 at 11:01

    +

    Tested: 9 October 2024 at 13:37

    Contents

    diff --git a/report/formal-objects-inherit-from-division-component-section-result.xml b/report/formal-objects-inherit-from-division-component-section-result.xml index b121a9899e..5eb4c2fc07 100644 --- a/report/formal-objects-inherit-from-division-component-section-result.xml +++ b/report/formal-objects-inherit-from-division-component-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:37:32.079265Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-division-result.html b/report/formal-objects-inherit-from-division-result.html index cc9dc1a1e9..ac5850a392 100644 --- a/report/formal-objects-inherit-from-division-result.html +++ b/report/formal-objects-inherit-from-division-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-division.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-division.xspec

    -

    Tested: 28 September 2024 at 11:01

    +

    Tested: 9 October 2024 at 13:37

    Contents

    diff --git a/report/formal-objects-inherit-from-division-result.xml b/report/formal-objects-inherit-from-division-result.xml index f6fcf1e755..723c639500 100644 --- a/report/formal-objects-inherit-from-division-result.xml +++ b/report/formal-objects-inherit-from-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:37:48.347901Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    -
    -
    -
    -
    Table 1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example 1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation 1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure 1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    +
    +
    +
    Table 1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example 1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation 1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure 1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    -
    -
    -
    -
    Table 1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example 1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation 1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure 1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    +
    +
    +
    Table 1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example 1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation 1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure 1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-section-result.html b/report/formal-objects-inherit-from-section-result.html index 80b584edbf..8ce9770f8a 100644 --- a/report/formal-objects-inherit-from-section-result.html +++ b/report/formal-objects-inherit-from-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-section.xspec

    -

    Tested: 28 September 2024 at 11:01

    +

    Tested: 9 October 2024 at 13:37

    Contents

    diff --git a/report/formal-objects-inherit-from-section-result.xml b/report/formal-objects-inherit-from-section-result.xml index f14dc4304a..0744a21521 100644 --- a/report/formal-objects-inherit-from-section-result.xml +++ b/report/formal-objects-inherit-from-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:37:56.39958Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    -
    -
    -
    -
    Table 1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example 1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation 1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure 1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    +
    +
    +
    Table 1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example 1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation 1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure 1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure 1 - Eleventh figure
    -
    -
    -
    -
    -
    Table 1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example 1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation 1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure 1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure 1 + Eleventh figure
    +
    +
    +
    +
    +
    Table 1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example 1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation 1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure 1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-set-book-division-component-result.html b/report/formal-objects-inherit-from-set-book-division-component-result.html index 4678e8e54f..41bf4b4234 100644 --- a/report/formal-objects-inherit-from-set-book-division-component-result.html +++ b/report/formal-objects-inherit-from-set-book-division-component-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-set-book-division-component.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-set-book-division-component.xspec

    -

    Tested: 28 September 2024 at 11:01

    +

    Tested: 9 October 2024 at 13:38

    Contents

    diff --git a/report/formal-objects-inherit-from-set-book-division-component-result.xml b/report/formal-objects-inherit-from-set-book-division-component-result.xml index 885dabcf87..5c0e8d9f4b 100644 --- a/report/formal-objects-inherit-from-set-book-division-component-result.xml +++ b/report/formal-objects-inherit-from-set-book-division-component-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:38:12.720514Z"> @@ -809,13 +809,15 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table ⎡1⎦.⎡1⎦.(α).B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example ⎡1⎦.⎡1⎦.(α).B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation ⎡1⎦.⎡1⎦.(α).B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table ⎡1⎦.⎡1⎦.(α).B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example ⎡1⎦.⎡1⎦.(α).B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation ⎡1⎦.⎡1⎦.(α).B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table ⎡1⎦.⎡1⎦.(α).B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example ⎡1⎦.⎡1⎦.(α).B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation ⎡1⎦.⎡1⎦.(α).B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table ⎡1⎦.⎡1⎦.(α).B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example ⎡1⎦.⎡1⎦.(α).B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation ⎡1⎦.⎡1⎦.(α).B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-set-book-division-component-section-result.html b/report/formal-objects-inherit-from-set-book-division-component-section-result.html index 014f6674fb..9c145951f6 100644 --- a/report/formal-objects-inherit-from-set-book-division-component-section-result.html +++ b/report/formal-objects-inherit-from-set-book-division-component-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-set-book-division-component-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-set-book-division-component-section.xspec

    -

    Tested: 28 September 2024 at 11:01

    +

    Tested: 9 October 2024 at 13:38

    Contents

    diff --git a/report/formal-objects-inherit-from-set-book-division-component-section-result.xml b/report/formal-objects-inherit-from-set-book-division-component-section-result.xml index a73e54bb59..4349f69f61 100644 --- a/report/formal-objects-inherit-from-set-book-division-component-section-result.xml +++ b/report/formal-objects-inherit-from-set-book-division-component-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:38:04.581239Z"> @@ -809,13 +809,15 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table ⎡1⎦.⎡1⎦.(α).B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example ⎡1⎦.⎡1⎦.(α).B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation ⎡1⎦.⎡1⎦.(α).B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table ⎡1⎦.⎡1⎦.(α).B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example ⎡1⎦.⎡1⎦.(α).B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation ⎡1⎦.⎡1⎦.(α).B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix ⎡1⎦.⎡1⎦.(α).B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.(α).B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table ⎡1⎦.⎡1⎦.(α).B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example ⎡1⎦.⎡1⎦.(α).B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation ⎡1⎦.⎡1⎦.(α).B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.(α).B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table ⎡1⎦.⎡1⎦.(α).B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example ⎡1⎦.⎡1⎦.(α).B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation ⎡1⎦.⎡1⎦.(α).B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure ⎡1⎦.⎡1⎦.(α).B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-inherit-from-set-result.html b/report/formal-objects-inherit-from-set-result.html index 3b19b1e1cc..0ae1aee307 100644 --- a/report/formal-objects-inherit-from-set-result.html +++ b/report/formal-objects-inherit-from-set-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-inherit-from-set.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-inherit-from-set.xspec

    -

    Tested: 28 September 2024 at 11:01

    +

    Tested: 9 October 2024 at 13:38

    Contents

    diff --git a/report/formal-objects-inherit-from-set-result.xml b/report/formal-objects-inherit-from-set-result.xml index 287f2af769..564f9c1419 100644 --- a/report/formal-objects-inherit-from-set-result.xml +++ b/report/formal-objects-inherit-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:38:20.96738Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table ⎡1⎦.⎡1⎦.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example ⎡1⎦.⎡1⎦.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation ⎡1⎦.⎡1⎦.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure ⎡1⎦.⎡1⎦.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table ⎡1⎦.⎡1⎦.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example ⎡1⎦.⎡1⎦.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation ⎡1⎦.⎡1⎦.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure ⎡1⎦.⎡1⎦.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure ⎡1⎦.⎡1⎦.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table ⎡1⎦.⎡1⎦.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example ⎡1⎦.⎡1⎦.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation ⎡1⎦.⎡1⎦.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure ⎡1⎦.⎡1⎦.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure ⎡1⎦.⎡1⎦.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table ⎡1⎦.⎡1⎦.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example ⎡1⎦.⎡1⎦.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation ⎡1⎦.⎡1⎦.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure ⎡1⎦.⎡1⎦.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-numbered-from-book-result.html b/report/formal-objects-numbered-from-book-result.html index 88f5c5203e..dee1912482 100644 --- a/report/formal-objects-numbered-from-book-result.html +++ b/report/formal-objects-numbered-from-book-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-numbered-from-book.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-numbered-from-book.xspec

    -

    Tested: 28 September 2024 at 11:02

    +

    Tested: 9 October 2024 at 13:38

    Contents

    diff --git a/report/formal-objects-numbered-from-book-result.xml b/report/formal-objects-numbered-from-book-result.xml index 2136a20822..31de9e485b 100644 --- a/report/formal-objects-numbered-from-book-result.xml +++ b/report/formal-objects-numbered-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:38:29.147065Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.10 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.10 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.10 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.10 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.10 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.10 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.10 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.10 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.10 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.10 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.10 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.10 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.10 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.10 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.10 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.10 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-numbered-from-component-result.html b/report/formal-objects-numbered-from-component-result.html index 67b26db6a5..ffd3d5c88c 100644 --- a/report/formal-objects-numbered-from-component-result.html +++ b/report/formal-objects-numbered-from-component-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-numbered-from-component.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-numbered-from-component.xspec

    -

    Tested: 28 September 2024 at 11:02

    +

    Tested: 9 October 2024 at 13:38

    Contents

    diff --git a/report/formal-objects-numbered-from-component-result.xml b/report/formal-objects-numbered-from-component-result.xml index 40db3afda8..89d0e6da65 100644 --- a/report/formal-objects-numbered-from-component-result.xml +++ b/report/formal-objects-numbered-from-component-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:38:37.33781Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-numbered-from-division-result.html b/report/formal-objects-numbered-from-division-result.html index 87f1da803f..0a974c5573 100644 --- a/report/formal-objects-numbered-from-division-result.html +++ b/report/formal-objects-numbered-from-division-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-numbered-from-division.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-numbered-from-division.xspec

    -

    Tested: 28 September 2024 at 11:02

    +

    Tested: 9 October 2024 at 13:38

    Contents

    diff --git a/report/formal-objects-numbered-from-division-result.xml b/report/formal-objects-numbered-from-division-result.xml index ae37d62751..60ab844603 100644 --- a/report/formal-objects-numbered-from-division-result.xml +++ b/report/formal-objects-numbered-from-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:38:45.438244Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.5 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.5 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.5 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.5 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.5 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.4 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.4 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.4 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.4 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.5 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.4 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.4 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.4 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.4 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.5 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.4 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.4 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.4 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.4 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.5 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.4 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.4 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.4 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.4 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-numbered-from-root-result.html b/report/formal-objects-numbered-from-root-result.html index 61388a1f54..c605e0bd94 100644 --- a/report/formal-objects-numbered-from-root-result.html +++ b/report/formal-objects-numbered-from-root-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-numbered-from-root.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-numbered-from-root.xspec

    -

    Tested: 28 September 2024 at 11:02

    +

    Tested: 9 October 2024 at 13:38

    Contents

    diff --git a/report/formal-objects-numbered-from-root-result.xml b/report/formal-objects-numbered-from-root-result.xml index ee7da9ec89..1d84d93110 100644 --- a/report/formal-objects-numbered-from-root-result.xml +++ b/report/formal-objects-numbered-from-root-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:38:53.539909Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.10 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.10 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.10 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.10 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.10 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.10 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.10 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.10 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.10 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.10 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.10 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.10 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.10 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.10 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.10 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.10 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-numbered-from-section-result.html b/report/formal-objects-numbered-from-section-result.html index ce64398199..9ac479d3b6 100644 --- a/report/formal-objects-numbered-from-section-result.html +++ b/report/formal-objects-numbered-from-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-numbered-from-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-numbered-from-section.xspec

    -

    Tested: 28 September 2024 at 11:02

    +

    Tested: 9 October 2024 at 13:39

    Contents

    diff --git a/report/formal-objects-numbered-from-section-result.xml b/report/formal-objects-numbered-from-section-result.xml index 20870c8cc2..adbc184e83 100644 --- a/report/formal-objects-numbered-from-section-result.xml +++ b/report/formal-objects-numbered-from-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:39:01.58562Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.1 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.1 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.1 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.1 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.1 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.1 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.1 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.1 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.1 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.1 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/formal-objects-numbered-from-set-result.html b/report/formal-objects-numbered-from-set-result.html index 26472d7a5f..38304f32b6 100644 --- a/report/formal-objects-numbered-from-set-result.html +++ b/report/formal-objects-numbered-from-set-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/formal-objects-numbered-from-set.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/formal-objects-numbered-from-set.xspec

    -

    Tested: 28 September 2024 at 11:02

    +

    Tested: 9 October 2024 at 13:39

    Contents

    diff --git a/report/formal-objects-numbered-from-set-result.xml b/report/formal-objects-numbered-from-set-result.xml index 486607ac2f..2cb17a50f3 100644 --- a/report/formal-objects-numbered-from-set-result.xml +++ b/report/formal-objects-numbered-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:39:09.738733Z"> @@ -809,13 +809,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    @@ -1752,13 +1754,15 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    @@ -3903,56 +3907,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.10 - Tenth table
    -
    -
    - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.10 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.10 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.10 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.10 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.10 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.10 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.10 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    @@ -6342,56 +6348,58 @@

    Appendix B Second appendix

    -

    This is just a test.

    -
    -

    -
    -
    Figure B.11 - Eleventh figure
    -
    -
    -
    -
    -
    Table B.10 - Tenth table
    -
    - - - - - - - -
    SomeRow
    -
    -
    -

    -
    -
    Example B.10 - Tenth example
    -
    -
    -
    - E=mc2 - -
    -
    Equation B.10 - Tenth equation
    -
    -
    -
    -
    -
    Procedure B.10 - Tenth procedure
    -
    -
      -
    1. -

      First step

      -
    2. -
    3. -

      Second step

      -
    4. -
    +
    +

    This is just a test.

    +
    +

    +
    +
    Figure B.11 + Eleventh figure
    +
    +
    +
    +
    +
    Table B.10 + Tenth table
    +
    + + + + + + + +
    SomeRow
    +
    +
    +

    +
    +
    Example B.10 + Tenth example
    +
    +
    +
    + E=mc2 + +
    +
    Equation B.10 + Tenth equation
    +
    +
    +
    +
    +
    Procedure B.10 + Tenth procedure
    +
    +
      +
    1. +

      First step

      +
    2. +
    3. +

      Second step

      +
    4. +
    +
    diff --git a/report/generated-admonitions-result.html b/report/generated-admonitions-result.html index a37b338a5d..2a83231800 100644 --- a/report/generated-admonitions-result.html +++ b/report/generated-admonitions-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/xspec-xslt/xspec-driver.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/generated-admonitions.xspec

    -

    Tested: 28 September 2024 at 11:02

    +

    Tested: 9 October 2024 at 13:39

    Contents

    diff --git a/report/generated-admonitions-result.xml b/report/generated-admonitions-result.xml index bb0352127b..85829d7c62 100644 --- a/report/generated-admonitions-result.xml +++ b/report/generated-admonitions-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:39:18.214026Z"> diff --git a/report/generated-inlines-result.html b/report/generated-inlines-result.html index 53b17ca13b..dac6f7f0fa 100644 --- a/report/generated-inlines-result.html +++ b/report/generated-inlines-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/xspec-xslt/xspec-driver.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/generated-inlines.xspec

    -

    Tested: 28 September 2024 at 11:03

    +

    Tested: 9 October 2024 at 13:39

    Contents

    diff --git a/report/generated-inlines-result.xml b/report/generated-inlines-result.xml index 60e3612561..dc01715eb5 100644 --- a/report/generated-inlines-result.xml +++ b/report/generated-inlines-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:39:35.777105Z"> diff --git a/report/generated-verbatim-attributes-result.html b/report/generated-verbatim-attributes-result.html index d1afe4aea4..f4aa816443 100644 --- a/report/generated-verbatim-attributes-result.html +++ b/report/generated-verbatim-attributes-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/xspec-xslt/xspec-driver.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/generated-verbatim-attributes.xspec

    -

    Tested: 28 September 2024 at 11:03

    +

    Tested: 9 October 2024 at 13:40

    Contents

    diff --git a/report/generated-verbatim-attributes-result.xml b/report/generated-verbatim-attributes-result.xml index 43d166ab0b..71ad4acd32 100644 --- a/report/generated-verbatim-attributes-result.xml +++ b/report/generated-verbatim-attributes-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:40:09.759739Z"> diff --git a/report/glossary-collection-result.html b/report/glossary-collection-result.html index 5b0c4278c8..b55f0ad704 100644 --- a/report/glossary-collection-result.html +++ b/report/glossary-collection-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/glossary-collection.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/glossary-collection.xspec

    -

    Tested: 28 September 2024 at 11:03

    +

    Tested: 9 October 2024 at 13:40

    Contents

    diff --git a/report/glossary-collection-result.xml b/report/glossary-collection-result.xml index 311312a863..70b286450c 100644 --- a/report/glossary-collection-result.xml +++ b/report/glossary-collection-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:40:16.360286Z"> diff --git a/report/index.html b/report/index.html index 2134592c3a..312f29d5b9 100644 --- a/report/index.html +++ b/report/index.html @@ -1,5 +1,5 @@ -DocBook xslTNG Test Report

    DocBook xslTNG

    Test Report

    Reported on 28 Sep 2024 at 11:00 UTC.

    Results: passed 1659 tests (100%).

    Stylesheet - version 2.2.1 using +DocBook xslTNG Test Report

    DocBook xslTNG

    Test Report

    Reported on 09 Oct 2024 at 13:38 UTC.

    Results: passed 1666 tests (100%).

    Stylesheet + version 2.2.2 using DocBook version 5.2 and DocBook Publishers version 5.2.

    Tested with XSpec version (patched) using @@ -8,4 +8,4 @@ The expected results linked here have been transformed so that they render properly. The actual expected results consist of only the body element. -

    scenario1passaddress.001.xmladdress.001.html
    scenario2passaddress.002.xmladdress.002.html
    scenario3passadmonitions.001.xmladmonitions.001.html
    scenario4passadmonitions.002.xmladmonitions.002.html
    scenario5passalttitlepage.001.xmlalttitlepage.001.html
    scenario6passannotations.001.xmlannotations.001.html
    scenario7passannotations.002.xmlannotations.002.html
    scenario8passannotations.003.xmlannotations.003.html
    scenario9passannotations.004.xmlannotations.004.html
    scenario10passannotations.005.xmlannotations.005.html
    scenario11passannotations.006.xmlannotations.006.html
    scenario12passappendix.001.xmlappendix.001.html
    scenario13passappendix.002.xmlappendix.002.html
    scenario14passappendix.003.xmlappendix.003.html
    scenario15passapplication.001.xmlapplication.001.html
    scenario16passarticle.001.xmlarticle.001.html
    scenario17passarticle.002.xmlarticle.002.html
    scenario18passarticle.003.xmlarticle.003.html
    scenario19passarticle.004.xmlarticle.004.html
    scenario20passarticle.005.xmlarticle.005.html
    scenario21passarticle.006.xmlarticle.006.html
    scenario22passarticle.007.xmlarticle.007.html
    scenario23passarticle.008.xmlarticle.008.html
    scenario24passarticle.009.xmlarticle.009.html
    scenario25passarticle.010.xmlarticle.010.html
    scenario26passarticle.011.xmlarticle.011.html
    scenario27passarticle.012.xmlarticle.012.html
    scenario28passarticle.013.xmlarticle.013.html
    scenario29passarticle.014.xmlarticle.014.html
    scenario30passarticle.015.xmlarticle.015.html
    scenario31passaudioobject.001.xmlaudioobject.001.html
    scenario32passaudioobject.002.xmlaudioobject.002.html
    scenario33passaudioobject.003.xmlaudioobject.003.html
    scenario34passauld_lang_syne.xmlauld_lang_syne.html
    scenario35passauthor.001.xmlauthor.001.html
    scenario36passauthor.002.xmlauthor.002.html
    scenario37passbibliography.001.xmlbibliography.001.html
    scenario38passbibliography.002.xmlbibliography.002.html
    scenario39passbibliography.003.xmlbibliography.003.html
    scenario40passbibliography.004.xmlbibliography.004.html
    scenario41passbibliography.005.xmlbibliography.005.html
    scenario42passbibliography.006.xmlbibliography.006.html
    scenario43passbibliography.007.xmlbibliography.007.html
    scenario44passbibliography.008.xmlbibliography.008.html
    scenario45passbibliography.009.xmlbibliography.009.html
    scenario46passbibliography.010.xmlbibliography.010.html
    scenario47passbibliography.011.xmlbibliography.011.html
    scenario48passbibliolist.001.xmlbibliolist.001.html
    scenario49passbibliolist.002.xmlbibliolist.002.html
    scenario50passbibliolist.003.xmlbibliolist.003.html
    scenario51passbibliolist.004.xmlbibliolist.004.html
    scenario52passbibliolist.005.xmlbibliolist.005.html
    scenario53passbibliomixed.001.xmlbibliomixed.001.html
    scenario54passbibliomixed.002.xmlbibliomixed.002.html
    scenario55passblockinfo.001.xmlblockinfo.001.html
    scenario56passblockinfo.002.xmlblockinfo.002.html
    scenario57passblockquote.001.xmlblockquote.001.html
    scenario58passblocks.001.xmlblocks.001.html
    scenario59passblocks.002.xmlblocks.002.html
    scenario60passblocks.003.xmlblocks.003.html
    scenario61passblocks.004.xmlblocks.004.html
    scenario62passblocks.005.xmlblocks.005.html
    scenario63passbook.001.xmlbook.001.html
    scenario64passbook.002.xmlbook.002.html
    scenario65passbook.003.xmlbook.003.html
    scenario66passbook.004.xmlbook.004.html
    scenario67passbook.005.xmlbook.005.html
    scenario68passbook.006.xmlbook.006.html
    scenario69passbook.007.xmlbook.007.html
    scenario70passbook.008.xmlbook.008.html
    scenario71passbook.009.xmlbook.009.html
    scenario72passbook.010.xmlbook.010.html
    scenario73passbook.011.xmlbook.011.html
    scenario74passbook.012.xmlbook.012.html
    scenario75passbook.013.xmlbook.013.html
    scenario1passbook.014.xmlbook.014.html
    scenario76passbook.020.xmlbook.020.html
    scenario77passbook.021.xmlbook.021.html
    scenario78passbridgehead.001.xmlbridgehead.001.html
    scenario79passcalloutlist.001.xmlcalloutlist.001.html
    scenario80passcalloutlist.002.xmlcalloutlist.002.html
    scenario81passcalloutlist.003.xmlcalloutlist.003.html
    scenario82passcalloutlist.004.xmlcalloutlist.004.html
    scenario83passcalloutlist.005.xmlcalloutlist.005.html
    scenario84passchangebars.001.xmlchangebars.001.html
    scenario85passchapter.001.xmlchapter.001.html
    scenario86passchapter.002.xmlchapter.002.html
    scenario87passchapter.003.xmlchapter.003.html
    scenario88passchapter.004.xmlchapter.004.html
    scenario89passchapter.005.xmlchapter.005.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario90passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario91passchunk.001.xmlchunk.001.html
    scenario92passcitebiblioid.001.xmlcitebiblioid.001.html
    scenario93passclasssynopsis.001.xmlclasssynopsis.001.html
    scenario94passcmdsynopsis.001.xmlcmdsynopsis.001.html
    scenario95passcmdsynopsis.002.xmlcmdsynopsis.002.html
    scenario96passco.001.xmlco.001.html
    scenario1passcolors.001.xmlcolors.001.html
    scenario97passconstant.001.xmlconstant.001.html
    scenario98passdatabase.001.xmldatabase.001.html
    scenario99passdates.001.xmldates.001.html
    scenario1passdates.001.xmldates.001.html
    scenario100passdateTime.001.xmldateTime.001.html
    scenario101passdb45.001.xmldb45.001.html
    scenario102passde_book.xmlde_book.html
    scenario103passdir.001.xmldir.001.html
    scenario104passdrama.001.xmldrama.001.html
    scenario105passduck-small.001.xmlduck-small.001.html
    scenario106passduck-small.002.xmlduck-small.002.html
    scenario107passduck-small.003.xmlduck-small.003.html
    scenario108passduck-small.004.xmlduck-small.004.html
    scenario109passduck-small.005.xmlduck-small.005.html
    scenario110passduck-small.006.xmlduck-small.006.html
    scenario111passduck-small.007.xmlduck-small.007.html
    scenario112passdynprof.001.xmldynprof.001.html
    scenario113passemphasis.001.xmlemphasis.001.html
    scenario114passemptytitle.001.xmlemptytitle.001.html
    scenario115passen_caution.001.xmlen_caution.001.html
    scenario8passen_caution.001.xmlen_caution.001.html
    scenario116passen_caution.002.xmlen_caution.002.html
    scenario9passen_caution.002.xmlen_caution.002.html
    scenario117passen_danger.001.xmlen_danger.001.html
    scenario12passen_danger.001.xmlen_danger.001.html
    scenario118passen_danger.002.xmlen_danger.002.html
    scenario13passen_danger.002.xmlen_danger.002.html
    scenario119passen_important.001.xmlen_important.001.html
    scenario6passen_important.001.xmlen_important.001.html
    scenario120passen_important.002.xmlen_important.002.html
    scenario7passen_important.002.xmlen_important.002.html
    scenario121passen_note.001.xmlen_note.001.html
    scenario1passen_note.001.xmlen_note.001.html
    scenario122passen_note.002.xmlen_note.002.html
    scenario2passen_note.002.xmlen_note.002.html
    scenario123passen_note.003.xmlen_note.003.html
    scenario3passen_note.003.xmlen_note.003.html
    scenario124passen_tip.001.xmlen_tip.001.html
    scenario4passen_tip.001.xmlen_tip.001.html
    scenario125passen_tip.002.xmlen_tip.002.html
    scenario5passen_tip.002.xmlen_tip.002.html
    scenario126passen_warning.001.xmlen_warning.001.html
    scenario10passen_warning.001.xmlen_warning.001.html
    scenario127passen_warning.002.xmlen_warning.002.html
    scenario11passen_warning.002.xmlen_warning.002.html
    scenario128passentityref.001.xmlentityref.001.html
    scenario129passenumsynopsis.001.xmlenumsynopsis.001.html
    scenario130passepigraph.001.xmlepigraph.001.html
    scenario131passequation.001.xmlequation.001.html
    scenario132passequation.002.xmlequation.002.html
    scenario133passequation.003.xmlequation.003.html
    scenario134passequation.004.xmlequation.004.html
    scenario135passexample.001.xmlexample.001.html
    scenario136passfigure.001.xmlfigure.001.html
    scenario137passfigure.002.xmlfigure.002.html
    scenario138passfigure.003.xmlfigure.003.html
    scenario139passfigure.004.xmlfigure.004.html
    scenario140passfigure.005.xmlfigure.005.html
    scenario141passfigure.006.xmlfigure.006.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario142passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario143passfilename.001.xmlfilename.001.html
    scenario1passfit.001.xmlfit.001.html
    scenario2passfit.002.xmlfit.002.html
    scenario144passfootnote.001.xmlfootnote.001.html
    scenario145passfootnote.002.xmlfootnote.002.html
    scenario146passfootnote.003.xmlfootnote.003.html
    scenario147passfootnote.004.xmlfootnote.004.html
    scenario1passfootnote.005.xmlfootnote.005.html
    scenario148passfootnote.005.xmlfootnote.005.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario149passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario150passformalgroup.001.xmlformalgroup.001.html
    scenario151passformalgroup.002.xmlformalgroup.002.html
    scenario152passformalgroup.003.xmlformalgroup.003.html
    scenario153passformalgroup.004.xmlformalgroup.004.html
    scenario154passformalgroup.005.xmlformalgroup.005.html
    scenario155passformalpara.001.xmlformalpara.001.html
    scenario156passformalpara.002.xmlformalpara.002.html
    scenario157passfr_caution.001.xmlfr_caution.001.html
    scenario21passfr_caution.001.xmlfr_caution.001.html
    scenario158passfr_caution.002.xmlfr_caution.002.html
    scenario22passfr_caution.002.xmlfr_caution.002.html
    scenario159passfr_danger.001.xmlfr_danger.001.html
    scenario25passfr_danger.001.xmlfr_danger.001.html
    scenario160passfr_danger.002.xmlfr_danger.002.html
    scenario26passfr_danger.002.xmlfr_danger.002.html
    scenario161passfr_important.001.xmlfr_important.001.html
    scenario19passfr_important.001.xmlfr_important.001.html
    scenario162passfr_important.002.xmlfr_important.002.html
    scenario20passfr_important.002.xmlfr_important.002.html
    scenario163passfr_note.001.xmlfr_note.001.html
    scenario14passfr_note.001.xmlfr_note.001.html
    scenario164passfr_note.002.xmlfr_note.002.html
    scenario15passfr_note.002.xmlfr_note.002.html
    scenario165passfr_note.003.xmlfr_note.003.html
    scenario16passfr_note.003.xmlfr_note.003.html
    scenario166passfr_tip.001.xmlfr_tip.001.html
    scenario17passfr_tip.001.xmlfr_tip.001.html
    scenario167passfr_tip.002.xmlfr_tip.002.html
    scenario18passfr_tip.002.xmlfr_tip.002.html
    scenario168passfr_warning.001.xmlfr_warning.001.html
    scenario23passfr_warning.001.xmlfr_warning.001.html
    scenario169passfr_warning.002.xmlfr_warning.002.html
    scenario24passfr_warning.002.xmlfr_warning.002.html
    scenario170passfuncsynopsis.001.xmlfuncsynopsis.001.html
    scenario1passglossary.001.xmlglossary.001.html
    scenario2passglossary.002.xmlglossary.002.html
    scenario3passglossary.003.xmlglossary.003.html
    scenario4passglossary.004.xmlglossary.004.html
    scenario5passglossary.005.xmlglossary.005.html
    scenario6passglossary.006.xmlglossary.006.html
    scenario171passglossary.007.xmlglossary.007.html
    scenario172passglossary.008.xmlglossary.008.html
    scenario173passglossary.009.xmlglossary.009.html
    scenario7passglossary.010.xmlglossary.010.html
    scenario174passglosslist.001.xmlglosslist.001.html
    scenario175passguiicon.001.xmlguiicon.001.html
    scenario176passhen_v.xmlhen_v.html
    scenario177passimageobjectco.001.xmlimageobjectco.001.html
    scenario178passindex.001.xmlindex.001.html
    scenario179passindex.002.xmlindex.002.html
    scenario180passindex.003.xmlindex.003.html
    scenario181passindexterm.001.xmlindexterm.001.html
    scenario182passindexterm.002.xmlindexterm.002.html
    scenario183passindexterm.003.xmlindexterm.003.html
    scenario184passindexterm.004.xmlindexterm.004.html
    scenario185passindexterm.005.xmlindexterm.005.html
    scenario186passindexterm.006.xmlindexterm.006.html
    scenario187passinfo.001.xmlinfo.001.html
    scenario188passinformalequation.001.xmlinformalequation.001.html
    scenario189passinformalexample.001.xmlinformalexample.001.html
    scenario190passinformalfigure.001.xmlinformalfigure.001.html
    scenario191passinlines.001.xmlinlines.001.html
    scenario192passinlines.002.xmlinlines.002.html
    scenario193passiso690.001.xmliso690.001.html
    scenario194passiso690.002.xmliso690.002.html
    scenario195passiso690.003.xmliso690.003.html
    scenario196passiso690.004.xmliso690.004.html
    scenario197passiso690.005.xmliso690.005.html
    scenario198passiso690.006.xmliso690.006.html
    scenario199passiso690.007.xmliso690.007.html
    scenario200passiso690.008.xmliso690.008.html
    scenario201passiso690.009.xmliso690.009.html
    scenario202passiso690.010.xmliso690.010.html
    scenario203passiso690.011.xmliso690.011.html
    scenario204passiso690.012.xmliso690.012.html
    scenario205passiso690.013.xmliso690.013.html
    scenario206passitemizedlist.001.xmlitemizedlist.001.html
    scenario207passitemizedlist.002.xmlitemizedlist.002.html
    scenario208passitemizedlist.003.xmlitemizedlist.003.html
    scenario209passitemizedlist.004.xmlitemizedlist.004.html
    scenario210passitemizedlist.005.xmlitemizedlist.005.html
    scenario211passitemizedlist.006.xmlitemizedlist.006.html
    scenario212passitemizedlist.007.xmlitemizedlist.007.html
    scenario213passitemizedlist.008.xmlitemizedlist.008.html
    scenario214passitemizedlist.009.xmlitemizedlist.009.html
    scenario215passitemizedlist.010.xmlitemizedlist.010.html
    scenario216passitemizedlist.011.xmlitemizedlist.011.html
    scenario217passitemizedlist.012.xmlitemizedlist.012.html
    scenario218passJFK_Inaugural.xmlJFK_Inaugural.html
    scenario219passkeycap.001.xmlkeycap.001.html
    scenario220passkeywordset.001.xmlkeywordset.001.html
    scenario221passl10n.001.xmll10n.001.html
    scenario222passl10n.002.xmll10n.002.html
    scenario223passl10n.003.xmll10n.003.html
    scenario224passlegalnotice.001.xmllegalnotice.001.html
    scenario225passlineannotation.001.xmllineannotation.001.html
    scenario226passlink.001.xmllink.001.html
    scenario227passlink.002.xmllink.002.html
    scenario228passlink.003.xmllink.003.html
    scenario229passlink.004.xmllink.004.html
    scenario230passliterallayout.001.xmlliterallayout.001.html
    scenario231passliterallayout.002.xmlliterallayout.002.html
    scenario232passliterallayout.003.xmlliterallayout.003.html
    scenario233passliterallayout.004.xmlliterallayout.004.html
    scenario234passliterallayout.005.xmlliterallayout.005.html
    scenario1passlocal.001.xmllocal.001.html
    scenario235passmediaobject.001.xmlmediaobject.001.html
    scenario236passmediaobject.002.xmlmediaobject.002.html
    scenario237passmediaobject.003.xmlmediaobject.003.html
    scenario238passmediaobject.004.xmlmediaobject.004.html
    scenario1passmediaobject.005.xmlmediaobject.005.html
    scenario239passmediaobject.006.xmlmediaobject.006.html
    scenario240passmediaobjectco.001.xmlmediaobjectco.001.html
    scenario241passmeta.001.xmlmeta.001.html
    scenario242passmethodsynopsis.001.xmlmethodsynopsis.001.html
    scenario243passmsgset.001.xmlmsgset.001.html
    scenario244passnumeration-book.001.xmlnumeration-book.001.html
    scenario1passolink.001.xmlolink.001.html
    scenario245passorderedlist.001.xmlorderedlist.001.html
    scenario246passorderedlist.002.xmlorderedlist.002.html
    scenario247passorderedlist.003.xmlorderedlist.003.html
    scenario248passorderedlist.004.xmlorderedlist.004.html
    scenario249passorderedlist.005.xmlorderedlist.005.html
    scenario250passorderedlist.006.xmlorderedlist.006.html
    scenario251passorderedlist.007.xmlorderedlist.007.html
    scenario252passorderedlist.008.xmlorderedlist.008.html
    scenario253passorderedlist.009.xmlorderedlist.009.html
    scenario254passorderedlist.010.xmlorderedlist.010.html
    scenario255passorderedlist.011.xmlorderedlist.011.html
    scenario256passorderedlist.012.xmlorderedlist.012.html
    scenario257passorderedlist.013.xmlorderedlist.013.html
    scenario258passorderedlist.014.xmlorderedlist.014.html
    scenario259passorderedlist.015.xmlorderedlist.015.html
    scenario260passorderedlist.016.xmlorderedlist.016.html
    scenario261passorderedlist.017.xmlorderedlist.017.html
    scenario262passorderedlist.018.xmlorderedlist.018.html
    scenario263passorgname.001.xmlorgname.001.html
    scenario264passoxy-changemarkup.001.xmloxy-changemarkup.001.html
    scenario265passoxy-changemarkup.002.xmloxy-changemarkup.002.html
    scenario266passpackagesynopsis.001.xmlpackagesynopsis.001.html
    scenario267passpanelset.001.xmlpanelset.001.html
    scenario268passpanelset.002.xmlpanelset.002.html
    scenario269passpara.001.xmlpara.001.html
    scenario2passpara.002.xmlpara.002.html
    scenario270passpara.002.xmlpara.002.html
    scenario3passpara.003.xmlpara.003.html
    scenario271passpara.003.xmlpara.003.html
    scenario4passpara.004.xmlpara.004.html
    scenario272passpara.004.xmlpara.004.html
    scenario273passparameter.001.xmlparameter.001.html
    scenario274passpart.001.xmlpart.001.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario275passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario276passpersonname.001.xmlpersonname.001.html
    scenario277passpmuj.001.xmlpmuj.001.html
    scenario278passpreface.001.xmlpreface.001.html
    scenario279passpreface.002.xmlpreface.002.html
    scenario280passpreface.003.xmlpreface.003.html
    scenario1passpresentation.001.xmlpresentation.001.html
    scenario2passpresentation.002.xmlpresentation.002.html
    scenario281passprocedure.001.xmlprocedure.001.html
    scenario282passprocedure.002.xmlprocedure.002.html
    scenario283passprocedure.003.xmlprocedure.003.html
    scenario284passprocedure.004.xmlprocedure.004.html
    scenario285passprocedure.005.xmlprocedure.005.html
    scenario286passproductionset.001.xmlproductionset.001.html
    scenario287passproductname.001.xmlproductname.001.html
    scenario288passprofiling.001.xmlprofiling.001.html
    scenario289passprogramlisting.001.xmlprogramlisting.001.html
    scenario290passprogramlisting.002.xmlprogramlisting.002.html
    scenario291passprogramlisting.003.xmlprogramlisting.003.html
    scenario292passprogramlisting.004.xmlprogramlisting.004.html
    scenario293passprogramlisting.005.xmlprogramlisting.005.html
    scenario294passprogramlisting.006.xmlprogramlisting.006.html
    scenario295passprogramlisting.007.xmlprogramlisting.007.html
    scenario296passprogramlisting.008.xmlprogramlisting.008.html
    scenario297passprogramlisting.009.xmlprogramlisting.009.html
    scenario298passprogramlisting.010.xmlprogramlisting.010.html
    scenario299passprogramlisting.011.xmlprogramlisting.011.html
    scenario300passprogramlisting.012.xmlprogramlisting.012.html
    scenario301passprogramlisting.013.xmlprogramlisting.013.html
    scenario302passprogramlisting.014.xmlprogramlisting.014.html
    scenario303passprogramlisting.015.xmlprogramlisting.015.html
    scenario304passprogramlistingco.001.xmlprogramlistingco.001.html
    scenario2passprogramlistingco.001_l_f_l-lra.xmlprogramlistingco.001_l_f_l-lra.html
    scenario3passprogramlistingco.001_l_f_l-lrf.xmlprogramlistingco.001_l_f_l-lrf.html
    scenario1passprogramlistingco.001_l_f_l.xmlprogramlistingco.001_l_f_l.html
    scenario6passprogramlistingco.001_l_f_lc-l-lra.xmlprogramlistingco.001_l_f_lc-l-lra.html
    scenario7passprogramlistingco.001_l_f_lc-l-lrf.xmlprogramlistingco.001_l_f_lc-l-lrf.html
    scenario5passprogramlistingco.001_l_f_lc-l.xmlprogramlistingco.001_l_f_lc-l.html
    scenario8passprogramlistingco.001_l_f_lc-lra.xmlprogramlistingco.001_l_f_lc-lra.html
    scenario9passprogramlistingco.001_l_f_lc-lrf.xmlprogramlistingco.001_l_f_lc-lrf.html
    scenario4passprogramlistingco.001_l_f_lc.xmlprogramlistingco.001_l_f_lc.html
    scenario10passprogramlistingco.001_l_f_lra.xmlprogramlistingco.001_l_f_lra.html
    scenario11passprogramlistingco.001_l_f_lrf.xmlprogramlistingco.001_l_f_lrf.html
    scenario13passprogramlistingco.001_l_t_l-lra.xmlprogramlistingco.001_l_t_l-lra.html
    scenario14passprogramlistingco.001_l_t_l-lrf.xmlprogramlistingco.001_l_t_l-lrf.html
    scenario12passprogramlistingco.001_l_t_l.xmlprogramlistingco.001_l_t_l.html
    scenario17passprogramlistingco.001_l_t_lc-l-lra.xmlprogramlistingco.001_l_t_lc-l-lra.html
    scenario18passprogramlistingco.001_l_t_lc-l-lrf.xmlprogramlistingco.001_l_t_lc-l-lrf.html
    scenario16passprogramlistingco.001_l_t_lc-l.xmlprogramlistingco.001_l_t_lc-l.html
    scenario19passprogramlistingco.001_l_t_lc-lra.xmlprogramlistingco.001_l_t_lc-lra.html
    scenario20passprogramlistingco.001_l_t_lc-lrf.xmlprogramlistingco.001_l_t_lc-lrf.html
    scenario15passprogramlistingco.001_l_t_lc.xmlprogramlistingco.001_l_t_lc.html
    scenario21passprogramlistingco.001_l_t_lra.xmlprogramlistingco.001_l_t_lra.html
    scenario22passprogramlistingco.001_l_t_lrf.xmlprogramlistingco.001_l_t_lrf.html
    scenario24passprogramlistingco.001_p_f_l-lra.xmlprogramlistingco.001_p_f_l-lra.html
    scenario25passprogramlistingco.001_p_f_l-lrf.xmlprogramlistingco.001_p_f_l-lrf.html
    scenario23passprogramlistingco.001_p_f_l.xmlprogramlistingco.001_p_f_l.html
    scenario28passprogramlistingco.001_p_f_lc-l-lra.xmlprogramlistingco.001_p_f_lc-l-lra.html
    scenario29passprogramlistingco.001_p_f_lc-l-lrf.xmlprogramlistingco.001_p_f_lc-l-lrf.html
    scenario27passprogramlistingco.001_p_f_lc-l.xmlprogramlistingco.001_p_f_lc-l.html
    scenario30passprogramlistingco.001_p_f_lc-lra.xmlprogramlistingco.001_p_f_lc-lra.html
    scenario31passprogramlistingco.001_p_f_lc-lrf.xmlprogramlistingco.001_p_f_lc-lrf.html
    scenario26passprogramlistingco.001_p_f_lc.xmlprogramlistingco.001_p_f_lc.html
    scenario32passprogramlistingco.001_p_f_lra.xmlprogramlistingco.001_p_f_lra.html
    scenario33passprogramlistingco.001_p_f_lrf.xmlprogramlistingco.001_p_f_lrf.html
    scenario35passprogramlistingco.001_p_t_l-lra.xmlprogramlistingco.001_p_t_l-lra.html
    scenario36passprogramlistingco.001_p_t_l-lrf.xmlprogramlistingco.001_p_t_l-lrf.html
    scenario34passprogramlistingco.001_p_t_l.xmlprogramlistingco.001_p_t_l.html
    scenario39passprogramlistingco.001_p_t_lc-l-lra.xmlprogramlistingco.001_p_t_lc-l-lra.html
    scenario40passprogramlistingco.001_p_t_lc-l-lrf.xmlprogramlistingco.001_p_t_lc-l-lrf.html
    scenario38passprogramlistingco.001_p_t_lc-l.xmlprogramlistingco.001_p_t_lc-l.html
    scenario41passprogramlistingco.001_p_t_lc-lra.xmlprogramlistingco.001_p_t_lc-lra.html
    scenario42passprogramlistingco.001_p_t_lc-lrf.xmlprogramlistingco.001_p_t_lc-lrf.html
    scenario37passprogramlistingco.001_p_t_lc.xmlprogramlistingco.001_p_t_lc.html
    scenario43passprogramlistingco.001_p_t_lra.xmlprogramlistingco.001_p_t_lra.html
    scenario44passprogramlistingco.001_p_t_lrf.xmlprogramlistingco.001_p_t_lrf.html
    scenario46passprogramlistingco.001_r_f_l-lra.xmlprogramlistingco.001_r_f_l-lra.html
    scenario47passprogramlistingco.001_r_f_l-lrf.xmlprogramlistingco.001_r_f_l-lrf.html
    scenario45passprogramlistingco.001_r_f_l.xmlprogramlistingco.001_r_f_l.html
    scenario50passprogramlistingco.001_r_f_lc-l-lra.xmlprogramlistingco.001_r_f_lc-l-lra.html
    scenario51passprogramlistingco.001_r_f_lc-l-lrf.xmlprogramlistingco.001_r_f_lc-l-lrf.html
    scenario49passprogramlistingco.001_r_f_lc-l.xmlprogramlistingco.001_r_f_lc-l.html
    scenario52passprogramlistingco.001_r_f_lc-lra.xmlprogramlistingco.001_r_f_lc-lra.html
    scenario53passprogramlistingco.001_r_f_lc-lrf.xmlprogramlistingco.001_r_f_lc-lrf.html
    scenario48passprogramlistingco.001_r_f_lc.xmlprogramlistingco.001_r_f_lc.html
    scenario54passprogramlistingco.001_r_f_lra.xmlprogramlistingco.001_r_f_lra.html
    scenario55passprogramlistingco.001_r_f_lrf.xmlprogramlistingco.001_r_f_lrf.html
    scenario57passprogramlistingco.001_r_t_l-lra.xmlprogramlistingco.001_r_t_l-lra.html
    scenario58passprogramlistingco.001_r_t_l-lrf.xmlprogramlistingco.001_r_t_l-lrf.html
    scenario56passprogramlistingco.001_r_t_l.xmlprogramlistingco.001_r_t_l.html
    scenario61passprogramlistingco.001_r_t_lc-l-lra.xmlprogramlistingco.001_r_t_lc-l-lra.html
    scenario62passprogramlistingco.001_r_t_lc-l-lrf.xmlprogramlistingco.001_r_t_lc-l-lrf.html
    scenario60passprogramlistingco.001_r_t_lc-l.xmlprogramlistingco.001_r_t_lc-l.html
    scenario63passprogramlistingco.001_r_t_lc-lra.xmlprogramlistingco.001_r_t_lc-lra.html
    scenario64passprogramlistingco.001_r_t_lc-lrf.xmlprogramlistingco.001_r_t_lc-lrf.html
    scenario59passprogramlistingco.001_r_t_lc.xmlprogramlistingco.001_r_t_lc.html
    scenario65passprogramlistingco.001_r_t_lra.xmlprogramlistingco.001_r_t_lra.html
    scenario66passprogramlistingco.001_r_t_lrf.xmlprogramlistingco.001_r_t_lrf.html
    scenario305passprogramlistingco.002.xmlprogramlistingco.002.html
    scenario306passprogramlistingco.003.xmlprogramlistingco.003.html
    scenario307passprogramlistingco.004.xmlprogramlistingco.004.html
    scenario1passptoc.001.xmlptoc.001.html
    scenario308passpygments.001.xmlpygments.001.html
    scenario309passpygments.002.xmlpygments.002.html
    scenario310passpygments.003.xmlpygments.003.html
    scenario311passpygments.004.xmlpygments.004.html
    scenario312passqandaset.001.xmlqandaset.001.html
    scenario313passqandaset.002.xmlqandaset.002.html
    scenario314passqandaset.003.xmlqandaset.003.html
    scenario315passqandaset.004.xmlqandaset.004.html
    scenario316passqandaset.005.xmlqandaset.005.html
    scenario317passqandaset.006.xmlqandaset.006.html
    scenario318passqandaset.007.xmlqandaset.007.html
    scenario319passquote.001.xmlquote.001.html
    scenario320passrefentry.001.xmlrefentry.001.html
    scenario321passrefentry.002.xmlrefentry.002.html
    scenario322passrefentry.003.xmlrefentry.003.html
    scenario323passrefentry.004.xmlrefentry.004.html
    scenario324passrefentry.005.xmlrefentry.005.html
    scenario325passrefentry.006.xmlrefentry.006.html
    scenario326passrefentry.007.xmlrefentry.007.html
    scenario327passrefentry.008.xmlrefentry.008.html
    scenario328passrefentry.009.xmlrefentry.009.html
    scenario329passrefentry.010.xmlrefentry.010.html
    scenario330passrefentry.011.xmlrefentry.011.html
    scenario331passrefentry.012.xmlrefentry.012.html
    scenario332passrefentry.013.xmlrefentry.013.html
    scenario333passreference.001.xmlreference.001.html
    scenario334passreference.002.xmlreference.002.html
    scenario335passreference.003.xmlreference.003.html
    scenario336passremark.001.xmlremark.001.html
    scenario337passremark.002.xmlremark.002.html
    scenario338passreplaceable.001.xmlreplaceable.001.html
    scenario339passrevhistory.001.xmlrevhistory.001.html
    scenario340passscreen.001.xmlscreen.001.html
    scenario341passscreen.002.xmlscreen.002.html
    scenario342passscreenco.001.xmlscreenco.001.html
    scenario68passscreenco.001_l_f_l-lra.xmlscreenco.001_l_f_l-lra.html
    scenario69passscreenco.001_l_f_l-lrf.xmlscreenco.001_l_f_l-lrf.html
    scenario67passscreenco.001_l_f_l.xmlscreenco.001_l_f_l.html
    scenario72passscreenco.001_l_f_lc-l-lra.xmlscreenco.001_l_f_lc-l-lra.html
    scenario73passscreenco.001_l_f_lc-l-lrf.xmlscreenco.001_l_f_lc-l-lrf.html
    scenario71passscreenco.001_l_f_lc-l.xmlscreenco.001_l_f_lc-l.html
    scenario74passscreenco.001_l_f_lc-lra.xmlscreenco.001_l_f_lc-lra.html
    scenario75passscreenco.001_l_f_lc-lrf.xmlscreenco.001_l_f_lc-lrf.html
    scenario70passscreenco.001_l_f_lc.xmlscreenco.001_l_f_lc.html
    scenario76passscreenco.001_l_f_lra.xmlscreenco.001_l_f_lra.html
    scenario77passscreenco.001_l_f_lrf.xmlscreenco.001_l_f_lrf.html
    scenario79passscreenco.001_l_t_l-lra.xmlscreenco.001_l_t_l-lra.html
    scenario80passscreenco.001_l_t_l-lrf.xmlscreenco.001_l_t_l-lrf.html
    scenario78passscreenco.001_l_t_l.xmlscreenco.001_l_t_l.html
    scenario83passscreenco.001_l_t_lc-l-lra.xmlscreenco.001_l_t_lc-l-lra.html
    scenario84passscreenco.001_l_t_lc-l-lrf.xmlscreenco.001_l_t_lc-l-lrf.html
    scenario82passscreenco.001_l_t_lc-l.xmlscreenco.001_l_t_lc-l.html
    scenario85passscreenco.001_l_t_lc-lra.xmlscreenco.001_l_t_lc-lra.html
    scenario86passscreenco.001_l_t_lc-lrf.xmlscreenco.001_l_t_lc-lrf.html
    scenario81passscreenco.001_l_t_lc.xmlscreenco.001_l_t_lc.html
    scenario87passscreenco.001_l_t_lra.xmlscreenco.001_l_t_lra.html
    scenario88passscreenco.001_l_t_lrf.xmlscreenco.001_l_t_lrf.html
    scenario90passscreenco.001_p_f_l-lra.xmlscreenco.001_p_f_l-lra.html
    scenario91passscreenco.001_p_f_l-lrf.xmlscreenco.001_p_f_l-lrf.html
    scenario89passscreenco.001_p_f_l.xmlscreenco.001_p_f_l.html
    scenario94passscreenco.001_p_f_lc-l-lra.xmlscreenco.001_p_f_lc-l-lra.html
    scenario95passscreenco.001_p_f_lc-l-lrf.xmlscreenco.001_p_f_lc-l-lrf.html
    scenario93passscreenco.001_p_f_lc-l.xmlscreenco.001_p_f_lc-l.html
    scenario96passscreenco.001_p_f_lc-lra.xmlscreenco.001_p_f_lc-lra.html
    scenario97passscreenco.001_p_f_lc-lrf.xmlscreenco.001_p_f_lc-lrf.html
    scenario92passscreenco.001_p_f_lc.xmlscreenco.001_p_f_lc.html
    scenario98passscreenco.001_p_f_lra.xmlscreenco.001_p_f_lra.html
    scenario99passscreenco.001_p_f_lrf.xmlscreenco.001_p_f_lrf.html
    scenario101passscreenco.001_p_t_l-lra.xmlscreenco.001_p_t_l-lra.html
    scenario102passscreenco.001_p_t_l-lrf.xmlscreenco.001_p_t_l-lrf.html
    scenario100passscreenco.001_p_t_l.xmlscreenco.001_p_t_l.html
    scenario105passscreenco.001_p_t_lc-l-lra.xmlscreenco.001_p_t_lc-l-lra.html
    scenario106passscreenco.001_p_t_lc-l-lrf.xmlscreenco.001_p_t_lc-l-lrf.html
    scenario104passscreenco.001_p_t_lc-l.xmlscreenco.001_p_t_lc-l.html
    scenario107passscreenco.001_p_t_lc-lra.xmlscreenco.001_p_t_lc-lra.html
    scenario108passscreenco.001_p_t_lc-lrf.xmlscreenco.001_p_t_lc-lrf.html
    scenario103passscreenco.001_p_t_lc.xmlscreenco.001_p_t_lc.html
    scenario109passscreenco.001_p_t_lra.xmlscreenco.001_p_t_lra.html
    scenario110passscreenco.001_p_t_lrf.xmlscreenco.001_p_t_lrf.html
    scenario112passscreenco.001_r_f_l-lra.xmlscreenco.001_r_f_l-lra.html
    scenario113passscreenco.001_r_f_l-lrf.xmlscreenco.001_r_f_l-lrf.html
    scenario111passscreenco.001_r_f_l.xmlscreenco.001_r_f_l.html
    scenario116passscreenco.001_r_f_lc-l-lra.xmlscreenco.001_r_f_lc-l-lra.html
    scenario117passscreenco.001_r_f_lc-l-lrf.xmlscreenco.001_r_f_lc-l-lrf.html
    scenario115passscreenco.001_r_f_lc-l.xmlscreenco.001_r_f_lc-l.html
    scenario118passscreenco.001_r_f_lc-lra.xmlscreenco.001_r_f_lc-lra.html
    scenario119passscreenco.001_r_f_lc-lrf.xmlscreenco.001_r_f_lc-lrf.html
    scenario114passscreenco.001_r_f_lc.xmlscreenco.001_r_f_lc.html
    scenario120passscreenco.001_r_f_lra.xmlscreenco.001_r_f_lra.html
    scenario121passscreenco.001_r_f_lrf.xmlscreenco.001_r_f_lrf.html
    scenario123passscreenco.001_r_t_l-lra.xmlscreenco.001_r_t_l-lra.html
    scenario124passscreenco.001_r_t_l-lrf.xmlscreenco.001_r_t_l-lrf.html
    scenario122passscreenco.001_r_t_l.xmlscreenco.001_r_t_l.html
    scenario127passscreenco.001_r_t_lc-l-lra.xmlscreenco.001_r_t_lc-l-lra.html
    scenario128passscreenco.001_r_t_lc-l-lrf.xmlscreenco.001_r_t_lc-l-lrf.html
    scenario126passscreenco.001_r_t_lc-l.xmlscreenco.001_r_t_lc-l.html
    scenario129passscreenco.001_r_t_lc-lra.xmlscreenco.001_r_t_lc-lra.html
    scenario130passscreenco.001_r_t_lc-lrf.xmlscreenco.001_r_t_lc-lrf.html
    scenario125passscreenco.001_r_t_lc.xmlscreenco.001_r_t_lc.html
    scenario131passscreenco.001_r_t_lra.xmlscreenco.001_r_t_lra.html
    scenario132passscreenco.001_r_t_lrf.xmlscreenco.001_r_t_lrf.html
    scenario343passsect1.001.xmlsect1.001.html
    scenario344passsect1.002.xmlsect1.002.html
    scenario345passsection.001.xmlsection.001.html
    scenario346passsection.002.xmlsection.002.html
    scenario347passsection.003.xmlsection.003.html
    scenario348passsection.004.xmlsection.004.html
    scenario349passsection.005.xmlsection.005.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario350passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario351passsegmentedlist.001.xmlsegmentedlist.001.html
    scenario352passsegmentedlist.002.xmlsegmentedlist.002.html
    scenario353passsegmentedlist.003.xmlsegmentedlist.003.html
    scenario354passset.001.xmlset.001.html
    scenario355passsidebar.001.xmlsidebar.001.html
    scenario356passsimplelist.001.xmlsimplelist.001.html
    scenario357passsimplelist.002.xmlsimplelist.002.html
    scenario358passsimplelist.003.xmlsimplelist.003.html
    scenario359passsimplelist.004.xmlsimplelist.004.html
    scenario360passsimplelist.005.xmlsimplelist.005.html
    scenario361passsimplelist.006.xmlsimplelist.006.html
    scenario362passsimplelist.007.xmlsimplelist.007.html
    scenario363passsimplesect.001.xmlsimplesect.001.html
    scenario364passslides.001.xmlslides.001.html
    scenario365passslides.002.xmlslides.002.html
    scenario366passslides.003.xmlslides.003.html
    scenario367passstamp.001.xmlstamp.001.html
    scenario368passstamp.002.xmlstamp.002.html
    scenario369passstamp.003.xmlstamp.003.html
    scenario370passstamp.004.xmlstamp.004.html
    scenario371passstamp.005.xmlstamp.005.html
    scenario372passstamp.006.xmlstamp.006.html
    scenario373passstamp.007.xmlstamp.007.html
    scenario374passstamp.008.xmlstamp.008.html
    scenario375passstamp.009.xmlstamp.009.html
    scenario376passstamp.010.xmlstamp.010.html
    scenario377passstamp.011.xmlstamp.011.html
    scenario378passstamp.012.xmlstamp.012.html
    scenario379passstamp.013.xmlstamp.013.html
    scenario380passstamp.050.xmlstamp.050.html
    scenario381passstamp.051.xmlstamp.051.html
    scenario382passsubtitle.001.xmlsubtitle.001.html
    scenario383passsvg.001.xmlsvg.001.html
    scenario384passsvg.002.xmlsvg.002.html
    scenario385passsymbol.001.xmlsymbol.001.html
    scenario386passsynopsisinfo.001.xmlsynopsisinfo.001.html
    scenario387passsystemitem.001.xmlsystemitem.001.html
    scenario388passtable-cals.001.xmltable-cals.001.html
    scenario389passtable-cals.002.xmltable-cals.002.html
    scenario390passtable-cals.003.xmltable-cals.003.html
    scenario391passtable-cals.004.xmltable-cals.004.html
    scenario392passtable-cals.005.xmltable-cals.005.html
    scenario393passtable-cals.006.xmltable-cals.006.html
    scenario394passtable-cals.007.xmltable-cals.007.html
    scenario395passtable-cals.008.xmltable-cals.008.html
    scenario396passtable-cals.009.xmltable-cals.009.html
    scenario397passtable-cals.010.xmltable-cals.010.html
    scenario398passtable-cals.011.xmltable-cals.011.html
    scenario399passtable-cals.012.xmltable-cals.012.html
    scenario400passtable-cals.013.xmltable-cals.013.html
    scenario401passtable-cals.014.xmltable-cals.014.html
    scenario402passtable-cals.015.xmltable-cals.015.html
    scenario403passtable-cals.016.xmltable-cals.016.html
    scenario404passtable-cals.017.xmltable-cals.017.html
    scenario405passtable-cals.018.xmltable-cals.018.html
    scenario406passtable-cals.019.xmltable-cals.019.html
    scenario407passtable-cals.020.xmltable-cals.020.html
    scenario408passtable-cals.021.xmltable-cals.021.html
    scenario409passtable-cals.022.xmltable-cals.022.html
    scenario410passtable-cals.023.xmltable-cals.023.html
    scenario411passtable-cals.024.xmltable-cals.024.html
    scenario412passtable-cals.025.xmltable-cals.025.html
    scenario413passtable-cals.026.xmltable-cals.026.html
    scenario414passtable-cals.027.xmltable-cals.027.html
    scenario415passtable-cals.028.xmltable-cals.028.html
    scenario416passtable-cals.029.xmltable-cals.029.html
    scenario417passtable-cals.030.xmltable-cals.030.html
    scenario418passtable-cals.031.xmltable-cals.031.html
    scenario419passtable-cals.032.xmltable-cals.032.html
    scenario420passtable-cals.033.xmltable-cals.033.html
    scenario421passtable-cals.034.xmltable-cals.034.html
    scenario422passtable-cals.035.xmltable-cals.035.html
    scenario423passtable-cals.036.xmltable-cals.036.html
    scenario424passtable-cals.037.xmltable-cals.037.html
    scenario425passtable-cals.038.xmltable-cals.038.html
    scenario426passtable-cals.039.xmltable-cals.039.html
    scenario427passtable-cals.040.xmltable-cals.040.html
    scenario428passtable-cals.041.xmltable-cals.041.html
    scenario429passtable-cals.042.xmltable-cals.042.html
    scenario430passtable-cals.043.xmltable-cals.043.html
    scenario431passtable-cals.044.xmltable-cals.044.html
    scenario432passtable-cals.045.xmltable-cals.045.html
    scenario433passtable-cals.046.xmltable-cals.046.html
    scenario434passtable-cals.047.xmltable-cals.047.html
    scenario435passtable-cals.048.xmltable-cals.048.html
    scenario436passtable-cals.049.xmltable-cals.049.html
    scenario437passtable-cals.050.xmltable-cals.050.html
    scenario438passtable-cals.051.xmltable-cals.051.html
    scenario439passtable-cals.052.xmltable-cals.052.html
    scenario440passtable-cals.053.xmltable-cals.053.html
    scenario441passtable-cals.054.xmltable-cals.054.html
    scenario442passtable-cals.055.xmltable-cals.055.html
    scenario443passtable-html.001.xmltable-html.001.html
    scenario444passtable-html.002.xmltable-html.002.html
    scenario445passtable-html.003.xmltable-html.003.html
    scenario446passtable-html.004.xmltable-html.004.html
    scenario447passtable-html.005.xmltable-html.005.html
    scenario448passtable-html.006.xmltable-html.006.html
    scenario449passtable-html.007.xmltable-html.007.html
    scenario450passtable-html.008.xmltable-html.008.html
    scenario451passtable-html.009.xmltable-html.009.html
    scenario452passtable-html.010.xmltable-html.010.html
    scenario453passtable-html.011.xmltable-html.011.html
    scenario454passtable-html.012.xmltable-html.012.html
    scenario455passtable-html.013.xmltable-html.013.html
    scenario456passtable-html.014.xmltable-html.014.html
    scenario457passtable-html.015.xmltable-html.015.html
    scenario458passtable-html.016.xmltable-html.016.html
    scenario459passtable-html.017.xmltable-html.017.html
    scenario460passtable-html.018.xmltable-html.018.html
    scenario461passtable-html.019.xmltable-html.019.html
    scenario462passtable-html.020.xmltable-html.020.html
    scenario463passtable-html.021.xmltable-html.021.html
    scenario464passtable-html.022.xmltable-html.022.html
    scenario465passtable-html.023.xmltable-html.023.html
    scenario466passtable-html.024.xmltable-html.024.html
    scenario467passtable-html.025.xmltable-html.025.html
    scenario468passtable-html.026.xmltable-html.026.html
    scenario469passtable-html.027.xmltable-html.027.html
    scenario470passtable-html.028.xmltable-html.028.html
    scenario471passtable-html.029.xmltable-html.029.html
    scenario472passtag.001.xmltag.001.html
    scenario473passtask.001.xmltask.001.html
    scenario474passtitles.001.xmltitles.001.html
    scenario475passtoc.001.xmltoc.001.html
    scenario476passtoc.002.xmltoc.002.html
    scenario477passtopic.001.xmltopic.001.html
    scenario478passtopic.002.xmltopic.002.html
    scenario479passtopic.003.xmltopic.003.html
    scenario480passtrademark.001.xmltrademark.001.html
    scenario1passtransclusion.001.xmltransclusion.001.html
    scenario2passtransclusion.002.xmltransclusion.002.html
    scenario3passtransclusion.003.xmltransclusion.003.html
    scenario4passtransclusion.004.xmltransclusion.004.html
    scenario481passuri.001.xmluri.001.html
    scenario482passvariablelist.001.xmlvariablelist.001.html
    scenario483passvariablelist.002.xmlvariablelist.002.html
    scenario484passvariablelist.003.xmlvariablelist.003.html
    scenario485passvariablelist.004.xmlvariablelist.004.html
    scenario486passvideoobject.001.xmlvideoobject.001.html
    scenario487passvideoobject.002.xmlvideoobject.002.html
    scenario488passvideoobject.003.xmlvideoobject.003.html
    scenario489passvideoobject.004.xmlvideoobject.004.html
    scenario490passwordsize.001.xmlwordsize.001.html
    scenario491passxinclude.001.xmlxinclude.001.html
    scenario492passxinclude.002.xmlxinclude.002.html
    scenario493passxinclude.003.xmlxinclude.003.html
    scenario494passxinclude.004.xmlxinclude.004.html
    scenario495passxinclude.005.xmlxinclude.005.html
    scenario496passxinclude.006.xmlxinclude.006.html
    scenario497passxinclude.007.xmlxinclude.007.html
    scenario498passxinclude.008.xmlxinclude.008.html
    scenario499passxinclude.009.xmlxinclude.009.html
    scenario500passxinclude.010.xmlxinclude.010.html
    scenario501passxinclude.011.xmlxinclude.011.html
    scenario502passxinclude.012.xmlxinclude.012.html
    scenario503passxinclude.013.xmlxinclude.013.html
    scenario504passxinclude.014.xmlxinclude.014.html
    scenario505passxinclude.015.xmlxinclude.015.html
    scenario506passxinclude.016.xmlxinclude.016.html
    scenario507passxinclude.017.xmlxinclude.017.html
    scenario508passxinclude.018.xmlxinclude.018.html
    scenario509passxinclude.019.xmlxinclude.019.html
    scenario510passxinclude.020.xmlxinclude.020.html
    scenario511passxinclude.021.xmlxinclude.021.html
    scenario512passxinclude.022.xmlxinclude.022.html
    scenario513passxinclude.023.xmlxinclude.023.html
    scenario514passxinclude.024.xmlxinclude.024.html
    scenario515passxlink.001.xmlxlink.001.html
    scenario516passxlink.002.xmlxlink.002.html
    scenario517passxlink.003.xmlxlink.003.html
    scenario518passxlink.004.xmlxlink.004.html
    scenario519passxlink.005.xmlxlink.005.html
    scenario520passxlink.006.xmlxlink.006.html
    scenario521passxlink.007.xmlxlink.007.html
    scenario522passxref.001.xmlxref.001.html
    scenario523passxref.002.xmlxref.002.html
    scenario524passxref.003.xmlxref.003.html
    scenario525passxref.004.xmlxref.004.html
    \ No newline at end of file +
    scenario1passaddress.001.xmladdress.001.html
    scenario2passaddress.002.xmladdress.002.html
    scenario3passadmonitions.001.xmladmonitions.001.html
    scenario4passadmonitions.002.xmladmonitions.002.html
    scenario5passalttitlepage.001.xmlalttitlepage.001.html
    scenario6passannotations.001.xmlannotations.001.html
    scenario7passannotations.002.xmlannotations.002.html
    scenario8passannotations.003.xmlannotations.003.html
    scenario9passannotations.004.xmlannotations.004.html
    scenario10passannotations.005.xmlannotations.005.html
    scenario11passannotations.006.xmlannotations.006.html
    scenario12passappendix.001.xmlappendix.001.html
    scenario13passappendix.002.xmlappendix.002.html
    scenario14passappendix.003.xmlappendix.003.html
    scenario15passapplication.001.xmlapplication.001.html
    scenario16passarticle.001.xmlarticle.001.html
    scenario17passarticle.002.xmlarticle.002.html
    scenario18passarticle.003.xmlarticle.003.html
    scenario19passarticle.004.xmlarticle.004.html
    scenario20passarticle.005.xmlarticle.005.html
    scenario21passarticle.006.xmlarticle.006.html
    scenario22passarticle.007.xmlarticle.007.html
    scenario23passarticle.008.xmlarticle.008.html
    scenario24passarticle.009.xmlarticle.009.html
    scenario25passarticle.010.xmlarticle.010.html
    scenario26passarticle.011.xmlarticle.011.html
    scenario27passarticle.012.xmlarticle.012.html
    scenario28passarticle.013.xmlarticle.013.html
    scenario29passarticle.014.xmlarticle.014.html
    scenario30passarticle.015.xmlarticle.015.html
    scenario31passarticle.016.xmlarticle.016.html
    scenario32passarticle.017.xmlarticle.017.html
    scenario33passaudioobject.001.xmlaudioobject.001.html
    scenario34passaudioobject.002.xmlaudioobject.002.html
    scenario35passaudioobject.003.xmlaudioobject.003.html
    scenario36passauld_lang_syne.xmlauld_lang_syne.html
    scenario37passauthor.001.xmlauthor.001.html
    scenario38passauthor.002.xmlauthor.002.html
    scenario39passbibliography.001.xmlbibliography.001.html
    scenario40passbibliography.002.xmlbibliography.002.html
    scenario41passbibliography.003.xmlbibliography.003.html
    scenario42passbibliography.004.xmlbibliography.004.html
    scenario43passbibliography.005.xmlbibliography.005.html
    scenario44passbibliography.006.xmlbibliography.006.html
    scenario45passbibliography.007.xmlbibliography.007.html
    scenario46passbibliography.008.xmlbibliography.008.html
    scenario47passbibliography.009.xmlbibliography.009.html
    scenario48passbibliography.010.xmlbibliography.010.html
    scenario49passbibliography.011.xmlbibliography.011.html
    scenario50passbibliolist.001.xmlbibliolist.001.html
    scenario51passbibliolist.002.xmlbibliolist.002.html
    scenario52passbibliolist.003.xmlbibliolist.003.html
    scenario53passbibliolist.004.xmlbibliolist.004.html
    scenario54passbibliolist.005.xmlbibliolist.005.html
    scenario55passbibliomixed.001.xmlbibliomixed.001.html
    scenario56passbibliomixed.002.xmlbibliomixed.002.html
    scenario57passblockinfo.001.xmlblockinfo.001.html
    scenario58passblockinfo.002.xmlblockinfo.002.html
    scenario59passblockquote.001.xmlblockquote.001.html
    scenario60passblocks.001.xmlblocks.001.html
    scenario61passblocks.002.xmlblocks.002.html
    scenario62passblocks.003.xmlblocks.003.html
    scenario63passblocks.004.xmlblocks.004.html
    scenario64passblocks.005.xmlblocks.005.html
    scenario65passbook.001.xmlbook.001.html
    scenario66passbook.002.xmlbook.002.html
    scenario67passbook.003.xmlbook.003.html
    scenario68passbook.004.xmlbook.004.html
    scenario69passbook.005.xmlbook.005.html
    scenario70passbook.006.xmlbook.006.html
    scenario71passbook.007.xmlbook.007.html
    scenario72passbook.008.xmlbook.008.html
    scenario73passbook.009.xmlbook.009.html
    scenario74passbook.010.xmlbook.010.html
    scenario75passbook.011.xmlbook.011.html
    scenario76passbook.012.xmlbook.012.html
    scenario77passbook.013.xmlbook.013.html
    scenario1passbook.014.xmlbook.014.html
    scenario78passbook.015.xmlbook.015.html
    scenario79passbook.016.xmlbook.016.html
    scenario80passbook.017.xmlbook.017.html
    scenario81passbook.018.xmlbook.018.html
    scenario82passbook.019.xmlbook.019.html
    scenario83passbook.020.xmlbook.020.html
    scenario84passbook.021.xmlbook.021.html
    scenario85passbridgehead.001.xmlbridgehead.001.html
    scenario86passcalloutlist.001.xmlcalloutlist.001.html
    scenario87passcalloutlist.002.xmlcalloutlist.002.html
    scenario88passcalloutlist.003.xmlcalloutlist.003.html
    scenario89passcalloutlist.004.xmlcalloutlist.004.html
    scenario90passcalloutlist.005.xmlcalloutlist.005.html
    scenario91passchangebars.001.xmlchangebars.001.html
    scenario92passchapter.001.xmlchapter.001.html
    scenario93passchapter.002.xmlchapter.002.html
    scenario94passchapter.003.xmlchapter.003.html
    scenario95passchapter.004.xmlchapter.004.html
    scenario96passchapter.005.xmlchapter.005.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario97passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario1passchapters-numbered-from.xmlchapters-numbered-from.html
    scenario98passchunk.001.xmlchunk.001.html
    scenario99passcitebiblioid.001.xmlcitebiblioid.001.html
    scenario100passclasssynopsis.001.xmlclasssynopsis.001.html
    scenario101passcmdsynopsis.001.xmlcmdsynopsis.001.html
    scenario102passcmdsynopsis.002.xmlcmdsynopsis.002.html
    scenario103passco.001.xmlco.001.html
    scenario1passcolors.001.xmlcolors.001.html
    scenario104passconstant.001.xmlconstant.001.html
    scenario105passdatabase.001.xmldatabase.001.html
    scenario1passdates.001.xmldates.001.html
    scenario106passdates.001.xmldates.001.html
    scenario107passdateTime.001.xmldateTime.001.html
    scenario108passdb45.001.xmldb45.001.html
    scenario109passde_book.xmlde_book.html
    scenario110passdir.001.xmldir.001.html
    scenario111passdrama.001.xmldrama.001.html
    scenario112passduck-small.001.xmlduck-small.001.html
    scenario113passduck-small.002.xmlduck-small.002.html
    scenario114passduck-small.003.xmlduck-small.003.html
    scenario115passduck-small.004.xmlduck-small.004.html
    scenario116passduck-small.005.xmlduck-small.005.html
    scenario117passduck-small.006.xmlduck-small.006.html
    scenario118passduck-small.007.xmlduck-small.007.html
    scenario119passdynprof.001.xmldynprof.001.html
    scenario120passemphasis.001.xmlemphasis.001.html
    scenario121passemptytitle.001.xmlemptytitle.001.html
    scenario8passen_caution.001.xmlen_caution.001.html
    scenario122passen_caution.001.xmlen_caution.001.html
    scenario9passen_caution.002.xmlen_caution.002.html
    scenario123passen_caution.002.xmlen_caution.002.html
    scenario12passen_danger.001.xmlen_danger.001.html
    scenario124passen_danger.001.xmlen_danger.001.html
    scenario13passen_danger.002.xmlen_danger.002.html
    scenario125passen_danger.002.xmlen_danger.002.html
    scenario6passen_important.001.xmlen_important.001.html
    scenario126passen_important.001.xmlen_important.001.html
    scenario7passen_important.002.xmlen_important.002.html
    scenario127passen_important.002.xmlen_important.002.html
    scenario1passen_note.001.xmlen_note.001.html
    scenario128passen_note.001.xmlen_note.001.html
    scenario2passen_note.002.xmlen_note.002.html
    scenario129passen_note.002.xmlen_note.002.html
    scenario3passen_note.003.xmlen_note.003.html
    scenario130passen_note.003.xmlen_note.003.html
    scenario4passen_tip.001.xmlen_tip.001.html
    scenario131passen_tip.001.xmlen_tip.001.html
    scenario5passen_tip.002.xmlen_tip.002.html
    scenario132passen_tip.002.xmlen_tip.002.html
    scenario10passen_warning.001.xmlen_warning.001.html
    scenario133passen_warning.001.xmlen_warning.001.html
    scenario11passen_warning.002.xmlen_warning.002.html
    scenario134passen_warning.002.xmlen_warning.002.html
    scenario135passentityref.001.xmlentityref.001.html
    scenario136passenumsynopsis.001.xmlenumsynopsis.001.html
    scenario137passepigraph.001.xmlepigraph.001.html
    scenario138passequation.001.xmlequation.001.html
    scenario139passequation.002.xmlequation.002.html
    scenario140passequation.003.xmlequation.003.html
    scenario141passequation.004.xmlequation.004.html
    scenario142passexample.001.xmlexample.001.html
    scenario143passfigure.001.xmlfigure.001.html
    scenario144passfigure.002.xmlfigure.002.html
    scenario145passfigure.003.xmlfigure.003.html
    scenario146passfigure.004.xmlfigure.004.html
    scenario147passfigure.005.xmlfigure.005.html
    scenario148passfigure.006.xmlfigure.006.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario149passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario1passfigures-numbered-from.xmlfigures-numbered-from.html
    scenario150passfilename.001.xmlfilename.001.html
    scenario1passfit.001.xmlfit.001.html
    scenario2passfit.002.xmlfit.002.html
    scenario151passfootnote.001.xmlfootnote.001.html
    scenario152passfootnote.002.xmlfootnote.002.html
    scenario153passfootnote.003.xmlfootnote.003.html
    scenario154passfootnote.004.xmlfootnote.004.html
    scenario1passfootnote.005.xmlfootnote.005.html
    scenario155passfootnote.005.xmlfootnote.005.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario156passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario2passformal-objects-numbered-from.xmlformal-objects-numbered-from.html
    scenario157passformalgroup.001.xmlformalgroup.001.html
    scenario158passformalgroup.002.xmlformalgroup.002.html
    scenario159passformalgroup.003.xmlformalgroup.003.html
    scenario160passformalgroup.004.xmlformalgroup.004.html
    scenario161passformalgroup.005.xmlformalgroup.005.html
    scenario162passformalpara.001.xmlformalpara.001.html
    scenario163passformalpara.002.xmlformalpara.002.html
    scenario21passfr_caution.001.xmlfr_caution.001.html
    scenario164passfr_caution.001.xmlfr_caution.001.html
    scenario22passfr_caution.002.xmlfr_caution.002.html
    scenario165passfr_caution.002.xmlfr_caution.002.html
    scenario25passfr_danger.001.xmlfr_danger.001.html
    scenario166passfr_danger.001.xmlfr_danger.001.html
    scenario26passfr_danger.002.xmlfr_danger.002.html
    scenario167passfr_danger.002.xmlfr_danger.002.html
    scenario19passfr_important.001.xmlfr_important.001.html
    scenario168passfr_important.001.xmlfr_important.001.html
    scenario20passfr_important.002.xmlfr_important.002.html
    scenario169passfr_important.002.xmlfr_important.002.html
    scenario14passfr_note.001.xmlfr_note.001.html
    scenario170passfr_note.001.xmlfr_note.001.html
    scenario15passfr_note.002.xmlfr_note.002.html
    scenario171passfr_note.002.xmlfr_note.002.html
    scenario16passfr_note.003.xmlfr_note.003.html
    scenario172passfr_note.003.xmlfr_note.003.html
    scenario17passfr_tip.001.xmlfr_tip.001.html
    scenario173passfr_tip.001.xmlfr_tip.001.html
    scenario18passfr_tip.002.xmlfr_tip.002.html
    scenario174passfr_tip.002.xmlfr_tip.002.html
    scenario23passfr_warning.001.xmlfr_warning.001.html
    scenario175passfr_warning.001.xmlfr_warning.001.html
    scenario24passfr_warning.002.xmlfr_warning.002.html
    scenario176passfr_warning.002.xmlfr_warning.002.html
    scenario177passfuncsynopsis.001.xmlfuncsynopsis.001.html
    scenario1passglossary.001.xmlglossary.001.html
    scenario2passglossary.002.xmlglossary.002.html
    scenario3passglossary.003.xmlglossary.003.html
    scenario4passglossary.004.xmlglossary.004.html
    scenario5passglossary.005.xmlglossary.005.html
    scenario6passglossary.006.xmlglossary.006.html
    scenario178passglossary.007.xmlglossary.007.html
    scenario179passglossary.008.xmlglossary.008.html
    scenario180passglossary.009.xmlglossary.009.html
    scenario7passglossary.010.xmlglossary.010.html
    scenario181passglosslist.001.xmlglosslist.001.html
    scenario182passguiicon.001.xmlguiicon.001.html
    scenario183passhen_v.xmlhen_v.html
    scenario184passimageobjectco.001.xmlimageobjectco.001.html
    scenario185passindex.001.xmlindex.001.html
    scenario186passindex.002.xmlindex.002.html
    scenario187passindex.003.xmlindex.003.html
    scenario188passindexterm.001.xmlindexterm.001.html
    scenario189passindexterm.002.xmlindexterm.002.html
    scenario190passindexterm.003.xmlindexterm.003.html
    scenario191passindexterm.004.xmlindexterm.004.html
    scenario192passindexterm.005.xmlindexterm.005.html
    scenario193passindexterm.006.xmlindexterm.006.html
    scenario194passinfo.001.xmlinfo.001.html
    scenario195passinformalequation.001.xmlinformalequation.001.html
    scenario196passinformalexample.001.xmlinformalexample.001.html
    scenario197passinformalfigure.001.xmlinformalfigure.001.html
    scenario198passinlines.001.xmlinlines.001.html
    scenario199passinlines.002.xmlinlines.002.html
    scenario200passiso690.001.xmliso690.001.html
    scenario201passiso690.002.xmliso690.002.html
    scenario202passiso690.003.xmliso690.003.html
    scenario203passiso690.004.xmliso690.004.html
    scenario204passiso690.005.xmliso690.005.html
    scenario205passiso690.006.xmliso690.006.html
    scenario206passiso690.007.xmliso690.007.html
    scenario207passiso690.008.xmliso690.008.html
    scenario208passiso690.009.xmliso690.009.html
    scenario209passiso690.010.xmliso690.010.html
    scenario210passiso690.011.xmliso690.011.html
    scenario211passiso690.012.xmliso690.012.html
    scenario212passiso690.013.xmliso690.013.html
    scenario213passitemizedlist.001.xmlitemizedlist.001.html
    scenario214passitemizedlist.002.xmlitemizedlist.002.html
    scenario215passitemizedlist.003.xmlitemizedlist.003.html
    scenario216passitemizedlist.004.xmlitemizedlist.004.html
    scenario217passitemizedlist.005.xmlitemizedlist.005.html
    scenario218passitemizedlist.006.xmlitemizedlist.006.html
    scenario219passitemizedlist.007.xmlitemizedlist.007.html
    scenario220passitemizedlist.008.xmlitemizedlist.008.html
    scenario221passitemizedlist.009.xmlitemizedlist.009.html
    scenario222passitemizedlist.010.xmlitemizedlist.010.html
    scenario223passitemizedlist.011.xmlitemizedlist.011.html
    scenario224passitemizedlist.012.xmlitemizedlist.012.html
    scenario225passJFK_Inaugural.xmlJFK_Inaugural.html
    scenario226passkeycap.001.xmlkeycap.001.html
    scenario227passkeywordset.001.xmlkeywordset.001.html
    scenario228passl10n.001.xmll10n.001.html
    scenario229passl10n.002.xmll10n.002.html
    scenario230passl10n.003.xmll10n.003.html
    scenario231passlegalnotice.001.xmllegalnotice.001.html
    scenario232passlineannotation.001.xmllineannotation.001.html
    scenario233passlink.001.xmllink.001.html
    scenario234passlink.002.xmllink.002.html
    scenario235passlink.003.xmllink.003.html
    scenario236passlink.004.xmllink.004.html
    scenario237passliterallayout.001.xmlliterallayout.001.html
    scenario238passliterallayout.002.xmlliterallayout.002.html
    scenario239passliterallayout.003.xmlliterallayout.003.html
    scenario240passliterallayout.004.xmlliterallayout.004.html
    scenario241passliterallayout.005.xmlliterallayout.005.html
    scenario1passlocal.001.xmllocal.001.html
    scenario242passmediaobject.001.xmlmediaobject.001.html
    scenario243passmediaobject.002.xmlmediaobject.002.html
    scenario244passmediaobject.003.xmlmediaobject.003.html
    scenario245passmediaobject.004.xmlmediaobject.004.html
    scenario1passmediaobject.005.xmlmediaobject.005.html
    scenario246passmediaobject.006.xmlmediaobject.006.html
    scenario247passmediaobjectco.001.xmlmediaobjectco.001.html
    scenario248passmeta.001.xmlmeta.001.html
    scenario249passmethodsynopsis.001.xmlmethodsynopsis.001.html
    scenario250passmsgset.001.xmlmsgset.001.html
    scenario251passnumeration-book.001.xmlnumeration-book.001.html
    scenario1passolink.001.xmlolink.001.html
    scenario252passorderedlist.001.xmlorderedlist.001.html
    scenario253passorderedlist.002.xmlorderedlist.002.html
    scenario254passorderedlist.003.xmlorderedlist.003.html
    scenario255passorderedlist.004.xmlorderedlist.004.html
    scenario256passorderedlist.005.xmlorderedlist.005.html
    scenario257passorderedlist.006.xmlorderedlist.006.html
    scenario258passorderedlist.007.xmlorderedlist.007.html
    scenario259passorderedlist.008.xmlorderedlist.008.html
    scenario260passorderedlist.009.xmlorderedlist.009.html
    scenario261passorderedlist.010.xmlorderedlist.010.html
    scenario262passorderedlist.011.xmlorderedlist.011.html
    scenario263passorderedlist.012.xmlorderedlist.012.html
    scenario264passorderedlist.013.xmlorderedlist.013.html
    scenario265passorderedlist.014.xmlorderedlist.014.html
    scenario266passorderedlist.015.xmlorderedlist.015.html
    scenario267passorderedlist.016.xmlorderedlist.016.html
    scenario268passorderedlist.017.xmlorderedlist.017.html
    scenario269passorderedlist.018.xmlorderedlist.018.html
    scenario270passorgname.001.xmlorgname.001.html
    scenario271passoxy-changemarkup.001.xmloxy-changemarkup.001.html
    scenario272passoxy-changemarkup.002.xmloxy-changemarkup.002.html
    scenario273passpackagesynopsis.001.xmlpackagesynopsis.001.html
    scenario274passpanelset.001.xmlpanelset.001.html
    scenario275passpanelset.002.xmlpanelset.002.html
    scenario276passpara.001.xmlpara.001.html
    scenario2passpara.002.xmlpara.002.html
    scenario277passpara.002.xmlpara.002.html
    scenario3passpara.003.xmlpara.003.html
    scenario278passpara.003.xmlpara.003.html
    scenario4passpara.004.xmlpara.004.html
    scenario279passpara.004.xmlpara.004.html
    scenario280passparameter.001.xmlparameter.001.html
    scenario281passpart.001.xmlpart.001.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario282passparts-numbered-from.xmlparts-numbered-from.html
    scenario1passparts-numbered-from.xmlparts-numbered-from.html
    scenario283passpersonname.001.xmlpersonname.001.html
    scenario284passpmuj.001.xmlpmuj.001.html
    scenario285passpreface.001.xmlpreface.001.html
    scenario286passpreface.002.xmlpreface.002.html
    scenario287passpreface.003.xmlpreface.003.html
    scenario1passpresentation.001.xmlpresentation.001.html
    scenario2passpresentation.002.xmlpresentation.002.html
    scenario288passprocedure.001.xmlprocedure.001.html
    scenario289passprocedure.002.xmlprocedure.002.html
    scenario290passprocedure.003.xmlprocedure.003.html
    scenario291passprocedure.004.xmlprocedure.004.html
    scenario292passprocedure.005.xmlprocedure.005.html
    scenario293passproductionset.001.xmlproductionset.001.html
    scenario294passproductname.001.xmlproductname.001.html
    scenario295passprofiling.001.xmlprofiling.001.html
    scenario296passprogramlisting.001.xmlprogramlisting.001.html
    scenario297passprogramlisting.002.xmlprogramlisting.002.html
    scenario298passprogramlisting.003.xmlprogramlisting.003.html
    scenario299passprogramlisting.004.xmlprogramlisting.004.html
    scenario300passprogramlisting.005.xmlprogramlisting.005.html
    scenario301passprogramlisting.006.xmlprogramlisting.006.html
    scenario302passprogramlisting.007.xmlprogramlisting.007.html
    scenario303passprogramlisting.008.xmlprogramlisting.008.html
    scenario304passprogramlisting.009.xmlprogramlisting.009.html
    scenario305passprogramlisting.010.xmlprogramlisting.010.html
    scenario306passprogramlisting.011.xmlprogramlisting.011.html
    scenario307passprogramlisting.012.xmlprogramlisting.012.html
    scenario308passprogramlisting.013.xmlprogramlisting.013.html
    scenario309passprogramlisting.014.xmlprogramlisting.014.html
    scenario310passprogramlisting.015.xmlprogramlisting.015.html
    scenario311passprogramlistingco.001.xmlprogramlistingco.001.html
    scenario2passprogramlistingco.001_l_f_l-lra.xmlprogramlistingco.001_l_f_l-lra.html
    scenario3passprogramlistingco.001_l_f_l-lrf.xmlprogramlistingco.001_l_f_l-lrf.html
    scenario1passprogramlistingco.001_l_f_l.xmlprogramlistingco.001_l_f_l.html
    scenario6passprogramlistingco.001_l_f_lc-l-lra.xmlprogramlistingco.001_l_f_lc-l-lra.html
    scenario7passprogramlistingco.001_l_f_lc-l-lrf.xmlprogramlistingco.001_l_f_lc-l-lrf.html
    scenario5passprogramlistingco.001_l_f_lc-l.xmlprogramlistingco.001_l_f_lc-l.html
    scenario8passprogramlistingco.001_l_f_lc-lra.xmlprogramlistingco.001_l_f_lc-lra.html
    scenario9passprogramlistingco.001_l_f_lc-lrf.xmlprogramlistingco.001_l_f_lc-lrf.html
    scenario4passprogramlistingco.001_l_f_lc.xmlprogramlistingco.001_l_f_lc.html
    scenario10passprogramlistingco.001_l_f_lra.xmlprogramlistingco.001_l_f_lra.html
    scenario11passprogramlistingco.001_l_f_lrf.xmlprogramlistingco.001_l_f_lrf.html
    scenario13passprogramlistingco.001_l_t_l-lra.xmlprogramlistingco.001_l_t_l-lra.html
    scenario14passprogramlistingco.001_l_t_l-lrf.xmlprogramlistingco.001_l_t_l-lrf.html
    scenario12passprogramlistingco.001_l_t_l.xmlprogramlistingco.001_l_t_l.html
    scenario17passprogramlistingco.001_l_t_lc-l-lra.xmlprogramlistingco.001_l_t_lc-l-lra.html
    scenario18passprogramlistingco.001_l_t_lc-l-lrf.xmlprogramlistingco.001_l_t_lc-l-lrf.html
    scenario16passprogramlistingco.001_l_t_lc-l.xmlprogramlistingco.001_l_t_lc-l.html
    scenario19passprogramlistingco.001_l_t_lc-lra.xmlprogramlistingco.001_l_t_lc-lra.html
    scenario20passprogramlistingco.001_l_t_lc-lrf.xmlprogramlistingco.001_l_t_lc-lrf.html
    scenario15passprogramlistingco.001_l_t_lc.xmlprogramlistingco.001_l_t_lc.html
    scenario21passprogramlistingco.001_l_t_lra.xmlprogramlistingco.001_l_t_lra.html
    scenario22passprogramlistingco.001_l_t_lrf.xmlprogramlistingco.001_l_t_lrf.html
    scenario24passprogramlistingco.001_p_f_l-lra.xmlprogramlistingco.001_p_f_l-lra.html
    scenario25passprogramlistingco.001_p_f_l-lrf.xmlprogramlistingco.001_p_f_l-lrf.html
    scenario23passprogramlistingco.001_p_f_l.xmlprogramlistingco.001_p_f_l.html
    scenario28passprogramlistingco.001_p_f_lc-l-lra.xmlprogramlistingco.001_p_f_lc-l-lra.html
    scenario29passprogramlistingco.001_p_f_lc-l-lrf.xmlprogramlistingco.001_p_f_lc-l-lrf.html
    scenario27passprogramlistingco.001_p_f_lc-l.xmlprogramlistingco.001_p_f_lc-l.html
    scenario30passprogramlistingco.001_p_f_lc-lra.xmlprogramlistingco.001_p_f_lc-lra.html
    scenario31passprogramlistingco.001_p_f_lc-lrf.xmlprogramlistingco.001_p_f_lc-lrf.html
    scenario26passprogramlistingco.001_p_f_lc.xmlprogramlistingco.001_p_f_lc.html
    scenario32passprogramlistingco.001_p_f_lra.xmlprogramlistingco.001_p_f_lra.html
    scenario33passprogramlistingco.001_p_f_lrf.xmlprogramlistingco.001_p_f_lrf.html
    scenario35passprogramlistingco.001_p_t_l-lra.xmlprogramlistingco.001_p_t_l-lra.html
    scenario36passprogramlistingco.001_p_t_l-lrf.xmlprogramlistingco.001_p_t_l-lrf.html
    scenario34passprogramlistingco.001_p_t_l.xmlprogramlistingco.001_p_t_l.html
    scenario39passprogramlistingco.001_p_t_lc-l-lra.xmlprogramlistingco.001_p_t_lc-l-lra.html
    scenario40passprogramlistingco.001_p_t_lc-l-lrf.xmlprogramlistingco.001_p_t_lc-l-lrf.html
    scenario38passprogramlistingco.001_p_t_lc-l.xmlprogramlistingco.001_p_t_lc-l.html
    scenario41passprogramlistingco.001_p_t_lc-lra.xmlprogramlistingco.001_p_t_lc-lra.html
    scenario42passprogramlistingco.001_p_t_lc-lrf.xmlprogramlistingco.001_p_t_lc-lrf.html
    scenario37passprogramlistingco.001_p_t_lc.xmlprogramlistingco.001_p_t_lc.html
    scenario43passprogramlistingco.001_p_t_lra.xmlprogramlistingco.001_p_t_lra.html
    scenario44passprogramlistingco.001_p_t_lrf.xmlprogramlistingco.001_p_t_lrf.html
    scenario46passprogramlistingco.001_r_f_l-lra.xmlprogramlistingco.001_r_f_l-lra.html
    scenario47passprogramlistingco.001_r_f_l-lrf.xmlprogramlistingco.001_r_f_l-lrf.html
    scenario45passprogramlistingco.001_r_f_l.xmlprogramlistingco.001_r_f_l.html
    scenario50passprogramlistingco.001_r_f_lc-l-lra.xmlprogramlistingco.001_r_f_lc-l-lra.html
    scenario51passprogramlistingco.001_r_f_lc-l-lrf.xmlprogramlistingco.001_r_f_lc-l-lrf.html
    scenario49passprogramlistingco.001_r_f_lc-l.xmlprogramlistingco.001_r_f_lc-l.html
    scenario52passprogramlistingco.001_r_f_lc-lra.xmlprogramlistingco.001_r_f_lc-lra.html
    scenario53passprogramlistingco.001_r_f_lc-lrf.xmlprogramlistingco.001_r_f_lc-lrf.html
    scenario48passprogramlistingco.001_r_f_lc.xmlprogramlistingco.001_r_f_lc.html
    scenario54passprogramlistingco.001_r_f_lra.xmlprogramlistingco.001_r_f_lra.html
    scenario55passprogramlistingco.001_r_f_lrf.xmlprogramlistingco.001_r_f_lrf.html
    scenario57passprogramlistingco.001_r_t_l-lra.xmlprogramlistingco.001_r_t_l-lra.html
    scenario58passprogramlistingco.001_r_t_l-lrf.xmlprogramlistingco.001_r_t_l-lrf.html
    scenario56passprogramlistingco.001_r_t_l.xmlprogramlistingco.001_r_t_l.html
    scenario61passprogramlistingco.001_r_t_lc-l-lra.xmlprogramlistingco.001_r_t_lc-l-lra.html
    scenario62passprogramlistingco.001_r_t_lc-l-lrf.xmlprogramlistingco.001_r_t_lc-l-lrf.html
    scenario60passprogramlistingco.001_r_t_lc-l.xmlprogramlistingco.001_r_t_lc-l.html
    scenario63passprogramlistingco.001_r_t_lc-lra.xmlprogramlistingco.001_r_t_lc-lra.html
    scenario64passprogramlistingco.001_r_t_lc-lrf.xmlprogramlistingco.001_r_t_lc-lrf.html
    scenario59passprogramlistingco.001_r_t_lc.xmlprogramlistingco.001_r_t_lc.html
    scenario65passprogramlistingco.001_r_t_lra.xmlprogramlistingco.001_r_t_lra.html
    scenario66passprogramlistingco.001_r_t_lrf.xmlprogramlistingco.001_r_t_lrf.html
    scenario312passprogramlistingco.002.xmlprogramlistingco.002.html
    scenario313passprogramlistingco.003.xmlprogramlistingco.003.html
    scenario314passprogramlistingco.004.xmlprogramlistingco.004.html
    scenario1passptoc.001.xmlptoc.001.html
    scenario315passpygments.001.xmlpygments.001.html
    scenario316passpygments.002.xmlpygments.002.html
    scenario317passpygments.003.xmlpygments.003.html
    scenario318passpygments.004.xmlpygments.004.html
    scenario319passqandaset.001.xmlqandaset.001.html
    scenario320passqandaset.002.xmlqandaset.002.html
    scenario321passqandaset.003.xmlqandaset.003.html
    scenario322passqandaset.004.xmlqandaset.004.html
    scenario323passqandaset.005.xmlqandaset.005.html
    scenario324passqandaset.006.xmlqandaset.006.html
    scenario325passqandaset.007.xmlqandaset.007.html
    scenario326passquote.001.xmlquote.001.html
    scenario327passrefentry.001.xmlrefentry.001.html
    scenario328passrefentry.002.xmlrefentry.002.html
    scenario329passrefentry.003.xmlrefentry.003.html
    scenario330passrefentry.004.xmlrefentry.004.html
    scenario331passrefentry.005.xmlrefentry.005.html
    scenario332passrefentry.006.xmlrefentry.006.html
    scenario333passrefentry.007.xmlrefentry.007.html
    scenario334passrefentry.008.xmlrefentry.008.html
    scenario335passrefentry.009.xmlrefentry.009.html
    scenario336passrefentry.010.xmlrefentry.010.html
    scenario337passrefentry.011.xmlrefentry.011.html
    scenario338passrefentry.012.xmlrefentry.012.html
    scenario339passrefentry.013.xmlrefentry.013.html
    scenario340passreference.001.xmlreference.001.html
    scenario341passreference.002.xmlreference.002.html
    scenario342passreference.003.xmlreference.003.html
    scenario343passremark.001.xmlremark.001.html
    scenario344passremark.002.xmlremark.002.html
    scenario345passreplaceable.001.xmlreplaceable.001.html
    scenario346passrevhistory.001.xmlrevhistory.001.html
    scenario347passscreen.001.xmlscreen.001.html
    scenario348passscreen.002.xmlscreen.002.html
    scenario349passscreenco.001.xmlscreenco.001.html
    scenario68passscreenco.001_l_f_l-lra.xmlscreenco.001_l_f_l-lra.html
    scenario69passscreenco.001_l_f_l-lrf.xmlscreenco.001_l_f_l-lrf.html
    scenario67passscreenco.001_l_f_l.xmlscreenco.001_l_f_l.html
    scenario72passscreenco.001_l_f_lc-l-lra.xmlscreenco.001_l_f_lc-l-lra.html
    scenario73passscreenco.001_l_f_lc-l-lrf.xmlscreenco.001_l_f_lc-l-lrf.html
    scenario71passscreenco.001_l_f_lc-l.xmlscreenco.001_l_f_lc-l.html
    scenario74passscreenco.001_l_f_lc-lra.xmlscreenco.001_l_f_lc-lra.html
    scenario75passscreenco.001_l_f_lc-lrf.xmlscreenco.001_l_f_lc-lrf.html
    scenario70passscreenco.001_l_f_lc.xmlscreenco.001_l_f_lc.html
    scenario76passscreenco.001_l_f_lra.xmlscreenco.001_l_f_lra.html
    scenario77passscreenco.001_l_f_lrf.xmlscreenco.001_l_f_lrf.html
    scenario79passscreenco.001_l_t_l-lra.xmlscreenco.001_l_t_l-lra.html
    scenario80passscreenco.001_l_t_l-lrf.xmlscreenco.001_l_t_l-lrf.html
    scenario78passscreenco.001_l_t_l.xmlscreenco.001_l_t_l.html
    scenario83passscreenco.001_l_t_lc-l-lra.xmlscreenco.001_l_t_lc-l-lra.html
    scenario84passscreenco.001_l_t_lc-l-lrf.xmlscreenco.001_l_t_lc-l-lrf.html
    scenario82passscreenco.001_l_t_lc-l.xmlscreenco.001_l_t_lc-l.html
    scenario85passscreenco.001_l_t_lc-lra.xmlscreenco.001_l_t_lc-lra.html
    scenario86passscreenco.001_l_t_lc-lrf.xmlscreenco.001_l_t_lc-lrf.html
    scenario81passscreenco.001_l_t_lc.xmlscreenco.001_l_t_lc.html
    scenario87passscreenco.001_l_t_lra.xmlscreenco.001_l_t_lra.html
    scenario88passscreenco.001_l_t_lrf.xmlscreenco.001_l_t_lrf.html
    scenario90passscreenco.001_p_f_l-lra.xmlscreenco.001_p_f_l-lra.html
    scenario91passscreenco.001_p_f_l-lrf.xmlscreenco.001_p_f_l-lrf.html
    scenario89passscreenco.001_p_f_l.xmlscreenco.001_p_f_l.html
    scenario94passscreenco.001_p_f_lc-l-lra.xmlscreenco.001_p_f_lc-l-lra.html
    scenario95passscreenco.001_p_f_lc-l-lrf.xmlscreenco.001_p_f_lc-l-lrf.html
    scenario93passscreenco.001_p_f_lc-l.xmlscreenco.001_p_f_lc-l.html
    scenario96passscreenco.001_p_f_lc-lra.xmlscreenco.001_p_f_lc-lra.html
    scenario97passscreenco.001_p_f_lc-lrf.xmlscreenco.001_p_f_lc-lrf.html
    scenario92passscreenco.001_p_f_lc.xmlscreenco.001_p_f_lc.html
    scenario98passscreenco.001_p_f_lra.xmlscreenco.001_p_f_lra.html
    scenario99passscreenco.001_p_f_lrf.xmlscreenco.001_p_f_lrf.html
    scenario101passscreenco.001_p_t_l-lra.xmlscreenco.001_p_t_l-lra.html
    scenario102passscreenco.001_p_t_l-lrf.xmlscreenco.001_p_t_l-lrf.html
    scenario100passscreenco.001_p_t_l.xmlscreenco.001_p_t_l.html
    scenario105passscreenco.001_p_t_lc-l-lra.xmlscreenco.001_p_t_lc-l-lra.html
    scenario106passscreenco.001_p_t_lc-l-lrf.xmlscreenco.001_p_t_lc-l-lrf.html
    scenario104passscreenco.001_p_t_lc-l.xmlscreenco.001_p_t_lc-l.html
    scenario107passscreenco.001_p_t_lc-lra.xmlscreenco.001_p_t_lc-lra.html
    scenario108passscreenco.001_p_t_lc-lrf.xmlscreenco.001_p_t_lc-lrf.html
    scenario103passscreenco.001_p_t_lc.xmlscreenco.001_p_t_lc.html
    scenario109passscreenco.001_p_t_lra.xmlscreenco.001_p_t_lra.html
    scenario110passscreenco.001_p_t_lrf.xmlscreenco.001_p_t_lrf.html
    scenario112passscreenco.001_r_f_l-lra.xmlscreenco.001_r_f_l-lra.html
    scenario113passscreenco.001_r_f_l-lrf.xmlscreenco.001_r_f_l-lrf.html
    scenario111passscreenco.001_r_f_l.xmlscreenco.001_r_f_l.html
    scenario116passscreenco.001_r_f_lc-l-lra.xmlscreenco.001_r_f_lc-l-lra.html
    scenario117passscreenco.001_r_f_lc-l-lrf.xmlscreenco.001_r_f_lc-l-lrf.html
    scenario115passscreenco.001_r_f_lc-l.xmlscreenco.001_r_f_lc-l.html
    scenario118passscreenco.001_r_f_lc-lra.xmlscreenco.001_r_f_lc-lra.html
    scenario119passscreenco.001_r_f_lc-lrf.xmlscreenco.001_r_f_lc-lrf.html
    scenario114passscreenco.001_r_f_lc.xmlscreenco.001_r_f_lc.html
    scenario120passscreenco.001_r_f_lra.xmlscreenco.001_r_f_lra.html
    scenario121passscreenco.001_r_f_lrf.xmlscreenco.001_r_f_lrf.html
    scenario123passscreenco.001_r_t_l-lra.xmlscreenco.001_r_t_l-lra.html
    scenario124passscreenco.001_r_t_l-lrf.xmlscreenco.001_r_t_l-lrf.html
    scenario122passscreenco.001_r_t_l.xmlscreenco.001_r_t_l.html
    scenario127passscreenco.001_r_t_lc-l-lra.xmlscreenco.001_r_t_lc-l-lra.html
    scenario128passscreenco.001_r_t_lc-l-lrf.xmlscreenco.001_r_t_lc-l-lrf.html
    scenario126passscreenco.001_r_t_lc-l.xmlscreenco.001_r_t_lc-l.html
    scenario129passscreenco.001_r_t_lc-lra.xmlscreenco.001_r_t_lc-lra.html
    scenario130passscreenco.001_r_t_lc-lrf.xmlscreenco.001_r_t_lc-lrf.html
    scenario125passscreenco.001_r_t_lc.xmlscreenco.001_r_t_lc.html
    scenario131passscreenco.001_r_t_lra.xmlscreenco.001_r_t_lra.html
    scenario132passscreenco.001_r_t_lrf.xmlscreenco.001_r_t_lrf.html
    scenario350passsect1.001.xmlsect1.001.html
    scenario351passsect1.002.xmlsect1.002.html
    scenario352passsection.001.xmlsection.001.html
    scenario353passsection.002.xmlsection.002.html
    scenario354passsection.003.xmlsection.003.html
    scenario355passsection.004.xmlsection.004.html
    scenario356passsection.005.xmlsection.005.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario357passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario1passsections-numbered-from.xmlsections-numbered-from.html
    scenario358passsegmentedlist.001.xmlsegmentedlist.001.html
    scenario359passsegmentedlist.002.xmlsegmentedlist.002.html
    scenario360passsegmentedlist.003.xmlsegmentedlist.003.html
    scenario361passset.001.xmlset.001.html
    scenario362passsidebar.001.xmlsidebar.001.html
    scenario363passsimplelist.001.xmlsimplelist.001.html
    scenario364passsimplelist.002.xmlsimplelist.002.html
    scenario365passsimplelist.003.xmlsimplelist.003.html
    scenario366passsimplelist.004.xmlsimplelist.004.html
    scenario367passsimplelist.005.xmlsimplelist.005.html
    scenario368passsimplelist.006.xmlsimplelist.006.html
    scenario369passsimplelist.007.xmlsimplelist.007.html
    scenario370passsimplesect.001.xmlsimplesect.001.html
    scenario371passslides.001.xmlslides.001.html
    scenario372passslides.002.xmlslides.002.html
    scenario373passslides.003.xmlslides.003.html
    scenario374passstamp.001.xmlstamp.001.html
    scenario375passstamp.002.xmlstamp.002.html
    scenario376passstamp.003.xmlstamp.003.html
    scenario377passstamp.004.xmlstamp.004.html
    scenario378passstamp.005.xmlstamp.005.html
    scenario379passstamp.006.xmlstamp.006.html
    scenario380passstamp.007.xmlstamp.007.html
    scenario381passstamp.008.xmlstamp.008.html
    scenario382passstamp.009.xmlstamp.009.html
    scenario383passstamp.010.xmlstamp.010.html
    scenario384passstamp.011.xmlstamp.011.html
    scenario385passstamp.012.xmlstamp.012.html
    scenario386passstamp.013.xmlstamp.013.html
    scenario387passstamp.050.xmlstamp.050.html
    scenario388passstamp.051.xmlstamp.051.html
    scenario389passsubtitle.001.xmlsubtitle.001.html
    scenario390passsvg.001.xmlsvg.001.html
    scenario391passsvg.002.xmlsvg.002.html
    scenario392passsymbol.001.xmlsymbol.001.html
    scenario393passsynopsisinfo.001.xmlsynopsisinfo.001.html
    scenario394passsystemitem.001.xmlsystemitem.001.html
    scenario395passtable-cals.001.xmltable-cals.001.html
    scenario396passtable-cals.002.xmltable-cals.002.html
    scenario397passtable-cals.003.xmltable-cals.003.html
    scenario398passtable-cals.004.xmltable-cals.004.html
    scenario399passtable-cals.005.xmltable-cals.005.html
    scenario400passtable-cals.006.xmltable-cals.006.html
    scenario401passtable-cals.007.xmltable-cals.007.html
    scenario402passtable-cals.008.xmltable-cals.008.html
    scenario403passtable-cals.009.xmltable-cals.009.html
    scenario404passtable-cals.010.xmltable-cals.010.html
    scenario405passtable-cals.011.xmltable-cals.011.html
    scenario406passtable-cals.012.xmltable-cals.012.html
    scenario407passtable-cals.013.xmltable-cals.013.html
    scenario408passtable-cals.014.xmltable-cals.014.html
    scenario409passtable-cals.015.xmltable-cals.015.html
    scenario410passtable-cals.016.xmltable-cals.016.html
    scenario411passtable-cals.017.xmltable-cals.017.html
    scenario412passtable-cals.018.xmltable-cals.018.html
    scenario413passtable-cals.019.xmltable-cals.019.html
    scenario414passtable-cals.020.xmltable-cals.020.html
    scenario415passtable-cals.021.xmltable-cals.021.html
    scenario416passtable-cals.022.xmltable-cals.022.html
    scenario417passtable-cals.023.xmltable-cals.023.html
    scenario418passtable-cals.024.xmltable-cals.024.html
    scenario419passtable-cals.025.xmltable-cals.025.html
    scenario420passtable-cals.026.xmltable-cals.026.html
    scenario421passtable-cals.027.xmltable-cals.027.html
    scenario422passtable-cals.028.xmltable-cals.028.html
    scenario423passtable-cals.029.xmltable-cals.029.html
    scenario424passtable-cals.030.xmltable-cals.030.html
    scenario425passtable-cals.031.xmltable-cals.031.html
    scenario426passtable-cals.032.xmltable-cals.032.html
    scenario427passtable-cals.033.xmltable-cals.033.html
    scenario428passtable-cals.034.xmltable-cals.034.html
    scenario429passtable-cals.035.xmltable-cals.035.html
    scenario430passtable-cals.036.xmltable-cals.036.html
    scenario431passtable-cals.037.xmltable-cals.037.html
    scenario432passtable-cals.038.xmltable-cals.038.html
    scenario433passtable-cals.039.xmltable-cals.039.html
    scenario434passtable-cals.040.xmltable-cals.040.html
    scenario435passtable-cals.041.xmltable-cals.041.html
    scenario436passtable-cals.042.xmltable-cals.042.html
    scenario437passtable-cals.043.xmltable-cals.043.html
    scenario438passtable-cals.044.xmltable-cals.044.html
    scenario439passtable-cals.045.xmltable-cals.045.html
    scenario440passtable-cals.046.xmltable-cals.046.html
    scenario441passtable-cals.047.xmltable-cals.047.html
    scenario442passtable-cals.048.xmltable-cals.048.html
    scenario443passtable-cals.049.xmltable-cals.049.html
    scenario444passtable-cals.050.xmltable-cals.050.html
    scenario445passtable-cals.051.xmltable-cals.051.html
    scenario446passtable-cals.052.xmltable-cals.052.html
    scenario447passtable-cals.053.xmltable-cals.053.html
    scenario448passtable-cals.054.xmltable-cals.054.html
    scenario449passtable-cals.055.xmltable-cals.055.html
    scenario450passtable-html.001.xmltable-html.001.html
    scenario451passtable-html.002.xmltable-html.002.html
    scenario452passtable-html.003.xmltable-html.003.html
    scenario453passtable-html.004.xmltable-html.004.html
    scenario454passtable-html.005.xmltable-html.005.html
    scenario455passtable-html.006.xmltable-html.006.html
    scenario456passtable-html.007.xmltable-html.007.html
    scenario457passtable-html.008.xmltable-html.008.html
    scenario458passtable-html.009.xmltable-html.009.html
    scenario459passtable-html.010.xmltable-html.010.html
    scenario460passtable-html.011.xmltable-html.011.html
    scenario461passtable-html.012.xmltable-html.012.html
    scenario462passtable-html.013.xmltable-html.013.html
    scenario463passtable-html.014.xmltable-html.014.html
    scenario464passtable-html.015.xmltable-html.015.html
    scenario465passtable-html.016.xmltable-html.016.html
    scenario466passtable-html.017.xmltable-html.017.html
    scenario467passtable-html.018.xmltable-html.018.html
    scenario468passtable-html.019.xmltable-html.019.html
    scenario469passtable-html.020.xmltable-html.020.html
    scenario470passtable-html.021.xmltable-html.021.html
    scenario471passtable-html.022.xmltable-html.022.html
    scenario472passtable-html.023.xmltable-html.023.html
    scenario473passtable-html.024.xmltable-html.024.html
    scenario474passtable-html.025.xmltable-html.025.html
    scenario475passtable-html.026.xmltable-html.026.html
    scenario476passtable-html.027.xmltable-html.027.html
    scenario477passtable-html.028.xmltable-html.028.html
    scenario478passtable-html.029.xmltable-html.029.html
    scenario479passtag.001.xmltag.001.html
    scenario480passtask.001.xmltask.001.html
    scenario481passtitles.001.xmltitles.001.html
    scenario482passtoc.001.xmltoc.001.html
    scenario483passtoc.002.xmltoc.002.html
    scenario484passtopic.001.xmltopic.001.html
    scenario485passtopic.002.xmltopic.002.html
    scenario486passtopic.003.xmltopic.003.html
    scenario487passtrademark.001.xmltrademark.001.html
    scenario1passtransclusion.001.xmltransclusion.001.html
    scenario2passtransclusion.002.xmltransclusion.002.html
    scenario3passtransclusion.003.xmltransclusion.003.html
    scenario4passtransclusion.004.xmltransclusion.004.html
    scenario488passuri.001.xmluri.001.html
    scenario489passvariablelist.001.xmlvariablelist.001.html
    scenario490passvariablelist.002.xmlvariablelist.002.html
    scenario491passvariablelist.003.xmlvariablelist.003.html
    scenario492passvariablelist.004.xmlvariablelist.004.html
    scenario493passvideoobject.001.xmlvideoobject.001.html
    scenario494passvideoobject.002.xmlvideoobject.002.html
    scenario495passvideoobject.003.xmlvideoobject.003.html
    scenario496passvideoobject.004.xmlvideoobject.004.html
    scenario497passwordsize.001.xmlwordsize.001.html
    scenario498passxinclude.001.xmlxinclude.001.html
    scenario499passxinclude.002.xmlxinclude.002.html
    scenario500passxinclude.003.xmlxinclude.003.html
    scenario501passxinclude.004.xmlxinclude.004.html
    scenario502passxinclude.005.xmlxinclude.005.html
    scenario503passxinclude.006.xmlxinclude.006.html
    scenario504passxinclude.007.xmlxinclude.007.html
    scenario505passxinclude.008.xmlxinclude.008.html
    scenario506passxinclude.009.xmlxinclude.009.html
    scenario507passxinclude.010.xmlxinclude.010.html
    scenario508passxinclude.011.xmlxinclude.011.html
    scenario509passxinclude.012.xmlxinclude.012.html
    scenario510passxinclude.013.xmlxinclude.013.html
    scenario511passxinclude.014.xmlxinclude.014.html
    scenario512passxinclude.015.xmlxinclude.015.html
    scenario513passxinclude.016.xmlxinclude.016.html
    scenario514passxinclude.017.xmlxinclude.017.html
    scenario515passxinclude.018.xmlxinclude.018.html
    scenario516passxinclude.019.xmlxinclude.019.html
    scenario517passxinclude.020.xmlxinclude.020.html
    scenario518passxinclude.021.xmlxinclude.021.html
    scenario519passxinclude.022.xmlxinclude.022.html
    scenario520passxinclude.023.xmlxinclude.023.html
    scenario521passxinclude.024.xmlxinclude.024.html
    scenario522passxlink.001.xmlxlink.001.html
    scenario523passxlink.002.xmlxlink.002.html
    scenario524passxlink.003.xmlxlink.003.html
    scenario525passxlink.004.xmlxlink.004.html
    scenario526passxlink.005.xmlxlink.005.html
    scenario527passxlink.006.xmlxlink.006.html
    scenario528passxlink.007.xmlxlink.007.html
    scenario529passxref.001.xmlxref.001.html
    scenario530passxref.002.xmlxref.002.html
    scenario531passxref.003.xmlxref.003.html
    scenario532passxref.004.xmlxref.004.html
    \ No newline at end of file diff --git a/report/js/report.js b/report/js/report.js index 5097033c3c..d527b444aa 100644 --- a/report/js/report.js +++ b/report/js/report.js @@ -1,4 +1,4 @@ -/* DocBook xslTNG version 2.2.1-SNAPSHOT +/* DocBook xslTNG version 2.2.2-SNAPSHOT * * This is report.js. * diff --git a/report/local-result.html b/report/local-result.html index 2f9f1a5f44..165cb44459 100644 --- a/report/local-result.html +++ b/report/local-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/local.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/local.xspec

    -

    Tested: 28 September 2024 at 11:03

    +

    Tested: 9 October 2024 at 13:40

    Contents

    diff --git a/report/local-result.xml b/report/local-result.xml index 77dc5706db..8e668f4cd2 100644 --- a/report/local-result.xml +++ b/report/local-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:40:25.392359Z"> diff --git a/report/olink-result.html b/report/olink-result.html index 6aa4f1805f..88250eb22b 100644 --- a/report/olink-result.html +++ b/report/olink-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/olink.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/olink.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:40

    Contents

    diff --git a/report/olink-result.xml b/report/olink-result.xml index d0300b3c4b..89fd5aea6b 100644 --- a/report/olink-result.xml +++ b/report/olink-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:40:32.816267Z"> diff --git a/report/parts-inherit-from-book-result.html b/report/parts-inherit-from-book-result.html index 7adee051ca..177d311b9e 100644 --- a/report/parts-inherit-from-book-result.html +++ b/report/parts-inherit-from-book-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/parts-inherit-from-book.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/parts-inherit-from-book.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:40

    Contents

    diff --git a/report/parts-inherit-from-book-result.xml b/report/parts-inherit-from-book-result.xml index dd0d8c1a15..1361564fae 100644 --- a/report/parts-inherit-from-book-result.xml +++ b/report/parts-inherit-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:40:39.570393Z"> diff --git a/report/parts-inherit-from-set-book-result.html b/report/parts-inherit-from-set-book-result.html index d339009cc1..cc4f228ae0 100644 --- a/report/parts-inherit-from-set-book-result.html +++ b/report/parts-inherit-from-set-book-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/parts-inherit-from-set-book.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/parts-inherit-from-set-book.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:40

    Contents

    diff --git a/report/parts-inherit-from-set-book-result.xml b/report/parts-inherit-from-set-book-result.xml index ce9301830c..7ed6553441 100644 --- a/report/parts-inherit-from-set-book-result.xml +++ b/report/parts-inherit-from-set-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:40:46.525819Z"> diff --git a/report/parts-inherit-from-set-result.html b/report/parts-inherit-from-set-result.html index c5ff0bab38..07eb4981c1 100644 --- a/report/parts-inherit-from-set-result.html +++ b/report/parts-inherit-from-set-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/parts-inherit-from-set.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/parts-inherit-from-set.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:40

    Contents

    diff --git a/report/parts-inherit-from-set-result.xml b/report/parts-inherit-from-set-result.xml index d86abcdc70..6e96b90e78 100644 --- a/report/parts-inherit-from-set-result.xml +++ b/report/parts-inherit-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:40:53.436885Z"> diff --git a/report/parts-numbered-from-book-result.html b/report/parts-numbered-from-book-result.html index 1b9f17075e..5c7def6639 100644 --- a/report/parts-numbered-from-book-result.html +++ b/report/parts-numbered-from-book-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/parts-numbered-from-book.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/parts-numbered-from-book.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/parts-numbered-from-book-result.xml b/report/parts-numbered-from-book-result.xml index 0509e4db6b..a88b82893c 100644 --- a/report/parts-numbered-from-book-result.xml +++ b/report/parts-numbered-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:00.386707Z"> diff --git a/report/parts-numbered-from-root-result.html b/report/parts-numbered-from-root-result.html index d59144abf6..251f734c7b 100644 --- a/report/parts-numbered-from-root-result.html +++ b/report/parts-numbered-from-root-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/parts-numbered-from-root.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/parts-numbered-from-root.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/parts-numbered-from-root-result.xml b/report/parts-numbered-from-root-result.xml index 2285553666..a4ed1dcfcb 100644 --- a/report/parts-numbered-from-root-result.xml +++ b/report/parts-numbered-from-root-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:07.294407Z"> diff --git a/report/parts-numbered-from-set-result.html b/report/parts-numbered-from-set-result.html index d49c8f51b0..eb35ba99e2 100644 --- a/report/parts-numbered-from-set-result.html +++ b/report/parts-numbered-from-set-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/parts-numbered-from-set.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/parts-numbered-from-set.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/parts-numbered-from-set-result.xml b/report/parts-numbered-from-set-result.xml index 6f6d6d54d3..de5317a505 100644 --- a/report/parts-numbered-from-set-result.xml +++ b/report/parts-numbered-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:14.189323Z"> diff --git a/report/presentations-result.html b/report/presentations-result.html index 2c56051d22..b9c097e289 100644 --- a/report/presentations-result.html +++ b/report/presentations-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/presentations.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/presentations.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/presentations-result.xml b/report/presentations-result.xml index be2854efe2..2012fd09ea 100644 --- a/report/presentations-result.xml +++ b/report/presentations-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:21.216629Z"> diff --git a/report/ptoc-result.html b/report/ptoc-result.html index 26ac2dd77b..90c8e55696 100644 --- a/report/ptoc-result.html +++ b/report/ptoc-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/ptoc.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/ptoc.xspec

    -

    Tested: 28 September 2024 at 11:04

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/ptoc-result.xml b/report/ptoc-result.xml index b307a56015..6c35511d4f 100644 --- a/report/ptoc-result.xml +++ b/report/ptoc-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:28.582002Z"> diff --git a/report/sections-inherit-from-book-division-component-section-result.html b/report/sections-inherit-from-book-division-component-section-result.html index e128e8f120..8a3ea3b93a 100644 --- a/report/sections-inherit-from-book-division-component-section-result.html +++ b/report/sections-inherit-from-book-division-component-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-book-division-component-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-book-division-component-section.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/sections-inherit-from-book-division-component-section-result.xml b/report/sections-inherit-from-book-division-component-section-result.xml index 17fc480878..2ce0fc9bbf 100644 --- a/report/sections-inherit-from-book-division-component-section-result.xml +++ b/report/sections-inherit-from-book-division-component-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:37.587484Z"> diff --git a/report/sections-inherit-from-book-result.html b/report/sections-inherit-from-book-result.html index 88093948ce..ba871bed7e 100644 --- a/report/sections-inherit-from-book-result.html +++ b/report/sections-inherit-from-book-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-book.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-book.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/sections-inherit-from-book-result.xml b/report/sections-inherit-from-book-result.xml index 3591188497..6b9ddae6a1 100644 --- a/report/sections-inherit-from-book-result.xml +++ b/report/sections-inherit-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:45.200795Z"> diff --git a/report/sections-inherit-from-component-result.html b/report/sections-inherit-from-component-result.html index 82d441e11e..0b784fac2f 100644 --- a/report/sections-inherit-from-component-result.html +++ b/report/sections-inherit-from-component-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-component.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-component.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:41

    Contents

    diff --git a/report/sections-inherit-from-component-result.xml b/report/sections-inherit-from-component-result.xml index eb8f5acfc8..ed6c81ecad 100644 --- a/report/sections-inherit-from-component-result.xml +++ b/report/sections-inherit-from-component-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:41:52.707539Z"> diff --git a/report/sections-inherit-from-division-component-section-result.html b/report/sections-inherit-from-division-component-section-result.html index 9fa8e7c4ba..1a320a72bc 100644 --- a/report/sections-inherit-from-division-component-section-result.html +++ b/report/sections-inherit-from-division-component-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-division-component-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-division-component-section.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-inherit-from-division-component-section-result.xml b/report/sections-inherit-from-division-component-section-result.xml index 505f883679..ea0ccc0fe6 100644 --- a/report/sections-inherit-from-division-component-section-result.xml +++ b/report/sections-inherit-from-division-component-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:00.090704Z"> diff --git a/report/sections-inherit-from-division-result.html b/report/sections-inherit-from-division-result.html index bd1e8b8eed..f4a64595d9 100644 --- a/report/sections-inherit-from-division-result.html +++ b/report/sections-inherit-from-division-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-division.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-division.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-inherit-from-division-result.xml b/report/sections-inherit-from-division-result.xml index 8674e3bee4..442153f8c7 100644 --- a/report/sections-inherit-from-division-result.xml +++ b/report/sections-inherit-from-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:07.705831Z"> diff --git a/report/sections-inherit-from-section-result.html b/report/sections-inherit-from-section-result.html index 64a6870af0..e08e5b28bc 100644 --- a/report/sections-inherit-from-section-result.html +++ b/report/sections-inherit-from-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-section.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-inherit-from-section-result.xml b/report/sections-inherit-from-section-result.xml index 28d10f655d..e21b9bea12 100644 --- a/report/sections-inherit-from-section-result.xml +++ b/report/sections-inherit-from-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:14.985518Z"> diff --git a/report/sections-inherit-from-set-book-division-component-result.html b/report/sections-inherit-from-set-book-division-component-result.html index df91665ded..0f9b634fad 100644 --- a/report/sections-inherit-from-set-book-division-component-result.html +++ b/report/sections-inherit-from-set-book-division-component-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-set-book-division-component.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-set-book-division-component.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-inherit-from-set-book-division-component-result.xml b/report/sections-inherit-from-set-book-division-component-result.xml index cd55bc40bc..18f4b22310 100644 --- a/report/sections-inherit-from-set-book-division-component-result.xml +++ b/report/sections-inherit-from-set-book-division-component-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:30.351588Z"> diff --git a/report/sections-inherit-from-set-book-division-component-section-result.html b/report/sections-inherit-from-set-book-division-component-section-result.html index 9790e47e0c..60e98c96e2 100644 --- a/report/sections-inherit-from-set-book-division-component-section-result.html +++ b/report/sections-inherit-from-set-book-division-component-section-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-set-book-division-component-section.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-set-book-division-component-section.xspec

    -

    Tested: 28 September 2024 at 11:05

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-inherit-from-set-book-division-component-section-result.xml b/report/sections-inherit-from-set-book-division-component-section-result.xml index fff64ab20d..f809e4b450 100644 --- a/report/sections-inherit-from-set-book-division-component-section-result.xml +++ b/report/sections-inherit-from-set-book-division-component-section-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:22.448628Z"> diff --git a/report/sections-inherit-from-set-result.html b/report/sections-inherit-from-set-result.html index da5ea03857..0af8485610 100644 --- a/report/sections-inherit-from-set-result.html +++ b/report/sections-inherit-from-set-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-inherit-from-set.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-inherit-from-set.xspec

    -

    Tested: 28 September 2024 at 11:06

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-inherit-from-set-result.xml b/report/sections-inherit-from-set-result.xml index 5d185b7eae..4d85e43946 100644 --- a/report/sections-inherit-from-set-result.xml +++ b/report/sections-inherit-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:38.402811Z"> diff --git a/report/sections-numbered-from-book-result.html b/report/sections-numbered-from-book-result.html index d6e870dc11..6d0b15564b 100644 --- a/report/sections-numbered-from-book-result.html +++ b/report/sections-numbered-from-book-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-numbered-from-book.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-numbered-from-book.xspec

    -

    Tested: 28 September 2024 at 11:06

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-numbered-from-book-result.xml b/report/sections-numbered-from-book-result.xml index 8e4984e885..24c6646aa4 100644 --- a/report/sections-numbered-from-book-result.xml +++ b/report/sections-numbered-from-book-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:45.984605Z"> diff --git a/report/sections-numbered-from-component-result.html b/report/sections-numbered-from-component-result.html index 4706da1b92..1777976126 100644 --- a/report/sections-numbered-from-component-result.html +++ b/report/sections-numbered-from-component-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-numbered-from-component.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-numbered-from-component.xspec

    -

    Tested: 28 September 2024 at 11:06

    +

    Tested: 9 October 2024 at 13:42

    Contents

    diff --git a/report/sections-numbered-from-component-result.xml b/report/sections-numbered-from-component-result.xml index ac1b0f8cb7..f81569301f 100644 --- a/report/sections-numbered-from-component-result.xml +++ b/report/sections-numbered-from-component-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:42:53.462247Z"> diff --git a/report/sections-numbered-from-division-result.html b/report/sections-numbered-from-division-result.html index 8e4938897c..cedb651065 100644 --- a/report/sections-numbered-from-division-result.html +++ b/report/sections-numbered-from-division-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-numbered-from-division.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-numbered-from-division.xspec

    -

    Tested: 28 September 2024 at 11:06

    +

    Tested: 9 October 2024 at 13:43

    Contents

    diff --git a/report/sections-numbered-from-division-result.xml b/report/sections-numbered-from-division-result.xml index 1bf9f46a46..346ac543d2 100644 --- a/report/sections-numbered-from-division-result.xml +++ b/report/sections-numbered-from-division-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:43:00.905973Z"> diff --git a/report/sections-numbered-from-root-result.html b/report/sections-numbered-from-root-result.html index ff3ba77d9f..b2d363b1a4 100644 --- a/report/sections-numbered-from-root-result.html +++ b/report/sections-numbered-from-root-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-numbered-from-root.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-numbered-from-root.xspec

    -

    Tested: 28 September 2024 at 11:06

    +

    Tested: 9 October 2024 at 13:43

    Contents

    diff --git a/report/sections-numbered-from-root-result.xml b/report/sections-numbered-from-root-result.xml index dc1a5d790f..fb8bb87590 100644 --- a/report/sections-numbered-from-root-result.xml +++ b/report/sections-numbered-from-root-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:43:08.365638Z"> diff --git a/report/sections-numbered-from-set-result.html b/report/sections-numbered-from-set-result.html index fc23ba049f..35dd80fcb6 100644 --- a/report/sections-numbered-from-set-result.html +++ b/report/sections-numbered-from-set-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/sections-numbered-from-set.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/sections-numbered-from-set.xspec

    -

    Tested: 28 September 2024 at 11:06

    +

    Tested: 9 October 2024 at 13:43

    Contents

    diff --git a/report/sections-numbered-from-set-result.xml b/report/sections-numbered-from-set-result.xml index 1c57e329ab..d872f37564 100644 --- a/report/sections-numbered-from-set-result.xml +++ b/report/sections-numbered-from-set-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:43:15.809787Z"> diff --git a/report/transclude-result.html b/report/transclude-result.html index 5901e136b2..1242d99b09 100644 --- a/report/transclude-result.html +++ b/report/transclude-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/transclude.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/transclude.xspec

    -

    Tested: 28 September 2024 at 11:06

    +

    Tested: 9 October 2024 at 13:43

    Contents

    diff --git a/report/transclude-result.xml b/report/transclude-result.xml index 781797e05a..210aa78a81 100644 --- a/report/transclude-result.xml +++ b/report/transclude-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:43:24.239771Z"> @@ -47,60 +47,62 @@ -

    In this document, no transclusion fixup is performed. Duplicate IDs exist, +

    +

    In this document, no transclusion fixup is performed. Duplicate IDs exist, links to those IDs are resolved by the user agent.

    -

    In a document where the same fragment is included (for example, +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    @@ -209,60 +211,62 @@ introduce duplicate IDs in the document.
    -

    In this document, no transclusion fixup is performed. Duplicate IDs exist, +

    +

    In this document, no transclusion fixup is performed. Duplicate IDs exist, links to those IDs are resolved by the user agent.

    -

    In a document where the same fragment is included (for example, +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    @@ -378,59 +382,61 @@ introduce duplicate IDs in the document.
    -

    In this document, all transcluded IDs are resolved with the ‘auto’ fixup.

    -

    In a document where the same fragment is included (for example, +

    +

    In this document, all transcluded IDs are resolved with the ‘auto’ fixup.

    +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    @@ -539,59 +545,61 @@ introduce duplicate IDs in the document.
    -

    In this document, all transcluded IDs are resolved with the ‘auto’ fixup.

    -

    In a document where the same fragment is included (for example, +

    +

    In this document, all transcluded IDs are resolved with the ‘auto’ fixup.

    +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    @@ -707,60 +715,62 @@ introduce duplicate IDs in the document.
    -

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup +

    +

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup and the default linkscope which is ‘global’.

    -

    In a document where the same fragment is included (for example, +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    @@ -869,60 +879,62 @@ introduce duplicate IDs in the document.
    -

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup +

    +

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup and the default linkscope which is ‘global’.

    -

    In a document where the same fragment is included (for example, +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    @@ -1038,60 +1050,62 @@ introduce duplicate IDs in the document.
    -

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup +

    +

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup and ‘local’ linkscope.

    -

    In a document where the same fragment is included (for example, +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    @@ -1200,60 +1214,62 @@ introduce duplicate IDs in the document.
    -

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup +

    +

    In this document, all transcluded IDs are resolved with the ‘suffix’ fixup and ‘local’ linkscope.

    -

    In a document where the same fragment is included (for example, +

    In a document where the same fragment is included (for example, with XInclude) more than once, any ID values in that fragment will be duplicated in the resulting document. Duplicate IDs should be avoided.

    -

    The DocBook - Transclusion - +

    The DocBook + Transclusion + specification is intended to address this problem by providing “fixup” mechanisms.

    -

    In this document, we use the following - caution - +

    In this document, we use the following + caution + element as an example:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    -
    -

    Here it is repeated:

    -
    -
    -
    -
    -
    -
    Transclusion Example Caution
    -
    -
    - +

    Here it is repeated:

    +
    +
    +
    +
    +
    +
    Transclusion Example Caution
    +
    +
    + -

    This caution has the xml:id value ‘caution’. +

    This caution has the xml:id value ‘caution’. If it is simple transcluded more than once into a document, it will introduce duplicate IDs in the document.

    - + +
    diff --git a/report/unwrapped-result.html b/report/unwrapped-result.html index 6d58975637..bd46318d94 100644 --- a/report/unwrapped-result.html +++ b/report/unwrapped-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/env/unwrapped.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/build/xspec/unwrapped.xspec

    -

    Tested: 28 September 2024 at 11:07

    +

    Tested: 9 October 2024 at 13:43

    Contents

    diff --git a/report/unwrapped-result.xml b/report/unwrapped-result.xml index ec2dfdf2aa..767cb0fa8f 100644 --- a/report/unwrapped-result.xml +++ b/report/unwrapped-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:43:32.59039Z"> diff --git a/report/verbatim-result.html b/report/verbatim-result.html index b9fbf73569..4976257cfd 100644 --- a/report/verbatim-result.html +++ b/report/verbatim-result.html @@ -592,7 +592,7 @@

    Test Report

    Stylesheet: /home/runner/work/xslTNG/xslTNG/build/xspec-xslt/xspec-driver.xsl

    XSpec: /home/runner/work/xslTNG/xslTNG/src/test/xspec/verbatim.xspec

    -

    Tested: 28 September 2024 at 11:07

    +

    Tested: 9 October 2024 at 13:43

    Contents

    diff --git a/report/verbatim-result.xml b/report/verbatim-result.xml index 6fe9d92fc5..a9fcbed9b5 100644 --- a/report/verbatim-result.xml +++ b/report/verbatim-result.xml @@ -2,7 +2,7 @@ + date="2024-10-09T13:43:40.737833Z"> diff --git a/report/xml/article.016.xml b/report/xml/article.016.xml new file mode 100644 index 0000000000..04b8d76902 --- /dev/null +++ b/report/xml/article.016.xml @@ -0,0 +1,75 @@ + +
    + Unit Test: article.016 + Content in landscape orientation (for paged media) + + This is an article test. + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, + sed do eiusmod tempor incididunt ut labore et dolore magna + aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis + aute irure dolor in reprehenderit in voluptate velit esse cillum + dolore eu fugiat nulla pariatur. Excepteur sint occaecat + cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. + Curabitur pretium tincidunt lacus. Nulla gravida orci a + odio. Nullam varius, turpis et commodo pharetra, est eros + bibendum elit, nec luctus magna felis sollicitudin mauris. + Integer in mauris eu nibh euismod gravida. Duis ac tellus et + risus vulputate vehicula. Donec lobortis risus a elit. Etiam + tempor. Ut ullamcorper, ligula eu tempor congue, eros est + euismod turpis, id tincidunt sapien risus a quam. Maecenas + fermentum consequat mi. Donec fermentum. Pellentesque malesuada + nulla a mi. Duis sapien sem, aliquet nec, commodo eget, + consequat quis, neque. Aliquam faucibus, elit ut dictum aliquet, + felis nisl adipiscing sapien, sed malesuada diam lacus eget + erat. Cras mollis scelerisque nunc. Nullam arcu. Aliquam + consequat. Curabitur augue lorem, dapibus quis, laoreet et, + pretium ac, nisi. Aenean magna nisl, mollis quis, molestie eu, + feugiat in, orci. In hac habitasse platea dictumst. + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, + sed do eiusmod tempor incididunt ut labore et dolore magna + aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis + aute irure dolor in reprehenderit in voluptate velit esse cillum + dolore eu fugiat nulla pariatur. Excepteur sint occaecat + cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. + Curabitur pretium tincidunt lacus. Nulla gravida orci a + odio. Nullam varius, turpis et commodo pharetra, est eros + bibendum elit, nec luctus magna felis sollicitudin mauris. + Integer in mauris eu nibh euismod gravida. Duis ac tellus et + risus vulputate vehicula. Donec lobortis risus a elit. Etiam + tempor. Ut ullamcorper, ligula eu tempor congue, eros est + euismod turpis, id tincidunt sapien risus a quam. Maecenas + fermentum consequat mi. Donec fermentum. Pellentesque malesuada + nulla a mi. Duis sapien sem, aliquet nec, commodo eget, + consequat quis, neque. Aliquam faucibus, elit ut dictum aliquet, + felis nisl adipiscing sapien, sed malesuada diam lacus eget + erat. Cras mollis scelerisque nunc. Nullam arcu. Aliquam + consequat. Curabitur augue lorem, dapibus quis, laoreet et, + pretium ac, nisi. Aenean magna nisl, mollis quis, molestie eu, + feugiat in, orci. In hac habitasse platea dictumst. + +
    + This table is portrait + + + 12 + 34 + + +
    + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, + sed do eiusmod tempor incididunt ut labore et dolore magna + aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis + aute irure dolor in reprehenderit in voluptate velit esse cillum + dolore eu fugiat nulla pariatur. Excepteur sint occaecat + cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. + +
    diff --git a/report/xml/article.017.xml b/report/xml/article.017.xml new file mode 100644 index 0000000000..3b2a62ef48 --- /dev/null +++ b/report/xml/article.017.xml @@ -0,0 +1,23 @@ + +
    + Unit Test: article.017 + This page is portrait. + + This table is landscape + + + 12 + 34 + + +
    + More portrait content follows. + + + + + + +
    HTML table in landscape
    ab
    cd
    + No, neither of those tables needed to be landscape. Why do you ask? +
    diff --git a/report/xml/book.015.xml b/report/xml/book.015.xml new file mode 100644 index 0000000000..8f463b8171 --- /dev/null +++ b/report/xml/book.015.xml @@ -0,0 +1,46 @@ + + + + More fun with landscape orientation + + A series of book unit test that checks landscape orientation. + + + + + Purpose of this Book + This book contains a table with two wide columns. + The table won't fit on a regular, portrait-oriented page which is about 160 or 170mm wide (assuming A$ paper size). + This is why it is printed in landscape orientation in PDF output. + But as always, there are different ways to achieve this goal. + Only this chapter should be printed in landscape orientation + + + + +
    + The caption for ths table should be printed in the same orientation as the table itself. + + The caption for ths table should be printed in the same orientation as the table itself. + + The caption for ths table should be printed in the same orientation as the table itself. + + The caption for ths table should be printed in the same orientation as the table itself. + A duck in its full beauty + The caption for ths table should be printed in the same orientation as the table itself. +
    + This table is portrait + + + 12 + 34 + + +
    + + That table didn’t really need to be portrait, but this paragraph follows it. + + diff --git a/report/xml/section.001.xml b/report/xml/section.001.xml index b67f91def4..ce4d1d338e 100644 --- a/report/xml/section.001.xml +++ b/report/xml/section.001.xml @@ -1,5 +1,5 @@ -
    +
    Article wrapper See .
    @@ -11,6 +11,46 @@
    Section 1.1.1 blah. + + + Table title + + + + + + + + + a1 + b1-c2 + d1 + + + a2-a4 + + d2 + + + + b3 + c3 + d3 + + + + b4 + c4-d4 + + + a5 + b5 + + d5 + + + +
    Section 1.1.1.1 blah.