diff options
author | Shaun McCance <shaunm@redhat.com> | 2018-09-22 19:03:59 -0400 |
---|---|---|
committer | Shaun McCance <shaunm@redhat.com> | 2018-09-22 19:03:59 -0400 |
commit | 6e1df911f1309025eb69dc07ffc92435e09c2457 (patch) | |
tree | f5faf6ce4bd65a282337265896ba42c7d874bd10 /xslt | |
parent | c2d83e8e13ab76ff3c81d9d5577653c6977727b3 (diff) | |
download | yelp-xsl-6e1df911f1309025eb69dc07ffc92435e09c2457.tar.gz |
Change xsldoc to use ducktype
Diffstat (limited to 'xslt')
54 files changed, 1957 insertions, 1589 deletions
diff --git a/xslt/common/color.xsl b/xslt/common/color.xsl index 197c96de..c3809e24 100644 --- a/xslt/common/color.xsl +++ b/xslt/common/color.xsl @@ -22,10 +22,10 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Colors Common named colors and color utilities for output styling. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This stylesheet provides a common interface to specify custom colors for -transformations to presentation-oreinted formats. This allows similar +transformations to presentation-oreinted formats. This allows similar output for different types of input documents. This stylesheet also provides a number of templates for manipulating colors @@ -36,7 +36,9 @@ and extracting information about colors. <!--**========================================================================== color.hex2dec Convert a hexidecimal number to decimal. -:Revision: version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] $hex: The hexidecimal number to convert to decimal. This template converts a hexidecimal number to decimal. It's useful for getting @@ -75,12 +77,14 @@ the numeric values of color components in a hexidecimal color code. <!--**========================================================================== color.r Extract the red component of a color. -:Revision: version="3.28" date="2016-01-03" status="final" -$color: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] +$color: A color specified in hexidecimal, `rgb()`, or `rgba()`. This template extracts the red portion of a color, returning a number between 0 and 255. It accepts six-digit and three-digit hexidecimal color codes, -colors specified with #{rgb()}, and colors specified with #{rgba()}. It does +colors specified with `rgb()`, and colors specified with `rgba()`. It does not accept HSL or named HTML colors. --> <xsl:template name="color.r"> @@ -106,12 +110,14 @@ not accept HSL or named HTML colors. <!--**========================================================================== color.g Extract the green component of a color. -:Revision: version="3.28" date="2016-01-03" status="final" -$color: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] +$color: A color specified in hexidecimal, `rgb()`, or `rgba()`. This template extracts the green portion of a color, returning a number between 0 and 255. It accepts six-digit and three-digit hexidecimal color codes, -colors specified with #{rgb()}, and colors specified with #{rgba()}. It does +colors specified with `rgb()`, and colors specified with `rgba()`. It does not accept HSL or named HTML colors. --> <xsl:template name="color.g"> @@ -137,12 +143,14 @@ not accept HSL or named HTML colors. <!--**========================================================================== color.b Extract the blue component of a color. -:Revision: version="3.28" date="2016-01-03" status="final" -$color: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] +$color: A color specified in hexidecimal, `rgb()`, or `rgba()`. This template extracts the blue portion of a color, returning a number between 0 and 255. It accepts six-digit and three-digit hexidecimal color codes, -colors specified with #{rgb()}, and colors specified with #{rgba()}. It does +colors specified with `rgb()`, and colors specified with `rgba()`. It does not accept HSL or named HTML colors. --> <xsl:template name="color.b"> @@ -175,14 +183,16 @@ not accept HSL or named HTML colors. <!--**========================================================================== color.a Extract the alpha value of a color. -:Revision: version="3.28" date="2016-01-03" status="final" -$color: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] +$color: A color specified in hexidecimal, `rgb()`, or `rgba()`. This template extracts the alpha, or opacity level, of a color. It returns a number between 0.0 and 1.0. It accepts six-digit and three-digit hexidecimal -color codes, colors specified with #{rgb()}, and colors specified with -#{rgba()}. It does not accept HSL or named HTML colors. For colors specified -with anything other than #{rgba()}, it always returns 1.0. +color codes, colors specified with `rgb()`, and colors specified with +`rgba()`. It does not accept HSL or named HTML colors. For colors specified +with anything other than `rgba()`, it always returns 1.0. --> <xsl:template name="color.a"> <xsl:param name="color"/> @@ -201,17 +211,19 @@ with anything other than #{rgba()}, it always returns 1.0. <!--**========================================================================== color.rl Get the relative luminance of a color. -:Revision: version="3.28" date="2016-01-03" status="final" -$color: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] +$color: A color specified in hexidecimal, `rgb()`, or `rgba()`. This template calculates the relative luminance of a color, returning a number between 0.0 and 1.0. The relative luminance is used when calculating color contrast. The relative luminance algorithm is defined by the WCAG: -http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef +$link[>>http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef] This template accepts six-digit and three-digit hexidecimal color codes, colors -specified with #{rgb()}, and colors specified with #{rgba()}. It does not accept +specified with `rgb()`, and colors specified with `rgba()`. It does not accept HSL or named HTML colors. --> <xsl:template name="color.rl"> @@ -271,18 +283,20 @@ HSL or named HTML colors. <!--**========================================================================== color.contrast Get the contrast between two colors. -:Revision: version="3.28" date="2016-01-03" status="final" -$bg: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. -$fg: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] +$bg: A color specified in hexidecimal, `rgb()`, or `rgba()`. +$fg: A color specified in hexidecimal, `rgb()`, or `rgba()`. This template calculates the contrast ratio between colors. The contrast ratio is a number between 1 and 21. The algorithm is defined by the WCAG: -http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef +$link[>>http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef] -This template calls *{color.rl} to get the relative luminance of ${bg} and ${fg}. +This template calls {color.rl} to get the relative luminance of $bg and $fg. It accepts six-digit and three-digit hexidecimal color codes, colors specified -with #{rgb()}, and colors specified with #{rgba()}. It does not accept HSL or +with `rgb()`, and colors specified with `rgba()`. It does not accept HSL or named HTML colors. Note that it does not take the alpha value into account when calculating the contrast ratio. Semi-transparent colors will have a lower actual contrast ratio than what is reported by this template. @@ -317,28 +331,30 @@ ratio of at least 3.0 for large-scale text. <!--**========================================================================== color.blend Blend two colors together at a specified mix level. -:Revision: version="3.28" date="2016-01-03" status="final" -$bg: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. -$fg: A color specified in hexidecimal, #{rgb()}, or #{rgba()}. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] +$bg: A color specified in hexidecimal, `rgb()`, or `rgba()`. +$fg: A color specified in hexidecimal, `rgb()`, or `rgba()`. $mix: The mix level, between 0.0 and 1.0. -This template calculates a color by selecting a midpoint between ${bg} and -${fg}, where the ${mix} parameter specifies how far to move from ${bg} to -${fg}. For opaque colors, setting ${mix} to 0.0 will result in ${bg}, and -setting ${mix} to 1.0 will result in ${fg}. +This template calculates a color by selecting a midpoint between $bg and +$fg, where the $mix parameter specifies how far to move from $bg to $fg +For opaque colors, setting $mix to 0.0 will result in $bg, and setting +$mix to 1.0 will result in $fg. -This template takes the alpha values of ${bg} and ${fg} into account, so -that specifying 1.0 for ${mix} will result in a color that is the result -of overlaying ${fg} on top of ${bg}. In effect, ${mix} acts as a multiplier +This template takes the alpha values of $bg and $fg into account, so +that specifying 1.0 for $mix will result in a color that is the result +of overlaying $fg on top of $bg. In effect, $mix acts as a multiplier on the alpha channels of the colors. -This template calls *{color.r}, *{color.g}, *{color.b}, and *{color.a} to get -the components of ${bg} and ${fg}. It accepts six-digit and three-digit -hexidecimal color codes, colors specified with #{rgb()}, and colors specified -with #{rgba()}. It does not accept HSL or named HTML colors. +This template calls {color.r}, {color.g}, {color.b}, and {color.a} to get +the components of $bg and $fg. It accepts six-digit and three-digit +hexidecimal color codes, colors specified with `rgb()`, and colors specified +with `rgba()`. It does not accept HSL or named HTML colors. If the return color is fully opaque, this template returns the color using -the #{rgb()} scheme. Otherwise, it uses the #{rgba()} scheme. +the `rgb()` scheme. Otherwise, it uses the `rgba()` scheme. --> <xsl:template name="color.blend"> <xsl:param name="bg" select="'#ffffff'"/> @@ -537,10 +553,10 @@ the #{rgb()} scheme. Otherwise, it uses the #{rgba()} scheme. <!--@@========================================================================== color.fg The primary text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameters specifies the normal color of text. It should have a high color -contrast against @{color.bg}. Other text colors can be automatically computed +contrast against {color.bg}. Other text colors can be automatically computed based on this color. --> <xsl:param name="color.fg" select="'#000000'"/> @@ -549,10 +565,10 @@ based on this color. <!--@@========================================================================== color.bg The normal background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameters specifies the background color. It should have a high color -contrast against @{color.fg}. Other background colors can be automatically +contrast against {color.fg}. Other background colors can be automatically computed based on this color. --> <xsl:param name="color.bg" select="'#ffffff'"/> @@ -561,7 +577,7 @@ computed based on this color. <!--@@========================================================================== color.red A red accent color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of red that is suitable for borders and other accents. It should have some contrast against background colors, but it @@ -573,11 +589,11 @@ does not need as high of a contrast as text colors. <!--@@========================================================================== color.fg.red A red text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of red that is suitable for text. It should -have a high color contrast against @{color.bg}. If not specified, it can be -automatically computed based on @{color.red} and @{color.fg}. +have a high color contrast against {color.bg}. If not specified, it can be +automatically computed based on {color.red} and {color.fg}. --> <xsl:param name="color.fg.red"> <xsl:call-template name="_color.fgify"> @@ -589,11 +605,11 @@ automatically computed based on @{color.red} and @{color.fg}. <!--@@========================================================================== color.bg.red A red background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of red that is suitable for backgrounds. -It should have a high color contrast against @{color.fg}. If not specified, -it can be automatically computed based on @{color.red} and @{color.bg}. +It should have a high color contrast against {color.fg}. If not specified, +it can be automatically computed based on {color.red} and {color.bg}. --> <xsl:param name="color.bg.red"> <xsl:call-template name="_color.bgify"> @@ -605,7 +621,7 @@ it can be automatically computed based on @{color.red} and @{color.bg}. <!--@@========================================================================== color.orange An orange accent color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of orange that is suitable for borders and other accents. It should have some contrast against background colors, but it @@ -617,11 +633,11 @@ does not need as high of a contrast as text colors. <!--@@========================================================================== color.fg.orange An orange text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of orange that is suitable for text. It should -have a high color contrast against @{color.bg}. If not specified, it can be -automatically computed based on @{color.orange} and @{color.fg}. +have a high color contrast against {color.bg}. If not specified, it can be +automatically computed based on {color.orange} and {color.fg}. --> <xsl:param name="color.fg.orange"> <xsl:call-template name="_color.fgify"> @@ -633,11 +649,11 @@ automatically computed based on @{color.orange} and @{color.fg}. <!--@@========================================================================== color.bg.orange An orange background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of orange that is suitable for backgrounds. -It should have a high color contrast against @{color.fg}. If not specified, -it can be automatically computed based on @{color.orange} and @{color.bg}. +It should have a high color contrast against {color.fg}. If not specified, +it can be automatically computed based on {color.orange} and {color.bg}. --> <xsl:param name="color.bg.orange"> <xsl:call-template name="_color.bgify"> @@ -649,7 +665,7 @@ it can be automatically computed based on @{color.orange} and @{color.bg}. <!--@@========================================================================== color.yellow A yellow accent color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of yellow that is suitable for borders and other accents. It should have some contrast against background colors, but it @@ -661,11 +677,11 @@ does not need as high of a contrast as text colors. <!--@@========================================================================== color.fg.yellow A yellow text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of yellow that is suitable for text. It should -have a high color contrast against @{color.bg}. If not specified, it can be -automatically computed based on @{color.yellow} and @{color.fg}. +have a high color contrast against {color.bg}. If not specified, it can be +automatically computed based on {color.yellow} and {color.fg}. --> <xsl:param name="color.fg.yellow"> <xsl:call-template name="_color.fgify"> @@ -678,11 +694,11 @@ automatically computed based on @{color.yellow} and @{color.fg}. <!--@@========================================================================== color.bg.yellow A yellow background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of yellow that is suitable for backgrounds. -It should have a high color contrast against @{color.fg}. If not specified, -it can be automatically computed based on @{color.yellow} and @{color.bg}. +It should have a high color contrast against {color.fg}. If not specified, +it can be automatically computed based on {color.yellow} and {color.bg}. --> <xsl:param name="color.bg.yellow"> <xsl:call-template name="_color.bgify"> @@ -695,7 +711,7 @@ it can be automatically computed based on @{color.yellow} and @{color.bg}. <!--@@========================================================================== color.green A green accent color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of green that is suitable for borders and other accents. It should have some contrast against background colors, but it @@ -707,11 +723,11 @@ does not need as high of a contrast as text colors. <!--@@========================================================================== color.fg.green A green text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of green that is suitable for text. It should -have a high color contrast against @{color.bg}. If not specified, it can be -automatically computed based on @{color.green} and @{color.fg}. +have a high color contrast against {color.bg}. If not specified, it can be +automatically computed based on {color.green} and {color.fg}. --> <xsl:param name="color.fg.green"> <xsl:call-template name="_color.fgify"> @@ -723,11 +739,11 @@ automatically computed based on @{color.green} and @{color.fg}. <!--@@========================================================================== color.bg.green A green background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of green that is suitable for backgrounds. -It should have a high color contrast against @{color.fg}. If not specified, -it can be automatically computed based on @{color.green} and @{color.bg}. +It should have a high color contrast against {color.fg}. If not specified, +it can be automatically computed based on {color.green} and {color.bg}. --> <xsl:param name="color.bg.green"> <xsl:call-template name="_color.bgify"> @@ -739,7 +755,7 @@ it can be automatically computed based on @{color.green} and @{color.bg}. <!--@@========================================================================== color.blue A blue accent color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of blue that is suitable for borders and other accents. It should have some contrast against background colors, but it @@ -751,11 +767,11 @@ does not need as high of a contrast as text colors. <!--@@========================================================================== color.fg.blue A blue text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of blue that is suitable for text. It should -have a high color contrast against @{color.bg}. If not specified, it can be -automatically computed based on @{color.blue} and @{color.fg}. +have a high color contrast against {color.bg}. If not specified, it can be +automatically computed based on {color.blue} and {color.fg}. --> <xsl:param name="color.fg.blue"> <xsl:call-template name="_color.fgify"> @@ -766,11 +782,11 @@ automatically computed based on @{color.blue} and @{color.fg}. <!--@@========================================================================== color.bg.blue A blue background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of blue that is suitable for backgrounds. -It should have a high color contrast against @{color.fg}. If not specified, -it can be automatically computed based on @{color.blue} and @{color.bg}. +It should have a high color contrast against {color.fg}. If not specified, +it can be automatically computed based on {color.blue} and {color.bg}. --> <xsl:param name="color.bg.blue"> <xsl:call-template name="_color.bgify"> @@ -782,7 +798,7 @@ it can be automatically computed based on @{color.blue} and @{color.bg}. <!--@@========================================================================== color.purple A purple accent color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of purple that is suitable for borders and other accents. It should have some contrast against background colors, but it @@ -794,11 +810,11 @@ does not need as high of a contrast as text colors. <!--@@========================================================================== color.fg.purple A purple text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of purple that is suitable for text. It should -have a high color contrast against @{color.bg}. If not specified, it can be -automatically computed based on @{color.purple} and @{color.fg}. +have a high color contrast against {color.bg}. If not specified, it can be +automatically computed based on {color.purple} and {color.fg}. --> <xsl:param name="color.fg.purple"> <xsl:call-template name="_color.fgify"> @@ -810,11 +826,11 @@ automatically computed based on @{color.purple} and @{color.fg}. <!--@@========================================================================== color.bg.purple A purple background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of purple that is suitable for backgrounds. -It should have a high color contrast against @{color.fg}. If not specified, -it can be automatically computed based on @{color.purple} and @{color.bg}. +It should have a high color contrast against {color.fg}. If not specified, +it can be automatically computed based on {color.purple} and {color.bg}. --> <xsl:param name="color.bg.purple"> <xsl:call-template name="_color.bgify"> @@ -826,7 +842,7 @@ it can be automatically computed based on @{color.purple} and @{color.bg}. <!--@@========================================================================== color.gray A gray accent color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of gray that is suitable for borders and other accents. It should have some contrast against background colors, but it @@ -838,11 +854,11 @@ does not need as high of a contrast as text colors. <!--@@========================================================================== color.fg.gray A gray text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of gray that is suitable for text. It should -have a high color contrast against @{color.bg}. If not specified, it can be -automatically computed based on @{color.gray} and @{color.fg}. +have a high color contrast against {color.bg}. If not specified, it can be +automatically computed based on {color.gray} and {color.fg}. --> <xsl:param name="color.fg.gray"> <xsl:call-template name="_color.fgify"> @@ -854,11 +870,11 @@ automatically computed based on @{color.gray} and @{color.fg}. <!--@@========================================================================== color.bg.gray A gray background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of gray that is suitable for backgrounds. -It should have a high color contrast against @{color.fg}. If not specified, -it can be automatically computed based on @{color.gray} and @{color.bg}. +It should have a high color contrast against {color.fg}. If not specified, +it can be automatically computed based on {color.gray} and {color.bg}. --> <xsl:param name="color.bg.gray"> <xsl:call-template name="_color.bgify"> @@ -870,13 +886,13 @@ it can be automatically computed based on @{color.gray} and @{color.bg}. <!--@@========================================================================== color.fg.dark A dark gray text color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a dark shade of gray that is suitable for text. It -should have a very high color contrast against @{color.bg}. It is typically +should have a very high color contrast against {color.bg}. It is typically used to slightly reduce the visual weight of headers and bold text. If not -specified, it can be automatically computed based on @{color.gray} and -@{color.fg}. +specified, it can be automatically computed based on {color.gray} and +{color.fg}. --> <xsl:param name="color.fg.dark"> <xsl:call-template name="_color.fgify"> @@ -889,14 +905,14 @@ specified, it can be automatically computed based on @{color.gray} and <!--@@========================================================================== color.bg.dark A dark gray background color. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] This parameter specifies a shade of gray that is suitable for backgrounds, -and is darker than @{color.bg.gray}. It should have a high color contrast -against @{color.fg}. It is typically used at the intersection of shaded +and is darker than {color.bg.gray}. It should have a high color contrast +against {color.fg}. It is typically used at the intersection of shaded rows and columns in a table, or as a very light gray accent color. If not -specified, it can be automatically computed based on @{color.gray} and -@{color.bg}. +specified, it can be automatically computed based on {color.gray} and +{color.bg}. --> <xsl:param name="color.bg.dark"> <xsl:call-template name="_color.bgify"> diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl index d4c8e33d..9d38a9e7 100644 --- a/xslt/common/html.xsl +++ b/xslt/common/html.xsl @@ -29,17 +29,16 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu. <!--!!========================================================================== HTML Output Common utilities and CSS for transformations to HTML. -:Requires: l10n color icons -:Revision:version="1.0" date="2010-05-26" status="final" +@revision[version=1.0 date=2010-05-26 status=final] This stylesheet contains common templates for creating HTML output. The -*{html.output} template creates an output file for a node in the source XML -document, calling *{html.page} to create the actual output. Output files can -be either XHTML or HTML, depending on the @{html.xhtml} parameter. +{html.output} template creates an output file for a node in the source XML +document, calling {html.page} to create the actual output. Output files can +be either XHTML or HTML, depending on the {html.xhtml} parameter. -This stylesheet matches #{/} and calls *{html.output} on the root XML element. +This stylesheet matches `/` and calls {html.output} on the root XML element. This works for most input formats. If you need to do something different, you -should override the match for #{/}. +should override the match for `/`. --> <xsl:template match="/"> <xsl:call-template name="html.output"> @@ -52,13 +51,13 @@ should override the match for #{/}. <!--@@========================================================================== html.basename The base filename of the primary output file. -:Revision:version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] This parameter specifies the base filename of the primary output file, without -the filename extension. This is used by *{html.output} to determine the output +the filename extension. This is used by {html.output} to determine the output filename, and may be used by format-specific linking code. By default, it uses -the value of an #{id} or #{xml:id} attribute, if present. Otherwise, it uses -the static string #{index}. +the value of an `id` or `xml:id` attribute, if present. Otherwise, it uses +the static string `index`. --> <xsl:param name="html.basename"> <xsl:choose> @@ -78,14 +77,14 @@ the static string #{index}. <!--@@========================================================================== html.xhtml Whether to output XHTML. -:Revision:version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] If this parameter is set to true, this stylesheet will output XHTML. Otherwise, the output is assumed to be HTML. Note that for HTML output, the importing -stylesheet still needs to call #{xsl:namespace-alias} to map the XHTML namespace -to #{#default}. The @{html.namespace} will be set automatically based on this -parameter. Stylesheets can use this parameter to check the output type, for -example when using #{xsl:element}. +stylesheet still needs to call `xsl:namespace-alias` to map the XHTML namespace +to `#default`. The {html.namespace} parameter will be set automatically based +on this parameter. Stylesheets can use this parameter to check the output type, +for example when using `xsl:element`. --> <xsl:param name="html.xhtml" select="true()"/> @@ -93,12 +92,12 @@ example when using #{xsl:element}. <!--@@========================================================================== html.namespace The XML namespace for the output document. -:Revision:version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] This parameter specifies the XML namespace of all output documents. It will be -set automatically based on the ${html.xhtml} parameter, either to the XHTML +set automatically based on the {html.xhtml} parameter, either to the XHTML namespace, or to the empty namespace. Stylesheets can use this parameter when -using #{xsl:element}. +using `xsl:element`. --> <xsl:param name="html.namespace"> <xsl:choose> @@ -115,14 +114,14 @@ using #{xsl:element}. <!--@@========================================================================== html.mathml.namespace The XML namespace for MathML in the output document. -:Revision:version="3.18" date="2015-05-04" status="final" +@revision[version=3.18 date=2015-05-04 status=final] This parameter specifies the XML namespace for MathML in output documents. It -will be set automatically based on the ${html.xhtml} parameter, either to the +will be set automatically based on the {html.xhtml} parameter, either to the MathML namespace namespace, or to the empty namespace. Stylesheets can use this -parameter when using #{xsl:element}. +parameter when using `xsl:element`. --> -<xsl:variable name="html.mathml.namespace"> +<xsl:param name="html.mathml.namespace"> <xsl:choose> <xsl:when test="$html.xhtml"> <xsl:value-of select="'http://www.w3.org/1998/Math/MathML'"/> @@ -131,20 +130,20 @@ parameter when using #{xsl:element}. <xsl:text></xsl:text> </xsl:otherwise> </xsl:choose> -</xsl:variable> +</xsl:param> <!--@@========================================================================== html.svg.namespace The XML namespace for SVG in the output document. -:Revision:version="3.18" date="2015-05-04" status="final" +@revision[version=3.18 date=2015-05-04 status=final] This parameter specifies the XML namespace for SVG in output documents. It -will be set automatically based on the ${html.xhtml} parameter, either to the +will be set automatically based on the {html.xhtml} parameter, either to the SVG namespace namespace, or to the empty namespace. Stylesheets can use this -parameter when using #{xsl:element}. +parameter when using `xsl:element`. --> -<xsl:variable name="html.svg.namespace"> +<xsl:param name="html.svg.namespace"> <xsl:choose> <xsl:when test="$html.xhtml"> <xsl:value-of select="'http://www.w3.org/2000/svg'"/> @@ -153,17 +152,17 @@ parameter when using #{xsl:element}. <xsl:text></xsl:text> </xsl:otherwise> </xsl:choose> -</xsl:variable> +</xsl:param> <!--@@========================================================================== html.extension The filename extension for all output files. -:Revision:version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] This parameter specifies a filename extension for all HTML output files. It -should include the leading dot. By default, #{.xhtml} will be used if -@{html.xhtml} is true; otherwise, #{.html} will be used. +should include the leading dot. By default, `.xhtml` will be used if +{html.xhtml} is true; otherwise, `.html` will be used. --> <xsl:param name="html.extension"> <xsl:choose> @@ -180,7 +179,7 @@ should include the leading dot. By default, #{.xhtml} will be used if <!--@@========================================================================== html.css.root The URI root for external CSS files. -:Revision:version="1.0" date="2010-12-06" status="final" +@revision[version=1.0 date=2010-12-06 status=final] This parameter provides a root URI for any external CSS files that are referenced from the output HTML file. If non-empty, it must end with @@ -192,7 +191,7 @@ a trailing slash character. <!--@@========================================================================== html.js.root The URI root for external JavaScript files. -:Revision:version="1.0" date="2010-12-06" status="final" +@revision[version=1.0 date=2010-12-06 status=final] This parameter provides a root URI for any external JavaScript files that are referenced from the output HTML file. If non-empty, it must end with @@ -204,7 +203,7 @@ a trailing slash character. <!--@@========================================================================== html.syntax.highlight Whether to include syntax highlighting support for code blocks. -:Revision:version="1.0" date="2010-12-06" status="final" +@revision[version=1.0 date=2010-12-06 status=final] This parameter specifies whether syntax highlighting should be enabled for code blocks in the output HTML. Syntax highlighting is done at document load @@ -215,11 +214,11 @@ time by JavaScript. <!--@@========================================================================== html.output.prefix -An optional path prefix for files output with *{html.output}. -:Revision:version="3.28" date="2017-05-24" status="final" +An optional path prefix for files output with {html.output}. +@revision[version=3.28 date=2017-05-24 status=final] This parameter allows you to specify an prefix to place before the output path -used by *{html.output} when creating files. You can use this to override the +used by {html.output} when creating files. You can use this to override the output directory. Make sure you include a trailing slash, unless you want to prefix the base file name itself. --> @@ -229,12 +228,12 @@ prefix the base file name itself. <!--@@========================================================================== html.sidebar.left List of components to add to the left sidebar. -:Revision:version="3.30" date="2018-06-10" status="candidate" +@revision[version=3.30 date=2018-06-10 status=candidate] This parameter takes a space-separated list of tokens that specify which components to add to the stock left sidebar. These stylesheets recognize -certain tokens, and you can add your own with %{html.sidebar.mode}. See -*{html.sidebar} for further details. +certain tokens, and you can add your own with {html.sidebar.mode}. See +{html.sidebar} for further details. --> <xsl:param name="html.sidebar.left" select="''"/> @@ -242,12 +241,12 @@ certain tokens, and you can add your own with %{html.sidebar.mode}. See <!--@@========================================================================== html.sidebar.right List of components to add to the right sidebar. -:Revision:version="3.30" date="2018-06-10" status="candidate" +@revision[version=3.30 date=2018-06-10 status=candidate] This parameter takes a space-separated list of tokens that specify which components to add to the stock right sidebar. These stylesheets recognize -certain tokens, and you can add your own with %{html.sidebar.mode}. See -*{html.sidebar} for further details. +certain tokens, and you can add your own with {html.sidebar.mode}. See +{html.sidebar} for further details. --> <xsl:param name="html.sidebar.right" select="''"/> @@ -255,26 +254,31 @@ certain tokens, and you can add your own with %{html.sidebar.mode}. See <!--**========================================================================== html.output Create an HTML output file. -:Revision:version="1.0" date="2010-05-26" status="final" +@revision[version=1.0 date=2010-05-26 status=final] + +[xsl:params] $node: The node to create an output file for. $href: The output filename. -This template creates an HTML output file for the source element ${node}. It -uses #{exsl:document} to output the file, and calls *{html.page} with the -${node} parameter to output the actual HTML contents. +This template creates an HTML output file for the source element $node. It +uses `exsl:document` to output the file, and calls {html.page} with the +$node parameter to output the actual HTML contents. + +If $href is not provided, this template will attempt to generate a base +filename and append {html.extension} to it. The base filename is generated +as follows: -If ${href} is not provided, this template will attempt to generate a base -filename and append @{html.extension} to it. The base filename is generated -as follows: If an #{xml:id} attribute is present, it is used; otherwise, if -an #{id} attribute is present, it is uses; otherwise, if ${node} is the root -element, @{html.basename} is used; otherwise, #{generate-id()} is called. +* If an `xml:id` attribute is present, it is used. +* Otherwise, if an `id` attribute is present, it is used. +* Otherwise, if $node is the root element, {html.basename} is used. +* Otherwise, `generate-id()` is called. -This template prepends @{html.output.prefix} to the value of ${href} when -it calls #{exsl:document}, regardless of whether ${href} was passed in or +This template prepends {html.output.prefix} to the value of $href when +it calls `exsl:document`, regardless of whether $href was passed in or generated automatically. -After calling #{exsl:document}, this template calls the %{html.output.after.mode} -mode on ${node}. Importing stylesheets that create multiple output files can +After calling `exsl:document`, this template calls the {html.output.after.mode} +mode on $node. Importing stylesheets that create multiple output files can use this to process output files without blocking earlier output. --> <xsl:template name="html.output"> @@ -320,9 +324,9 @@ use this to process output files without blocking earlier output. <!--%%========================================================================== html.output.after.mode Process an element after its content are output. -:Revision:version="1.0" date="2010-05-26" status="final" +@revision[version=1.0 date=2010-05-26 status=final] -This mode is called by *{html.output} after #{exsl:document} has finished. It +This mode is called by {html.output} after `exsl:document` has finished. It can be used to create further output files without blocking the output of parent elements. --> @@ -332,35 +336,43 @@ parent elements. <!--**========================================================================== html.page Create an HTML document. -:Revision:version="3.28" date="2017-08-04" status="final" +@revision[version=3.28 date=2017-08-04 status=final] + +[xsl:params] $node: The node to create HTML for. -This template creates the actual HTML output for ${node}. It outputs top-level +This template creates the actual HTML output for $node. It outputs top-level elements and container divs, and calls various templates and modes to output the inner content. Importing stylesheets should implement at least -%{html.title.mode} and %{html.body.mode} for any elements that could be passed -as ${node} to this template. Importing stylesheets should also implement -%{html.header.mode} to output link trails and %{html.footer.mode} to output +{html.title.mode} and {html.body.mode} for any elements that could be passed +as $node to this template. Importing stylesheets should also implement +{html.header.mode} to output link trails and {html.footer.mode} to output credits and other page information. -This template outputs the HTML #{body} element, which takes it attributes -from two sources. First, it calls *{html.lang.attrs}, which automatically -outputs correct #{lang}, #{xml:lang}, and #{dir} attributes. It then calls -%{html.body.attr.mode} on ${node} for additional attributes. +This template outputs the HTML `body` element, which takes it attributes +from two sources. First, it calls {html.lang.attrs}, which automatically +outputs correct `lang`, `xml:lang`, and `dir` attributes. It then calls +{html.body.attr.mode} on $node for additional attributes. This template also calls a number of stub templates that can be overridden -by extension stylesheets. Override the *{html.head.custom} template to put -custom content at the end of the HTML #{head} element. Override the -*{html.head.top.custom} template to put custom content at the beginning of -the HTML #{head} element. Override the *{html.top.custom} and -*{html.bottom.custom} templates to add site-specific content at the top and -bottom of the page. Override the *{html.header.custom} and *{html.footer.custom} -templates to provide additional content directoy above and below the main -content. Use the @{html.sidebar.left} and @{html.sidebar.right} parameters -to create stock sidebars, or override *{html.sidebar.custom} to create -your own. - -This template also calls *{html.css} and *{html.js} to output CSS and JavaScript +by extension stylesheets. + +* Override the {html.head.custom} template to put custom content at the end + of the HTML `head` element. + +* Override the {html.head.top.custom} template to put custom content at the + beginning of the HTML `head` element. + +* Override the {html.top.custom} and {html.bottom.custom} templates to add + site-specific content at the top and bottom of the page. + +* Override the {html.header.custom} and {html.footer.custom} templates to + provide additional content directoy above and below the main content. + +* Use the {html.sidebar.left} and {html.sidebar.right} parameters to create + stock sidebars, or override {html.sidebar.custom} to create your own. + +This template also calls {html.css} and {html.js} to output CSS and JavaScript elements. See those templates for further extension points. --> <xsl:template name="html.page"> @@ -433,22 +445,22 @@ elements. See those templates for further extension points. <!--%%========================================================================== html.title.mode Output the title of an element. -:Revision:version="1.0" date="2010-05-26" status="final" +@revision[version=1.0 date=2010-05-26 status=final] -This mode is called by *{html.page} to output the contents of the HTML #{title} -element inside the #{head} element. Importing stylesheets should implement this -mode for any element that will be passed to *{html.page}. Because this is used -in the #{head}, the output should be text-only. +This mode is called by {html.page} to output the contents of the HTML `title` +element inside the `head` element. Importing stylesheets should implement this +mode for any element that will be passed to {html.page}. Because this is used +in the `head`, the output should be text-only. --> <xsl:template mode="html.title.mode" match="*"/> <!--%%========================================================================== html.body.attr.mode -Output attributes for the HTML #{body} element. -:Revision:version="1.0" date="2010-06-08" status="final" +Output attributes for the HTML `body` element. +@revision[version=1.0 date=2010-06-08 status=final] -This mode is called by *{html.page} to output attributes on the HTML #{body} +This mode is called by {html.page} to output attributes on the HTML `body` element. No attributes are output by default. Importing stylesheets may implement this node to add attributes for styling, data, or other purposes. --> @@ -458,12 +470,14 @@ implement this node to add attributes for styling, data, or other purposes. <!--**========================================================================== html.top.custom Stub to output HTML at the top of the page. -:Stub: true -:Revision:version="3.28" date="2017-05-24" status="final" +@xsl:stub +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: The node a page is being created for. -This template is a stub, called by *{html.page}. It is called before the -#{main} element. Override this template to provide site-specific HTML +This template is a stub, called by {html.page}. It is called before the +`main` element. Override this template to provide site-specific HTML at the top of the page. --> <xsl:template name="html.top.custom"> @@ -474,12 +488,14 @@ at the top of the page. <!--**========================================================================== html.bottom.custom Stub to output HTML at the bottom of the page. -:Stub: true -:Revision:version="3.28" date="2017-05-24" status="final" +@xsl:stub +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: The node a page is being created for. -This template is a stub, called by *{html.page}. It is called after the -#{main} element. Override this template to provide site-specific HTML +This template is a stub, called by {html.page}. It is called after the +`main` element. Override this template to provide site-specific HTML at the bottom of the page. --> <xsl:template name="html.bottom.custom"> @@ -490,41 +506,51 @@ at the bottom of the page. <!--**========================================================================== html.sidebar Output stock sidebars. -:Revision:version="3.30" date="2018-06-10" status="candidate" +@revision[version=3.30 date=2018-06-10 status=candidate] + +[xsl:params] $node: The node a sidebar is being created for. This templates outputs left and right sidebars according to the components -listed in @{html.sidebar.left} and @{html.sidebar.right}. It only outputs each -sidebar if the corresponding parameters is not empty or the string #{none}. +listed in {html.sidebar.left} and {html.sidebar.right}. It only outputs each +sidebar if the corresponding parameters is not empty or the string `none`. -This template is called inside the #{main} element, before the #{div.page} -element, and before *{html.sidebar.custom}. Note that even the right sidebar -is placed before the #{div.page} element. It is placed on the right using +This template is called inside the `main` element, before the `div.page` +element, and before {html.sidebar.custom}. Note that even the right sidebar +is placed before the `div.page` element. It is placed on the right using flexbox item reordering. To actually output the sidebar components, this template splits each parameter -on whitespace using the EXSTL #{str:split} function. It then applies the mode -%{html.sidebar.mode} to each token, passing ${node} and the sidebar side as +on whitespace using the EXSLT `str:split` function. It then applies the mode +{html.sidebar.mode} to each token, passing $node and the sidebar side as parameters. Extension stylesheets can add their own sidebar components by implementing that mode and matching a pattern like -#{token[. = 'name-of-token']}. You will then be able to use #{name-of-token} -in @{html.sidebar.left} or @{html.sidebar.right}. - -This stylesheet recognizes four tokens: #{contents} and #{sections}, and the -special tokens #{none} and #{blank}. The #{contents} token provides a table -of contents for the entire document. It is handled by the *{html.sidebar.contents} -template, which uses the %{html.sidebar.contents.mode} mode to allow different -input formats to implement it. The #{sections} token lists sections on the -current page. It is handled by the *{html.sidebar.section} template, which -uses the %{html.sidebar.sections.mode} mode to allow different input formats -to implement it. - -You can use the #{none} token on its own, instead of the empty string, to -completely turn off either sidebar. Use the #{blank} token to output a sidebar -without adding any components to it. This is useful, for example, to keep -consistent margins. If an empty sidebar is output from the #{blank} token, -it will also have the CSS class #{sidebar-blank} so you can style it -differently. + +[code] + token[. = 'name-of-token'] + +You will then be able to use `name-of-token` in {html.sidebar.left} or +{html.sidebar.right}. + +This stylesheet recognizes four tokens: `contents` and `sections`, and the +special tokens `none` and `blank`. + +* The `contents` token provides a table of contents for the entire document. + It is handled by the {html.sidebar.contents} template, which uses the + {html.sidebar.contents.mode} mode to allow different input formats to + implement it. + +* The `sections` token lists sections on the current page. It is handled by the + html.sidebar.section} template, which uses the {html.sidebar.sections.mode} + mode to allow different input formats to implement it. + +* Use the `none` token on its own, instead of the empty string, to completely + turn off either sidebar. + +* Use the `blank` token to output a sidebar without adding any components to + it. This is useful, for example, to keep consistent margins. If an empty + sidebar is output from the `blank` token, it will also have the CSS class + `sidebar-blank` so you can style it differently. --> <xsl:template name="html.sidebar"> <xsl:param name="node" select="."/> @@ -567,12 +593,14 @@ differently. <!--%%========================================================================== html.sidebar.mode Output a sidebar compenent for a token. -:Revision:version="3.30" date="2018-06-10" status="candidate" +@revision[version=3.30 date=2018-06-10 status=candidate] + +[xsl:params] $node: The node a sidebar is being created for. -$side: Which sidebar, either #{left} or #{right}. +$side: Which sidebar, either `left` or `right`. -This mode is called by *{html.sidebar} for each sidebar compenent in each of -@{html.sidebar.left} and @{html.sidebar.right}. See *{html.sidebar} for full +This mode is called by {html.sidebar} for each sidebar compenent in each of +{html.sidebar.left} and {html.sidebar.right}. See {html.sidebar} for full details. --> <xsl:template mode="html.sidebar.mode" match="token[. = 'blank']"/> @@ -587,16 +615,18 @@ details. <!--**========================================================================== html.sidebar.contents Output a table of contents for a sidebar. -:Revision:version="3.30" date="2018-06-10" status="candidate" +@revision[version=3.30 date=2018-06-10 status=candidate] + +[xsl:params] $node: The node a sidebar is being created for. -$side: Which sidebar, either #{left} or #{right}. +$side: Which sidebar, either `left` or `right`. This template creates a table of contents for a sidebar. It applies -%{html.sidebar.contents.mode} to ${node}, passing ${side} as a parameter, to +{html.sidebar.contents.mode} to $node, passing $side as a parameter, to allow individual input formats to implement tables of contents. -This named template also implements %{html.sidebar.mode} on the #{contents} -token. See *{html.sidebar} for more information on how sidebars are created. +This named template also implements {html.sidebar.mode} on the `contents` +token. See {html.sidebar} for more information on how sidebars are created. --> <xsl:template name="html.sidebar.contents" mode="html.sidebar.mode" match="token[. = 'contents']"> @@ -611,10 +641,12 @@ token. See *{html.sidebar} for more information on how sidebars are created. <!--%%========================================================================== html.sidebar.contents.mode Output a table of contents for a sidebar. -:Revision:version="3.30" date="2018-06-10" status="candidate" -$side: Which sidebar, either #{left} or #{right}. +@revision[version=3.30 date=2018-06-10 status=candidate] -This mode is called by %{html.sidebar.contents} to allow different input +[xsl:params] +$side: Which sidebar, either `left` or `right`. + +This mode is called by {html.sidebar.contents} to allow different input formats to implement a table of contents for a sidebar. --> <xsl:template mode="html.sidebar.contents.mode" match="*"> @@ -629,16 +661,18 @@ formats to implement a table of contents for a sidebar. <!--**========================================================================== html.sidebar.sections Output a list of sections for a sidebar. -:Revision:version="3.30" date="2018-06-10" status="candidate" +@revision[version=3.30 date=2018-06-10 status=candidate] + +[xsl:params] $node: The node a sidebar is being created for. -$side: Which sidebar, either #{left} or #{right}. +$side: Which sidebar, either `left` or `right`. This template creates a list of sections on the current page for a sidebar. -It applies %{html.sidebar.sections.mode} to ${node}, passing ${side} as a +It applies {html.sidebar.sections.mode} to $node, passing $side as a parameter, to allow individual input formats to implement sections lists. -This named template also implements %{html.sidebar.mode} on the #{sections} -token. See *{html.sidebar} for more information on how sidebars are created. +This named template also implements {html.sidebar.mode} on the `sections` +token. See {html.sidebar} for more information on how sidebars are created. --> <xsl:template name="html.sidebar.sections" mode="html.sidebar.mode" match="token[. = 'sections']"> @@ -653,10 +687,12 @@ token. See *{html.sidebar} for more information on how sidebars are created. <!--%%========================================================================== html.sidebar.sections.mode Output a list of sections for a sidebar. -:Revision:version="3.30" date="2018-06-10" status="candidate" -$side: Which sidebar, either #{left} or #{right}. +@revision[version=3.30 date=2018-06-10 status=candidate] -This mode is called by %{html.sidebar.sections} to allow different input +[xsl:params] +$side: Which sidebar, either `left` or `right`. + +This mode is called by {html.sidebar.sections} to allow different input formats to implement a sections list for a sidebar. --> <xsl:template mode="html.sidebar.sections.mode" match="*"> @@ -671,20 +707,22 @@ formats to implement a sections list for a sidebar. <!--**========================================================================== html.sidebar.custom Stub to output custom sidebar content. -:Stub: true -:Revision:version="3.28" date="2017-05-24" status="final" +@xsl:stub +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: The node a page is being created for. -This template is a stub, called by *{html.page}. It is called inside the #{main} -element, before the #{div.page} element. The #{main} element uses a horizontal +This template is a stub, called by {html.page}. It is called inside the `main` +element, before the `div.page` element. The `main` element uses a horizontal flexbox by default. You can override this template to provide sidebar content. Note that there is only one extension point for sidebar content, and it is always placed before the main content in document order. To create a sidebar -on the right, output the element here, then adjust the #{order} CSS property -for that element to display it after the #{main} element. +on the right, output the element here, then adjust the `order` CSS property +for that element to display it after the `main` element. This template is intended for completely custom sidebars. You can also use -*{html.sidebar} to output sidebars with stock components. +{html.sidebar} to output sidebars with stock components. --> <xsl:template name="html.sidebar.custom"> <xsl:param name="node" select="."/> @@ -694,12 +732,14 @@ This template is intended for completely custom sidebars. You can also use <!--**========================================================================== html.header.custom Stub to output custom header content. -:Stub: true -:Revision:version="3.28" date="2017-05-24" status="final" +@xsl:stub +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: The node a page is being created for. -This template is a stub, called by *{html.page}. It is called inside the -#{header} element, before %{html.header.mode} is applied to ${node}. You can +This template is a stub, called by {html.page}. It is called inside the +`header` element, before {html.header.mode} is applied to `node`. You can override this template to provide additional content above the main content. --> <xsl:template name="html.header.custom"> @@ -710,12 +750,12 @@ override this template to provide additional content above the main content. <!--%%========================================================================== html.header.mode Output the header content for an element. -:Revision:version="3.28" date="2017-05-24" status="final" +@revision[version=3.28 date=2017-05-24 status=final] -This mode is called by *{html.page} to output the contents of the #{header} +This mode is called by {html.page} to output the contents of the `header` element above the main content. Importing stylesheets may implement this mode -for any element that will be passed to *{html.page}. If they do not, the -#{header} element will be empty by default. +for any element that will be passed to {html.page}. If they do not, the +`header` element will be empty by default. --> <xsl:template mode="html.header.mode" match="*"/> @@ -723,12 +763,14 @@ for any element that will be passed to *{html.page}. If they do not, the <!--**========================================================================== html.footer.custom Stub to output custom footer content. -:Stub: true -:Revision:version="3.28" date="2017-05-24" status="final" +@xsl:stub +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: The node a page is being created for. -This template is a stub, called by *{html.page}. It is called inside the -#{footer} element, after %{html.footer.mode} is applied to ${node}. You can +This template is a stub, called by {html.page}. It is called inside the +`footer` element, after {html.footer.mode} is applied to $node. You can override this template to provide additional content below the main content. --> <xsl:template name="html.footer.custom"> @@ -739,12 +781,12 @@ override this template to provide additional content below the main content. <!--%%========================================================================== html.footer.mode Output the footer content for an element. -:Revision:version="3.28" date="2017-05-24" status="final" +@revision[version=3.28 date=2017-05-24 status=final] -This mode is called by *{html.page} to output the contents of the #{footer} +This mode is called by {html.page} to output the contents of the `footer` element below the main content. Importing stylesheets may implement this mode -for any element that will be passed to *{html.page}. If they do not, the -#{footer} element will be empty by default. +for any element that will be passed to {html.page}. If they do not, the +`footer` element will be empty by default. --> <xsl:template mode="html.footer.mode" match="*"/> @@ -752,9 +794,9 @@ for any element that will be passed to *{html.page}. If they do not, the <!--%%========================================================================== html.body.mode Output the main contents for an element. -:Revision:version="1.0" date="2010-05-26" status="final" +@revision[version=1.0 date=2010-05-26 status=final] -This mode is called by *{html.page} to output the main contents of an HTML +This mode is called by {html.page} to output the main contents of an HTML page, below the header content and above the footer content. Titles, block content, and sections should be output in this mode. --> @@ -763,13 +805,15 @@ content, and sections should be output in this mode. <!--**========================================================================== html.head.top.custom -Stub to output custom content at the beginning of the HTML #{head} element. -:Stub: true -:Revision: version="3.28" date="2017-08-04" status="final" +Stub to output custom content at the beginning of the HTML `head` element. +@xsl:stub +@revision[version=3.28 date=2017-08-04 status=final] + +[xsl:params] $node: The node a page is being created for. -This template is a stub, called by *{html.page}. You can override this template -to provide additional elements at the beginning of the HTML #{head} element of +This template is a stub, called by {html.page}. You can override this template +to provide additional elements at the beginning of the HTML `head` element of output files. This template is called before all other head content. --> <xsl:template name="html.head.top.custom"> @@ -779,13 +823,15 @@ output files. This template is called before all other head content. <!--**========================================================================== html.head.custom -Stub to output custom content at the end of the HTML #{head} element. -:Stub: true -:Revision: version="3.28" date="2017-08-04" status="final" +Stub to output custom content at the end of the HTML `head` element. +@xsl:stub +@revision[version=3.28 date=2017-08-04 status=final] + +[xsl:params] $node: The node a page is being created for. -This template is a stub, called by *{html.page}. You can override this template -to provide additional elements in the HTML #{head} element of output files. +This template is a stub, called by {html.page}. You can override this template +to provide additional elements in the HTML `head` element of output files. This template is called after all other head content. --> <xsl:template name="html.head.custom"> @@ -796,8 +842,10 @@ This template is called after all other head content. <!--**========================================================================== html.linktrails.empty Stub to output something when no link trails are present. -:Stub: true -:Revision:version="3.28" date="2017-05-24" status="final" +@xsl:stub +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: The source element a page is bring created for. This template is a stub. It is called by templates that output link trails when @@ -813,8 +861,10 @@ trails would otherwise be present. <!--**========================================================================== html.linktrails.prefix Stub to output extra content before a link trail. -:Stub: true -:Revision:version="3.28" date="2017-05-24" status="final" +@xsl:stub +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: A source-specific element providing information about the link trail. This template is a stub. It is called by templates that output link trails @@ -828,16 +878,18 @@ site links at the beginning of each link trail. <!--**========================================================================== html.class.attr -Output a #{class} attribute for an HTML element. -:Revision: version="3.10" date="2013-07-10" status="final" +Output a `class` attribute for an HTML element. +@revision[version=3.10 date=2013-07-10 status=final] + +[xsl:params] $node: The source node for which an HTML element is being output. -$class: The value of the #{class} attribute provided by the calling template. +$class: The value of the `class` attribute provided by the calling template. This template is called by templates that output an HTML element corresponding -to a source element. This template applies %{html.class.attr.mode} to ${node} +to a source element. This template applies {html.class.attr.mode} to $node to gather a value from extensions stylesheets. It combines this value with the -value passed in the ${class} parameter and, if the result is non-empty, outputs -a #{class} attribute. +value passed in the $class parameter and, if the result is non-empty, outputs +a `class` attribute. --> <xsl:template name="html.class.attr"> <xsl:param name="node" select="."/> @@ -858,10 +910,10 @@ a #{class} attribute. <!--%%========================================================================== html.class.attr.mode -Output additional values for an HTML #{class} attribute. -:Revision:version="3.10" date="2013-07-10" status="final" +Output additional values for an HTML `class` attribute. +@revision[version=3.10 date=2013-07-10 status=final] -This mode is called by *{html.class.attr} on a source element. This mode is +This mode is called by {html.class.attr} on a source element. This mode is intended for extensions to have an easy way to add additional HTML class values for styling. @@ -875,13 +927,15 @@ values that do not conflict with those used in these stylesheets. <!--**========================================================================== html.content.pre Output content before the content of a page or section. -:Revision: version="3.28" date="2016-06-21" status="final" +@revision[version=3.28 date=2016-06-21 status=final] + +[xsl:params] $node: The node a page or section is being created for. $page: Whether the content is for a page. This template is called by importing stylesheets before any content of a page -or section, but after the title. It calls *{html.content.pre.custom}, then -applies %{html.content.pre.mode} to ${node}. If the ${page} parameter is true, +or section, but after the title. It calls {html.content.pre.custom}, then +applies {html.content.pre.mode} to $node. If the $page parameter is true, then this template is being called on an output page. Otherwise, it is being called on a section within a page. --> @@ -901,14 +955,16 @@ called on a section within a page. <!--**========================================================================== html.content.pre.custom Stub to output content before the content of a page or section. -:Stub: true -:Revision: version="3.28" date="2016-06-21" status="final" +@xsl:stub +@revision[version=3.28 date=2016-06-21 status=final] + +[xsl:params] $node: The node a page or section is being created for. $page: Whether the content is for a page. -This template is a stub, called by *{html.content.pre.custom}. It is called -before %{html.content.pre.mode} is applied. Override this template to provide -site-specific HTML before the content of a page or section. If the ${page} +This template is a stub, called by {html.content.pre.custom}. It is called +before {html.content.pre.mode} is applied. Override this template to provide +site-specific HTML before the content of a page or section. If the $page parameter is true, then this template is being called on an output page. Otherwise, it is being called on a section within a page. --> @@ -921,13 +977,15 @@ Otherwise, it is being called on a section within a page. <!--%%========================================================================== html.content.pre.mode Output content before the content of a page or section. -:Revision: version="3.28" date="2016-06-21" status="final" +@revision[version=3.28 date=2016-06-21 status=final] + +[xsl:params] $page: Whether the content is for a page. -This mode is applied by *{html.content.pre} after calling -*{html.content.pre.custom}. Importing stylesheets can use this to add +This mode is applied by {html.content.pre} after calling +{html.content.pre.custom}. Importing stylesheets can use this to add additional content for specific types of input elements before the content -of a page or section. If the ${page} parameter is true, then this template +of a page or section. If the $page parameter is true, then this template is being called on an output page. Otherwise, it is being called on a section within a page. --> @@ -939,13 +997,15 @@ within a page. <!--**========================================================================== html.content.post Output content after the content of a page or section, before subsections. -:Revision: version="3.28" date="2016-06-21" status="final" +@revision[version=3.28 date=2016-06-21 status=final] + +[xsl:params] $node: The node a page or section is being created for. $page: Whether the content is for a page. This template is called by importing stylesheets after any content of a page -or section, but before any subsections. It applies %{html.content.post.mode} -to ${node}, then calls *{html.content.post.custom}. If the ${page} parameter +or section, but before any subsections. It applies {html.content.post.mode} +to $node, then calls {html.content.post.custom}. If the $page parameter is true, then this template is being called on an output page. Otherwise, it is being called on a section within a page. --> @@ -965,15 +1025,17 @@ is being called on a section within a page. <!--**========================================================================== html.content.post.custom Stub to output content after the content of a page or section, before subsections. -:Stub: true -:Revision: version="3.28" date="2016-06-21" status="final" +@xsl:stub +@revision[version=3.28 date=2016-06-21 status=final] + +[xsl:params] $node: The node a page or section is being created for. $page: Whether the content is for a page. -This template is a stub, called by *{html.content.post.custom}. It is called -after %{html.content.pre.mode} is applied. Override this template to provide +This template is a stub, called by {html.content.post.custom}. It is called +after {html.content.pre.mode} is applied. Override this template to provide site-specific HTML after the content of a page or section, but before any -subsections. If the ${page} parameter is true, then this template is being +subsections. If the $page parameter is true, then this template is being called on an output page. Otherwise, it is being called on a section within a page. --> @@ -986,13 +1048,15 @@ a page. <!--%%========================================================================== html.content.post.mode Output content after the content of a page or section, before subsections. -:Revision: version="3.28" date="2016-06-21" status="final" +@revision[version=3.28 date=2016-06-21 status=final] + +[xsl:params] $page: Whether the content is for a page. -This mode is applied by *{html.content.post} before calling -*{html.content.post.custom}. Importing stylesheets can use this to add +This mode is applied by {html.content.post} before calling +{html.content.post.custom}. Importing stylesheets can use this to add additional content for specific types of input elements after the content -of a page or section, but before any subsections. If the ${page} parameter +of a page or section, but before any subsections. If the $page parameter is true, then this template is being called on an output page. Otherwise, it is being called on a section within a page. --> @@ -1004,19 +1068,21 @@ it is being called on a section within a page. <!--**========================================================================== html.css Output all CSS for an HTML output page. -:Revision:version="1.0" date="2010-12-23" status="final" +@revision[version=1.0 date=2010-12-23 status=final] + +[xsl:params] $node: The node to create CSS for. -$direction: The directionality of the text, either #{ltr} or #{rtl}. -$left: The starting alignment, either #{left} or #{right}. -$right: The ending alignment, either #{left} or #{right}. +$direction: The directionality of the text, either `ltr` or `rtl`. +$left: The starting alignment, either `left` or `right`. +$right: The ending alignment, either `left` or `right`. This template creates the CSS for an HTML output page, including the enclosing -HTML #{style} element. It calls the templates *{html.css.content} to output the +HTML `style` element. It calls the templates {html.css.content} to output the actual CSS contents. -The ${direction} parameter specifies the directionality of the text for the -language of the document. The ${left} and ${right} parameters are based on -${direction}, and can be used to set beginning and ending margins or other +The $direction parameter specifies the directionality of the text for the +language of the document. The $left and $right parameters are based on +$direction, and can be used to set beginning and ending margins or other dimensions. All parameters can be automatically computed if not provided. --> <xsl:template name="html.css"> @@ -1048,16 +1114,18 @@ dimensions. All parameters can be automatically computed if not provided. <!--**========================================================================== html.css.content Output actual CSS content for an HTML output page. -:Revision:version="1.0" date="2010-12-23" status="final" +@revision[version=1.0 date=2010-12-23 status=final] + +[xsl:params] $node: The node to create CSS for. -$direction: The directionality of the text, either #{ltr} or #{rtl}. -$left: The starting alignment, either #{left} or #{right}. -$right: The ending alignment, either #{left} or #{right}. +$direction: The directionality of the text, either `ltr` or `rtl`. +$left: The starting alignment, either `left` or `right`. +$right: The ending alignment, either `left` or `right`. This template creates the CSS content for an HTML output page. It is called by -*{html.css}. It calls the templates *{html.css.core}, *{html.css.elements}, and -*{html.css.syntax}. It then calls the mode %{html.css.mode} on ${node} and -calls the template *{html.css.custom}. +{html.css}. It calls the templates {html.css.core}, {html.css.elements}, and +{html.css.syntax}. It then calls the mode {html.css.mode} on $node and +calls the template {html.css.custom}. --> <xsl:template name="html.css.content"> <xsl:param name="node" select="."/> @@ -1109,14 +1177,16 @@ calls the template *{html.css.custom}. <!--%%========================================================================== html.css.mode Output CSS specific to the input format. -:Revision:version="1.0" date="2010-05-26" status="final" -$direction: The directionality of the text, either #{ltr} or #{rtl}. -$left: The starting alignment, either #{left} or #{right}. -$right: The ending alignment, either #{left} or #{right}. +@revision[version=1.0 date=2010-05-26 status=final] -This template is called by *{html.css.content} to output CSS specific to the +[xsl:params] +$direction: The directionality of the text, either `ltr` or `rtl`. +$left: The starting alignment, either `left` or `right`. +$right: The ending alignment, either `left` or `right`. + +This template is called by {html.css.content} to output CSS specific to the input format. Importing stylesheets may implement this for any element that -will be passed to *{html.page}. If they do not, the output HTML will only have +will be passed to {html.page}. If they do not, the output HTML will only have the common CSS. --> <xsl:template mode="html.css.mode" match="*"> @@ -1139,17 +1209,19 @@ the common CSS. <!--**========================================================================== html.css.core Output CSS that does not reference source elements. -:Revision: version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] + +[xsl:params] $node: The node to create CSS for. -$direction: The directionality of the text, either #{ltr} or #{rtl}. -$left: The starting alignment, either #{left} or #{right}. -$right: The ending alignment, either #{left} or #{right}. +$direction: The directionality of the text, either `ltr` or `rtl`. +$left: The starting alignment, either `left` or `right`. +$right: The ending alignment, either `left` or `right`. This template outputs CSS that can be used in any HTML. It does not reference elements from DocBook, Mallard, or other source languages. It provides the -common spacings for block-level elements lik paragraphs and lists, defines -styles for links, and defines four common wrapper divs: #{header}, #{side}, -#{body}, and #{footer}. +common spacings for block-level elements like paragraphs and lists, defines +styles for links, and defines four common wrapper divs: `header`, `side`, +`body`, and `footer`. All parameters can be automatically computed if not provided. --> @@ -1423,11 +1495,13 @@ a img { border: none; } <!--**========================================================================== html.css.elements Output CSS for common elements from source formats. -:Revision: version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] + +[xsl:params] $node: The node to create CSS for. -$direction: The directionality of the text, either #{ltr} or #{rtl}. -$left: The starting alignment, either #{left} or #{right}. -$right: The ending alignment, either #{left} or #{right}. +$direction: The directionality of the text, either `ltr` or `rtl`. +$left: The starting alignment, either `left` or `right`. +$right: The ending alignment, either `left` or `right`. This template outputs CSS for elements from source languages like DocBook and Mallard. It defines them using common class names. The common names are often @@ -2078,17 +2152,19 @@ div.yelp-data { display: none; } <!--**========================================================================== html.css.syntax Output CSS for syntax highlighting. -:Revision: version="1.0" date="2010-12-06" status="final" +@revision[version=1.0 date=2010-12-06 status=final] + +[xsl:params] $node: The node to create CSS for. -$direction: The directionality of the text, either #{ltr} or #{rtl}. -$left: The starting alignment, either #{left} or #{right}. -$right: The ending alignment, either #{left} or #{right}. +$direction: The directionality of the text, either `ltr` or `rtl`. +$left: The starting alignment, either `left` or `right`. +$right: The ending alignment, either `left` or `right`. This template outputs CSS to support syntax highlighting of code blocks. Syntax highlighting is done at document load time with JavaScript. Text in code blocks is broken up into chunks and wrapped in HTML elements with particular classes. This template outputs CSS to match those elements and style them with the -built-in themeable colors from !{color}. +built-in themeable colors from {color}. All parameters can be automatically computed if not provided. --> @@ -2164,14 +2240,16 @@ All parameters can be automatically computed if not provided. <!--**========================================================================== html.css.custom Stub to output custom CSS common to all HTML transformations. -:Stub: true -:Revision: version="1.0" date="2010-05-25" status="final" +@xsl:stub +@revision[version=1.0 date=2010-05-25 status=final] + +[xsl:params] $node: The node to create CSS for. -$direction: The directionality of the text, either #{ltr} or #{rtl}. -$left: The starting alignment, either #{left} or #{right}. -$right: The ending alignment, either #{left} or #{right}. +$direction: The directionality of the text, either `ltr` or `rtl`. +$left: The starting alignment, either `left` or `right`. +$right: The ending alignment, either `left` or `right`. -This template is a stub, called by *{html.css.content}. You can override this +This template is a stub, called by {html.css.content}. You can override this template to provide additional CSS that will be used by all HTML output. --> <xsl:template name="html.css.custom"> @@ -2195,14 +2273,16 @@ template to provide additional CSS that will be used by all HTML output. <!--**========================================================================== html.js Output all JavaScript for an HTML output page. -:Revision:version="3.28" date="2017-07-05" status="final" +@revision[version=3.28 date=2017-07-05 status=final] + +[xsl:params] $node: The node to create JavaScript for. This template creates the JavaScript for an HTML output page. It calls the -templates *{html.js.syntax} and *{html.js.mathjax} to -output references to external libraries. It then calls *{html.js.custom} to -output references to custom JavaScript files. Finally, it calls -*{html.js.script} to output local JavaScript created by *{html.js.content}. +templates {html.js.syntax} and {html.js.mathjax} to output references to +external libraries. It then calls {html.js.custom} to output references to +custom JavaScript files. Finally, it calls {html.js.script} to output local +JavaScript created by {html.js.content}. --> <xsl:template name="html.js"> <xsl:param name="node" select="."/> @@ -2223,13 +2303,15 @@ output references to custom JavaScript files. Finally, it calls <!--**========================================================================== html.js.mathjax -Output #{script} element to include MathJax. -:Revision: version="1.0" date="2012-11-13" status="final" +Output a `script` element to include MathJax. +@revision[version=1.0 date=2012-11-13 status=final] + +[xsl:params] $node: The node to create JavaScript for. -This template outputs an HTML #{script} tag to reference MathJax. It only -outputs a #{script} element if ${node} has MathML descendent content. By -default, this template uses #{cdn.mathjax.org}. If you wish to use a local +This template outputs an HTML `script` tag to reference MathJax. It only +outputs a `script` element if $node has MathML descendent content. By +default, this template uses `cdn.mathjax.org`. If you wish to use a local copy, override this template and provide the necessary files. --> <xsl:template name="html.js.mathjax"> @@ -2246,15 +2328,17 @@ copy, override this template and provide the necessary files. <!--**========================================================================== html.js.script -Output a JavaScript #{script} tag containing local content. -:Revision:version="3.28" date="2017-05-24" status="final" +Output a JavaScript `script` tag containing local content. +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $node: The node to create JavaScript for. -This template is called by *{html.js} to output JavaScript content. It outputs -a #{script} tag and calls *{html.js.content} to output the contents. To force -all JavaScript into external files, override this template to output a #{script} -tag referencing an external file with the #{src} attribute, then output the -result of *{html.js.content} to that file. +This template is called by {html.js} to output JavaScript content. It outputs +a `script` tag and calls {html.js.content} to output the contents. To force +all JavaScript into external files, override this template to output a `script` +tag referencing an external file with the `src` attribute, then output the +result of {html.js.content} to that file. --> <xsl:template name="html.js.script"> <xsl:param name="node" select="."/> @@ -2269,13 +2353,15 @@ result of *{html.js.content} to that file. <!--**========================================================================== html.js.content Output JavaScript content for an HTML output page. -:Revision:version="3.28" date="2017-07-05" status="final" +@revision[version=3.28 date=2017-07-05 status=final] + +[xsl:params] $node: The node to create JavaScript for. -This template is called by *{html.js.script} to output JavaScript content. It -does not output an HTML #{script} tag. This template calls the templates -*{html.js.core}, *{html.js.ui}, and *{html.js.media}. It then calls the mode -%{html.js.mode} on ${node} and calls the template *{html.js.content.custom}. +This template is called by {html.js.script} to output JavaScript content. It +does not output an HTML `script` tag. This template calls the templates +{html.js.core}, {html.js.ui}, and {html.js.media}. It then calls the mode +{html.js.mode} on $node and calls the template {html.js.content.custom}. --> <xsl:template name="html.js.content"> <xsl:param name="node" select="."/> @@ -2298,11 +2384,13 @@ does not output an HTML #{script} tag. This template calls the templates <!--**========================================================================== html.js.core Output JavaScript for core features. -:Revision: version="3.4" date="2011-11-04" status="final" +@revision[version=3.4 date=2011-11-04 status=final] + +[xsl:params] $node: The node to create JavaScript for. This template outputs JavaScript to support basic features used by all documents. -Currently, it outputs code to highlight a section when #{location.hash} is set. +Currently, it outputs code to highlight a section when `location.hash` is set. --> <xsl:template name="html.js.core"> <xsl:param name="node" select="."/> @@ -2329,7 +2417,9 @@ document.addEventListener('DOMContentLoaded', function() { <!--**========================================================================== html.js.ui Output JavaScript for UI extensions. -:Revision: version="1.0" date="2011-06-17" status="final" +@revision[version=1.0 date=2011-06-17 status=final] + +[xsl:params] $node: The node to create JavaScript for. This template outputs JavaScript that implements certain common UI extensions, @@ -2470,7 +2560,9 @@ document.addEventListener('DOMContentLoaded', function() { <!--**========================================================================== html.js.media Output JavaScript to control media elements. -:Revision: version="1.0" date="2010-01-01" status="final" +@revision[version=1.0 date=2010-01-01 status=final] + +[xsl:params] $node: The node to create JavaScript for. This template outputs JavaScript that controls media elements. It provides @@ -2693,14 +2785,16 @@ document.addEventListener('DOMContentLoaded', function() { <!--**========================================================================== html.js.syntax -Output #{script} elements for syntax highlighting. -:Revision: version="3.28" date="2016-01-03" status="final" +Output `script` elements for syntax highlighting. +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] $node: The node to create JavaScript for. -This template outputs HTML #{script} elements to enable syntax highlighting. -It only outputs if @{html.syntax.highlight} is #{true}. It outputs one #{script} -element to load in #{highlight.js}, and another to initialize #{highlight.js} -on all #{code} elements with #{"syntax"} in the class value. +This template outputs HTML `script` elements to enable syntax highlighting. +It only outputs if {html.syntax.highlight} is `true`. It outputs one `script` +element to load in `highlight.js`, and another to initialize `highlight.js` +on all `code` elements with `"syntax"` in the class value. --> <xsl:template name="html.js.syntax"> <xsl:param name="node" select="."/> @@ -2720,11 +2814,11 @@ document.addEventListener('DOMContentLoaded', function() { <!--%%========================================================================== html.js.mode Output JavaScript specific to the input format. -:Revision:version="1.0" date="2010-01-01" status="final" +@revision[version=1.0 date=2010-01-01 status=final] -This template is called by *{html.js.content} to output JavaScript specific to +This mode is called by {html.js.content} to output JavaScript specific to the input format. Importing stylesheets may implement this for any element that -will be passed to *{html.page}. If they do not, the output HTML will only have +will be passed to {html.page}. If they do not, the output HTML will only have the common JavaScript. --> <xsl:template mode="html.js.mode" match="*"> @@ -2734,13 +2828,15 @@ the common JavaScript. <!--**========================================================================== html.js.custom Stub to reference custom JavaScript common to all HTML transformations. -:Stub: true -:Revision: version="1.0" date="2010-04-16" status="final" +@xsl:stub +@revision[version=1.0 date=2010-04-16 status=final] + +[xsl:params] $node: The node to create JavaScript for. -This template is a stub, called by *{html.js}. You can override this template +This template is a stub, called by {html.js}. You can override this template to reference additional external JavaScript files. If you want to include -JavaScript into the main #{script} tag instead, use *{html.js.content.custom}. +JavaScript into the main `script` tag instead, use {html.js.content.custom}. --> <xsl:template name="html.js.custom"> <xsl:param name="node" select="."/> @@ -2750,14 +2846,16 @@ JavaScript into the main #{script} tag instead, use *{html.js.content.custom}. <!--**========================================================================== html.js.content.custom Stub to output custom JavaScript common to all HTML transformations. -:Stub: true -:Revision: version="1.0" date="2010-04-16" status="final" +@xsl:stub +@revision[version=1.0 date=2010-04-16 status=final] + +[xsl:params] $node: The node to create JavaScript for. -This template is a stub, called by *{html.js.content}. You can override this +This template is a stub, called by {html.js.content}. You can override this template to provide additional JavaScript that will be used by all HTML output. -This template is called inside a #{script} tag, and is intended to include -JavaScript code in the output page. See *{html.js.custom} to include a custom +This template is called inside a `script` tag, and is intended to include +JavaScript code in the output page. See {html.js.custom} to include a custom reference to an external JavaScript file. --> <xsl:template name="html.js.content.custom"> @@ -2767,28 +2865,30 @@ reference to an external JavaScript file. <!--**========================================================================== html.lang.attrs -Output #{lang} and #{dir} attributes. -:Revision: version="1.0" date="2010-06-10" status="final" +Output `lang` and `dir` attributes. +@revision[version=1.0 date=2010-06-10 status=final] + +[xsl:params] $node: The current element in the input document. -$parent: A parent node to take ${lang} and ${dir} from. -$lang: The language for ${node}. -$dir: The text directionality for ${node}. - -This template outputs #{lang}, #{xml:lang}, or #{dir} attributes if necessary. -If ${lang} is not set, it will be taken from the #{xml:lang} or #{lang} -attribute of ${node}. If ${dir} is not set, it will be taken from the #{its:dir} -attribute of ${node} or computed based on ${lang}. - -The ${parent} parameter defaults to an empty node set. If it is set to a -non-empty node set, this template will attempt to get ${lang} and ${dir} from -${parent} if they are not set on ${node}. This is occasionally useful when a +$parent: A parent node to take $lang and $dir from. +$lang: The language for $node. +$dir: The text directionality for $node. + +This template outputs `lang`, `xml:lang`, or `dir` attributes if necessary. +If $lang is not set, it will be taken from the `xml:lang` or `lang` +attribute of $node. If $dir is not set, it will be taken from the `its:dir` +attribute of $node or computed based on $lang. + +The $parent parameter defaults to an empty node set. If it is set to a +non-empty node set, this template will attempt to get $lang and $dir from +$parent if they are not set on $node. This is occasionally useful when a wrapper element in a source language doesn't directly create any output elements. -This template outputs either an #{xml:lang} or a #{lang} attribute, depending -on whether @{html.xhtml} is #{true}. It only outputs an #{xml:lang} or #{lang} -attribute if $lang is non-empty. This template also outputs a #{dir} attribute -if ${dir} is non-empty. +This template outputs either an `xml:lang` or a `lang` attribute, depending +on whether {html.xhtml} is `true`. It only outputs an `xml:lang` or `lang` +attribute if $lang is non-empty. This template also outputs a `dir` attribute +if $dir is non-empty. --> <xsl:template name="html.lang.attrs"> <xsl:param name="node" select="."/> @@ -2854,17 +2954,19 @@ if ${dir} is non-empty. <!--**========================================================================== html.syntax.class Output HTML class values for syntax highlighting. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] + +[xsl:params] $node: The source element whose content will be syntax highlighted. -This template calls %{html.syntax.class.mode} on ${node}. If the result of that +This template calls {html.syntax.class.mode} on $node. If the result of that mode is a suitable language identifier, it outputs appropriate CSS class names -to enable syntax highlighting. The output should be placed in the #{class} -attribute of a #{pre} or similar output element by the calling template. +to enable syntax highlighting. The output should be placed in the `class` +attribute of a `pre` or similar output element by the calling template. -Importing stylesheets should implement %{html.syntax.class.mode} for any source +Importing stylesheets should implement {html.syntax.class.mode} for any source elements that may be syntax highlighted, then call this template when building -the #{class} attribute for output elements. +the `class` attribute for output elements. --> <xsl:template name="html.syntax.class"> <xsl:param name="node" select="."/> @@ -2881,9 +2983,9 @@ the #{class} attribute for output elements. <!--%%========================================================================== html.syntax.class.mode Get the syntax highlighting language for a source-specific element. -:Revision:version="3.28" date="2016-01-03" status="final" +@revision[version=3.28 date=2016-01-03 status=final] -This mode is called by *{html.syntax.class} on source elements that may have +This mode is called by {html.syntax.class} on source elements that may have syntax highlighted. This template should be implemented by importing stylesheets. It should return a simple language identifier. --> @@ -2893,11 +2995,11 @@ It should return a simple language identifier. <!--**========================================================================== html.media.controls Output media controls for a video or audio object. -:Revision:version="3.28" date="2016-02-12" status="final" +@revision[version=3.28 date=2016-02-12 status=final] This template outputs HTML containing controls for a media play for audio or video HTML elements. To work with the built-in JavaScript binding code, it -should be placed immediately after the #{audio} or #{video} element. +should be placed immediately after the `audio` or `video` element. --> <xsl:template name="html.media.controls"> <xsl:param name="type" select="'video'"/> diff --git a/xslt/common/icons.xsl b/xslt/common/icons.xsl index d76af3d9..c3740517 100644 --- a/xslt/common/icons.xsl +++ b/xslt/common/icons.xsl @@ -21,19 +21,19 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Icons Specify common named icons to style output. -:Revision:version="3.28" date="2017-05-24" status="final" +@revision[version=3.28 date=2017-05-24 status=final] This stylesheet provides a common interface to specify icons for transformations to presentation-oreinted formats. This allows similar output for different types of input documents. Many of the icons are output as SVG elements that can be embedded directly -into an HTML document. These icons use class names like #{yelp-svg-fill} and -#{yelp-svg-stroke}, allowing you to style them with colors from the !{colors} +into an HTML document. These icons use class names like `yelp-svg-fill` and +`yelp-svg-stroke`, allowing you to style them with colors from the {colors} module. Some SVG icons are read from separate source SVG files. When this is done, the -%{icons.svg.mode} mode is applied to reduce the SVG to the minimal form needed +{icons.svg.mode} mode is applied to reduce the SVG to the minimal form needed for proper presentation. --> @@ -41,11 +41,11 @@ for proper presentation. <!--%%========================================================================== icons.svg.mode Reduce SVG icons to elements needed for presentation. -:Revision:version="3.28" date="2017-05-24" status="final" +@revision[version=3.28 date=2017-05-24 status=final] This mode matches SVG elements and outputs only the SVG needed for presentation. It strips out metadata and other elements and attributes used primarily by -authoring tools. It also uses the @{html.svg.namespace} parameter to output SVG +authoring tools. It also uses the {html.svg.namespace} parameter to output SVG with or without namespace information, compatible with the dual HTML/XHTML output of these stylesheets. --> @@ -74,17 +74,19 @@ output of these stylesheets. <!--**========================================================================== icons.svg.note -Output an #{svg} element for a note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a note icon. +@revision[version=3.28 date=2017-05-24 status=final] + +[xsl:params] $style: The style of the note. -This template outputs an SVG #{svg} element with an icon suitable for notes -and other types of admonitions. It takes a ${style} parameter specifying a -note style. The default style is #{"note"}. This template uses the ${style} +This template outputs an SVG `svg` element with an icon suitable for notes +and other types of admonitions. It takes a $style parameter specifying a +note style. The default style is `"note"`. This template uses the $style parameter to determine which specific template to call to output the SVG content. -SVG icons can use CSS class names to pick up colors from the !{colors} module. +SVG icons can use CSS class names to pick up colors from the {colors} module. --> <xsl:template name="icons.svg.note"> <xsl:param name="style"/> @@ -122,14 +124,14 @@ SVG icons can use CSS class names to pick up colors from the !{colors} module. <!--**========================================================================== icons.svg.note.advanced -Output an #{svg} element for an advanced note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for an advanced note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes with advanced information. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.advanced"> <xsl:apply-templates mode="icons.svg.mode" @@ -139,14 +141,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.bug -Output an #{svg} element for a bug note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a bug note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes about known bugs. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.bug"> <xsl:apply-templates mode="icons.svg.mode" @@ -156,14 +158,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.caution -Output an #{svg} element for a caution note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a caution note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes with cautionary information. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.caution"> <xsl:apply-templates mode="icons.svg.mode" @@ -173,14 +175,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.danger -Output an #{svg} element for a danger note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a danger note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes about dangerous situations. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.danger"> <xsl:apply-templates mode="icons.svg.mode" @@ -190,14 +192,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.important -Output an #{svg} element for an important note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for an important note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes with important information. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.important"> <xsl:apply-templates mode="icons.svg.mode" @@ -207,14 +209,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.note -Output an #{svg} element for a note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes with general information. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.note"> <xsl:apply-templates mode="icons.svg.mode" @@ -224,14 +226,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.package -Output an #{svg} element for a package note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a package note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes about packages the user may need to install. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.package"> <xsl:apply-templates mode="icons.svg.mode" @@ -241,14 +243,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.tip -Output an #{svg} element for a tip note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a tip note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes with tips. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.tip"> <xsl:apply-templates mode="icons.svg.mode" @@ -258,14 +260,14 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.note.warning -Output an #{svg} element for a warning note icon. -:Revision:version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a warning note icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with an icon suitable for notes +This template outputs an SVG `svg` element with an icon suitable for notes with warnings. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.note.warning"> <xsl:apply-templates mode="icons.svg.mode" @@ -276,7 +278,7 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--@@========================================================================== icons.size.quote The size of the quote icons. -:Revision:version="3.8" date="2012-09-29" status="final" +@revision[version=3.8 date=2012-09-29 status=final] This parameter specifies the size of the block quote icon. Use an integer giving the width of the image files in pixels. Icons are assumed to be square, and all @@ -293,15 +295,15 @@ This parameters still affects the size of that character. <!--**========================================================================== icons.svg.figure.zoom.in -Output an #{svg} element for a figure zoom-in icon. -:Revision: version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a figure zoom-in icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with the zoom-in icon for figures. +This template outputs an SVG `svg` element with the zoom-in icon for figures. Figures automatically scale images down. This icon shows them at their original size. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-stroke} and #{yelp-svg-fill} class +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-stroke` and `yelp-svg-fill` class names. --> <xsl:template name="icons.svg.figure.zoom.in"> @@ -316,15 +318,15 @@ names. <!--**========================================================================== icons.svg.figure.zoom.out -Output an #{svg} element for a figure zoom-out icon. -:Revision: version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a figure zoom-out icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with the zoom-in icon for figures. +This template outputs an SVG `svg` element with the zoom-in icon for figures. Figures automatically scale images down. This icon scales them back down after they have been zoomed. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-stroke} and #{yelp-svg-fill} class +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-stroke` and `yelp-svg-fill` class names. --> <xsl:template name="icons.svg.figure.zoom.out"> @@ -339,13 +341,13 @@ names. <!--**========================================================================== icons.svg.media.play -Output an #{svg} element for a figure zoom-out icon. -:Revision: version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a figure zoom-out icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with a play icon for media controls. +This template outputs an SVG `svg` element with a play icon for media controls. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.media.play"> <svg:svg width="20" height="20" class="media-play"> @@ -356,13 +358,13 @@ By default, this icon uses the #{yelp-svg-fill} class name. <!--**========================================================================== icons.svg.media.pause -Output an #{svg} element for a figure zoom-out icon. -:Revision: version="3.28" date="2017-05-24" status="final" +Output an `svg` element for a figure zoom-out icon. +@revision[version=3.28 date=2017-05-24 status=final] -This template outputs an SVG #{svg} element with a pause icon for media controls. +This template outputs an SVG `svg` element with a pause icon for media controls. -SVG icons can use CSS class names to pick up colors from the !{colors} module. -By default, this icon uses the #{yelp-svg-fill} class name. +SVG icons can use CSS class names to pick up colors from the {colors} module. +By default, this icon uses the `yelp-svg-fill` class name. --> <xsl:template name="icons.svg.media.pause"> <svg:svg width="20" height="20" class="media-pause"> diff --git a/xslt/common/l10n-numbers.xsl b/xslt/common/l10n-numbers.xsl index 8d7b394d..d1322845 100644 --- a/xslt/common/l10n-numbers.xsl +++ b/xslt/common/l10n-numbers.xsl @@ -28,6 +28,8 @@ Localized Numbers <!--**========================================================================== l10n.number Formats a number according to a localized numbering system + +[xsl:params] $value: The numeric value of the number to format $format: The numbering system to use @@ -117,6 +119,8 @@ REMARK: Talk about numbering systems <!--**========================================================================== l10n.number.alphabetic Formats a number using an alphabetic numbering system + +[xsl:params] $value: The numeric value of the number to format $alphabet: A string containing the characters of the alphabet to use @@ -156,6 +160,8 @@ REMARK: Talk about alphabetic numbering systems <!--**========================================================================== l10n.number.numeric Formats a number using a numeric numbering system with any radix + +[xsl:params] $value: The numeric value of the number to format $digits: A string containing the digits to use, starting with zero @@ -191,11 +197,13 @@ REMARK: Talk about numeric numbering systems <!--**========================================================================== l10n.number.cjk-ideographic Formats a number using a CJK ideographic system + +[xsl:params] $value: The numeric value of the number to format $format: Which ideographic system to use -REMARK: Talk about CJK ideographic numbering systems. Valid values of ${format} -are #{cjk-japanese}, #{cjk-chinese-simp}, and #{cjk-chinese-trad}. +REMARK: Talk about CJK ideographic numbering systems. Valid values of $format +are `cjk-japanese`, `cjk-chinese-simp`, and `cjk-chinese-trad`. --> <xsl:template name="l10n.number.cjk-ideographic"> <xsl:param name="value"/> @@ -282,11 +290,13 @@ are #{cjk-japanese}, #{cjk-chinese-simp}, and #{cjk-chinese-trad}. <!--**========================================================================== l10n.number.ionic Formats a number using the Ionic numeral system + +[xsl:params] $value: The numeric value of the number to format $format: Which format to use -REMARK: Talk about the Ionic numeral system. Talk about ${format} -See #{http://en.wikipedia.org/wiki/Greek_numerals}. +REMARK: Talk about the Ionic numeral system. Talk about $format +See `http://en.wikipedia.org/wiki/Greek_numerals`. --> <xsl:template name="l10n.number.ionic"> <xsl:param name="value"/> diff --git a/xslt/common/l10n.xsl b/xslt/common/l10n.xsl index ceb058e6..3d1c87d4 100644 --- a/xslt/common/l10n.xsl +++ b/xslt/common/l10n.xsl @@ -24,7 +24,7 @@ along with this program; see the file COPYING.LGPL. If not, see <!--!!========================================================================== Localized Strings Templates for translated strings, with format strings and plural forms. -:Revision:version="3.18" date="2015-07-24" status="final" +@revision[version=3.18 date=2015-07-24 status=final] This stylesheet contains templates for getting localized strings, including format strings and plural forms. Format strings are important for proper @@ -42,11 +42,11 @@ of the file is designed to work well with itstool's join mode. <!--++========================================================================== l10n.msgstr.key Get a translated message from an ID and a language. -:Revision:version="3.4" date="2012-01-26" status="final" +@revision[version=3.4 date=2012-01-26 status=final] This key indexes all message translations in a message catalog file. The elements -are indexed by the concatenation of the message id, the string #{__LC__}, and the -#{xml:lang} attribute converted to lowercase. +are indexed by the concatenation of the message id, the string `__LC__`, and the +`xml:lang` attribute converted to lowercase. --> <xsl:key name="l10n.msgstr.key" match="msg:msg/msg:msgstr" use="concat(../@id, '__LC__', @@ -58,10 +58,10 @@ are indexed by the concatenation of the message id, the string #{__LC__}, and th <!--@@========================================================================== l10n.locale The top-level locale of the document. -:Revision:version="3.18" date="2015-08-13" status="final" +@revision[version=3.18 date=2015-08-13 status=final] This parameter provides the top-level locale of the document, taken from either -the #{xml:lang} or the #{lang} parameter of the root element. It holds the +the `xml:lang` or the `lang` parameter of the root element. It holds the locale exactly as specified in the document, with no normalization. --> <xsl:param name="l10n.locale"> @@ -79,70 +79,72 @@ locale exactly as specified in the document, with no normalization. <!--**========================================================================== l10n.gettext Look up the translation for a string. -:Revision:version="3.18" date="2015-07-29" status="final" +@revision[version=3.18 date=2015-07-29 status=final] + +[xsl:params] $domain: The domain to look up the string in. $msgid: The id of the string to look up, often the string in the C locale. $lang: The locale to use when looking up the translated string. $number: The cardinality for plural-form lookups. $form: The form name for plural-form lookups. $format: Whether to treat the result as a format string. -$node: A context node to pass to %{l10n.format.mode}. -$string: A string to pass to %{l10n.format.mode} for #{msg:string} elements. +$node: A context node to pass to {l10n.format.mode}. +$string: A string to pass to {l10n.format.mode} for `msg:string` elements. This template extracts a translated version of a source string. In simple cases, -the source string is exactly the string in ${msgid}, though in more complex -cases, the ${msgid} parameter is a separate unique identifier. +the source string is exactly the string in $msgid, though in more complex +cases, the $msgid parameter is a separate unique identifier. This template looks up the translation in a message catalog file based on the -${domain} parameter. The file must be in a #{domains} subdirectory relative to -the directory holding this stylesheet and be named the same as ${domain} with -the suffix #{.xml}. This template will fail if no such file is found. By -default, the domain is #{yelp-xsl} to reference the translations shipped with +$domain parameter. The file must be in a `domains` subdirectory relative to +the directory holding this stylesheet and be named the same as $domain with +the suffix `.xml`. This template will fail if no such file is found. By +default, the domain is `yelp-xsl` to reference the translations shipped with these stylesheets. Extensions and third-party stylesheets, however, can use -this template by installing a file and passing the ${domain} parameter. +this template by installing a file and passing the $domain parameter. The message catalog file format is designed to work with the XML/PO translation -tool #{itstool}, using its join mode to create a single polylingual file. There +tool `itstool`, using its join mode to create a single polylingual file. There is no tool to automatically extract messages from XSLT files. You must add messages to the source catalog file when adding translatable strings. -The message catalog file contains a set of #{msg} elements, one for each string -that needs translation. Each #{msg} element has an #{id} attribute. It is this -attribute that is matched against the ${msgid} parameter. Each #{msg} element -then has one or more #{msgstr} elements, each with an #{xml:lang} attribute. -This template tries to find a best match language with the ${lang} parameter, -falling back to a #{msgstr} element with no #{xml:lang} attribute. +The message catalog file contains a set of `msg` elements, one for each string +that needs translation. Each `msg` element has an `id` attribute. It is this +attribute that is matched against the $msgid parameter. Each `msg` element +then has one or more `msgstr` elements, each with an `xml:lang` attribute. +This template tries to find a best match language with the $lang parameter, +falling back to a `msgstr` element with no `xml:lang` attribute. In a source message catalog file, put the string to be translated inside a -singleton #{msgstr} element in each #{msg} element, without an #{xml:lang} -parameter. Add this element even if it is the same as the #{id} attribute of -the #{msg} element. These #{msgstr} elements are what #{itstool} uses to create +singleton `msgstr` element in each `msg` element, without an `xml:lang` +parameter. Add this element even if it is the same as the `id` attribute of +the `msg` element. These `msgstr` elements are what `itstool` uses to create a PO file, and it provides the fallback string when no language matches. -The #{xml:lang} attribute should contain an RFC 3066 language identifier, which +The `xml:lang` attribute should contain an RFC 3066 language identifier, which is different from the POSIX locale identifiers used by gettext. To accommodate this difference, this stylesheet converts all identifiers to lowercase and -replaces the characters #{_}, #{@}, and #{.} with the character #{-}. If it -cannot find an exact match, it strips the part after the last #{-} and looks -again. It repeats this as long as the identifier contains a #{-} character. -If there is still no matching #{msgstr} element, it looks for one with no -#{xml:lang} attribute. +replaces the characters `_`, `@`, and `.` with the character `-`. If it +cannot find an exact match, it strips the part after the last `-` and looks +again. It repeats this as long as the identifier contains a `-` character. +If there is still no matching `msgstr` element, it looks for one with no +`xml:lang` attribute. Sometimes you have to provide different versions of a string for different cardinalities. While English and many other languages have singular and plural, some languages have no plural forms, while others have as many as six. These stylesheets use a numeric index for plural forms, similarly to gettext. To get -the string for a plural, pass the cardinality in the ${number} parameter. This -template gets an index for that number by calling *{l10n.plural.form}. The -plural form index is in the ${form} parameter. You do not have to pass this -parameter. It will be computed automatically based on the ${number} parameter. +the string for a plural, pass the cardinality in the $number parameter. This +template gets an index for that number by calling {l10n.plural.form}. The +plural form index is in the $form parameter. You do not have to pass this +parameter. It will be computed automatically based on the $number parameter. There is currently no support for editing plural forms using the standard PO syntax. Instead, plurals are defined with an XML snippet. Instead of putting -the single translated message in the #{msgstr} element, plural messages have -#{msgstr} child elements of the #{msgstr} element with the #{xml:lang} -attribute. Each of these child #{msgstr} elements has a #{form} attribute that -holds the numeric index returned by *{l10n.plural.form}. Translators must adapt +the single translated message in the `msgstr` element, plural messages have +`msgstr` child elements of the `msgstr` element with the `xml:lang` +attribute. Each of these child `msgstr` elements has a `form` attribute that +holds the numeric index returned by {l10n.plural.form}. Translators must adapt the XML snippet according to the plural rules and forms defined in this stylesheet for their language. @@ -151,21 +153,21 @@ certain values are inserted. This template can handle format strings with XML marker elements to signal where values should be substituted. These values can be the result of applying templates. -To enable format strings, set the ${format} parameter to #{true()}. +To enable format strings, set the $format parameter to `true()`. Instead of just returning the translated string, this template will -apply templates in the mode %{l10n.format.mode} to the fragment contained in -the #{msgstr} element. +apply templates in the mode {l10n.format.mode} to the fragment contained in +the `msgstr` element. -The ${node} and ${string} parameters are passed to templates in -%{l10n.format.mode}. This stylesheet contains matches in %{l10n.format.mode} -for the marker elements #{<string/>} and #{<node/>}. The element -#{<string/>} will be replaced by the string value of ${string}. The -element #{<node/>} will apply templates without a mode to ${node}. -Text nodes are copied to the result in %{l10n.format.mode}. +The $node and $string parameters are passed to templates in +{l10n.format.mode}. This stylesheet contains matches in {l10n.format.mode} +for the marker elements `<string/>` and `<node/>`. The element +`<string/>` will be replaced by the string value of $string. The +element `<node/>` will apply templates without a mode to $node. +Text nodes are copied to the result in {l10n.format.mode}. If you need any other behavior, add elements with any name of your choosing to -the format string, then match on those elements in %{l10n.format.mode}. You will -be able to use the ${node} and ${string} parameters in your template. Try to +the format string, then match on those elements in {l10n.format.mode}. You will +be able to use the $node and $string parameters in your template. Try to use a name that is unique. --> <xsl:template name="l10n.gettext"> @@ -335,7 +337,9 @@ use a name that is unique. <!--**========================================================================== l10n.plural.form Extract the plural form index for a given cardinality. -:Revision: version="3.18" date="2015-07-29" status="final" +@revision[version=3.18 date=2015-07-29 status=final] + +[xsl:params] $number: The cardinality of the plural form. $lang: The locale to use when looking up the translated string. @@ -343,7 +347,7 @@ This template returns a numeric index of a plural form for a given language, similarly to how indexes are used in gettext PO files. Different languages have different rules for plurals. Some languages have no plurals at all, while others have as many as six different forms. This plural form index is used by -*{l10n.gettext} to determine the correct string to use. +{l10n.gettext} to determine the correct string to use. The rules in this template are hand-written. They are not taken from the PO files. They are written by referencing the PO files in various GNOME modules, @@ -504,16 +508,18 @@ as well as the plural rules in the Unicode CLDR. <!--**========================================================================== l10n.direction Determine the text direction for a language. -:Revision: version="3.18" date="2015-08-13" status="final" +@revision[version=3.18 date=2015-08-13 status=final] + +[xsl:params] $lang: The locale to use to determine the text direction. -This template returns the text direction for the language ${lang}. It returns -#{"ltr"} for left-to-right languages and #{"rtl"} for right-to-left languages. -If ${lang} is not provided, it defaults to ${l10n.locale}, the top-level locale +This template returns the text direction for the language $lang. It returns +`"ltr"` for left-to-right languages and `"rtl"` for right-to-left languages. +If $lang is not provided, it defaults to {l10n.locale}, the top-level locale of the document. -This template calls *{l10n.gettext} with the string #{default:LTR} in the domain -#{yelp-xsl}. The language is right-to-left if the string #{default:RTL} is +This template calls {l10n.gettext} with the string `default:LTR` in the domain +`yelp-xsl`. The language is right-to-left if the string `default:RTL` is returned. Otherwise, it is left-to-right. (This particular string is used to match the string used in GTK+, enabling translation memory.) --> @@ -541,14 +547,16 @@ match the string used in GTK+, enabling translation memory.) <!--**========================================================================== l10n.align.start Determine the start alignment. -:Revision: version="3.18" date="2015-07-27" status="final" +@revision[version=3.18 date=2015-07-27 status=final] + +[xsl:params] $direction: The text direction. -This template returns the string #{left} for left-to-right languages and the -string #{right} for right-to-left languages. The result is suitable for +This template returns the string `left` for left-to-right languages and the +string `right` for right-to-left languages. The result is suitable for substituting in CSS rules that are direction-dependent. If you do not pass -the ${direction} parameter, it defaults to calling *{l10n.direction} using -the default locale defined in @{l10n.locale}. +the $direction parameter, it defaults to calling {l10n.direction} using +the default locale defined in {l10n.locale}. --> <xsl:template name="l10n.align.start"> <xsl:param name="direction"> @@ -568,14 +576,16 @@ the default locale defined in @{l10n.locale}. <!--**========================================================================== l10n.align.end Determine the end alignment. -:Revision: version="3.18" date="2015-07-27" status="final" +@revision[version=3.18 date=2015-07-27 status=final] + +[xsl:params] $direction: The text direction. -This template returns the string #{right} for left-to-right languages and the -string #{left} for right-to-left languages. The result is suitable for +This template returns the string `right` for left-to-right languages and the +string `left` for right-to-left languages. The result is suitable for substituting in CSS rules that are direction-dependent. If you do not pass -the ${direction} parameter, it defaults to calling *{l10n.direction} using -the default locale defined in @{l10n.locale}. +the $direction parameter, it defaults to calling {l10n.direction} using +the default locale defined in {l10n.locale}. --> <xsl:template name="l10n.align.end"> <xsl:param name="direction"> @@ -594,26 +604,28 @@ the default locale defined in @{l10n.locale}. <!--%%========================================================================== l10n.format.mode -Process format strings from *{l10n.gettext}. -:Revision: version="3.18" date="2015-08-13" status="final" +Process format strings from {l10n.gettext}. +@revision[version=3.18 date=2015-08-13 status=final] + +[xsl:params] $node: The node being processed in the original document. $string: String content to use for certain message format nodes. -This mode is called by *{l10n.gettext} when its #{format} parameter is set to +This mode is called by {l10n.gettext} when its `format` parameter is set to true. It is applied to the elements and text children of the translated message -that *{l10n.gettext} finds. This allows you to insert content in format strings, +that {l10n.gettext} finds. This allows you to insert content in format strings, rather than concatenating multiple translations to create a translated message. By default, this stylesheet provides matching templates in this mode for the -elements #{node} and #{string}. The template for #{node} applies templates with -no mode to the ${node} parameters passed to *{l10n.gettext}. The template for -#{string} copies the text in the ${string} parameter passed to *{l10n.gettext}. +elements `node` and `string`. The template for `node` applies templates with +no mode to the $node parameter passed to {l10n.gettext}. The template for +`string` copies the text in the $string parameter passed to {l10n.gettext}. Both parameters are passed to templates in this mode. Templates matching this mode should pass those parameters to child content if they process child -content in %{l10n.format.mode}. +content in {l10n.format.mode}. To use format strings in your own translations, use elements with names of -your choosing in your message. You can use the #{node} and #{string} elements +your choosing in your message. You can use the `node` and `string` elements without further implementation, if they fit your needs. Otherwise, take care to use element names that are unlikely to conflict with other templates using this mode. diff --git a/xslt/common/ttml.xsl b/xslt/common/ttml.xsl index ef74b1d7..2e95f65c 100644 --- a/xslt/common/ttml.xsl +++ b/xslt/common/ttml.xsl @@ -27,7 +27,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu. <!--!!========================================================================== TTML Utilities Common templates to help with processing TTML documents. -:Revision:version="3.4" date="2012-03-01" status="final" +@revision[version=3.4 date=2012-03-01 status=final] This stylesheet contains common utilities for working with TTML documents. It contains templates for checking profiles and processing timing data. @@ -37,7 +37,7 @@ It contains templates for checking profiles and processing timing data. <!--@@========================================================================== ttml.features The supported features and extensions for TTML documents. -:Revision:version="3.4" date="2012-03-01" status="final" +@evision[version=3.4 date=2012-03-01 status=final] This parameter lists the fully-qualified URIs of TTML features and extensions supported by the stylesheets. The values are in the form of a space-separated @@ -52,25 +52,27 @@ set this to an appropriate value. <!--**========================================================================== ttml.time.range Return the absolute begin and end times for a timed element. -:Revision: version="3.4" date="2012-03-02" status="final" +@revision[version=3.4 date=2012-03-02 status=final] + +[xsl:params] $node: The element containing timing attributes. $range: The absolute range for the parent element. -$begin: The value of the #{begin} attribute. -$end: The value of the #{end} attribute. -$dur: The value of the #{dur} attribute. +$begin: The value of the `begin` attribute. +$end: The value of the `end` attribute. +$dur: The value of the `dur` attribute. This template returns the start and end time for a TTML element, based on the -#{begin}, #{end}, and #{dur} attributes. It returns each of them as numbers -of seconds, as returned by *{ttml.time.seconds}, separated by a comma. Begin +`begin`, `end`, and `dur` attributes. It returns each of them as numbers +of seconds, as returned by {ttml.time.seconds}, separated by a comma. Begin and end times are returned as absolute times, relative to the computed range -of the parent element. The parent range may be passed in the ${range} parameter. +of the parent element. The parent range may be passed in the $range parameter. If the parameter is empty, the parent range is computed automatically by calling -this template on the nearest ancestor of ${node} with a #{begin} attribute. +this template on the nearest ancestor of $node with a `begin` attribute. -If both ${end} and ${dur} are provided, the end times for each are calculated, +If both $end and $dur are provided, the end times for each are calculated, and the one that results in the shortest duration is used. -If there is no end time for the element, the string #{∞} is used as the end time. +If there is no end time for the element, the string `∞` is used as the end time. --> <xsl:template name="ttml.time.range"> <xsl:param name="node" select="."/> @@ -166,16 +168,18 @@ If there is no end time for the element, the string #{∞} is used as the end ti <!--**========================================================================== ttml.time.seconds Return the number of seconds for a time expression. -:Revision: version="3.4" date="2012-03-02" status="final" +@revision[version=3.4 date=2012-03-02 status=final] + +[xsl:params] $time: A TTML time expression. -This template takes a time expression as used by the #{begin}, #{end}, and #{dur} +This template takes a time expression as used by the `begin`, `end`, and `dur` attributes and returns the number of seconds that expression respresents. Time -expressions may be any number parsable by the XPath #{number} function followed -by one of the units #{ms} (milliseconds), #{s} (seconds), #{m} (minutes), or #{h} -(hours). It returns #{0} if the time expression is invalid. +expressions may be any number parsable by the XPath `number` function followed +by one of the units `ms` (milliseconds), `s` (seconds), `m` (minutes), or `h` +(hours). It returns `0` if the time expression is invalid. -This template provides support only for the #{#time-offset} TTML feature. It +This template provides support only for the `#time-offset` TTML feature. It does not support other methods of specifying times. --> <xsl:template name="ttml.time.seconds"> @@ -206,16 +210,18 @@ does not support other methods of specifying times. <!--**========================================================================== ttml.profile -Check whether the stylesheets conform to a #{ttp:profile} element. -:Revision: version="3.4" date="2012-03-01" status="final" -$node: The #{ttp:profile} element to check. +Check whether the stylesheets conform to a `ttp:profile` element. +@revision[version=3.4 date=2012-03-01 status=final] + +[xsl:params] +$node: The `ttp:profile` element to check. -This template takes a #{ttp:profile} element in the ${node} parameter and +This template takes a `ttp:profile` element in the $node parameter and determines whether or not the stylesheets meet all required features and extensions, per section 5.2 of the TTML 1.0 recommendation. This template -uses the @{ttml.features} stylesheet parameter to determine which features -are supported by the stylesheet. It returns the string #{"true"} if all -required features are supported, #{"false"} otherwise. +uses the {ttml.features} stylesheet parameter to determine which features +are supported by the stylesheet. It returns the string `"true"` if all +required features are supported, `"false"` otherwise. --> <xsl:template name="ttml.profile"> <xsl:param name="node" select="."/> @@ -297,20 +303,20 @@ required features are supported, #{"false"} otherwise. <!--**========================================================================== ttml.profile.attr -Check whether the stylesheets conform to a #{profile} attribute. -:Revision: version="3.4" date="2012-03-02" status="final" -$node: A #{tt:tt} element containing a #{profile} attribute. -$profile: The #{profile} attribute to check. +Check whether the stylesheets conform to a `profile` attribute. +@revision[version=3.4 date=2012-03-02 status=final] +$node: A `tt:tt` element containing a `profile` attribute. +$profile: The `profile` attribute to check. This template checks if the stylesheets comply with a profile as specified by -the #{profile} attribute on a #{tt:tt} element. If the profile is one of the -pre-defined profiles (#{dfxp-transformation}, #{dfxp-presentation}, and -#{dfxp-full}), this template contains built-in rules for quicly checking +the `profile` attribute on a `tt:tt` element. If the profile is one of the +pre-defined profiles (`dfxp-transformation`, `dfxp-presentation`, and +`dfxp-full`), this template contains built-in rules for quicly checking feature compliance. Otherwise, it downloads the referenced profile and calls -*{ttml.profile} on it. +`ttml.profile` on it. -Like *{ttml.profile}, this template returns the string #{"true"} if all -required features are supported, #{"false"} otherwise. +Like {ttml.profile}, this template returns the string `"true"` if all +required features are supported, `"false"` otherwise. --> <xsl:template name="ttml.profile.attr"> <xsl:param name="node" select="."/> diff --git a/xslt/common/utils.xsl b/xslt/common/utils.xsl index 98e2a2d3..4f84f446 100644 --- a/xslt/common/utils.xsl +++ b/xslt/common/utils.xsl @@ -20,7 +20,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Utilities Common XSLT Utilities. -:Revision:version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] This stylesheet contains various useful utilities that are used throughout the Yelp stylesheets. @@ -30,11 +30,13 @@ the Yelp stylesheets. <!--**========================================================================== utils.repeat_string Repeat a string a given number of times. -:Revision:version="1.0" date="2011-08-24" status="final" +@revision[version=1.0 date=2011-08-24 status=final] + +[xsl:params] $string: The string to repeat. -$number: The number of times to repeat ${string}. +$number: The number of times to repeat $string. -This template repeats the ${string} argument ${number} times. +This template repeats the $string argument $number times. --> <xsl:template name="utils.repeat_string"> <xsl:param name="string" select="''"/> @@ -52,13 +54,15 @@ This template repeats the ${string} argument ${number} times. <!--**========================================================================== utils.strip_newlines Strip leading or trailing newlines from a string. -:Revision:version="1.0" date="2010-05-25" status="final" +@revision[version=1.0 date=2010-05-25 status=final] + +[xsl:params] $string: The string to strip newlines from. $leading: Whether to strip leading newlines. $trailing: Whether to strip trailing newlines. This template strips at most one leading and one trailing newline from -${string}. This is useful for preformatted block elements where leading and +$string. This is useful for preformatted block elements where leading and trailing newlines are ignored to make source formatting easier for authors. --> <xsl:template name="utils.strip_newlines"> @@ -107,7 +111,9 @@ trailing newlines are ignored to make source formatting easier for authors. <!--**========================================================================== utils.linenumbering Number each line in a verbatim environment. -:Revision:version="1.0" date="2010-12-03" status="final" +@revision[version=1.0 date=2010-12-03 status=final] + +[xsl:params] $node: The verbatim element to create the line numbering for. $number: The starting line number. @@ -150,7 +156,9 @@ be placed to the side of the verbatim output. <!--**========================================================================== utils.email_address Get an email address from a mailto URL. -:Revision:version="3.4" date="2012-01-18" status="final" +@revision[version=3.4 date=2012-01-18 status=final] + +[xsl:params] $href: The mailto URL. This template takes a mailto URL and returns an email address, stripping the diff --git a/xslt/dita/common/dita-ref.xsl b/xslt/dita/common/dita-ref.xsl index 3c85f875..c3ec378e 100644 --- a/xslt/dita/common/dita-ref.xsl +++ b/xslt/dita/common/dita-ref.xsl @@ -35,9 +35,9 @@ REMARK: Describe this module <!--@@========================================================================== dita.ref.extension The filename extension for output files. -:Revision:version="3.8" date="2012-10-08" status="final" +@revision[version=3.8 date=2012-10-08 status=final] -When link targets are constructed by *{dita.ref.href.target.custom} from #{href} +When link targets are constructed by {dita.ref.href.target.custom} from `href` attributes, this string is appended. This is used to specify the file extension when creating output files from DITA topics. --> diff --git a/xslt/dita/html/dita2html-block.xsl b/xslt/dita/html/dita2html-block.xsl index f639e82f..42f31f7f 100644 --- a/xslt/dita/html/dita2html-block.xsl +++ b/xslt/dita/html/dita2html-block.xsl @@ -33,10 +33,12 @@ REMARK: Describe this module <!--**========================================================================== dita2html.div -Output an HTML #{div} element. -:Revision:version="3.8" date="2012-10-04" status="incomplete" -$node: The source element to output a #{div} for. -$class: The value of the HTML #{class} attribute. +Output an HTML `div` element. +@revision[version=3.8 date=2012-10-04 status=incomplete] + +[xsl:params] +$node: The source element to output a `div` for. +$class: The value of the HTML `class` attribute. FIXME --> @@ -64,10 +66,12 @@ FIXME <!--**========================================================================== dita2html.p -Output an HTML #{p} element. -:Revision:version="3.8" date="2012-10-04" status="incomplete" -$node: The source element to output a #{p} for. -$class: The value of the HTML #{class} attribute. +Output an HTML `p` element. +@revision[version=3.8 date=2012-10-04 status=incomplete] + +[xsl:params] +$node: The source element to output a `p` for. +$class: The value of the HTML `class` attribute. FIXME --> @@ -92,10 +96,12 @@ FIXME <!--**========================================================================== dita2html.pre -Output an HTML #{pre} element. -:Revision:version="3.8" date="2012-10-05" status="incomplete" -$node: The source element to output a #{pre} for. -$class: The value of the HTML #{class} attribute. +Output an HTML `pre` element. +@revision[version=3.8 date=2012-10-05 status=incomplete] + +[xsl:params] +$node: The source element to output a `pre` for. +$class: The value of the HTML `class` attribute. FIXME --> diff --git a/xslt/dita/html/dita2html-inline.xsl b/xslt/dita/html/dita2html-inline.xsl index 8a1c66e8..55d78202 100644 --- a/xslt/dita/html/dita2html-inline.xsl +++ b/xslt/dita/html/dita2html-inline.xsl @@ -38,10 +38,12 @@ REMARK: Describe this module <!--**========================================================================== dita2html.span -Output an HTML #{span} element. -:Revision:version="3.8" date="2012-10-04" status="incomplete" -$node: The source element to output a #{span} for. -$class: The value of the HTML #{class} attribute. +Output an HTML `span` element. +@revision[version=3.8 date=2012-10-04 status=incomplete] + +[xsl:params] +$node: The source element to output a `span` for. +$class: The value of the HTML `class` attribute. FIXME --> diff --git a/xslt/dita/html/dita2html.xsl b/xslt/dita/html/dita2html.xsl index ede0436c..52000036 100644 --- a/xslt/dita/html/dita2html.xsl +++ b/xslt/dita/html/dita2html.xsl @@ -27,7 +27,7 @@ DITA to HTML REMARK: Describe this module --> -<xsl:import href="dita2xhtml.xsl"><?pass?></xsl:import> +<xsl:import href="dita2xhtml.xsl"><?xsldoc.passthrough?></xsl:import> <xsl:param name="html.xhtml" select="false()"/> diff --git a/xslt/docbook/common/db-chunk.xsl b/xslt/docbook/common/db-chunk.xsl index da62a03a..938ef264 100644 --- a/xslt/docbook/common/db-chunk.xsl +++ b/xslt/docbook/common/db-chunk.xsl @@ -88,6 +88,8 @@ REMARK: Describe what this does <!--**========================================================================== db.chunk.depth-in-chunk Determines the depth of an element in the containing chunk. + +[xsl:params] $node: The element to determine the depth of REMARK: Explain how this works @@ -109,6 +111,8 @@ REMARK: Explain how this works <!--**========================================================================== db.chunk.depth-of-chunk Determines the depth of the containing chunk in the document. + +[xsl:params] $node: The element to determine the depth of REMARK: Explain how this works @@ -130,9 +134,11 @@ REMARK: Explain how this works <!--**========================================================================== db.chunk.chunk-id Determines the id of the chunk that contains an element. + +[xsl:params] $id: The id of the element to determine the chunk id of $node: The element to determine the chunk id of -$depth_in_chunk: The depth of ${node} in the containing chunk +$depth_in_chunk: The depth of $node in the containing chunk REMARK: Explain how this works --> @@ -165,9 +171,11 @@ REMARK: Explain how this works <!--**========================================================================== db.chunk.chunk-id.axis Determines the id of the first chunk along a specified axis. + +[xsl:params] $node: The base element $node: The axis along which to find the first chunk -$depth_in_chunk: The depth of ${node} in the containing chunk +$depth_in_chunk: The depth of $node in the containing chunk $depth_of_chunk: The depth of the containing chunk in the document REMARK: Explain how this works, and what the axes are diff --git a/xslt/docbook/common/db-common.xsl b/xslt/docbook/common/db-common.xsl index 900da4ed..31587c08 100644 --- a/xslt/docbook/common/db-common.xsl +++ b/xslt/docbook/common/db-common.xsl @@ -23,7 +23,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook Common -:Requires: l10n This stylesheet module provides utility templates for DocBook that are independant of the target format. @@ -32,10 +31,10 @@ independant of the target format. <!--++========================================================================== db.id.key -Get an element from the #{id} attribute. -:Revision:version="3.4" date="2012-01-26" status="final" +Get an element from the `id` attribute. +@revision[version=3.4 date=2012-01-26 status=final] -This key returns any element based on the #{id} attribute, or the #{xml:id} +This key returns any element based on the `id` attribute, or the `xml:id` attribute in DocBook 5. --> <xsl:key name="db.id.key" match="*" use="@id | @xml:id"/> @@ -43,13 +42,13 @@ attribute in DocBook 5. <!--++========================================================================== db.biblio.abbrev.key -Get a #{biblioentry} or #{bibliomixed} element from its #{abbrev}. -:Revision:version="3.18" date="2015-07-23" status="final" +Get a `biblioentry` or `bibliomixed` element from its `abbrev`. +@revision[version=3.18 date=2015-07-23 status=final] -This key returns #{biblioentry} and #{bibliomixed} elements based on their child -#{abbrev} elements. The #{abbrev} element must be the first child element of the -#{biblioentry} or #{bibliomixed} element. This key only returns elements that -have an #{id} attribute for DocBook 4 or an #{xml:id} attribute for DocBook 5. +This key returns `biblioentry` and `bibliomixed` elements based on their child +`abbrev` elements. The `abbrev` element must be the first child element of the +`biblioentry` or `bibliomixed` element. This key only returns elements that +have an `id` attribute for DocBook 4 or an `xml:id` attribute for DocBook 5. --> <xsl:key name="db.biblio.abbrev.key" match="biblioentry[@id and *[1]/self::abbrev] | @@ -61,12 +60,12 @@ have an #{id} attribute for DocBook 4 or an #{xml:id} attribute for DocBook 5. <!--++========================================================================== db.biblio.label.key -Get a #{biblioentry} or #{bibliomixed} element from its #{xreflabel}. -:Revision:version="3.18" date="2015-07-23" status="final" +Get a `biblioentry` or `bibliomixed` element from its `xreflabel`. +@revision[version=3.18 date=2015-07-23 status=final] -This key returns #{biblioentry} and #{bibliomixed} elements based on their -#{xreflabel} attributes. It only returns elements that have an #{id} attribute -for DocBook 4 or an #{xml:id} attribute for DocBook 5. +This key returns `biblioentry` and `bibliomixed` elements based on their +`xreflabel` attributes. It only returns elements that have an `id` attribute +for DocBook 4 or an `xml:id` attribute for DocBook 5. --> <xsl:key name="db.biblio.label.key" match="biblioentry[@id and @xreflabel] | @@ -78,12 +77,12 @@ for DocBook 4 or an #{xml:id} attribute for DocBook 5. <!--++========================================================================== db.biblio.id.key -Get a #{biblioentry} or #{bibliomixed} element from its #{id}. -:Revision:version="3.18" date="2015-07-23" status="final" +Get a `biblioentry` or `bibliomixed` element from its `id`. +@revision[version=3.18 date=2015-07-23 status=final] -This key returns #{biblioentry} and #{bibliomixed} elements based on their #{id} -or #{xml:id} attributes. The {#id} attribute is used for DocBook 4, and the -#{xml:id} attribute is used for DocBook 5. +This key returns `biblioentry` and `bibliomixed` elements based on their `id` +or `xml:id` attributes. The {#id} attribute is used for DocBook 4, and the +`xml:id` attribute is used for DocBook 5. --> <xsl:key name="db.biblio.id.key" match="biblioentry[@id] | bibliomixed[@id]" @@ -95,12 +94,12 @@ or #{xml:id} attributes. The {#id} attribute is used for DocBook 4, and the <!--++========================================================================== db.glossentry.key -Get a #{glossentry} element from its #{glossterm}. -:Revision:version="3.18" date="2015-07-22" status="final" +Get a `glossentry` element from its `glossterm`. +@revision[version=3.18 date=2015-07-22 status=final] -This key returns #{glossentry} elements based on the text in their #{glossterm} -child elements. It only returns #{glossentry} elements that have an #{id} -attribute in DocBook 4 or an #{xml:id} attribute in DocBook 5. +This key returns `glossentry` elements based on the text in their `glossterm` +child elements. It only returns `glossentry` elements that have an `id` +attribute in DocBook 4 or an `xml:id` attribute in DocBook 5. --> <xsl:key name="db.glossentry.key" match="glossentry[@id]" use="string(glossterm)"/> @@ -111,10 +110,10 @@ attribute in DocBook 4 or an #{xml:id} attribute in DocBook 5. <!--**========================================================================== db.copyright Outputs copyright information -$node: The #{copyright} element to format +$node: The `copyright` element to format -This template outputs copyright information from a #{copyright} elements. -It assembles the #{year} and #{holder} elements into a simple copyright +This template outputs copyright information from a `copyright` elements. +It assembles the `year` and `holder` elements into a simple copyright notice, beginning with the copyright symbol "©". --> <xsl:template name="db.copyright"> @@ -157,9 +156,9 @@ Determines the starting line number for a verbatim element $node: The verbatim element to determine the starting line number for This template determines the starting line number for a verbatim element using -the #{continuation} attribute. The template finds the first preceding element -of the same name, counts its lines, and handles any #{startinglinenumber} or -#{continuation} element it finds on that element. +the `continuation` attribute. The template finds the first preceding element +of the same name, counts its lines, and handles any `startinglinenumber` or +`continuation` element it finds on that element. --> <xsl:template name="db.linenumbering.start"> <xsl:param name="node" select="."/> @@ -191,22 +190,24 @@ of the same name, counts its lines, and handles any #{startinglinenumber} or <!--**========================================================================== db.orderedlist.start -Determine the number to use for the first #{listitem} in an #{orderedlist}. -:Revision:version="3.10" date="2013-08-12" status="final" -$node: The #{orderedlist} element to use. -$continuation: The value of the #{continuation} attribute. - -This template determines the starting number for an #{orderedlist} element using -the #{continuation} attribute. The template finds the first preceding #{orderedlist} -element and counts its list items. If that element also uses the #{continuation} +Determine the number to use for the first `listitem` in an `orderedlist`. +@revision[version=3.10 date=2013-08-12 status=final] + +[xsl:params] +$node: The `orderedlist` element to use. +$continuation: The value of the `continuation` attribute. + +This template determines the starting number for an `orderedlist` element using +the `continuation` attribute. The template finds the first preceding `orderedlist` +element and counts its list items. If that element also uses the `continuation` attribute, this template calls itself recursively to add that element's starting line number to its list item count. This template uses conditional processing when looking at preceding ordered lists and their child list items. -The ${continuation} parameter is automatically set based on the #{continuation} -attribute of ${node}. It exists as a parameter to allow this template to force +The $continuation parameter is automatically set based on the `continuation` +attribute of $node. It exists as a parameter to allow this template to force continuation when it calls itself recursively for conditional processing. --> <xsl:template name="db.orderedlist.start"> @@ -259,10 +260,10 @@ continuation when it calls itself recursively for conditional processing. <!--**========================================================================== db.personname Outputs the name of a person -$node: The element containing tags such as #{firstname} and #{surname} +$node: The element containing tags such as `firstname` and `surname` -This template outputs the name of a person as modelled by the #{personname} -element. The #{personname} element allows authors to mark up components of +This template outputs the name of a person as modelled by the `personname` +element. The `personname` element allows authors to mark up components of a person's name, such as the person's first name and surname. This template assembles those into a string. --> @@ -343,10 +344,10 @@ assembles those into a string. <!--**========================================================================== db.personname.list Outputs a list of people's names -$nodes: The elements containing tags such as #{firstname} and #{surname} +$nodes: The elements containing tags such as `firstname` and `surname` -This template outputs a list of names of people as modelled by the #{personname} -element. The #{personname} element allows authors to mark up components of a +This template outputs a list of names of people as modelled by the `personname` +element. The `personname` element allows authors to mark up components of a person's name, such as the person's first name and surname. --> <xsl:template name="db.personname.list"> diff --git a/xslt/docbook/common/db-profile.xsl b/xslt/docbook/common/db-profile.xsl index 314a9c88..43cd3ba6 100644 --- a/xslt/docbook/common/db-profile.xsl +++ b/xslt/docbook/common/db-profile.xsl @@ -22,7 +22,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook Profiling Support for DocBook effectivity attributes -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This stylesheet contains utilities for handling conditional processing in DocBook documents. @@ -32,10 +32,10 @@ in DocBook documents. <!--@@========================================================================== db.profile.arch The list of architectures for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{arch} attribute for conditional processing. +`arch` attribute for conditional processing. --> <xsl:param name="db.profile.arch" select="''"/> @@ -43,10 +43,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.audience The list of audiences for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{audience} attribute for conditional processing. +`audience` attribute for conditional processing. --> <xsl:param name="db.profile.audience" select="''"/> @@ -54,10 +54,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.condition The list of application-specific conditions for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{condition} attribute for conditional processing. +`condition` attribute for conditional processing. --> <xsl:param name="db.profile.condition" select="''"/> @@ -65,10 +65,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.conformance The list of conformance characteristics for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{conformance} attribute for conditional processing. +`conformance` attribute for conditional processing. --> <xsl:param name="db.profile.conformance" select="''"/> @@ -76,10 +76,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.os The list of operating systems for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{os} attribute for conditional processing. +`os` attribute for conditional processing. --> <xsl:param name="db.profile.os" select="''"/> @@ -87,21 +87,21 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.outputformat The list of output formats for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{outputformat} attribute for conditional processing. +`outputformat` attribute for conditional processing. --> -<xsl:param name="db.profile.os" select="''"/> +<xsl:param name="db.profile.outputformat" select="''"/> <!--@@========================================================================== db.profile.revision The list of editorial revisions for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{revision} attribute for conditional processing. +`revision` attribute for conditional processing. --> <xsl:param name="db.profile.revision" select="''"/> @@ -109,10 +109,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.security The list of security levels for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{security} attribute for conditional processing. +`security` attribute for conditional processing. --> <xsl:param name="db.profile.security" select="''"/> @@ -120,10 +120,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.userlevel The list of user experience levels for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{userlevel} attribute for conditional processing. +`userlevel` attribute for conditional processing. --> <xsl:param name="db.profile.userlevel" select="''"/> @@ -131,10 +131,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.vendor The list of vendors for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{vendor} attribute for conditional processing. +`vendor` attribute for conditional processing. --> <xsl:param name="db.profile.vendor" select="''"/> @@ -142,10 +142,10 @@ This parameter takes a semicolon-separated list of values to match against the <!--@@========================================================================== db.profile.wordsize The list of word sizes for conditional processing. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] This parameter takes a semicolon-separated list of values to match against the -#{wordsize} attribute for conditional processing. +`wordsize` attribute for conditional processing. --> <xsl:param name="db.profile.wordsize" select="''"/> @@ -153,13 +153,15 @@ This parameter takes a semicolon-separated list of values to match against the <!--**========================================================================== db.profile.test Test if an element should be shown based on profiling attributes. -:Revision:version="3.10" date="2013-08-12" status="final" +@revision[version=3.10 date=2013-08-12 status=final] + +[xsl:params] $node: The element to check the condition for. -This template looks at all the profiling attributes of the element ${node}: -#{arch}, #{audience}, #{condition}, #{conformance}, #{os}, #{outputformat}, -#{revision}, #{security}, #{userlevel}, #{vendor}, and #{wordsize}. It returns -the string #{"true"} if all attributes present match the corresponding parameter +This template looks at all the profiling attributes of the element $node: +`arch`, `audience`, `condition`, `conformance`, `os`, `outputformat`, +`revision`, `security`, `userlevel`, `vendor`, and `wordsize`. It returns +the string `"true"` if all attributes present match the corresponding parameter in this stylesheet. Attributes and parameters can both be lists, separated by semicolons. An attribute matches a parameter if there is at least one value in common between the two. diff --git a/xslt/docbook/common/db-title.xsl b/xslt/docbook/common/db-title.xsl index fc38124f..b8f2ad6c 100644 --- a/xslt/docbook/common/db-title.xsl +++ b/xslt/docbook/common/db-title.xsl @@ -27,7 +27,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook Titles Support for DocBook title, titleabbrev, and subtitle elements. -:Revision:version="3.4" date="2011-11-10" status="final" +@revision[version=3.4 date=2011-11-10 status=final] This stylesheet contains templates for outputting titles based on title, titleabbrev, or subtitle elements. It supports automatic titles for certain @@ -38,16 +38,18 @@ elements with optional titles. <!--**========================================================================== db.title Output a title for an element. -:Revision:version="3.28" date="2017-03-18" status="final" +@revision[version=3.28 date=2017-03-18 status=final] + +[xsl:params] $node: The element to output the title of. -$info: The info child element of ${node}. +$info: The info child element of $node. -This template outputs the title of the element ${node} as it might be used for +This template outputs the title of the element $node as it might be used for a heading or for link text. For certain types of elements, this templates will use a localized automatic title if no explicit title is provided. -When ${node} is an element for which this template cannot construct a title, -it calls itself recursively passing the parent element of ${node}. +When $node is an element for which this template cannot construct a title, +it calls itself recursively passing the parent element of $node. --> <xsl:template name="db.title"> <xsl:param name="node" select="."/> @@ -136,13 +138,15 @@ it calls itself recursively passing the parent element of ${node}. <!--**========================================================================== db.titleabbrev Output an abbreviated title for an element. -:Revision:version="3.4" date="2011-11-10" status="final" +@revision[version=3.4 date=2011-11-10 status=final] + +[xsl:params] $node: The element to output the abbreviated title of. -$info: The info child element of ${node}. +$info: The info child element of $node. -This template outputs the abbreviated title of the element ${node}, which is -sometimes used for link text. If no explicit #{titleabbrev} element is found, -this template just calls *{db.title}. +This template outputs the abbreviated title of the element $node, which is +sometimes used for link text. If no explicit `titleabbrev` element is found, +this template just calls {db.title}. --> <xsl:template name="db.titleabbrev"> <xsl:param name="node" select="."/> @@ -166,13 +170,15 @@ this template just calls *{db.title}. <!--**========================================================================== db.subtitle Output a subtitle for an element. -:Revision:version="3.4" date="2011-11-10" status="final" +@revision[version=3.4 date=2011-11-10 status=final] + +[xsl:params] $node: The element to output the subtitle of. -$info: The info child element of ${node}. +$info: The info child element of $node. -This template outputs the subtitle of the element ${node}, which is sometimes -used for link text. If no explicit #{titleabbrev} element is found, this template -just calls *{db.title}. This template is not suitable for determining whehter a +This template outputs the subtitle of the element $node, which is sometimes +used for link text. If no explicit `titleabbrev` element is found, this template +just calls {db.title}. This template is not suitable for determining whehter a subtitle should be placed in a heading, as it will always return the title if a subtitle is not found. --> diff --git a/xslt/docbook/common/db-xref.xsl b/xslt/docbook/common/db-xref.xsl index cbfe135d..60defed2 100644 --- a/xslt/docbook/common/db-xref.xsl +++ b/xslt/docbook/common/db-xref.xsl @@ -24,15 +24,16 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook Links -:Requires: db-chunk db-title l10n --> <!--**========================================================================== db.ulink.tooltip Generates the tooltip for an external link + +[xsl:params] $node: The element to generate a tooltip for -$url: The URL of the link, usually from the #{url} attribute +$url: The URL of the link, usually from the `url` attribute --> <xsl:template name="db.ulink.tooltip"> <xsl:param name="node" select="."/> @@ -59,9 +60,11 @@ $url: The URL of the link, usually from the #{url} attribute <!--**========================================================================== db.xref.content Generates the content of a cross reference -$linkend: The id of the linked-to element, usually from the #{linkend} attribute + +[xsl:params] +$linkend: The id of the linked-to element, usually from the `linkend` attribute $target: The linked-to element -$xrefstyle: The cross reference style, usually from the #{xrefstyle} attribute +$xrefstyle: The cross reference style, usually from the `xrefstyle` attribute REMARK: The xrefstyle/role stuff needs to be documented --> @@ -101,9 +104,11 @@ REMARK: The xrefstyle/role stuff needs to be documented <!--**========================================================================== db.xref.target Generates the target identifier of a cross reference -$linkend: The id of the linked-to element, usually from the #{linkend} attribute + +[xsl:params] +$linkend: The id of the linked-to element, usually from the `linkend` attribute $target: The linked-to element -$is_chunk: Whether ${target} is known to be a chunked element +$is_chunk: Whether $target is known to be a chunked element REMARK: Talk about how this works with chunking --> @@ -136,7 +141,9 @@ REMARK: Talk about how this works with chunking <!--**========================================================================== db.xref.tooltip Generates the tooltip for a cross reference -$linkend: The id of the linked-to element, usually from the #{linkend} attribute + +[xsl:params] +$linkend: The id of the linked-to element, usually from the `linkend` attribute $target: The linked-to element REMARK: Document this diff --git a/xslt/docbook/html/db2html-bibliography.xsl b/xslt/docbook/html/db2html-bibliography.xsl index d8c47a95..a65135fc 100644 --- a/xslt/docbook/html/db2html-bibliography.xsl +++ b/xslt/docbook/html/db2html-bibliography.xsl @@ -24,7 +24,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Bibliographies -:Revision:version="3.4" date="2011-11-14" status="final" +@revision[version=3.4 date=2011-11-14 status=final] This module provides templates to process DocBook bibliograpies. --> @@ -33,11 +33,13 @@ This module provides templates to process DocBook bibliograpies. <!--**========================================================================== db2html.biblioentry.data Output structured data for a bibliography entry. -:Revision:version="3.4" date="2011-11-14" status="final" -$node: The #{biblioentry} or #{biblioset} element to output data for. +@revision[version=3.4 date=2011-11-14 status=final] + +[xsl:params] +$node: The `biblioentry` or `biblioset` element to output data for. This template outputs a bibliography entry, or part of a bibliography entry, -based on structured data found in a #{biblioentry} or #{biblioset} element. +based on structured data found in a `biblioentry` or `biblioset` element. --> <xsl:template name="db2html.biblioentry.data"> <xsl:param name="node" select="."/> @@ -109,15 +111,17 @@ based on structured data found in a #{biblioentry} or #{biblioset} element. <!--**========================================================================== db2html.biblioentry.label Output the label for a bibliography entry. -:Revision:version="3.4" date="2011-11-14" status="final" -$node: The #{biblioentry} or #{bibliomixed} element to generate a label for. +@revision[version=3.4 date=2011-11-14 status=final] + +[xsl:params] +$node: The `biblioentry` or `bibliomixed` element to generate a label for. This template outputs a label to be placed inline at the beginning of a bibliography -entry. Labels are created for both #{biblioentry} and #{bibliomixed} elements. +entry. Labels are created for both `biblioentry` and `bibliomixed` elements. The label is typically an abbreviation of the authors' names and the year of -publication. In DocBook, it is usually provided with a leading #{abbrev} -element. Without a leading #{abbrev} element, this template will instead -use the #{xreflabel} or #{id} attribute. +publication. In DocBook, it is usually provided with a leading `abbrev` +element. Without a leading `abbrev` element, this template will instead +use the `xreflabel` or `id` attribute. --> <xsl:template name="db2html.biblioentry.label"> <xsl:param name="node" select="."/> @@ -159,11 +163,11 @@ use the #{xreflabel} or #{id} attribute. <!--%%========================================================================== db2html.biblioentry.mode -Format elements inside a #{biblioentry} or #{bibliomixed} element. -:Revision:version="3.4" date="2011-11-14" status="final" +Format elements inside a `biblioentry` or `bibliomixed` element. +@revision[version=3.4 date=2011-11-14 status=final] -This mode is used when processing the child elements of a #{biblioentry} or a -#{bibliomixed} element. Some elements are treated differently when they appear +This mode is used when processing the child elements of a `biblioentry` or a +`bibliomixed` element. Some elements are treated differently when they appear inside a bibliography entry. --> <xsl:template mode="db2html.biblioentry.mode" match="*"> diff --git a/xslt/docbook/html/db2html-block.xsl b/xslt/docbook/html/db2html-block.xsl index b9cb4ee9..d20bb1c7 100644 --- a/xslt/docbook/html/db2html-block.xsl +++ b/xslt/docbook/html/db2html-block.xsl @@ -24,7 +24,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Block Elements -:Revision:version="3.4" date="2011-11-12" status="final" +@revision[version=3.4 date=2011-11-12 status=final] This stylesheet handles most simple block-level elements, turning them into the appropriate HTML tags. It does not handle tables, lists, and various other @@ -34,14 +34,16 @@ complex block-level elements. <!--**========================================================================== db2html.block -Output an HTML #{div} element for a block-level element. -:Revision:version="3.10" date="2013-08-09" status="final" +Output an HTML `div` element for a block-level element. +@revision[version=3.10 date=2013-08-09 status=final] + +[xsl:params] $node: The block-level element to render. -$class: The value of the HTML #{class} attribute. +$class: The value of the HTML `class` attribute. -This template creates an HTML #{div} element for the given DocBook element. -It passes the ${class} parameter to *{html.class.attr}. -If the ${class} parameter is not provided, it uses the local name of ${node}. +This template creates an HTML `div` element for the given DocBook element. +It passes the $class parameter to {html.class.attr}. +If the $class parameter is not provided, it uses the local name of $node. This template handles conditional processing. --> @@ -74,21 +76,23 @@ This template handles conditional processing. <!--**========================================================================== db2html.block.formal Output HTML for a block-level element with an optional title and caption. -:Revision:version="3.10" date="2013-08-09" status="final" +@revision[version=3.10 date=2013-08-09 status=final] + +[xsl:params] $node: The block-level element to render. -$class: The value of the HTML #{class} attribute. +$class: The value of the HTML `class` attribute. $title: An element to use for the title. $caption: An element to use for the caption. -$titleattr: An optional value for the HTML #{title} attribute. +$titleattr: An optional value for the HTML `title` attribute. $icon: An icon for the block, as a copyable node set. This template outputs HTML for a formal DocBook element, one that can have -a title or caption. It passes the ${class} parameter to *{html.class.attr}. -If the ${class} parameter is not provided, it uses the -local name of ${node}. Even if ${title} and ${caption} are both empty, this -template still outputs the extra wrapper elements for formal elements. If -${titleattr} is provided, it is used for the value of the HTML #{title} -attribute on the outermost #{div} element. +a title or caption. It passes the $class parameter to {html.class.attr}. +If the $class parameter is not provided, it uses the local name of $node. +Even if $title and $caption are both empty, this template still outputs +the extra wrapper elements for formal elements. If $titleattr is provided, +it is used for the value of the HTML `title` attribute on the outermost +`div` element. This template handles conditional processing. --> @@ -162,12 +166,14 @@ This template handles conditional processing. <!--**========================================================================== db2html.block.title Output a formal title for a block-level element. -:Revision:version="3.4" date="2011-11-12" status="final" +@revision[version=3.4 date=2011-11-12 status=final] + +[xsl:params] $node: The block-level element being processed. $title: The element containing the title. -This template formats the contents of ${title} as a title for a block-level -element. It is called by *{db2html.block.formal}. +This template formats the contents of $title as a title for a block-level +element. It is called by {db2html.block.formal}. --> <xsl:template name="db2html.block.title"> <xsl:param name="node" select="."/> @@ -209,12 +215,14 @@ element. It is called by *{db2html.block.formal}. <!--**========================================================================== db2html.blockquote -Output an HTML #{blockquote} element. -:Revision:version="3.10" date="2013-08-09" status="final" +Output an HTML `blockquote` element. +@revision[version=3.10 date=2013-08-09 status=final] + +[xsl:params] $node: The DocBook element ot render as a quote. -This template creates an HTML #{blockquote} element for the given DocBook -element. It's used for the DocBook #{blockquote} and #{epigraph} elements. +This template creates an HTML `blockquote` element for the given DocBook +element. It's used for the DocBook `blockquote` and `epigraph` elements. This template handles conditional processing. --> @@ -258,14 +266,16 @@ This template handles conditional processing. <!--**========================================================================== db2html.para -Output an HTML #{p} element for a block-level element. -:Revision:version="3.10" date="2013-08-09" status="final" +Output an HTML `p` element for a block-level element. +@revision[version=3.10 date=2013-08-09 status=final] + +[xsl:params] $node: The block-level element to render. -$class: The value of the HTML #{class} attribute. +$class: The value of the HTML `class` attribute. -This template creates an HTML #{p} element for the given DocBook element. -It passes the ${class} parameter to *{html.class.attr}. -If the ${class} parameter is not provided, it uses the local name of ${node}. +This template creates an HTML `p` element for the given DocBook element. +It passes the $class parameter to {html.class.attr}. +If the $class parameter is not provided, it uses the local name of $node. This template handles conditional processing. --> @@ -302,26 +312,28 @@ This template handles conditional processing. <!--**========================================================================== db2html.pre -Output an HTML #{pre} element for a block-level element. -:Revision:version="3.12" date="2013-11-02" status="final" +Output an HTML `pre` element for a block-level element. +@revision[version=3.12 date=2013-11-02 status=final] + +[xsl:params] $node: The block-level element to render. -$class: The value of the HTML #{class} attribute. +$class: The value of the HTML `class` attribute. $children: The child elements to process. -This template creates an HTML #{pre} element for the given DocBook element. -It passes the ${class} parameter to *{html.class.attr}. -If the ${class} parameter is not provided, it uses the local name of ${node}. +This template creates an HTML `pre` element for the given DocBook element. +It passes the $class parameter to {html.class.attr}. +If the $class parameter is not provided, it uses the local name of $node. -If ${node} has the #{linenumbering} attribute set to #{"numbered"}, then this -template will create line numbers for each line, using the *{utils.linenumbering} +If $node has the `linenumbering` attribute set to `"numbered"`, then this +template will create line numbers for each line, using the {utils.linenumbering} template. By default, this template applies templates to all child nodes. Pass child -nodes in the ${children} parameter to override this behavior. +nodes in the $children parameter to override this behavior. -If @{html.syntax.highlight} is #{true}, this template automatically outputs -syntax highlighting support based on the #{language} attribute of ${node}, -using *{html.syntax.class} to determine the correct highlighter. +If {html.syntax.highlight} is `true`, this template automatically outputs +syntax highlighting support based on the `language` attribute of $node, +using {html.syntax.class} to determine the correct highlighter. This template handles conditional processing. --> diff --git a/xslt/docbook/html/db2html-callout.xsl b/xslt/docbook/html/db2html-callout.xsl index fa4e70e4..d215a675 100644 --- a/xslt/docbook/html/db2html-callout.xsl +++ b/xslt/docbook/html/db2html-callout.xsl @@ -23,25 +23,26 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Callouts -:Requires: db2html-block db2html-xref html -:Revision:version="1.0" date="2011-05-16" status="final" +@revision[version=1.0 date=2011-05-16 status=final] -This modules handles simple DocBook callouts using the #{co} and #{callout} -elements. Currently, only callouts to #{co} elements are supported. The -#{area} element is not supported. +This modules handles simple DocBook callouts using the `co` and `callout` +elements. Currently, only callouts to `co` elements are supported. The +`area` element is not supported. --> <!--**========================================================================== db2html.callout.label -Create a callout label for a #{co} element. -:Revision:version="1.0" date="2011-05-16" status="final" -$node: The #{co} element to create a callout label for. +Create a callout label for a `co` element. +@revision[version=1.0 date=2011-05-16 status=final] -This template creates a label for a callout, taking a #{co} element as the -${node} parameter. The label is numbered according to the position of the #{co} -element in the document. To create the corresponding label for a #{callout} -element, locate the corresponding #{co} element and call this template on it. +[xsl:params] +$node: The `co` element to create a callout label for. + +This template creates a label for a callout, taking a `co` element as the +$node parameter. The label is numbered according to the position of the `co` +element in the document. To create the corresponding label for a `callout` +element, locate the corresponding `co` element and call this template on it. --> <xsl:template name="db2html.callout.label"> <xsl:param name="node" select="."/> diff --git a/xslt/docbook/html/db2html-classsynopsis.xsl b/xslt/docbook/html/db2html-classsynopsis.xsl index c72e9eab..76a7b463 100644 --- a/xslt/docbook/html/db2html-classsynopsis.xsl +++ b/xslt/docbook/html/db2html-classsynopsis.xsl @@ -22,10 +22,9 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Class Synopses -:Requires: db2html-xref html -:Revision:version="1.0" date="2011-05-16" status="final" +@revision[version=1.0 date=2011-05-16 status=final] -This module handles the DocBook #{classsynopsis} and related elements. The +This module handles the DocBook `classsynopsis` and related elements. The contents of the class-modeling elements are processed in a mode depending on the programming language to format the synopsis correctly. --> @@ -36,13 +35,13 @@ the programming language to format the synopsis correctly. <!--@@========================================================================== db2html.classsynopsis.language -The default programming language used to format #{classsynopsis} elements. -:Revision:version="1.0" date="2011-05-16" status="final" +The default programming language used to format `classsynopsis` elements. +@revision[version=1.0 date=2011-05-16 status=final] -This parameter sets the default value for the #{language} attribute of elements -like #{classsynopsis}. Templates in this module will always use the #{language} +This parameter sets the default value for the `language` attribute of elements +like `classsynopsis`. Templates in this module will always use the `language` attribute if present. Otherwise, they fall back to this value. This parameter -can be set with the #{db2html.classsynopsis.language} processing instruction +can be set with the `db2html.classsynopsis.language` processing instruction at the root of a DocBook document. --> <xsl:param name="db2html.classsynopsis.language"> @@ -158,11 +157,11 @@ at the root of a DocBook document. <!--%%========================================================================== db2html.class.cpp.mode Process a C++ synopsis. -:Revision:version="1.0" date="2011-05-16" status="final" +@revision[version=1.0 date=2011-05-16 status=final] This mode is applied to child elements for synopsis elements for the C++ -programming language. In C++ synopses, the first #{modifier} element for -methods is expected to mark the visibility, such as #{public} or #{private}. +programming language. In C++ synopses, the first `modifier` element for +methods is expected to mark the visibility, such as `public` or `private`. --> <xsl:template mode="db2html.class.cpp.mode" match="*"> <xsl:apply-templates select="."/> @@ -395,7 +394,7 @@ methods is expected to mark the visibility, such as #{public} or #{private}. <!--%%========================================================================== db2html.class.python.mode Process a Python synopsis. -:Revision:version="1.0" date="2011-05-16" status="final" +@revision[version=1.0 date=2011-05-16 status=final] This mode is applied to child elements for synopsis elements for the Python programming language. diff --git a/xslt/docbook/html/db2html-cmdsynopsis.xsl b/xslt/docbook/html/db2html-cmdsynopsis.xsl index 39967041..f7214798 100644 --- a/xslt/docbook/html/db2html-cmdsynopsis.xsl +++ b/xslt/docbook/html/db2html-cmdsynopsis.xsl @@ -25,8 +25,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Command Synopses -:Requires: db2html-xref html -:Revision:version="1.0" date="2011-05-16" status="final" +@revision[version=1.0 date=2011-05-16 status=final] This module contains templates to process DocBook command synopsis elements. --> @@ -326,21 +325,23 @@ This module contains templates to process DocBook command synopsis elements. <!--%%========================================================================== db2html.cmdsynopsis.sbr.padding.mode -Output padding for elements leading up to an #{sbr} element. -:Revision:version="1.0" date="2011-05-16" status="final" -$sbr: The #{sbr} element to pad up to -$sepchar: The value of the #{sepchar} attribute on the enclosing #{cmdsynopsis} +Output padding for elements leading up to an `sbr` element. +@revision[version=1.0 date=2011-05-16 status=final] + +[xsl:params] +$sbr: The `sbr` element to pad up to +$sepchar: The value of the `sepchar` attribute on the enclosing `cmdsynopsis` When processed in this mode, elements output whitespace to the length of the textual output they would normally produce. This allows options to be aligned -when explicit line breaks are inserted with #{sbr} elements. +when explicit line breaks are inserted with `sbr` elements. -To create the padding for a given #{sbr} element, this mode is called on the -enclosing #{cmdsynopsis} element, passing the #{sbr} element. When processed +To create the padding for a given `sbr` element, this mode is called on the +enclosing `cmdsynopsis` element, passing the `sbr` element. When processed in this mode, elements should only output padding for content the leads up to -the #{sbr} element passed in the ${sbr} parameter. When processing children -that don't contain the given #{sbr} element, the ${sbr} parameter should be -set to #{false()} for those children. This avoids additional descendant +the `sbr` element passed in the $sbr parameter. When processing children +that don't contain the given `sbr` element, the $sbr parameter should be +set to `false()` for those children. This avoids additional descendant selectors, which are generally expensive to perform. --> <xsl:template mode="db2html.cmdsynopsis.sbr.padding.mode" match="node()"> diff --git a/xslt/docbook/html/db2html-css.xsl b/xslt/docbook/html/db2html-css.xsl index 16b53331..496a3718 100644 --- a/xslt/docbook/html/db2html-css.xsl +++ b/xslt/docbook/html/db2html-css.xsl @@ -20,7 +20,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - CSS -:Requires: color html l10n REMARK: Describe this module --> diff --git a/xslt/docbook/html/db2html-division.xsl b/xslt/docbook/html/db2html-division.xsl index 8a658c41..1679d712 100644 --- a/xslt/docbook/html/db2html-division.xsl +++ b/xslt/docbook/html/db2html-division.xsl @@ -28,11 +28,11 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Divisions Handle division-level DocBook elements. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This stylesheet contains templates to process top-level and sectioning elements in DocBook. It handles chunking and implements the interfaces provided by the -common !{html} stylesheet. +common {html} stylesheet. --> @@ -156,13 +156,15 @@ common !{html} stylesheet. <!--**========================================================================== db2html.division.div Renders the content of a division element, chunking children if necessary + +[xsl:params] $node: The element to render the content of -$info: The info child element of ${node} +$info: The info child element of $node $entries: The entry-style child elements $divisions: The division-level child elements -$depth_in_chunk: The depth of ${node} in the containing chunk +$depth_in_chunk: The depth of $node in the containing chunk $depth_of_chunk: The depth of the containing chunk in the document -$chunk_divisions: Whether to create new documents for ${divisions} +$chunk_divisions: Whether to create new documents for $divisions REMARK: Talk about some of the parameters --> @@ -291,10 +293,12 @@ REMARK: Talk about some of the parameters <!--%%========================================================================== db2html.division.div.content.mode Renders the block-level content of a division element + +[xsl:params] $depth_in_chunk: The depth of the context element in the containing chunk $depth_of_chunk: The depth of the containing chunk in the document -REMARK: Talk about how this works with #{callback} +REMARK: Talk about how this works with `callback` --> <xsl:template mode="db2html.division.div.content.mode" match="*"> <xsl:param name="node" select="."/> @@ -333,9 +337,11 @@ REMARK: Talk about how this works with #{callback} <!--**========================================================================== db2html.hgroup Output the title and subtitle for an element. + +[xsl:params] $node: The element containing the title. $info: FIXME. -$depth_in_chunk: The depth of ${node} in the containing chunk. +$depth_in_chunk: The depth of $node in the containing chunk. REMARK: Talk about the different kinds of title blocks --> @@ -406,12 +412,14 @@ REMARK: Talk about the different kinds of title blocks <!--**========================================================================== db2html.division.about Output the copyrights, credits, and license information at the bottom of a page. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] + +[xsl:params] $node: A division-level element a page is being created for. -$info: The info child element of ${node} +$info: The info child element of $node This template outputs copyright information, credits, and license information for -the division. By default it is called by the %{html.footer.mode} implementation. +the division. By default it is called by the {html.footer.mode} implementation. --> <xsl:template name="db2html.division.about"> <xsl:param name="node" select="."/> diff --git a/xslt/docbook/html/db2html-ebnf.xsl b/xslt/docbook/html/db2html-ebnf.xsl index ef964b68..cca94de4 100644 --- a/xslt/docbook/html/db2html-ebnf.xsl +++ b/xslt/docbook/html/db2html-ebnf.xsl @@ -22,7 +22,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - EBNF Elements -:Requires: db2html-xref REMARK: Describe this module --> diff --git a/xslt/docbook/html/db2html-footnote.xsl b/xslt/docbook/html/db2html-footnote.xsl index f55281b8..f54ce0f7 100644 --- a/xslt/docbook/html/db2html-footnote.xsl +++ b/xslt/docbook/html/db2html-footnote.xsl @@ -30,8 +30,10 @@ FIXME: Describe this module <!--**========================================================================== db2html.footnote.link Output a link to a footnote. -:Revision:version="3.4" date="2011-11-10" status="final" -$node: The #{footnote} element to process. +@revision[version=3.4 date=2011-11-10 status=final] + +[xsl:params] +$node: The `footnote` element to process. This templates outputs an inline link to the footnote displayed at the bottom of the page. @@ -78,8 +80,10 @@ of the page. <!--**========================================================================== db2html.footnote.note Output a footnote. -:Revision:version="3.4" date="2011-11-10" status="final" -$node: The #{footnote} element to process. +@revision[version=3.4 date=2011-11-10 status=final] + +[xsl:params] +$node: The `footnote` element to process. This templates outputs the actual text of a footnote as a block-level element. --> @@ -130,12 +134,14 @@ This templates outputs the actual text of a footnote as a block-level element. <!--**========================================================================== db2html.footnote.footer Output all footnotes for a page. -:Revision:version="3.4" date="2011-11-10" status="final" +@revision[version=3.4 date=2011-11-10 status=final] + +[xsl:params] $node: The division-level element containing footnotes $depth_of_chunk: The depth of the containing chunk in the document. -This template collects all #{footnote} elements under ${node} and outputs them -with *{db2html.footnote.note}. It checks if each footnote would be displayed on +This template collects all `footnote` elements under $node and outputs them +with {db2html.footnote.note}. It checks if each footnote would be displayed on a separate page by a child division-level element, and if so, it doesn't output that footnote. --> diff --git a/xslt/docbook/html/db2html-funcsynopsis.xsl b/xslt/docbook/html/db2html-funcsynopsis.xsl index a88d9fb4..1e83b0c7 100644 --- a/xslt/docbook/html/db2html-funcsynopsis.xsl +++ b/xslt/docbook/html/db2html-funcsynopsis.xsl @@ -23,7 +23,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Function Synopses -:Requires: db2html-block db2html-inline REMARK: Describe this module --> @@ -31,13 +30,13 @@ REMARK: Describe this module <!--@@========================================================================== db2html.funcsynopsis.style -How to render #{funcsynopsis} elements +How to render `funcsynopsis` elements -This parameter controls the indentation style used to render #{funcsynopsis} -elements. Supported values are #{'KR'} and #{'ANSI'}. This value can also -be set with the #{db2html.funcsynopsis.style} processing instruction at the +This parameter controls the indentation style used to render `funcsynopsis` +elements. Supported values are `'KR'` and `'ANSI'`. This value can also +be set with the `db2html.funcsynopsis.style` processing instruction at the top of the XML document. The same processing instruction or inside a -#{funcsynopsis} element will override this setting for that synopsis. +`funcsynopsis` element will override this setting for that synopsis. --> <xsl:param name="db2html.funcsynopsis.style"> <xsl:choose> diff --git a/xslt/docbook/html/db2html-index.xsl b/xslt/docbook/html/db2html-index.xsl index fa3f6f97..d366d8e7 100644 --- a/xslt/docbook/html/db2html-index.xsl +++ b/xslt/docbook/html/db2html-index.xsl @@ -46,7 +46,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Indexes -:Requires: db-chunk db2html-division l10n This module provides templates to process DocBook indexes. --> diff --git a/xslt/docbook/html/db2html-inline.xsl b/xslt/docbook/html/db2html-inline.xsl index 45085c71..72ba3eae 100644 --- a/xslt/docbook/html/db2html-inline.xsl +++ b/xslt/docbook/html/db2html-inline.xsl @@ -24,7 +24,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Inline Elements -:Requires: db-common db2html-xref l10n REMARK: Describe this module --> @@ -32,7 +31,9 @@ REMARK: Describe this module <!--**========================================================================== db2html.inline.children -Renders the children of an inline element. +Render the children of an inline element. + +[xsl:params] $node: The element to render $children: The child elements to process @@ -55,11 +56,13 @@ REMARK: Document this template <!--**========================================================================== db2html.inline -Renders an inline element as an HTML #{span} element +Render an inline element as an HTML `span` element + +[xsl:params] $node: The element to render $children: The child elements to process -$class: The value of the #{class} attribute on the #{span} tag -$lang: The locale of the text in ${node} +$class: The value of the `class` attribute on the `span` tag +$lang: The locale of the text in $node $name-class: The class to use for the name of the element REMARK: Document this template diff --git a/xslt/docbook/html/db2html-links.xsl b/xslt/docbook/html/db2html-links.xsl index 3e0e741f..684451a7 100644 --- a/xslt/docbook/html/db2html-links.xsl +++ b/xslt/docbook/html/db2html-links.xsl @@ -23,7 +23,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Links -:Revision:version="3.4" date="2011-11-08" status="final" +@revision[version=3.4 date=2011-11-08 status=final] This stylesheet contains templates to handle implicit automatic links. --> @@ -32,13 +32,15 @@ This stylesheet contains templates to handle implicit automatic links. <!--**========================================================================== db2html.links.linktrail Generate links to pages from ancestor elements. -:Revision:version="3.20" date="2015-09-15" status="final" +@revision[version=3.20 date=2015-09-15 status=final] + +[xsl:params] $node: The element to generate links for. -This template outputs a trail of links for the ancestor pages of ${node}. If -${node} has no ancestors, then it calls *{html.linktrails.empty} instead. This -template calls *{html.linktrails.prefix} before the first link, passing ${node} -as that template's #{node} parameter. +This template outputs a trail of links for the ancestor pages of $node. If +$node has no ancestors, then it calls {html.linktrails.empty} instead. This +template calls {html.linktrails.prefix} before the first link, passing $node +as that template's `node` parameter. --> <xsl:template name="db2html.links.linktrail"> <xsl:param name="node" select="."/> @@ -96,12 +98,14 @@ as that template's #{node} parameter. <!--**========================================================================== db2html.links.next Output links to the previous and next pages. -:Revision:version="3.4" date="2011-11-08" status="final" +@revision[version=3.4 date=2011-11-08 status=final] + +[xsl:params] $node: The element to generate links for. $depth_of_chunk: The depth of the containing chunk in the document. This template outputs links to the previous and next pages, if they exist. It -calls *{db.chunk.chunk-id.axis} to find the previous and next pages. The block +calls {db.chunk.chunk-id.axis} to find the previous and next pages. The block containing the links is end-floated by default. The links use the text "Previous" and "Next", although the actual page titles are used for tooltips. --> @@ -191,11 +195,13 @@ and "Next", although the actual page titles are used for tooltips. <!--**========================================================================== db2html.links.section Output links to subsections. -:Revision:version="3.4" date="2011-11-08" status="final" +@revision[version=3.4 date=2011-11-08 status=final] + +[xsl:params] $node: The element to generate links for. -$divisions: The division-level child elements of ${node} to link to. +$divisions: The division-level child elements of $node to link to. -This template outputs links to the child division-level elements of ${node}, +This template outputs links to the child division-level elements of $node, whether or not they are chunked. --> <xsl:template name="db2html.links.section"> diff --git a/xslt/docbook/html/db2html-list.xsl b/xslt/docbook/html/db2html-list.xsl index 9758c100..c5dd3a8d 100644 --- a/xslt/docbook/html/db2html-list.xsl +++ b/xslt/docbook/html/db2html-list.xsl @@ -26,7 +26,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Lists -:Revision:version="3.28" date="2016-10-27" status="review" +@revision[version=3.28 date=2016-10-27 status=review] This stylesheet handles most list-like elements in DocBook, turning them into appropriate HTML tags. diff --git a/xslt/docbook/html/db2html-math.xsl b/xslt/docbook/html/db2html-math.xsl index eb5fada4..a5c4a58c 100644 --- a/xslt/docbook/html/db2html-math.xsl +++ b/xslt/docbook/html/db2html-math.xsl @@ -25,23 +25,25 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - MathML Handle MathML in DocBook documents. -:Revision: version="3.8" date="2012-11-13" status="final" +@revision[version=3.8 date=2012-11-13 status=final] -This stylesheet matches embedded MathML and processes it in %{db2html.math.mode}. -The matched templates for the #{mml:math} element automatically set the #{display} +This stylesheet matches embedded MathML and processes it in {db2html.math.mode}. +The matched templates for the `mml:math` element automatically set the `display` attribute based on whether the element is in block or inline context. --> <!--**========================================================================== db2html.math.div -Output an HTML #{div} element and block-level MathML. -:Revision:version="3.8" date="2012-11-13" status="final" -$node: The #{mml:math} element to render. +Output an HTML `div` element and block-level MathML. +@revision[version=3.8 date=2012-11-13 status=final] -This template creates an HTML #{div} element for a MathML #{mml:math} element, -then outputs MathML content. It sets the #{display} attribute on the output to -#{"block"} and applies %{db2html.math.mode} to the child content. +[xsl:params] +$node: The `mml:math` element to render. + +This template creates an HTML `div` element for a MathML `mml:math` element, +then outputs MathML content. It sets the `display` attribute on the output to +`"block"` and applies {db2html.math.mode} to the child content. --> <xsl:template name="db2html.math.div"> <xsl:param name="node" select="."/> @@ -68,13 +70,15 @@ then outputs MathML content. It sets the #{display} attribute on the output to <!--**========================================================================== db2html.math.span -Output an HTML #{span} element and inline MathML. -:Revision:version="3.8" date="2012-11-13" status="final" -$node: The #{mml:math} element to render. +Output an HTML `span` element and inline MathML. +@revision[version=3.8 date=2012-11-13 status=final] + +[xsl:params] +$node: The `mml:math` element to render. -This template creates an HTML #{span} element for a MathML #{mml:math} element, -then outputs MathML content. It sets the #{display} attribute on the output to -#{"inline"} and applies %{db2html.math.mode} to the child content. +This template creates an HTML `span` element for a MathML `mml:math` element, +then outputs MathML content. It sets the `display` attribute on the output to +`"inline"` and applies {db2html.math.mode} to the child content. --> <xsl:template name="db2html.math.span"> <xsl:param name="node" select="."/> @@ -98,12 +102,12 @@ then outputs MathML content. It sets the #{display} attribute on the output to <!--%%========================================================================== db2html.math.mode Output MathML and handle Mallard extension. -:Revision: version="3.8" date="2012-11-13" status="final" +@revision[version=3.8 date=2012-11-13 status=final] This mode is used for processing MathML embedded into DocBook documents. For most types of MathML content, it simply copies the input directly, except it outputs the MathML in a way that allows the namespace to stripped for non-XML -output. It converts #{xlink:href} attributes from MathML 2 to #{href} attributes +output. It converts `xlink:href` attributes from MathML 2 to `href` attributes for MathML 3. --> <xsl:template mode="db2html.math.mode" match="mml:*"> diff --git a/xslt/docbook/html/db2html-media.xsl b/xslt/docbook/html/db2html-media.xsl index be2f7349..66cd47f8 100644 --- a/xslt/docbook/html/db2html-media.xsl +++ b/xslt/docbook/html/db2html-media.xsl @@ -25,23 +25,25 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Images and Media Handle DocBook media elements. -:Revision:version="3.8" date="2012-11-13" status="final" +@revision[version=3.8 date=2012-11-13 status=final] -This stylesheet contains templates for handling DocBook #{mediaobject} and -#{inlinemediaobject} elements, as well as the various #{object} and #{data} +This stylesheet contains templates for handling DocBook `mediaobject` and +`inlinemediaobject` elements, as well as the various `object` and `data` elements found in these elements. This stylesheet also handles the deprecated -DocBook 4 #{graphic} and #{inlinegraphic} elements. +DocBook 4 `graphic` and `inlinegraphic` elements. --> <!--**========================================================================== db2html.audiodata -Output an HTML #{audio} element for a #{audiodata} element. -:Revision:version="3.8" date="2012-11-12" status="final" -$node: The #{audiodata} element. +Output an HTML `audio` element for a `audiodata` element. +@revision[version=3.8 date=2012-11-12 status=final] -This template creates an #{audio} element in the HTML output. This template -calls *{db2html.mediaobject.fallback} for the contents of the #{audio} element. +[xsl:params] +$node: The `audiodata` element. + +This template creates an `audio` element in the HTML output. This template +calls {db2html.mediaobject.fallback} for the contents of the `audio` element. --> <xsl:template name="db2html.audiodata"> <xsl:param name="node" select="."/> @@ -73,18 +75,20 @@ calls *{db2html.mediaobject.fallback} for the contents of the #{audio} element. <!--**========================================================================== db2html.imagedata -Output an HTML #{img} element for a #{imagedata} element. -:Revision:version="3.10" date="2013-08-11" status="final" -$node: The #{imagedata} or other graphic element. +Output an HTML `img` element for a `imagedata` element. +@revision[version=3.10 date=2013-08-11 status=final] + +[xsl:params] +$node: The `imagedata` or other graphic element. -This template creates an #{img} element in the HTML output. This template -is called not only for #{imagedata} elements, but also for #{graphic} and -#{inlinegraphic} elements. Note that #{graphic} and #{inlinegraphic} are +This template creates an `img` element in the HTML output. This template +is called not only for `imagedata` elements, but also for `graphic` and +`inlinegraphic` elements. Note that `graphic` and `inlinegraphic` are deprecated and should not be used in any newly-written DocBook files. Use -#{mediaobject} instead. +`mediaobject` instead. -This template looks for a #{textobject} with a #{phrase} child in an ancestor -#{mediaobject} or #{inlinemediaobject} element. It uses the first available, +This template looks for a `textobject` with a `phrase` child in an ancestor +`mediaobject` or `inlinemediaobject` element. It uses the first available, taking conditional processing into consideration. --> <xsl:template name="db2html.imagedata"> @@ -136,15 +140,17 @@ taking conditional processing into consideration. <!--**========================================================================== db2html.videodata -Output an HTML #{video} element for a #{videodata} element. -:Revision:version="3.8" date="2012-11-12" status="final" -$node: The #{videodata} element. - -This template creates a #{video} element in the HTML output. If the containing -#{mediaobject} or #{inlinemediaobject} element has an #{imageobject} with the -#{role} attribute set to #{"poster"}, that image will be used for the #{poster} -attribute on the HTML #{video} element. This template calls -*{db2html.mediaobject.fallback} for the contents of the #{video} element. +Output an HTML `video` element for a `videodata` element. +@revision[version=3.8 date=2012-11-12 status=final] + +[xsl:params] +$node: The `videodata` element. + +This template creates a `video` element in the HTML output. If the containing +`mediaobject` or `inlinemediaobject` element has an `imageobject` with the +`role` attribute set to `"poster"`, that image will be used for the `poster` +attribute on the HTML `video` element. This template calls +{db2html.mediaobject.fallback} for the contents of the `video` element. --> <xsl:template name="db2html.videodata"> <xsl:param name="node" select="."/> @@ -201,21 +207,23 @@ attribute on the HTML #{video} element. This template calls <!--**========================================================================== db2html.mediaobject -Outputs HTML for a #{mediaobject} element. -:Revision:version="3.10" date="2013-08-11" status="final" -$node: The #{mediaobject} element. +Outputs HTML for a `mediaobject` element. +@revision[version=3.10 date=2013-08-11 status=final] -This template processes a #{mediaobject} element and outputs the appropriate -HTML. DocBook allows multiple objects to be listed in a #{mediaobject} element. +[xsl:params] +$node: The `mediaobject` element. + +This template processes a `mediaobject` element and outputs the appropriate +HTML. DocBook allows multiple objects to be listed in a `mediaobject` element. Processing tools are expected to choose the earliest suitable object. This template will select the first audio, image, or video object it can handle, filtering out images in non-web formats, and taking conditional processing into consideration. If no suitable non-text objects are found, this template -calls *{db2html.mediaobject.fallback}. +calls {db2html.mediaobject.fallback}. -This template also detects MathML embedded in a DocBook 5 #{imagedata} element -with the #{format} attribute #{"mathml"}, and passes it to the templates in -!{db2html-math}. +This template also detects MathML embedded in a DocBook 5 `imagedata` element +with the `format` attribute `"mathml"`, and passes it to the templates in +{db2html-math}. --> <xsl:template name="db2html.mediaobject"> <xsl:param name="node" select="."/> @@ -262,14 +270,16 @@ with the #{format} attribute #{"mathml"}, and passes it to the templates in <!--**========================================================================== db2html.mediaobject.fallback -Outputs fallback HTML for a #{mediaobject} element. -:Revision:version="3.10" date="2013-08-11" status="final" -$node: The #{mediaobject} element. - -This template outputs HTML for the first suitable #{textobject} child element -of ${node}. If ${node} is an #{inlinemediaobject}, it looks for a #{textobject} -that contains a #{phrase} element. Otherwise, it looks for a #{textobject} with -normal block content. It also handles conditional processing on the #{textobject} +Outputs fallback HTML for a `mediaobject` element. +@revision[version=3.10 date=2013-08-11 status=final] + +[xsl:params] +$node: The `mediaobject` element. + +This template outputs HTML for the first suitable `textobject` child element +of $node. If $node is an `inlinemediaobject`, it looks for a `textobject` +that contains a `phrase` element. Otherwise, it looks for a `textobject` with +normal block content. It also handles conditional processing on the `textobject` elements. --> <xsl:template name="db2html.mediaobject.fallback"> diff --git a/xslt/docbook/html/db2html-refentry.xsl b/xslt/docbook/html/db2html-refentry.xsl index 63265039..d8e27c4a 100644 --- a/xslt/docbook/html/db2html-refentry.xsl +++ b/xslt/docbook/html/db2html-refentry.xsl @@ -23,7 +23,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Reference Pages -:Requires: db-chunk db-title db2html-inline db2html-division db2html-xref l10n REMARK: Describe this module. Talk about refenty and friends --> diff --git a/xslt/docbook/html/db2html-table.xsl b/xslt/docbook/html/db2html-table.xsl index d0c98ebe..73d89dc5 100644 --- a/xslt/docbook/html/db2html-table.xsl +++ b/xslt/docbook/html/db2html-table.xsl @@ -22,7 +22,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Tables -:Requires: db2html-block db2html-inline db2html-xref l10n REMARK: This needs lots of talk about CALS --> @@ -30,10 +29,12 @@ REMARK: This needs lots of talk about CALS <!--**========================================================================== db2html.row -Creates a #{tr} element for a #{row} element -$row: The #{row} element to process -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope +Creates a `tr` element for a `row` element + +[xsl:params] +$row: The `row` element to process +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope $colsep: Whether column separators are currently enabled $rowsep: Whether column separators are currently enabled $spanstr: The string representation of the row spans @@ -101,55 +102,57 @@ FIXME <!--**========================================================================== db2html.entry -Creates a #{td} element for an #{entry} element -$entry: The #{entry} element to process -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope +Creates a `td` element for an `entry` element + +[xsl:params] +$entry: The `entry` element to process +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope $colsep: Whether column separators are currently enabled $rowsep: Whether column separators are currently enabled $colpos: The output column position currently being considered -$colnum: The actual column number of ${entry} +$colnum: The actual column number of $entry $spanstr: The string representation of the row spans -This template processes a single #{entry} element and generates #{td} elements -as needed. It then calls itself on the following #{entry} element, adjusting +This template processes a single `entry` element and generates `td` elements +as needed. It then calls itself on the following `entry` element, adjusting parameters as necessary. Under certain conditions, this template may not be -able to output a #{td} element immediately. In these cases, it makes whatever -adjustments are needed and calls itself or *{db2html.entry.implicit} (which, +able to output a `td` element immediately. In these cases, it makes whatever +adjustments are needed and calls itself or {db2html.entry.implicit} (which, in turn, calls this template again when it's finished). -Three parameters are used to determine whether a #{td} element can be output. -The ${spanstr} parameter provides infomation about row spans in effect from -entries in previous rows; the ${colpos} parameter specifies which column we -would output to if we created a #{td}; and the ${colnum} parameter specifies -which column this #{entry} should be in, according to any relevant #{colspec} -or #{spanspec} elemets. +Three parameters are used to determine whether a `td` element can be output. +The $spanstr parameter provides infomation about row spans in effect from +entries in previous rows; the $colpos parameter specifies which column we +would output to if we created a `td`; and the $colnum parameter specifies +which column this `entry` should be in, according to any relevant `colspec` +or `spanspec` elemets. -There are two conditions that cause this template not to output a #{td} element -immediately: if the ${spanstr} parameter does not start with #{0:}, and if the -${colpos} parameter is less than the ${colnum} parameter. +There are two conditions that cause this template not to output a `td` element +immediately: if the $spanstr parameter does not start with `0:`, and if the +$colpos parameter is less than the $colnum parameter. -The ${spanstr} parameter specifies the row spans in effect from entries in -previous rows. As this template iterates over the #{entry} elements, it strips -off parts of ${spanstr} so that only the parts relevant to the #{entry} are -present. If ${spanstr} does not start with #{0:}, then an entry in a previous +The $spanstr parameter specifies the row spans in effect from entries in +previous rows. As this template iterates over the `entry` elements, it strips +off parts of $spanstr so that only the parts relevant to the `entry` are +present. If $spanstr does not start with `0:`, then an entry in a previous row occupies this column position. In this case, that value is removed from -${spanstr}, the ${colpos} parameter is incremented, and *{db2html.entry} is -called again. Additionally, since *{db2html.entry.colnum} doesn't consider -row spans, the ${colnum} parameter may be incremented as well. +$spanstr, the $colpos parameter is incremented, and {db2html.entry} is +called again. Additionally, since {db2html.entry.colnum} doesn't consider +row spans, the $colnum parameter may be incremented as well. -If the ${colpos} parameter is less than the ${colnum} parameter, then the +If the $colpos parameter is less than the $colnum parameter, then the document has skipped entries by explicitly referencing a column. This is allowed in CALS tables, but not in HTML. To fill the blank spaces, we call -*{db2html.entry.implicit}, which outputs an empty #{td} element spanning as -many columns as necessary to fill in the blanks. The *{db2html.entry.implicit} +{db2html.entry.implicit}, which outputs an empty `td` element spanning as +many columns as necessary to fill in the blanks. The {db2html.entry.implicit} template then calls this template again with appropriate parameter values. -When this template is finally able to output a #{td} element, it calculates -appropriate values for the #{style} and #{class} attribute based on DocBook -attributes on the #{entry}, the relevant #{colspec} or #{spanspec}, and any -relevant ancestor elements. It then calls itself on the following #{entry} -element to output the next #{td}. +When this template is finally able to output a `td` element, it calculates +appropriate values for the `style` and `class` attribute based on DocBook +attributes on the `entry`, the relevant `colspec` or `spanspec`, and any +relevant ancestor elements. It then calls itself on the following `entry` +element to output the next `td`. --> <xsl:template name="db2html.entry"> <xsl:param name="entry" select="."/> @@ -493,32 +496,34 @@ element to output the next #{td}. <!--**========================================================================== db2html.entry.implicit -Creates an implicit #{td} element to fill up unoccupied columns -$entry: The #{entry} element currently being processed -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope +Creates an implicit `td` element to fill up unoccupied columns + +[xsl:params] +$entry: The `entry` element currently being processed +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope $colsep: Whether column separators are currently enabled $rowsep: Whether column separators are currently enabled $colpos: The output column position currently being considered -$colnum: The actual column number of ${entry} -$colspan: How many columns the implicit #{td} currently spans +$colnum: The actual column number of $entry +$colspan: How many columns the implicit `td` currently spans $spanstr: The string representation of the row spans -CALS tables in DocBook don't need to have #{entry} elements for each column +CALS tables in DocBook don't need to have `entry` elements for each column in each row, even when the column is not covered by a row-spanning entry from -a previous row. An #{entry} can explicitly specify which column it's in, and +a previous row. An `entry` can explicitly specify which column it's in, and any previous unfilled columns are considered blank. Since HTML tables don't -have this mechanism, we have to insert blank #{td} elements to fill the gaps. +have this mechanism, we have to insert blank `td` elements to fill the gaps. -When *{db2html.entry} detects a blank entry, it will call this template with +When {db2html.entry} detects a blank entry, it will call this template with the approprite parameters. This template then calls itself recursively, each -time adjusting the ${colpos}, ${colspan}, and ${spanstr} parameters, until it -comes across the last column that needs to be filled. It then outputs a #{td} -element with an appropriate #{colspan} attribute. +time adjusting the $colpos, $colspan, and $spanstr parameters, until it +comes across the last column that needs to be filled. It then outputs a `td` +element with an appropriate `colspan` attribute. -Finally, this template calls *{db2html.entry} again on ${entry}. With the -values of ${colpos} and ${spanstr} suitably adjusted, that template is then -able to output the #{td} for the #{entry} element. +Finally, this template calls {db2html.entry} again on $entry. With the +values of $colpos and $spanstr suitably adjusted, that template is then +able to output the `td` for the `entry` element. --> <xsl:template name="db2html.entry.implicit"> <xsl:param name="entry"/> @@ -621,11 +626,13 @@ able to output the #{td} for the #{entry} element. <!--**========================================================================== db2html.entry.colnum -Calculates the actual column number for an #{entry} element -$entry: The #{entry} element to process -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope -$colpos: The column position, as passed by the preceding #{entry} +Calculates the actual column number for an `entry` element + +[xsl:params] +$entry: The `entry` element to process +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope +$colpos: The column position, as passed by the preceding `entry` FIXME --> @@ -673,10 +680,12 @@ FIXME <!--**========================================================================== db2html.colspec.colnum -Calculates the column number for a #{colspec} element -$colspec: The #{colspec} element to process -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope +Calculates the column number for a `colspec` element + +[xsl:params] +$colspec: The `colspec` element to process +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope FIXME --> @@ -708,15 +717,17 @@ FIXME <!--**========================================================================== db2html.entry.colspan -Calculates the #{colspan} for an #{entry} element -$entry: The #{entry} element to process -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope +Calculates the `colspan` for an `entry` element + +[xsl:params] +$entry: The `entry` element to process +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope -This template calculates how many columns an #{entry} element should span. +This template calculates how many columns an `entry` element should span. In CALS tables, column spanning is done by specifying starting and ending -#{colspec} elements, or by specifying a #{spanspec} element which specifies -starting and ending #{colspec} elements. +`colspec` elements, or by specifying a `spanspec` element which specifies +starting and ending `colspec` elements. --> <xsl:template name="db2html.entry.colspan"> <xsl:param name="entry" select="."/> @@ -778,9 +789,11 @@ starting and ending #{colspec} elements. <!--**========================================================================== db2html.spanstr Generates a string specifying the row spans in effect -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope -$spanstr: The ${spanstr} parameter used by the previous row + +[xsl:params] +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope +$spanstr: The $spanstr parameter used by the previous row REMARK: This template needs to be explained in detail, but I forgot how it works. --> @@ -884,9 +897,11 @@ REMARK: This template needs to be explained in detail, but I forgot how it works <!--**========================================================================== db2html.spanstr.pop -Calculates the remaining spans after an #{entry} element -$colspecs: The #{colspec} elements currently in scope -$spanspecs: The #{spanspec} elements currently in scope +Calculates the remaining spans after an `entry` element + +[xsl:params] +$colspecs: The `colspec` elements currently in scope +$spanspecs: The `spanspec` elements currently in scope $colspan: The number of columns to pop $spanstr: The string representation of the column spans diff --git a/xslt/docbook/html/db2html-xref.xsl b/xslt/docbook/html/db2html-xref.xsl index 4a642e36..edcdd68c 100644 --- a/xslt/docbook/html/db2html-xref.xsl +++ b/xslt/docbook/html/db2html-xref.xsl @@ -23,7 +23,6 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML - Links and Cross References -:Requires: db-xref REMARK: Describe this module --> @@ -32,8 +31,10 @@ REMARK: Describe this module <!--**========================================================================== db2html.anchor Generates an anchor point for an element + +[xsl:params] $node: The element to generate an anchor for -$name: The text to use for the #{name} attribute +$name: The text to use for the `name` attribute REMARK: Describe this template --> @@ -46,7 +47,9 @@ REMARK: Describe this template <!--**========================================================================== db2html.link -Generates a hyperlink from a #{link} element +Generates a hyperlink from a `link` element + +[xsl:params] $linkend: The id of the element being linked to $target: The element being linked to @@ -84,7 +87,9 @@ REMARK: Describe this template <!--**========================================================================== db2html.ulink -Generates a hyperlink from a #{ulink} element +Generates a hyperlink from a `ulink` element + +[xsl:params] $url: The URL to link to $content: Optional content to use for the text of the link @@ -122,7 +127,9 @@ REMARK: Describe this template <!--**========================================================================== db2html.xlink -Generates a hyperlink from a DocBook 5 #{link} element +Generates a hyperlink from a DocBook 5 `link` element + +[xsl:params] $node: The node in question $linkend: The ID of the element to link to $url: The URL to link to @@ -154,7 +161,9 @@ Note that this template is also called for inline elements that use DocBook 5's <!--**========================================================================== db2html.xref -Generates a hyperlink from an #{xref} element +Generates a hyperlink from an `xref` element + +[xsl:params] $linkend: The id of the element being linked to $target: The element being linked to $endterm: The id of an element whose contents will be used for the link text diff --git a/xslt/docbook/html/db2html.xsl b/xslt/docbook/html/db2html.xsl index d95ef9b5..351afc7a 100644 --- a/xslt/docbook/html/db2html.xsl +++ b/xslt/docbook/html/db2html.xsl @@ -24,15 +24,15 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to HTML Transform DocBook to HTML. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This top-level stylesheet includes all the necessary stylesheets to transform -DocBook documents into HTML. It imports !{db2xhtml}, overrides parameters, and +DocBook documents into HTML. It imports {db2xhtml}, overrides parameters, and sets a namespace alias to output non-XML HTML. This stylesheet sets -@{html.xhtml} to #{false}. +{html.xhtml} to `false`. --> -<xsl:import href="db2xhtml.xsl"><?pass?></xsl:import> +<xsl:import href="db2xhtml.xsl"><?xsldoc.passthrough?></xsl:import> <xsl:param name="html.xhtml" select="false()"/> <xsl:param name="db.profile.outputformat" select="'html'"/> diff --git a/xslt/docbook/html/db2xhtml.xsl b/xslt/docbook/html/db2xhtml.xsl index 3fd96317..bc12a788 100644 --- a/xslt/docbook/html/db2xhtml.xsl +++ b/xslt/docbook/html/db2xhtml.xsl @@ -21,11 +21,11 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== DocBook to XHTML Transform DocBook to XHTML. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This top-level stylesheet includes all the necessary stylesheets to transform DocBook documents into XHTML. This stylesheet sets the parameter -@{db.chunk.extension}. +{db.chunk.extension}. --> <xsl:import href="../../common/l10n.xsl"/> diff --git a/xslt/mallard/common/mal-gloss.xsl b/xslt/mallard/common/mal-gloss.xsl index d0dbf0ff..d5b6ac36 100644 --- a/xslt/mallard/common/mal-gloss.xsl +++ b/xslt/mallard/common/mal-gloss.xsl @@ -34,9 +34,9 @@ with the Mallard Glossary extension. <!--++========================================================================== mal.gloss.key -Get a #{gloss:term} element from its #{id} attribute. +Get a `gloss:term` element from its `id` attribute. -This key returns #{gloss:term} elements based on their #{id} attribute. This +This key returns `gloss:term` elements based on their `id` attribute. This key only applies to elements inside a cache file. Make sure to make the cache file the context document before calling this key. --> @@ -48,15 +48,17 @@ file the context document before calling this key. <!--**========================================================================== mal.gloss.match Determine whether a glossary term matches a criterion. -$match: A #{gloss:match} element containing criteria. -$term: A #{gloss:term} element to attempt to match. + +[xsl:params] +$match: A `gloss:match` element containing criteria. +$term: A `gloss:term` element to attempt to match. This template determines whether a glossary term matches a condition, as given -by a #{gloss:match} element. If the term matches, an empty string is output. +by a `gloss:match` element. If the term matches, an empty string is output. Otherwise, a non-empty string is output. To determine if a term matches a set of matches, call this template for each -#{gloss:match} element, then check if the concatenated result is empty. +`gloss:match` element, then check if the concatenated result is empty. --> <xsl:template name="mal.gloss.match"> <xsl:param name="match"/> @@ -70,26 +72,28 @@ To determine if a term matches a set of matches, call this template for each <!--**========================================================================== mal.gloss.terms Output the glossary terms for a page or section. -$node: The glossary #{page} or #{section} to output terms for. -This template outputs the terms that should be displayed for ${node}.This output -is a result tree fragment. To use these results, call #{exsl:node-set} on them. +[xsl:params] +$node: The glossary `page` or `section` to output terms for. + +This template outputs the terms that should be displayed for $node.This output +is a result tree fragment. To use these results, call `exsl:node-set` on them. This template locates all terms throughout all pages and filters them based on -any #{gloss:match} elements in the #{info} child of ${node}, and also excludes -terms that are matched by child sections of ${node}. +any `gloss:match` elements in the `info` child of $node, and also excludes +terms that are matched by child sections of $node. The filtered terms are then grouped by matching ID. For each unique ID, this -template outputs a #{gloss:term} element with the corresponding #{id} attribute. -Each of these elements contains #{title} elements reflecting the titles in the +template outputs a `gloss:term` element with the corresponding `id` attribute. +Each of these elements contains `title` elements reflecting the titles in the actual term definitions. These titles have duplicates removed, compared by the space-normalized string value, and are sorted. -These #{gloss:term} elements then contain further #{gloss:term} elements, which -are copies of the actual terms with the same ID. These elements have an #{xref} +These `gloss:term` elements then contain further `gloss:term` elements, which +are copies of the actual terms with the same ID. These elements have an `xref` attribute added containing the ID of the containing page. -The top-level #{gloss:term} elements and the #{gloss:term} elements they contain -are not sorted. Only the #{title} elements in the top-level #{gloss:term} +The top-level `gloss:term` elements and the `gloss:term` elements they contain +are not sorted. Only the `title` elements in the top-level `gloss:term` elements are sorted. --> <xsl:template name="mal.gloss.terms"> diff --git a/xslt/mallard/common/mal-if.xsl b/xslt/mallard/common/mal-if.xsl index ed43862f..0a3e7d1a 100644 --- a/xslt/mallard/common/mal-if.xsl +++ b/xslt/mallard/common/mal-if.xsl @@ -24,7 +24,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard Conditionals Support for run-time conditional processing. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This stylesheet contains utilities for handling conditional processing in Mallard documents. @@ -34,11 +34,11 @@ in Mallard documents. <!--@@========================================================================== mal.if.target The list of supported target tokens. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This parameter takes a space-separated list of tokens to enable for conditional -processing. It is used by the template *{mal.if.test}. This parameter is meant -to hold tokens starting with #{target:}. It should usually be set by the primary +processing. It is used by the template {mal.if.test}. This parameter is meant +to hold tokens starting with `target:`. It should usually be set by the primary importing stylesheet. --> <xsl:param name="mal.if.target" select="''"/> @@ -47,11 +47,11 @@ importing stylesheet. <!--@@========================================================================== mal.if.platform The list of supported platform tokens. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This parameter takes a space-separated list of tokens to enable for conditional -processing. It is used by the template *{mal.if.test}. This parameter is meant -to hold tokens starting with #{platform:}. It should usually be set by hand or +processing. It is used by the template {mal.if.test}. This parameter is meant +to hold tokens starting with `platform:`. It should usually be set by hand or by a customization stylesheet. --> <xsl:param name="mal.if.platform" select="''"/> @@ -60,10 +60,10 @@ by a customization stylesheet. <!--@@========================================================================== mal.if.features The list of supported feature tokens. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This parameter takes a space-separated list of tokens to enable for conditional -processing. It is used by the template *{mal.if.test}. This parameter is meant +processing. It is used by the template {mal.if.test}. This parameter is meant to hold tokens that specify the capabilities of these stylesheets. It should usually be set by the primary importing stylesheet. --> @@ -75,10 +75,10 @@ mallard:1.0 <!--@@========================================================================== mal.if.custom A custom list of supported tokens. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This parameter takes a space-separated list of tokens to enable for conditional -processing. It is used by the template *{mal.if.test}. This parameter is meant +processing. It is used by the template {mal.if.test}. This parameter is meant to hold extra values enabled by hand or by a customization stylesheet. --> <xsl:param name="mal.if.custom" select="''"/> @@ -87,10 +87,10 @@ to hold extra values enabled by hand or by a customization stylesheet. <!--@@========================================================================== mal.if.maybe A list of tokens that may be true. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This parameter takes a space-separated list of tokens that may be true. The -template *{mal.if.test} returns special flags when a condition may be true, +template {mal.if.test} returns special flags when a condition may be true, allowing conditional processing to be deferred (for example, to CSS media selectors). This parameter should usually be set by the primary importing stylesheet. @@ -109,33 +109,35 @@ stylesheet. <!--**========================================================================== mal.if.test Test if a condition is true. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] + +[xsl:params] $node: The element to check the condition for. $test: The test expression. -This template evaluates the test expression ${test}, which is taken automatically -from the #{test} or #{if:test} attribute of $node. It splits the expression on +This template evaluates the test expression $test, which is taken automatically +from the `test` or `if:test` attribute of $node. It splits the expression on commas into subexpressions, then splits each subexpression on spaces into tokens. A token is taken to be true if it's in one of the space-separated lists from -@{mal.if.target}, @{mal.if.platform}, @{mal.if.features}, or @{mal.if.custom}. +{mal.if.target}, {mal.if.platform}, {mal.if.features}, or {mal.if.custom}. If the token starts with an exclamation point, the exclamation point is stripped and the resulting truth value is negated. A subexpression is true if all its tokens is true. The full test expression is true if any subexpression is true. If the test expression is true, the literal -string #{'true'} is returned. If the test expression is false, the empty +string `'true'` is returned. If the test expression is false, the empty string is returned. This template can handle "maybe" values: tokens that may or may not be true, and whose truth values are deferred to post-transform time. A token is maybe -if it appears in the space-separated list @{mal.if.maybe}. If a subexpression +if it appears in the space-separated list {mal.if.maybe}. If a subexpression contains a maybe value and does not contain any false tokens, its truth value is a special string constructed from the maybe tokens and starting with the -string #{if__}. If any subexpressions are maybe and none of the subexpressions +string `if__`. If any subexpressions are maybe and none of the subexpressions are false, the return value is a space-separated list of the maybe strings. Maybe tokens usually must be handled specifically by the importing stylesheet. -It's usually not sufficient to just add a token to @{mal.if.maybe}. This +It's usually not sufficient to just add a token to {mal.if.maybe}. This template will handle any maybe token, but it does not handle the actual logic of dynamically showing or hiding content based on those tokens. --> diff --git a/xslt/mallard/common/mal-link.xsl b/xslt/mallard/common/mal-link.xsl index 923953f6..25ae61d2 100644 --- a/xslt/mallard/common/mal-link.xsl +++ b/xslt/mallard/common/mal-link.xsl @@ -25,7 +25,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard Links Common linking utilities for Mallard documents. -:Revision:version="3.4" date="2012-01-17" status="final" +@revision[version=3.4 date=2012-01-17 status=final] This stylesheet contains various utilities for handling links in Mallard documents. The templates in this stylesheet make it easier to handle the @@ -37,7 +37,7 @@ linking systems. <!--@@========================================================================== mal.cache.file The location of the cache file. -:Revision:version="3.0" date="2010-01-02" status="final" +@revision[version=3.0 date=2010-01-02 status=final] In order to locate and process links between pages, this stylesheet requires a Mallard cache file. Use this parameter to pass the path to a valid cache @@ -49,11 +49,11 @@ file. <!--@@========================================================================== mal.cache The cache document as a node set. -:Revision:version="3.0" date="2010-01-02" status="final" +@revision[version=3.0 date=2010-01-02 status=final] -This parameter points to the root #{cache:cache} element of a Mallard cache +This parameter points to the root `cache:cache` element of a Mallard cache document. By default, it selects the root element from the file provided in -@{mal.cache.file}. +{mal.cache.file}. Some processing tools may create a Mallard cache document without outputting it to a file. Those tools can use this parameter directly. @@ -63,30 +63,30 @@ it to a file. Those tools can use this parameter directly. <!--++========================================================================== mal.cache.key -Get a page or section from the #{id} attribute. -:Revision:version="3.4" date="2012-01-25" status="final" +Get a page or section from the `id` attribute. +@revision[version=3.4 date=2012-01-25 status=final] -This key returns a #{page} or #{section} element from a Mallard cache file from -the #{id} attribute. In cache files, the #{id} attribute of #{section} elements +This key returns a `page` or `section` element from a Mallard cache file from +the `id` attribute. In cache files, the `id` attribute of `section` elements is set to a qualified ID by prefixing it with the containing page ID and the hash character. -The context node must be in the document @{mal.cache} when this key is called. +The context node must be in the document {mal.cache} when this key is called. --> <xsl:key name="mal.cache.key" match="cache:cache//*" use="@id"/> <!--++========================================================================== mal.cache.link.key -Get #{link} elements from a link type and #{xref} attribute. -:Revision:version="3.4" date="2012-01-25" status="final" +Get `link` elements from a link type and `xref` attribute. +@revision[version=3.4 date=2012-01-25 status=final] -This key returns all #{link} elements from a Mallard cache file from the #{type} -and #{xref} attributes. They key is the concatenation of the #{type} attribute, -the colon character, and the #{xref} attribute. Only #{link} elements with both -a #{type} and #{xref} attribute are supported. +This key returns all `link` elements from a Mallard cache file from the `type` +and `xref` attributes. They key is the concatenation of the `type` attribute, +the colon character, and the `xref` attribute. Only `link` elements with both +a `type` and `xref` attribute are supported. -The context node must be in the document @{mal.cache} when this key is called. +The context node must be in the document {mal.cache} when this key is called. --> <xsl:key name="mal.cache.link.key" match="mal:info/mal:link[@type][@xref]" @@ -96,9 +96,9 @@ The context node must be in the document @{mal.cache} when this key is called. <!--@@========================================================================== mal.link.prefix A prefix for link targets. -:Revision:version="3.4" date="2012-01-17" status="final" +@revision[version=3.4 date=2012-01-17 status=final] -When link targets are constructed by *{mal.link.target} from #{xref} attributes, +When link targets are constructed by {mal.link.target} from `xref` attributes, this string is prepended. This can be used, for example, to specify absolute directories or URLs. --> @@ -108,9 +108,9 @@ directories or URLs. <!--@@========================================================================== mal.link.extension The filename extension for output files. -:Revision:version="3.4" date="2012-01-17" status="final" +@revision[version=3.4 date=2012-01-17 status=final] -When link targets are constructed by *{mal.link.target} from #{xref} attributes, +When link targets are constructed by {mal.link.target} from `xref` attributes, this string is appended. This is used to specify the file extension when creating output files from Mallard pages. --> @@ -120,10 +120,10 @@ output files from Mallard pages. <!--@@========================================================================== mal.link.default_root The default root ID. -:Revision:version="3.4" date="2012-01-17" status="final" +@revision[version=3.4 date=2012-01-17 status=final] This parameter provides the default ID for the page that is taken to be the -root of the document. By default, #{'index'} is used. This should not be +root of the document. By default, `'index'` is used. This should not be changed for normal Mallard documents. It may be necessary to change it for some Mallard extension formats. --> @@ -133,17 +133,19 @@ some Mallard extension formats. <!--**========================================================================== mal.link.linkid Output the fully qualified link ID for a page or section. -:Revision:version="3.0" date="2010-01-02" status="final" -$node: The #{page} or #{section} element to generate a link ID for. +@revision[version=3.0 date=2010-01-02 status=final] + +[xsl:params] +$node: The `page` or `section` element to generate a link ID for. This template outputs the fully qualified link ID for a page or section. For -#{page} elements, the link ID is identical to the ID. For #{section} elements, +`page` elements, the link ID is identical to the ID. For `section` elements, however, the link ID is the containing page ID and the section ID, joined with -the #{#} character. +the `#` character. -The link ID is used in Mallard cache files to ensure all #{id} attributes are +The link ID is used in Mallard cache files to ensure all `id` attributes are unique. All of the templates in this stylesheet that use a link ID use this -template or *{mal.link.xref.linkid}. +template or {mal.link.xref.linkid}. --> <xsl:template name="mal.link.linkid"> <xsl:param name="node" select="."/> @@ -163,16 +165,18 @@ template or *{mal.link.xref.linkid}. <!--**========================================================================== mal.link.xref.linkid -Output the fully qualified link ID for an #{xref} attribute. -:Revision:version="3.0" date="2010-01-02" status="final" -$node: The element containing an #{xref} attribute. -$xref: The #{xref} value to generate a link ID from. +Output the fully qualified link ID for an `xref` attribute. +@revision[version=3.0 date=2010-01-02 status=final] + +[xsl:params] +$node: The element containing an `xref` attribute. +$xref: The `xref` value to generate a link ID from. -This template outputs the fully qualified link ID for an #{xref} attribute. -This may simply be ${xref}, but if ${xref} starts with the #{#} character, it -is prefixed with the ID of the page that contains ${node}. +This template outputs the fully qualified link ID for an `xref` attribute. +This may simply be $xref, but if $xref starts with the `#` character, it +is prefixed with the ID of the page that contains $node. -See *{mal.link.linkid} for more on link IDs. +See {mal.link.linkid} for more on link IDs. --> <xsl:template name="mal.link.xref.linkid"> <xsl:param name="node" select="."/> @@ -186,39 +190,41 @@ See *{mal.link.linkid} for more on link IDs. <!--**========================================================================== mal.link.content -Output the content for a #{link} element. -:Revision:version="3.18" date="2015-06-06" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. +Output the content for a `link` element. +@revision[version=3.18 date=2015-06-06 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. $role: A space-separated list of link roles, used to select the appropriate title. -$info: An #{info} element that overrides the info found in a target node. +$info: An `info` element that overrides the info found in a target node. This template outputs the automatic text content for a link. It should only -be used for links that do not have specified content. If ${xref} points to a +be used for links that do not have specified content. If $xref points to a valid page or section, the appropriate link title from that page or section -will be selected, based on the list of roles in ${role}. The first role for +will be selected, based on the list of roles in $role. The first role for which a matching link title is found will be used. Otherwise, the link title -without a role is used, or the primary title. The %{mal.link.content.mode} +without a role is used, or the primary title. The {mal.link.content.mode} mode is applied to the contents of that title. Stylesheets using this template should map that mode to inline processing. -For inline links, ${node} should be the #{link} element. For links from a -#{links} element, ${node} should be that #{links} element, or the containing -element when the #{links} element is implicit. +For inline links, $node should be the `link` element. For links from a +`links` element, $node should be that `links` element, or the containing +element when the `links` element is implicit. -This template first calls *{mal.link.content.custom} with the same arguments. +This template first calls {mal.link.content.custom} with the same arguments. If that template returns a non-empty result, it is used as the return value, overriding any other behavior of this template. -If only ${href} is provided, that URL is used as the text content. If a target -page or section cannot be found, ${xref} is used as the text content. +If only $href is provided, that URL is used as the text content. If a target +page or section cannot be found, $xref is used as the text content. Normally, this template automatically looks up information from a targret node -according to the ${xref} parameter. However, if the ${info} parameter is given, +according to the $xref parameter. However, if the $info parameter is given, information in that node set is used instead. This is useful for external info -links, where the target information is provided as child elements to the #{link} +links, where the target information is provided as child elements to the `link` element. --> <xsl:template name="mal.link.content"> @@ -304,18 +310,20 @@ element. <!--**========================================================================== mal.link.content.custom -Output the content for a custom #{link} element. +Output the content for a custom `link` element. :Stub: true -:Revision:version="3.18" date="2015-06-06" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. +@revision[version=3.18 date=2015-06-06 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. $role: A space-separated list of link roles, used to select the appropriate title. -$info: An #{info} element that overrides the info found in a target node. +$info: An `info` element that overrides the info found in a target node. -This template is called by *{mal.link.content} to create content for custom -links. Use this template to support the #{action} attribute or extended #{xref} +This template is called by {mal.link.content} to create content for custom +links. Use this template to support the `action` attribute or extended `xref` attributes containing slash or colon characters. --> <xsl:template name="mal.link.content.custom"> @@ -330,12 +338,12 @@ attributes containing slash or colon characters. <!--%%========================================================================== mal.link.content.mode -Output the content for a link from the contents of a #{title} element. -:Revision:version="3.0" date="2010-01-02" status="final" +Output the content for a link from the contents of a `title` element. +@revision[version=3.0 date=2010-01-02 status=final] -This mode is applied to the contents of a #{title} element by *{mal.link.content}. +This mode is applied to the contents of a `title` element by {mal.link.content}. By default, it returns the string value of its input. Stylesheets that use -*{mal.link.content} should map this mode to inline processing. +{mal.link.content} should map this mode to inline processing. --> <xsl:template mode="mal.link.content.mode" match="* | text()"> <xsl:value-of select="."/> @@ -344,32 +352,34 @@ By default, it returns the string value of its input. Stylesheets that use <!--**========================================================================== mal.link.desc -Output the desc content for a #{link} element. -:Revision:version="3.18" date="2015-06-06" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. +Output the desc content for a `link` element. +@revision[version=3.18 date=2015-06-06 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. $role: A space-separated list of link roles, used to select the appropriate desc. -$info: An #{info} element that overrides the info found in a target node. +$info: An `info` element that overrides the info found in a target node. -This template outputs the secondary desc text content for a link. If ${xref} +This template outputs the secondary desc text content for a link. If $xref points to a valid page or section, the desc from that page or section will be -used. The %{mal.link.content.mode} mode is applied to the contents of that +used. The {mal.link.content.mode} mode is applied to the contents of that desc. Stylesheets using this template should map that mode to inline processing. -For inline links, ${node} should be the #{link} element. For links from a -#{links} element, ${node} should be that #{links} element, or the containing -element when the #{links} element is implicit. +For inline links, $node should be the `link` element. For links from a +`links` element, $node should be that `links` element, or the containing +element when the `links` element is implicit. -This template first calls *{mal.link.desc.custom} with the same arguments. +This template first calls {mal.link.desc.custom} with the same arguments. If that template returns a non-empty result, it is used as the return value, overriding any other behavior of this template. Normally, this template automatically looks up information from a targret node -according to the ${xref} parameter. However, if the ${info} parameter is given, +according to the $xref parameter. However, if the $info parameter is given, information in that node set is used instead. This is useful for external info -links, where the target information is provided as child elements to the #{link} +links, where the target information is provided as child elements to the `link` element. --> <xsl:template name="mal.link.desc"> @@ -418,18 +428,20 @@ element. <!--**========================================================================== mal.link.desc.custom -Output the desc content for a custom #{link} element. +Output the desc content for a custom `link` element. :Stub: true -:Revision:version="3.18" date="2015-06-06" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. +@revision[version=3.18 date=2015-06-06 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. $role: A space-separated list of link roles, used to select the appropriate title. -$info: An #{info} element that overrides the info found in a target node. +$info: An `info` element that overrides the info found in a target node. -This template is called by *{mal.link.desc} to create content for custom links. -Use this template to support the #{action} attribute or extended #{xref} +This template is called by {mal.link.desc} to create content for custom links. +Use this template to support the `action` attribute or extended `xref` attributes containing slash or colon characters. --> <xsl:template name="mal.link.desc.custom"> @@ -444,35 +456,37 @@ attributes containing slash or colon characters. <!--**========================================================================== mal.link.tooltip -Output a tooltip for a #{link} element. -:Revision:version="3.18" date="2015-06-06" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. +Output a tooltip for a `link` element. +@revision[version=3.18 date=2015-06-06 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. $role: A space-separated list of link roles, used to select the appropriate title. -$info: An #{info} element that overrides the info found in a target node. +$info: An `info` element that overrides the info found in a target node. -This template outputs a text-only tooltip for a link. If ${xref} points to a +This template outputs a text-only tooltip for a link. If $xref points to a valid page or section, the text title from that page or section will be used. If the target does not specify a text title, the primary title is used. -For inline links, ${node} should be the #{link} element. For links from a -#{links} element, ${node} should be that #{links} element, or the containing -element when the #{links} element is implicit. +For inline links, $node should be the `link` element. For links from a +`links` element, $node should be that `links` element, or the containing +element when the `links` element is implicit. -This template first calls *{mal.link.tooltip.custom} with the same arguments. +This template first calls {mal.link.tooltip.custom} with the same arguments. If that template returns a non-empty string, it is used as the return value, overriding any other behavior of this template. -If only ${href} is provided, that URL is used as the tooltip. If a target -page or section cannot be found, ${xref} is used as the text content. Special +If only $href is provided, that URL is used as the tooltip. If a target +page or section cannot be found, $xref is used as the text content. Special tooltips may be provided for certain URI schemes. Normally, this template automatically looks up information from a targret node -according to the ${xref} parameter. However, if the ${info} parameter is given, +according to the $xref parameter. However, if the $info parameter is given, information in that node set is used instead. This is useful for external info -links, where the target information is provided as child elements to the #{link} +links, where the target information is provided as child elements to the `link` element. --> <xsl:template name="mal.link.tooltip"> @@ -542,18 +556,20 @@ element. <!--**========================================================================== mal.link.tooltip.custom -Output a tooltip for a custom #{link} element. +Output a tooltip for a custom `link` element. :Stub: true -:Revision:version="3.18" date="2015-06-06" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. +@revision[version=3.18 date=2015-06-06 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. $role: A space-separated list of link roles, used to select the appropriate title. -$info: An #{info} element that overrides the info found in a target node. +$info: An `info` element that overrides the info found in a target node. -This template is called by *{mal.link.tooltip} to create tooltips for custom -links. Use this template to support the #{action} attribute or extended #{xref} +This template is called by {mal.link.tooltip} to create tooltips for custom +links. Use this template to support the `action` attribute or extended `xref` attributes containing slash or colon characters. --> <xsl:template name="mal.link.tooltip.custom"> @@ -568,28 +584,30 @@ attributes containing slash or colon characters. <!--**========================================================================== mal.link.target -Output the target URL for a #{link} or other linking element. -:Revision:version="3.28" date="2017-08-11" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. - -This template outputs a URL for a #{link} element or another element using -linking attributes. If ${xref} points to a valid page or section, it uses -a file name based on the ID of the target page plus @{mal.link.extension}. -Otherwise, the link will point to ${href}. - -For inline links, ${node} should be the #{link} element. For links from a -#{links} element, ${node} should be that #{links} element, or the containing -element when the #{links} element is implicit. - -This template first calls *{mal.link.target.custom} with the same arguments. +Output the target URL for a `link` or other linking element. +@revision[version=3.28 date=2017-08-11 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. + +This template outputs a URL for a `link` element or another element using +linking attributes. If $xref points to a valid page or section, it uses +a file name based on the ID of the target page plus {mal.link.extension}. +Otherwise, the link will point to $href. + +For inline links, $node should be the `link` element. For links from a +`links` element, $node should be that `links` element, or the containing +element when the `links` element is implicit. + +This template first calls {mal.link.target.custom} with the same arguments. If that template returns a non-empty string, it is used as the return value, overriding any other behavior of this template. -If ${xref} contains a #{/} or #{:} character, this template calls -*{mal.link.target.extended}, which by default just uses ${href} instead. +If $xref contains a `/` or `:` character, this template calls +{mal.link.target.extended}, which by default just uses $href instead. Override that template to provide extended xref behavior. --> <xsl:template name="mal.link.target"> @@ -662,18 +680,20 @@ fallback to the built-in behavior. <!--**========================================================================== mal.link.target.extended -Output the target URL for an element with an extended #{xref} attribute. +Output the target URL for an element with an extended `xref` attribute. :Stub: true -:Revision:version="3.28" date="2017-08-11" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. - -This template is called by *{mal.link.target} to create URLs for links with -a #{/} or #{:} in the #{xref} attribute. By default, it just outputs the -value of ${href}. Override this template to provide behavior for extended -#{xref} attributes. +@revision[version=3.28 date=2017-08-11 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. + +This template is called by {mal.link.target} to create URLs for links with +a `/` or `:` in the `xref` attribute. By default, it just outputs the +value of $href. Override this template to provide behavior for extended +`xref` attributes. --> <xsl:template name="mal.link.target.extended"> <xsl:param name="node" select="."/> @@ -686,16 +706,18 @@ value of ${href}. Override this template to provide behavior for extended <!--**========================================================================== mal.link.target.custom -Output the target URL for an element with #{action} or extended #{xref} attributes. +Output the target URL for an element with `action` or extended `xref` attributes. :Stub: true -:Revision:version="3.4" date="2012-01-17" status="final" -$node: The #{link} or other element creating the link. -$action: The #{action} attribute of ${node}. -$xref: The #{xref} attribute of ${node}. -$href: The #{href} attribute of ${node}. - -This template is called by *{mal.link.target} to create URLs for custom links. -Use this template to support the #{action} attribute or extended #{xref} +@revision[version=3.4 date=2012-01-17 status=final] + +[xsl:params] +$node: The `link` or other element creating the link. +$action: The `action` attribute of $node. +$xref: The `xref` attribute of $node. +$href: The `href` attribute of $node. + +This template is called by {mal.link.target} to create URLs for custom links. +Use this template to support the `action` attribute or extended `xref` attributes containing slash or colon characters. --> <xsl:template name="mal.link.target.custom"> @@ -709,31 +731,33 @@ attributes containing slash or colon characters. <!--**========================================================================== mal.link.guidelinks Output the guide links for a page or section. -:Revision:version="3.18" date="2015-06-07" status="final" -$node: The #{page} or #{section} element to generate links for. -$role: A space-separated list of link roles, used to select the appropriate title, default #{"guide"}. +@revision[version=3.18 date=2015-06-07 status=final] + +[xsl:params] +$node: The `page` or `section` element to generate links for. +$role: A space-separated list of link roles, used to select the appropriate title, default `"guide"`. This template outputs all the guide links for a page or section, whether declared as guide links in the page or section or as topic links from another -guide page. It outputs each of the links as a #{link} element within the -Mallard namespace. Each #{link} element has an #{xref} attribute pointing -to the target page or section. Or, in the case of external links, the #{link} -element has an #{href} attribute pointing to the external resource. +guide page. It outputs each of the links as a `link` element within the +Mallard namespace. Each `link` element has an `xref` attribute pointing +to the target page or section. Or, in the case of external links, the `link` +element has an `href` attribute pointing to the external resource. -Each #{link} element contains a #{title} with #{type="sort"} providing the -sort title of the target page or section. The ${role} attribute is used to +Each `link` element contains a `title` with `type="sort"` providing the +sort title of the target page or section. The $role attribute is used to select a link title to sort on when a sort title is not present. The results -are not sorted when returned from this template. Use #{xsl:sort} on the sort +are not sorted when returned from this template. Use `xsl:sort` on the sort titles to sort the results. -When a link comes from a guide link on ${node} that has an #{href} -attribute but not an #{xref} attribute, it is taken to be an external -link. In that case, the output link has an #{href} attribute instead of -an #{xref} attribute, and it has an #{info} child element. This element -has a copy of all the child elements of the source #{link} element. +When a link comes from a guide link on $node that has an `href` +attribute but not an `xref` attribute, it is taken to be an external +link. In that case, the output link has an `href` attribute instead of +an `xref` attribute, and it has an `info` child element. This element +has a copy of all the child elements of the source `link` element. The output is a result tree fragment. To use these results, call -#{exsl:node-set} on them. +`exsl:node-set` on them. --> <xsl:template name="mal.link.guidelinks"> <xsl:param name="node" select="."/> @@ -810,40 +834,42 @@ The output is a result tree fragment. To use these results, call <!--**========================================================================== mal.link.topiclinks Output the topic links for a page or section. -:Revision:version="3.18" date="2015-06-06" status="final" -$node: The #{page} or #{section} element to generate links for. -$groups: The list of all valid link groups for ${node}. -$role: A space-separated list of link roles, used to select the appropriate title, default #{"topic"}. +@revision[version=3.18 date=2015-06-06 status=final] + +[xsl:params] +$node: The `page` or `section` element to generate links for. +$groups: The list of all valid link groups for $node. +$role: A space-separated list of link roles, used to select the appropriate title, default `"topic"`. This template outputs all the topic links for a guide page or section, whether declared as topic links in the page or section or as guide links from another -page or section. It outputs each of the links as a #{link} element within the -Mallard namespace. Each #{link} element has an #{xref} attribute pointing -to the target page or section. Or, in the case of external links, the #{link} -element has an #{href} attribute pointing to the external resource. +page or section. It outputs each of the links as a `link` element within the +Mallard namespace. Each `link` element has an `xref` attribute pointing +to the target page or section. Or, in the case of external links, the `link` +element has an `href` attribute pointing to the external resource. -Each #{link} element contains a #{title} with #{type="sort"} providing the -sort title of the target page or section. The ${role} attribute is used to +Each `link` element contains a `title` with `type="sort"` providing the +sort title of the target page or section. The $role attribute is used to select a link title to sort on when a sort title is not present. The results -are not sorted when returned from this template. Use #{xsl:sort} on the sort +are not sorted when returned from this template. Use `xsl:sort` on the sort titles to sort the results. -Each #{link} element also contains a #{group} attribute. The #{group} +Each `link` element also contains a `group` attribute. The `group` attribute is normalized. It will either point to a link group declared -in ${groups}, or it will be set to #{#default}. Each #{link} element also -contains a #{groupsort} attribute giving the numerical position of the -#{group} attribute in the normalized group list for ${node}. +in $groups, or it will be set to `#default`. Each `link` element also +contains a `groupsort` attribute giving the numerical position of the +`group` attribute in the normalized group list for $node. -The ${groups} parameter can be calculated automatically from ${node}. +The $groups parameter can be calculated automatically from $node. -When a link comes from a topic link on ${node} that has an #{href} -attribute but not an #{xref} attribute, it is taken to be an external -link. In that case, the output link has an #{href} attribute instead of -an #{xref} attribute, and it has an #{info} child element. This element -has a copy of all the child elements of the source #{link} element. +When a link comes from a topic link on $node that has an `href` +attribute but not an `xref` attribute, it is taken to be an external +link. In that case, the output link has an `href` attribute instead of +an `xref` attribute, and it has an `info` child element. This element +has a copy of all the child elements of the source `link` element. The output is a result tree fragment. To use these results, call -#{exsl:node-set} on them. +`exsl:node-set` on them. --> <xsl:template name="mal.link.topiclinks"> <xsl:param name="node" select="."/> @@ -1023,31 +1049,33 @@ The output is a result tree fragment. To use these results, call <!--**========================================================================== mal.link.seealsolinks Output the see-also links for a page or section. -:Revision:version="3.18" date="2015-06-07" status="final" -$node: The #{page} or #{section} element to generate links for. -$role: A space-separated list of link roles, used to select the appropriate title, default #{"seealso"}. +@revision[version=3.18 date=2015-06-07 status=final] + +[xsl:params] +$node: The `page` or `section` element to generate links for. +$role: A space-separated list of link roles, used to select the appropriate title, default `"seealso"`. This template outputs all the see-also links for a page or section, whether declared in the page or section or in another page or section. It outputs -each of the links as a #{link} element within the Mallard namespace. Each -#{link} element has an #{xref} attribute pointing to the target page or section. -Or, in the case of external links, the #{link} element has an #{href} attribute +each of the links as a `link` element within the Mallard namespace. Each +`link` element has an `xref` attribute pointing to the target page or section. +Or, in the case of external links, the `link` element has an `href` attribute pointing to the external resource. -Each #{link} element contains a #{title} with #{type="sort"} providing the -sort title of the target page or section. The ${role} attribute is used to +Each `link` element contains a `title` with `type="sort"` providing the +sort title of the target page or section. The $role attribute is used to select a link title to sort on when a sort title is not present. The results -are not sorted when returned from this template. Use #{xsl:sort} on the sort +are not sorted when returned from this template. Use `xsl:sort` on the sort titles to sort the results. -When a link comes from a topic link on ${node} that has an #{href} -attribute but not an #{xref} attribute, it is taken to be an external -link. In that case, the output link has an #{href} attribute instead of -an #{xref} attribute, and it has an #{info} child element. This element -has a copy of all the child elements of the source #{link} element. +When a link comes from a topic link on $node that has an `href` +attribute but not an `xref` attribute, it is taken to be an external +link. In that case, the output link has an `href` attribute instead of +an `xref` attribute, and it has an `info` child element. This element +has a copy of all the child elements of the source `link` element. The output is a result tree fragment. To use these results, call -#{exsl:node-set} on them. +`exsl:node-set` on them. --> <xsl:template name="mal.link.seealsolinks"> <xsl:param name="node" select="."/> @@ -1124,36 +1152,38 @@ The output is a result tree fragment. To use these results, call <!--**========================================================================== mal.link.linktrails Output link trails for a page or section. -:Revision:version="3.4" date="2012-01-18" status="final" -$node: The #{page} or #{section} element to generate links for. -$trail: The link trail leading to ${node}. +@revision[version=3.4 date=2012-01-18 status=final] + +[xsl:params] +$node: The `page` or `section` element to generate links for. +$trail: The link trail leading to $node. $root: The ID of the root page. This template outputs lists of links, where each list is a path of topic links -that leads to ${node}. Each link list is output as a #{link} element in the -Mallard namespace with an #{xref} attribute pointing to the target page or -section. Each #{link} has a #{title} element with #{type="sort"} providing +that leads to $node. Each link list is output as a `link` element in the +Mallard namespace with an `xref` attribute pointing to the target page or +section. Each `link` has a `title` element with `type="sort"` providing the sort title of the target page or section. -Each #{link} element may also contain another #{link} element providing the +Each `link` element may also contain another `link` element providing the next link in the trail. Each of these links also contains a sort titles and may also contain another link. -The results are not sorted when returned from this template. Use #{xsl:sort} +The results are not sorted when returned from this template. Use `xsl:sort` on the nested sort titles to sort the results. The output is a result tree -fragment. To use these results, call #{exsl:node-set} on them. +fragment. To use these results, call `exsl:node-set` on them. -This template calls itself recursively. It finds the guide links for ${node} -using *{mal.link.guidelinks}. It then calls *{mal.link.linktrails} on each -guide, wrapping ${trail} with a link to the guide as the new ${trail} parameter. +This template calls itself recursively. It finds the guide links for $node +using {mal.link.guidelinks}. It then calls {mal.link.linktrails} on each +guide, wrapping $trail with a link to the guide as the new $trail parameter. -If there are no guide links for ${node} and ${node} is a #{section} element, -this template calls itself on the containing page, wrapping ${trails} with a -link to that page. This #{link} element has the attribute #{child="section"} +If there are no guide links for $node and $node is a `section` element, +this template calls itself on the containing page, wrapping $trails with a +link to that page. This `link` element has the attribute `child="section"` to indicate the link from it to its child is not a topic link. -Recursion stops when the ID of ${node} is ${root}. Link trails are only -output if they reach ${root}, which is @{mal.link.default_root} by default. +Recursion stops when the ID of $node is $root. Link trails are only +output if they reach $root, which is {mal.link.default_root} by default. --> <!-- FIXME: @@ -1233,14 +1263,16 @@ FIXME: <!--**========================================================================== mal.link.sorttitle Output the sort title for a page or section. -:Revision:version="3.10" date="2013-07-30" status="final" -$node: The #{page} or #{section} element to output a sort title for. +@revision[version=3.10 date=2013-07-30 status=final] + +[xsl:params] +$node: The `page` or `section` element to output a sort title for. $role: A space-separated list of link roles, used to select the appropriate title. This template returns a sort title for a page or section as a normalized string. -If ${node} defines a sort title in its #{info} element, the value of that title -is always used first. Otherwise, if ${role} is defined and ${node} has a link -title with a matching role, that title is used. Otherwise, if ${node} has a link +If $node defines a sort title in its `info` element, the value of that title +is always used first. Otherwise, if $role is defined and $node has a link +title with a matching role, that title is used. Otherwise, if $node has a link title with no role, that title is used. Otherwise, the primary title is used. --> <xsl:template name="mal.link.sorttitle"> diff --git a/xslt/mallard/common/mal-sort.xsl b/xslt/mallard/common/mal-sort.xsl index f76c4206..1384eada 100644 --- a/xslt/mallard/common/mal-sort.xsl +++ b/xslt/mallard/common/mal-sort.xsl @@ -25,8 +25,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard Topological Sort Sort a Mallard document. -:Requires: mal-link -:Revision:version="1.0" date="2010-07-08" +@revision[version=1.0 date=2010-07-08] This stylesheet contains utilities for sorting the pages in a Mallard document based on their informational links. @@ -36,20 +35,22 @@ document based on their informational links. <!--**========================================================================== mal.sort.tsort Sort pages based on topic and next links. -:Revision:version="1.0" date="2010-07-08" -$node: The current #{page} in the Mallard cache file. +@revision[version=1.0 date=2010-07-08] + +[xsl:params] +$node: The current `page` in the Mallard cache file. This template outputs links to pages sorted according to their topic and next links. Pages occur after the first guide that references them, in their sort order for that guide. Page series constructed with next links always appear in order at the sort position of their first page. -This template outputs #{link} elements with #{xref} attributes pointing to +This template outputs `link` elements with `xref` attributes pointing to the target page. The output is a result tree fragment. To use these results, -call #{exsl:node-set} on them. +call `exsl:node-set` on them. -You can specify a starting node with the ${node} parameter. By default, it -uses the node pointed to by @{mal.link.default_root}. +You can specify a starting node with the $node parameter. By default, it +uses the node pointed to by {mal.link.default_root}. This template does not include any nodes that are not reachable through topic or next links. diff --git a/xslt/mallard/html/mal2html-api.xsl b/xslt/mallard/html/mal2html-api.xsl index b97f8063..ec969518 100644 --- a/xslt/mallard/html/mal2html-api.xsl +++ b/xslt/mallard/html/mal2html-api.xsl @@ -37,17 +37,19 @@ extension. <!--**========================================================================== mal2html.api.links.function Output links as a synopsis of functions. -$node: A #{links} element to link from. + +[xsl:params] +$node: A `links` element to link from. $links: A list of topic links already filtered by group. This template outputs links as a synopsis according to the programming language -specified by the #{api:mime} attribute of ${node}. If #{api:mime} is recognized, +specified by the `api:mime` attribute of $node. If `api:mime` is recognized, one of the language-specific templates in this stylesheet is called. Otherwise, -the links are passed to *{mal2html.links.ul}. +the links are passed to {mal2html.links.ul}. -This template does not handle titles or other wrapper information for #{links} +This template does not handle titles or other wrapper information for `links` elements. It should be called by an appropriate template that handles the -#{links} element. +`links` element. --> <xsl:template name="mal2html.api.links.function"> <xsl:param name="node" select="."/> @@ -72,14 +74,16 @@ elements. It should be called by an appropriate template that handles the <!--**========================================================================== mal2html.api.links.function.c Output links as a synopsis of C functions. -$node: A #{links} element to link from. + +[xsl:params] +$node: A `links` element to link from. $links: A list of topic links already filtered by group. This template outputs links as a synopsis of C functions. It is called by -*{mal2html.api.links.function} when the #{api:mime} attribute of ${node} is -#{text/x-csrc} or #{text/x-chdr}. The target nodes of ${links} are expected -to have at least an #{api:name} element. Any links whose target does not -have an #{api:name} element will be passed to *{mal2html.links.ul} after +{mal2html.api.links.function} when the `api:mime` attribute of $node is +`text/x-csrc` or `text/x-chdr`. The target nodes of $links are expected +to have at least an `api:name` element. Any links whose target does not +have an `api:name` element will be passed to {mal2html.links.ul} after the synopsis. --> <xsl:template name="mal2html.api.links.function.c"> diff --git a/xslt/mallard/html/mal2html-block.xsl b/xslt/mallard/html/mal2html-block.xsl index 6c9dd19a..f90a1bf6 100644 --- a/xslt/mallard/html/mal2html-block.xsl +++ b/xslt/mallard/html/mal2html-block.xsl @@ -27,7 +27,7 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML - Blocks Handle simple Mallard block elements. -:Revision:version="1.0" date="2010-06-03" status="final" +@revision[version=1.0 date=2010-06-03 status=final] This stylesheet contains templates for handling most Mallard block elements, except the list and table elements. @@ -36,17 +36,17 @@ except the list and table elements. <!--**========================================================================== mal2html.pre -Output an HTML #{pre} element. -:Revision:version="3.12" date="2013-11-02" status="final" -$node: The source element to output a #{pre} for. +Output an HTML `pre` element. +@revision[version=3.12 date=2013-11-02 status=final] +$node: The source element to output a `pre` for. -This template outputs an HTML #{pre} element along with a wrapper #{div} element +This template outputs an HTML `pre` element along with a wrapper `div` element for CSS styling. It should be called for verbatim block elements. It will -automatically strip leading and trailing newlines using *{utils.strip_newlines}. +automatically strip leading and trailing newlines using {utils.strip_newlines}. -If @{html.syntax.highlight} is #{true}, this template automatically outputs -syntax highlighting support based on the #{mime} attribute of ${node}, using -*{html.syntax.class} to determine the correct highlighter. +If {html.syntax.highlight} is `true`, this template automatically outputs +syntax highlighting support based on the `mime` attribute of $node, using +{html.syntax.class} to determine the correct highlighter. --> <xsl:template name="mal2html.pre"> <xsl:param name="node" select="."/> @@ -111,7 +111,7 @@ syntax highlighting support based on the #{mime} attribute of ${node}, using <!--%%========================================================================== mal2html.block.mode Process Mallard elements in block mode. -:Revision:version="1.0" date="2010-06-03" status="final" +@revision[version=1.0 date=2010-06-03 status=final] $restricted: Whether this is restricted block mode. This mode is applied to elements in block context. It should be called by @@ -120,12 +120,12 @@ may appear in both block an inline mode, and the processing expectations for those elements is different depending on context. Implementations of this mode should generally output a wrapper div and process -the child elements, either in %{mal2html.block.mode} or %{mal2html.inline.mode}, +the child elements, either in {mal2html.block.mode} or {mal2html.inline.mode}, or using special processing for particular content models. When this mode encounters unknown content, templates in the same mode are -applied to the children, but the ${restricted} parameter is set to #{true}. -When ${restricted} is #{true}, unknown block elements are ignored. This is +applied to the children, but the $restricted parameter is set to `true`. +When $restricted is `true`, unknown block elements are ignored. This is in accordance with the Mallard specification on fallback block content. --> <xsl:template mode="mal2html.block.mode" match="*"> diff --git a/xslt/mallard/html/mal2html-gloss.xsl b/xslt/mallard/html/mal2html-gloss.xsl index a7bb7a28..749b7524 100644 --- a/xslt/mallard/html/mal2html-gloss.xsl +++ b/xslt/mallard/html/mal2html-gloss.xsl @@ -36,11 +36,13 @@ Mallard Glossary extension in HTML. <!--**========================================================================== mal2html.gloss.terms Display the glossary terms for a page or section. -$node: The glossary #{page} or #{section} to output terms for. + +[xsl:params] +$node: The glossary `page` or `section` to output terms for. This template shows the glossary terms for a page or section. It collects the -terms with the *{mal.gloss.terms} template, sorts them, and merges terms with -the same primary title. Terms that are not defined in the same page as ${node} +terms with the {mal.gloss.terms} template, sorts them, and merges terms with +the same primary title. Terms that are not defined in the same page as $node include a link to their defining page. --> <xsl:template name="mal2html.gloss.terms"> diff --git a/xslt/mallard/html/mal2html-inline.xsl b/xslt/mallard/html/mal2html-inline.xsl index 67232626..4048b261 100644 --- a/xslt/mallard/html/mal2html-inline.xsl +++ b/xslt/mallard/html/mal2html-inline.xsl @@ -24,10 +24,10 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML - Inlines Handle simple Mallard inline elements. -:Revision:version="3.8" date="2012-11-13" status="final" +@revision[version=3.8 date=2012-11-13 status=final] This stylesheet contains templates to handle most Mallard inline elements. -It also maps %{mal.link.content.mode} to %{mal2html.inline.mode}. +It also maps {mal.link.content.mode} to {mal2html.inline.mode}. --> <xsl:template mode="mal.link.content.mode" match="*"> @@ -38,7 +38,7 @@ It also maps %{mal.link.content.mode} to %{mal2html.inline.mode}. <!--%%========================================================================== mal2html.inline.mode Process Mallard elements in inline mode. -:Revision:version="3.8" date="2012-11-13" status="final" +@revision[version=3.8 date=2012-11-13 status=final] This mode is applied to elements in inline context. It is be called by certain block elements and inline elements to process child content. Certain elements @@ -46,9 +46,9 @@ may appear in both block and inline mode, and the processing expectations for those elements is different depending on context. Implementations of this mode should handle ubiquitous linking, text directionality, -and other common inline features. Note that the *{mal2html.span} template handles +and other common inline features. Note that the {mal2html.span} template handles these things automatically, and is suitable for most inline elements. You can use -the %{mal2html.inline.content.mode} to output special content for the child +the {mal2html.inline.content.mode} to output special content for the child elements. --> <xsl:template mode="mal2html.inline.mode" match="*"> @@ -63,11 +63,11 @@ elements. <!--%%========================================================================== mal2html.inline.content.mode Output the contents of an inline element. -:Revision:version="1.0" date="2010-06-03" status="final" +@revision[version=1.0 date=2010-06-03 status=final] This template outputs the contents of the inline element it matches. It is -usually called by *{mal2html.span} to allow elements like #{guiseq}, #{keyseq}, -and #{link} output special inner contents while still using the generic wrapper +usually called by {mal2html.span} to allow elements like `guiseq`, `keyseq`, +and `link` output special inner contents while still using the generic wrapper template. --> <xsl:template mode="mal2html.inline.content.mode" match="node()"> @@ -77,18 +77,20 @@ template. <!--**========================================================================== mal2html.span -Output an HTML #{span} element. -:Revision:version="3.10" date="2013-07-10" status="final" -$node: The source element to output a #{span} for. -$class: An additional string to prepend to the #{class} attribute. - -This template outputs an HTML #{span} element for a source element. It creates -a #{class} attribute automatically by passing the local name of ${node} and the -${class} parameter to *{html.class.attr}. To output the contents of ${node}, it -applies the mode %{mal2html.inline.content.mode} to ${node}. - -This template automatically handles ubiquitous linking if ${node} contains -an #{xref} or #{href} attribute. +Output an HTML `span` element. +@revision[version=3.10 date=2013-07-10 status=final] + +[xsl:params] +$node: The source element to output a `span` for. +$class: An additional string to prepend to the `class` attribute. + +This template outputs an HTML `span` element for a source element. It creates +a `class` attribute automatically by passing the local name of $node and the +$class parameter to {html.class.attr}. To output the contents of $node, it +applies the mode {mal2html.inline.content.mode} to $node. + +This template automatically handles ubiquitous linking if $node contains +an `xref` or `href` attribute. --> <xsl:template name="mal2html.span"> <xsl:param name="node" select="."/> diff --git a/xslt/mallard/html/mal2html-links.xsl b/xslt/mallard/html/mal2html-links.xsl index 29d22083..3099894c 100644 --- a/xslt/mallard/html/mal2html-links.xsl +++ b/xslt/mallard/html/mal2html-links.xsl @@ -43,24 +43,26 @@ Mallard links element and implicitly. <!--**========================================================================== mal2html.links.links Output links in one of a number of formats. -:Revision:version="3.10" date="2013-07-30" status="final" -$node: A #{links}, #{page}, or #{section} element to link from. +@revision[version=3.10 date=2013-07-30 status=final] + +[xsl:params] +$node: A `links`, `page`, or `section` element to link from. $depth: The depth level for the HTML header element. -$links: A list of links, as from a template in !{mal-link}. +$links: A list of links, as from a template in {mal-link}. $role: A space-separated list of link roles, used to select the appropriate title. $divs: Whether to default to divs instead of a list. -$title: A default title to use if no #{title} element is found. +$title: A default title to use if no `title` element is found. -This is a common formatting template used by some #{links} element handlers. +This is a common formatting template used by some `links` element handlers. It selects an appropriate way to render the links based on style hints and -extension attributes on ${node}. This template (or the templates it calls) -will pass through #{class} and #{data-*} attributes found on the #{link} +extension attributes on $node. This template (or the templates it calls) +will pass through `class` and `data-*` attributes found on the `link` elements to the top-level container element of each output link. This template handles link sorting. -If ${node} is a #{links} element with a #{title} element, that #{title} -element will be processed as the title. Otherwise, the optional ${title} +If $node is a `links` element with a `title` element, that `title` +element will be processed as the title. Otherwise, the optional $title parameter will be used if provided. --> <xsl:template name="mal2html.links.links"> @@ -251,16 +253,18 @@ parameter will be used if provided. <!--**========================================================================== mal2html.links.ul -Output links in an HTML #{ul} element. -:Revision:version="3.28" date="2017-08-04" status="final" -$node: A #{links} element to link from. -$links: A list of links, as from a template in !{mal-link}. +Output links in an HTML `ul` element. +@revision[version=3.28 date=2017-08-04 status=final] + +[xsl:params] +$node: A `links` element to link from. +$links: A list of links, as from a template in {mal-link}. $role: A space-separated list of link roles, used to select the appropriate title. $bold: Whether to bold the link titles. $nodesc: Whether to omit descriptions. -This is a common formatting template used by some #{links} element handlers. -It outputs an HTML #{ul} element and calls *{mal2html.links.ul.li} on each +This is a common formatting template used by some `links` element handlers. +It outputs an HTML `ul` element and calls {mal2html.links.ul.li} on each link to output a list item with a link. This template handles link sorting. @@ -290,15 +294,17 @@ This template handles link sorting. <!--**========================================================================== mal2html.links.ul.li Output a list item with a link. -:Revision:version="3.10" date="2013-07-30" status="final" -$node: A #{links} element to link from. -$link: The #{link} element from a list of links. -$xref: An #{xref} string pointing to the target node. +@revision[version=3.10 date=2013-07-30 status=final] + +[xsl:params] +$node: A `links` element to link from. +$link: The `link` element from a list of links. +$xref: An `xref` string pointing to the target node. $role: A space-separated list of link roles, used to select the appropriate title. $bold: Whether to bold the link titles. $nodesc: Whether to omit descriptions. -This template is called by *{mal2html.links.ul} to output a list item with +This template is called by {mal2html.links.ul} to output a list item with a link for each target. --> <xsl:template name="mal2html.links.ul.li"> @@ -374,13 +380,15 @@ a link for each target. <!--**========================================================================== mal2html.links.guide Output guide links from a page or section. -:Revision:version="3.4" date="2012-02-23" status="final" -$node: A #{links}, #{page}, or #{section} element to link from. +@revision[version=3.4 date=2012-02-23 status=final] + +[xsl:params] +$node: A `links`, `page`, or `section` element to link from. $depth: The depth level for the HTML header element. -$links: A list of links from *{mal.link.guidelinks}. +$links: A list of links from {mal.link.guidelinks}. This template outputs guide links for a page or section. It does not extract -the links itself. They must be passed in with the ${links} parameter. +the links itself. They must be passed in with the $links parameter. --> <xsl:template name="mal2html.links.guide" match="mal:links[@type = 'guide']"> <xsl:param name="node" select="."/> @@ -416,17 +424,19 @@ the links itself. They must be passed in with the ${links} parameter. <!--**========================================================================== mal2html.links.prevnext Output links to the previous and next pages. -:Revision:version="1.0" date="2011-06-15" status="final" -$node: A #{links} or #{page} element to link from. +@revision[version=1.0 date=2011-06-15 status=final] + +[xsl:params] +$node: A `links` or `page` element to link from. This template outputs links to the previous and next page in a Mallard series, if they exist. The block containing the links is end-floated by default. The links use the text "Previous" and "Next", although the actual page titles are used for tooltips. -If the #{links} element has the style hint #{top}, it will be inserted before +If the `links` element has the style hint `top`, it will be inserted before the page title, instead of in its position on the page. This is handled by the -calling functions in !{mal2html-page}. +calling functions in {mal2html-page}. --> <xsl:template name="mal2html.links.prevnext" match="mal:links[@type = 'prevnext']"> <xsl:param name="node" select="."/> @@ -503,12 +513,14 @@ calling functions in !{mal2html-page}. <!--**========================================================================== mal2html.links.section Output links to subsections. -:Revision:version="1.0" date="2011-06-15" status="final" -$node: The section #{links} element. +@revision[version=1.0 date=2011-06-15 status=final] + +[xsl:params] +$node: The section `links` element. $depth: The depth level for the HTML header element. -This template outputs links to the child sections of the #{page} or #{section} -element containing ${node}. +This template outputs links to the child sections of the `page` or `section` +element containing $node. --> <xsl:template name="mal2html.links.section" match="mal:links[@type = 'section']"> <xsl:param name="node" select="."/> @@ -600,13 +612,15 @@ element containing ${node}. <!--**========================================================================== mal2html.links.seealso Output seealso links from a page or section. -:Revision:version="3.4" date="2012-02-23" status="final" -$node: A #{links}, #{page}, or #{section} element to link from. +@revision[version=3.4 date=2012-02-23 status=final] + +[xsl:params] +$node: A `links`, `page`, or `section` element to link from. $depth: The depth level for the HTML header element. -$links: A list of links from *{mal.link.seealsolinks}. +$links: A list of links from {mal.link.seealsolinks}. This template outputs seealso links for a page or section. It does not extract -the links itself. They must be passed in with the ${links} parameter. +the links itself. They must be passed in with the $links parameter. --> <xsl:template name="mal2html.links.seealso" match="mal:links[@type = 'seealso']"> <xsl:param name="node" select="."/> @@ -632,15 +646,17 @@ the links itself. They must be passed in with the ${links} parameter. <!--**========================================================================== mal2html.links.series Output links to pages in a series. -:Revision:version="1.0" date="2011-06-15" status="final" -$node: A #{links} or #{page} element to start from. +@revision[version=1.0 date=2011-06-15 status=final] + +[xsl:params] +$node: A `links` or `page` element to start from. A series in Mallard is a list of page such that each page in the list has a next link to the following page. This template outputs links to each page in a series. The current page is output in its place, althought it is not a link. -This template calls *{mal2html.links.series.prev} and -*{mal2html.links.series.next} to find and output the links. +This template calls {mal2html.links.series.prev} and +{mal2html.links.series.next} to find and output the links. --> <xsl:template name="mal2html.links.series" match="mal:links[@type = 'series']"> <xsl:param name="node" select="."/> @@ -705,13 +721,15 @@ This template calls *{mal2html.links.series.prev} and <!--**========================================================================== mal2html.links.series.prev Output preceding links to pages in a series. -:Revision:version="1.0" date="2011-06-15" status="final" -$node: The current #{page} element. -$links: The series #{links} element. +@revision[version=1.0 date=2011-06-15 status=final] + +[xsl:params] +$node: The current `page` element. +$links: The series `links` element. -This template is called by *{mal2html.links.series} to output the pages before +This template is called by {mal2html.links.series} to output the pages before the starting page in the series. This template finds the previous page for the -page ${node}. It then calls itself recursively on that page, and outputs a link +page $node. It then calls itself recursively on that page, and outputs a link to it. --> <xsl:template name="mal2html.links.series.prev"> @@ -760,13 +778,15 @@ to it. <!--**========================================================================== mal2html.links.series.next Output following links to pages in a series. -:Revision:version="1.0" date="2011-06-15" status="final" -$node: The current #{page} element. -$links: The series #{links} element. +@revision[version=1.0 date=2011-06-15 status=final] -This template is called by *{mal2html.links.series} to output the pages after +[xsl:params] +$node: The current `page` element. +$links: The series `links` element. + +This template is called by {mal2html.links.series} to output the pages after the starting page in the series. This template finds the next page for the page -${node}. It outputs a link to that page, then calls itself recursively on that +$node. It outputs a link to that page, then calls itself recursively on that page. --> <xsl:template name="mal2html.links.series.next"> @@ -815,18 +835,20 @@ page. <!--**========================================================================== mal2html.links.topic Output topic links from a page or section. -:Revision:version="3.4" date="2012-02-23" status="final" -$node: A #{links}, #{page}, or #{section} element to link from. +@revision[version=3.4 date=2012-02-23 status=final] + +[xsl:params] +$node: A `links`, `page`, or `section` element to link from. $depth: The depth level for the HTML header element. -$links: A list of links from *{mal.link.topiclinks}. -$groups: The list of link groups for this #{links} element. +$links: A list of links from {mal.link.topiclinks}. +$groups: The list of link groups for this `links` element. $allgroups: The list of all valid groups for the page or section. This template outputs topic links for a page or section. It does not extract -the links itself. They must be passed in with the ${links} parameter. This -template only outputs links which have a group that matches ${groups}. The -${groups} parameter is not expected to have the implicit groups #{first}, -#{default}, and #{last}. These are added automatically by this template +the links itself. They must be passed in with the $links parameter. This +template only outputs links which have a group that matches $groups. The +$groups parameter is not expected to have the implicit groups `first`, +`default`, and `last`. These are added automatically by this template when determining which links to output. --> <xsl:template name="mal2html.links.topic" match="mal:links[@type = 'topic']"> diff --git a/xslt/mallard/html/mal2html-list.xsl b/xslt/mallard/html/mal2html-list.xsl index 352bc3fc..d494f243 100644 --- a/xslt/mallard/html/mal2html-list.xsl +++ b/xslt/mallard/html/mal2html-list.xsl @@ -26,11 +26,11 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML - Lists Handle Mallard list elements. -:Revision: version="1.0" date="2010-06-04" status="final" +@revision[version=1.0 date=2010-06-04 status=final] -This stylesheet contains templates for the #{list}, #{steps}, #{terms}, and -#{tree} elements in %{mal2html.block.mode}. It handles the parent list elements, -as well as any special processing for child #{item} elements. +This stylesheet contains templates for the `list`, `steps`, `terms`, and +`tree` elements in {mal2html.block.mode}. It handles the parent list elements, +as well as any special processing for child `item` elements. --> <!-- = list = --> @@ -302,16 +302,18 @@ as well as any special processing for child #{item} elements. <!--%%========================================================================== mal2html.tree.mode -Process an #{item} element inside a #{tree}. -:Revision: version="1.0" date="2010-06-04" status="final" +Process an `item` element inside a `tree`. +@revision[version=1.0 date=2010-06-04 status=final] + +[xsl:params] $lines: Whether to draw lines indicating hierarchy. -$prefix: The line markers used by the parent #{item}. +$prefix: The line markers used by the parent `item`. -This mode is used for processing #{item} elements in #{tree} elements. It is -applied by the template for #{tree} and recursively calls itself. If the parent -#{tree} has the style hint #{"lines"}, the ${lines} parameter will be #{true}. +This mode is used for processing `item` elements in `tree` elements. It is +applied by the template for `tree` and recursively calls itself. If the parent +`tree` has the style hint `"lines"`, the $lines parameter will be `true`. In this case, this template calculates a prefix based on its position and -neighboring #{item} elements, and passes that prefix to child elements. +neighboring `item` elements, and passes that prefix to child elements. --> <xsl:template mode="mal2html.tree.mode" match="mal:item"> <xsl:param name="lines" select="false()"/> diff --git a/xslt/mallard/html/mal2html-math.xsl b/xslt/mallard/html/mal2html-math.xsl index 4c4befca..70875f74 100644 --- a/xslt/mallard/html/mal2html-math.xsl +++ b/xslt/mallard/html/mal2html-math.xsl @@ -25,12 +25,12 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML - MathML Handle MathML in Mallard documents. -:Revision: version="3.8" date="2012-11-13" status="final" +@revision[version=3.8 date=2012-11-13 status=final] -This stylesheet matches embedded MathML in %{mal2html.block.mode} and -%{mal2html.inline.mode} and processes it in %{mal2html.math.mode}. The -matched templates for the #{mml:math} element automatically set the -#{display} attribute based on whether the element is in block or inline +This stylesheet matches embedded MathML in {mal2html.block.mode} and +{mal2html.inline.mode} and processes it in {mal2html.math.mode}. The +matched templates for the `mml:math` element automatically set the +`display` attribute based on whether the element is in block or inline context. --> @@ -38,14 +38,14 @@ context. <!--%%========================================================================== mal2html.math.mode Output MathML and handle Mallard extensions. -:Revision: version="3.8" date="2012-11-13" status="final" +@revision[version=3.8 date=2012-11-13 status=final] This mode is used for processing MathML embedded into Mallard documents. For most types of MathML content, it simply copies the input directly, except it outputs the MathML in a way that allows the namespace to stripped for non-XML -output. It checks for Mallard linking using the #{mal:xref} attribute and -transforms this to a MathML #{href} attribute. It also converts #{xlink:href} -attributes from MathML 2 to #{href} attributes for MathML 3. +output. It checks for Mallard linking using the `mal:xref` attribute and +transforms this to a MathML `href` attribute. It also converts `xlink:href` +attributes from MathML 2 to `href` attributes for MathML 3. --> <xsl:template mode="mal2html.math.mode" match="mml:*"> <xsl:element name="{local-name(.)}" namespace="{$html.mathml.namespace}"> diff --git a/xslt/mallard/html/mal2html-media.xsl b/xslt/mallard/html/mal2html-media.xsl index a9b0ba6f..62302c5b 100644 --- a/xslt/mallard/html/mal2html-media.xsl +++ b/xslt/mallard/html/mal2html-media.xsl @@ -25,23 +25,25 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML - Media Elements Handle Mallard media elements. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] -This stylesheet contains templates for handling Mallard #{media} elements. -It also handles TTML inside block audio and video #{media} elements. +This stylesheet contains templates for handling Mallard `media` elements. +It also handles TTML inside block audio and video `media` elements. --> <!--**========================================================================== mal2html.media.image -Output an #{img} element for an image. -:Revision:version="3.8" date="2012-11-05" status="final" -$node: The Mallard #{media} element. -$inline: Whether ${node} is inline. - -This template outputs an HTML #{img} element for a Mallard #{media} element -with the #{type} attribute set to #{"image"} (or with no #{type} attribute). -If ${node} has fallback content, it is used for the #{alt} attribute. +Output an `img` element for an image. +@revision[version=3.8 date=2012-11-05 status=final] + +[xsl:params] +$node: The Mallard `media` element. +$inline: Whether $node is inline. + +This template outputs an HTML `img` element for a Mallard `media` element +with the `type` attribute set to `"image"` (or with no `type` attribute). +If $node has fallback content, it is used for the `alt` attribute. --> <xsl:template name="mal2html.media.image"> <xsl:param name="node" select="."/> @@ -91,19 +93,21 @@ If ${node} has fallback content, it is used for the #{alt} attribute. <!--**========================================================================== mal2html.media.video -Output a #{video} element for a video. -:Revision:version="3.8" date="2012-11-05" status="final" -$node: The Mallard #{media} element. -$inline: Whether ${node} is inline. - -This template outputs an HTML #{video} element for a Mallard #{media} element -with the #{type} attribute set to #{"video"}. It converts any fallback content -in the source to the #{video} element's fallback content. If ${inline} is -#{false}, this template will process TTML child content. - -If ${node} has a child image #{media} element with the #{style} attribute set -to #{"poster"}, that image will be used for the #{poster} attribute on the -HTML #{video} element. +Output a `video` element for a video. +@revision[version=3.8 date=2012-11-05 status=final] + +[xsl:params] +$node: The Mallard `media` element. +$inline: Whether $node is inline. + +This template outputs an HTML `video` element for a Mallard `media` element +with the `type` attribute set to `"video"`. It converts any fallback content +in the source to the `video` element's fallback content. If $inline is +`false`, this template will process TTML child content. + +If $node has a child image `media` element with the `style` attribute set +to `"poster"`, that image will be used for the `poster` attribute on the +HTML `video` element. --> <xsl:template name="mal2html.media.video"> <xsl:param name="node" select="."/> @@ -149,15 +153,17 @@ HTML #{video} element. <!--**========================================================================== mal2html.media.audio -Output an #{audio} element for an audio object. -:Revision:version="3.8" date="2012-11-05" status="final" -$node: The Mallard #{media} element. -$inline: Whether ${node} is inline. - -This template outputs an HTML #{audio} element for a Mallard #{media} element -with the #{type} attribute set to #{"audio"}. It converts any fallback content -in the source to the #{audio} element's fallback content. If ${inline} is -#{false}, this template will process TTML child content. +Output an `audio` element for an audio object. +@revision[version=3.8 date=2012-11-05 status=final] + +[xsl:params] +$node: The Mallard `media` element. +$inline: Whether $node is inline. + +This template outputs an HTML `audio` element for a Mallard `media` element +with the `type` attribute set to `"audio"`. It converts any fallback content +in the source to the `audio` element's fallback content. If $inline is +`false`, this template will process TTML child content. --> <xsl:template name="mal2html.media.audio"> <xsl:param name="node" select="."/> @@ -198,8 +204,8 @@ in the source to the #{audio} element's fallback content. If ${inline} is <!--%%========================================================================== mal2html.ttml.mode -Process TTML subtitles in a Mallard #{media} element. -:Revision:version="3.8" date="2012-11-05" status="final" +Process TTML subtitles in a Mallard `media` element. +@revision[version=3.8 date=2012-11-05 status=final] This mode is applied to TTML elements inside block audio and video elements. It outputs HTML elements that are hidden by default and shown dynamically as diff --git a/xslt/mallard/html/mal2html-page.xsl b/xslt/mallard/html/mal2html-page.xsl index 9c5460f5..d03b274e 100644 --- a/xslt/mallard/html/mal2html-page.xsl +++ b/xslt/mallard/html/mal2html-page.xsl @@ -29,18 +29,18 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML - Pages Handle pages, sections, and top-level data. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] -This stylesheet contains templates to process Mallard #{page} and #{section} +This stylesheet contains templates to process Mallard `page` and `section` elements, including implementations of the interfaces provided by the common -!{html} stylesheet. +{html} stylesheet. --> <!--@@========================================================================== mal2html.editor_mode Add information that's useful to writers and editors. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] When this parameter is set to true, these stylesheets will output editorial comments, status markers, and other information that's useful to writers and @@ -52,12 +52,14 @@ editors. <!--**========================================================================== mal2html.page.about Output the copyrights, credits, and license information at the bottom of a page. -:Revision:version="3.8" date="2012-11-05" status="final" -$node: The top-level #{page} element. +@revision[version=3.8 date=2012-11-05 status=final] + +[xsl:params] +$node: The top-level `page` element. This template outputs copyright information, credits, and license information for -the page. By default it is called by the %{html.footer.mode} implementation for -the #{page} element. Information is extracted from the #{info} element of ${node}. +the page. By default it is called by the {html.footer.mode} implementation for +the `page` element. Information is extracted from the `info` element of $node. --> <xsl:template name="mal2html.page.about"> <xsl:param name="node" select="."/> @@ -216,13 +218,15 @@ the #{page} element. Information is extracted from the #{info} element of ${node <!--**========================================================================== mal2html.page.linktrails Ouput trails of guide links for a page. -:Revision:version="3.4" date="2011-11-19" status="final" -$node: The top-level #{page} element. +@revision[version=3.4 date=2011-11-19 status=final] + +[xsl:params] +$node: The top-level `page` element. -This template outputs all of the link trails for the page ${node}. It gets the -trails from ${mal.link.linktrails}. If the result is non-empty, it outputs a -wrapper #{div}, sorts the trails, and calls *{mal2html.page.linktrails.trail} -on each one. Otherwise, it calls the stub template *{mal2html.page.linktrails.empty}. +This template outputs all of the link trails for the page $node. It gets the +trails from $mal.link.linktrails. If the result is non-empty, it outputs a +wrapper `div`, sorts the trails, and calls {mal2html.page.linktrails.trail} +on each one. Otherwise, it calls the stub template {mal2html.page.linktrails.empty}. --> <xsl:template name="mal2html.page.linktrails"> <xsl:param name="node" select="."/> @@ -258,13 +262,15 @@ on each one. Otherwise, it calls the stub template *{mal2html.page.linktrails.em mal2html.page.linktrails.empty Deprecated stub to output something when no link trails are present. :Stub: true -:Revision:version="3.20" date="2015-09-17" status="final" -$node: The top-level #{page} element. +@revision[version=3.20 date=2015-09-17 status=final] + +[xsl:params] +$node: The top-level `page` element. -This template is deprecated. Use *{html.linktrails.empty} instead. By default, -this template calls *{html.linktrails.empty}, passing the ${node} parameter. +This template is deprecated. Use {html.linktrails.empty} instead. By default, +this template calls {html.linktrails.empty}, passing the $node parameter. -This template is a stub. It is called by ${mal2html.page.linktrails} when there +This template is a stub. It is called by $mal2html.page.linktrails when there are no link trails to output. Some customizations prepend extra site links to link trails. This template allows them to output those links even when no link trails would otherwise be present. @@ -280,13 +286,15 @@ trails would otherwise be present. <!--**========================================================================== mal2html.page.linktrails.trail Output one trail of guide links. -:Revision:version="3.20" date="2015-09-19" status="final" -$node: A #{link} element from *{mal.link.linktrails}. +@revision[version=3.20 date=2015-09-19 status=final] -This template outputs an HTML #{div} element containing all the links in a -single link trail. It calls *{html.linktrails.prefix} (by way of -*{mal2html.page.linktrails.trail.prefix}) to output a custom boilerplate prefix, -then calls *{mal2html.page.linktrails.link} to output the actual links. +[xsl:params] +$node: A `link` element from {mal.link.linktrails}. + +This template outputs an HTML `div` element containing all the links in a +single link trail. It calls {html.linktrails.prefix} (by way of +{mal2html.page.linktrails.trail.prefix}) to output a custom boilerplate prefix, +then calls {mal2html.page.linktrails.link} to output the actual links. --> <xsl:template name="mal2html.page.linktrails.trail"> <xsl:param name="node" select="."/> @@ -305,15 +313,17 @@ then calls *{mal2html.page.linktrails.link} to output the actual links. mal2html.page.linktrails.trail.prefix Deprecated stub to output extra content before a link trail. :Stub: true -:Revision:version="3.20" date="2015-09-17" status="final" -$node: A #{link} element from *{mal.link.linktrails}. +@revision[version=3.20 date=2015-09-17 status=final] + +[xsl:params] +$node: A `link` element from {mal.link.linktrails}. -This template is deprecated. Use *{html.linktrails.prefix} instead. By default, -this template calls *{html.linktrails.prefix}, passing the ${node} parameter. +This template is deprecated. Use {html.linktrails.prefix} instead. By default, +this template calls {html.linktrails.prefix}, passing the $node parameter. -This template is a stub. It is called by *{mal2html.page.linktrails.trail} for +This template is a stub. It is called by {mal2html.page.linktrails.trail} for each link trail before the normal links are output with -*{mal2html.page.linktrails.link}. This template is useful for adding extra site +{mal2html.page.linktrails.link}. This template is useful for adding extra site links at the beginning of each link trail. --> <xsl:template name="mal2html.page.linktrails.trail.prefix"> @@ -327,17 +337,19 @@ links at the beginning of each link trail. <!--**========================================================================== mal2html.page.linktrails.link Output a link and the following links in a link trail. -:Revision:version="3.4" date="2011-11-19" status="final" -$node: A #{link} element from *{mal.link.linktrails}. +@revision[version=3.4 date=2011-11-19 status=final] + +[xsl:params] +$node: A `link` element from {mal.link.linktrails}. $direction: The text directionality. -This template is called by *{mal2html.page.linktrails.trail} to output the links -in a trail. Link trails returned by *{mal.link.linktrails} are returned as nested -#{link} elements. This template takes one of those elements, outputs an HTML #{a} -element, then calls itself recursively on the child #{link} element, if it exists. +This template is called by {mal2html.page.linktrails.trail} to output the links +in a trail. Link trails returned by {mal.link.linktrails} are returned as nested +`link` elements. This template takes one of those elements, outputs an HTML `a` +element, then calls itself recursively on the child `link` element, if it exists. -The ${direction} parameter specifies the current text directionality. If not -provided, it is computed automatically with *{l10n.direction}. It determines the +The $direction parameter specifies the current text directionality. If not +provided, it is computed automatically with {l10n.direction}. It determines the separators used between links. --> <xsl:template name="mal2html.page.linktrails.link"> @@ -388,12 +400,14 @@ separators used between links. <!--**========================================================================== mal2html.editor.badge Output a badge for a link showing the revision status of the target. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] + +[xsl:params] $target: The page or section being linked to. This template may be called by link formatters to output a badge showing the revision status of the linked-to page or section. It only outputs a badge if -@{mal2html.editor_mode} is #{true}. +{mal2html.editor_mode} is `true`. --> <xsl:template name="mal2html.editor.badge"> <xsl:param name="target" select="."/> @@ -461,12 +475,14 @@ revision status of the linked-to page or section. It only outputs a badge if <!--**========================================================================== mal2html.editor.banner Output a banner with the revision status of a page. -:Revision:version="3.8" date="2012-11-05" status="final" -$node: The top-level #{page} element. +@revision[version=3.8 date=2012-11-05 status=final] -This template is called by the %{html.body.mode} implementation for #{page} +[xsl:params] +$node: The top-level `page` element. + +This template is called by the {html.body.mode} implementation for `page` elements. It outputs a banner providing information about the revision status -of ${node}. It only outputs a banner if @{mal2html.editor_mode} is #{true}. +of $node. It only outputs a banner if {mal2html.editor_mode} is `true`. --> <xsl:template name="mal2html.editor.banner"> <xsl:param name="node" select="."/> @@ -724,12 +740,14 @@ of ${node}. It only outputs a banner if @{mal2html.editor_mode} is #{true}. <!--**========================================================================== mal2html.section -Output HTML for a Mallard #{section} element. -:Revision:version="3.4" date="2012-01-26" status="final" -$node: The #{section} element. +Output HTML for a Mallard `section` element. +@revision[version=3.4 date=2012-01-26 status=final] + +[xsl:params] +$node: The `section` element. -This template outputs HTML for a #{section} element. It it called by the -templates that handle #{page} and #{section} elements. +This template outputs HTML for a `section` element. It it called by the +templates that handle `page` and `section` elements. --> <xsl:template name="mal2html.section"> <xsl:param name="node" select="."/> @@ -928,11 +946,11 @@ templates that handle #{page} and #{section} elements. <!--%%========================================================================== mal2html.title.mode Output headings for titles and subtitles. -:Revision:version="3.10" date="2013-07-10" status="final" +@revision[version=3.10 date=2013-07-10 status=final] -This template is called on #{title} and #{subtitle} elements that appear as -direct child content of #{page} or #{section} elements. Normal block titles -are processed in %{mal2html.block.mode}. +This template is called on `title` and `subtitle` elements that appear as +direct child content of `page` or `section` elements. Normal block titles +are processed in {mal2html.block.mode}. --> <xsl:template mode="mal2html.title.mode" match="mal:title | mal:subtitle"> <xsl:if test="not(contains(concat(' ', @style, ' '), ' hidden '))"> diff --git a/xslt/mallard/html/mal2html-svg.xsl b/xslt/mallard/html/mal2html-svg.xsl index 31fb7355..3aa2ee03 100644 --- a/xslt/mallard/html/mal2html-svg.xsl +++ b/xslt/mallard/html/mal2html-svg.xsl @@ -27,22 +27,22 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML - SVG Handle embedded SVG. -:Revision: version="1.0" date="2010-06-04" status="final" +@revision[version=1.0 date=2010-06-04 status=final] -This stylesheet matches embedded SVG in %{mal2html.block.mode} and processes it -in %{mal2html.svg.mode}. +This stylesheet matches embedded SVG in {mal2html.block.mode} and processes it +in {mal2html.svg.mode}. --> <!--%%========================================================================== mal2html.svg.mode Output SVG and handle Mallard extensions. -:Revision: version="3.18" date="2015-05-04" status="final" +@revision[version=3.18 date=2015-05-04 status=final] This mode is used for processing SVG embedded into Mallard documents. For most types of SVG content, it simply copies the input directly, except it outputs the SVG in a way that allows the namespace to stripped for non-XML output. It -checks for Mallard linking using the #{mal:xref} attribute and transforms this -to an XLink #{xlink:href} attribute. +checks for Mallard linking using the `mal:xref` attribute and transforms this +to an XLink `xlink:href` attribute. --> <xsl:template mode="mal2html.svg.mode" match="svg:*"> <xsl:choose> diff --git a/xslt/mallard/html/mal2html-ui.xsl b/xslt/mallard/html/mal2html-ui.xsl index 1d81a6b2..07064791 100644 --- a/xslt/mallard/html/mal2html-ui.xsl +++ b/xslt/mallard/html/mal2html-ui.xsl @@ -36,17 +36,19 @@ extension. <!--**========================================================================== mal2html.ui.expander.data Output data for an expander. -:Revision:version="3.4" date="2012-02-25" status="final" +@revision[version=3.4 date=2012-02-25 status=final] + +[xsl:params] $node: The source element to output data for. -$expander: Whether ${node} is actually an expander. +$expander: Whether $node is actually an expander. -This template outputs an HTML #{div} element with the #{class} attribute set to -#{"yelp-data yelp-data-ui-expander"}. All #{yelp-data} elements are hidden by +This template outputs an HTML `div` element with the `class` attribute set to +`"yelp-data yelp-data-ui-expander"`. All `yelp-data` elements are hidden by the CSS. The div contains information about text directionality, the default expanded state, and optionally additional titles for the expanded and collapsed states. -The expander information is only output if the ${expander} parameter is #{true}. +The expander information is only output if the $expander parameter is `true`. This parameter can be calculated automatically, but it will give false negatives for blocks that produce automatic titles. --> @@ -98,15 +100,17 @@ http://projectmallard.org/ui/1.0/ui_expanded.html</xsl:text> <!--**========================================================================== mal2html.ui.links.tiles Output links as thumbnail tiles. -:Revision:version="3.28" date="2015-10-22" status="volatile" -$node: A #{links} element to link from. -$links: A list of links, as from a template in !{mal-link}. +@revision[version=3.28 date=2015-10-22 status=volatile] + +[xsl:params] +$node: A `links` element to link from. +$links: A list of links, as from a template in {mal-link}. $role: A link role, used to select the appropriate title and thumbnail. This template outputs links as thumbnail tiles. For each link, it outputs -a #{div} element with a thumbnail, title, and desc (unless the #{nodesc} -style hint is used). This template calls *{mal2html.ui.links.img} to find -the best-match thumbnail and output the HTML #{img} element for each link. +a `div` element with a thumbnail, title, and desc (unless the `nodesc` +style hint is used). This template calls {mal2html.ui.links.img} to find +the best-match thumbnail and output the HTML `img` element for each link. This template handles link sorting. --> @@ -196,17 +200,19 @@ This template handles link sorting. <!--DEPRECATED================================================================== _mal2html.ui.links.hover Output links with thumbnails shown on hover. -:Revision:version="3.4" date="2012-02-26" status="final" -$node: A #{links} element to link from. -$links: A list of links, as from a template in !{mal-link}. +@revision[version=3.4 date=2012-02-26 status=final] + +[xsl:params] +$node: A `links` element to link from. +$links: A list of links, as from a template in {mal-link}. $role: A link role, used to select the appropriate title and thumbnail. This template outputs links alongside thumbnail images, using the UI extension. The thumbnail image for each link is shown when the user hovers over that link. -This template calls *{mal2html.ui.links.img} to find the best-match thumbnail -and output the HTML #{img} element for each link. +This template calls {mal2html.ui.links.img} to find the best-match thumbnail +and output the HTML `img` element for each link. -If ${node} contains a #{ui:thumb} element, that image is used when no links +If $node contains a `ui:thumb` element, that image is used when no links are hovered. This template handles link sorting. @@ -317,30 +323,32 @@ This template handles link sorting. <!--**========================================================================== mal2html.ui.links.img Output an image for a link using UI thumbnails. -:Revision:version="3.28" date="2017-08-11" status="final" -$node: A #{links} element to link from. -$thumbs: A list of candidate #{uix:thumb} elements. +@revision[version=3.28 date=2017-08-11 status=final] + +[xsl:params] +$node: A `links` element to link from. +$thumbs: A list of candidate `uix:thumb` elements. $role: A link role, used to select the appropriate thumbnail. $width: The width to fit thumbnails into. $height: The height to fit thumbnails into. -This template selects the best-fit thumbnail from ${thumbs}, based on how well -the aspect ratio and dimensions of each image matches the ${width} and ${height} -parameters. It outputs an HTML #{img} element for the best-fit thumbnail. It -calls ${mal2thml.ui.links.img.src} to output the #{src} attribute, and calls -${mal2html.ui.links.img.attrs} to output #{width} and #{height} attributes. +This template selects the best-fit thumbnail from $thumbs, based on how well +the aspect ratio and dimensions of each image matches the $width and $height +parameters. It outputs an HTML `img` element for the best-fit thumbnail. It +calls $mal2thml.ui.links.img.src to output the `src` attribute, and calls +$mal2html.ui.links.img.attrs to output `width` and `height` attributes. Before checking for a best-fit thumbnail on dimensions, this template first -looks for #{uix:thumb} elements with the #{type} attribute set to #{"links"}. -Within those, it looks for #{uix:thumb} elements whose #{role} attribute -matches the ${role} parameter. This is similar to how link titles are +looks for `uix:thumb` elements with the `type` attribute set to `"links"`. +Within those, it looks for `uix:thumb` elements whose `role` attribute +matches the $role parameter. This is similar to how link titles are selected. -If the ${thumbs} parameter is empty, this template attempts to use a default -thumbnail provided by a #{uix:thumb} child element of ${node}. +If the $thumbs parameter is empty, this template attempts to use a default +thumbnail provided by a `uix:thumb` child element of $node. -The ${width} and ${height} parameters can be computed automatically from the -${node} element. +The $width and $height parameters can be computed automatically from the +$node element. --> <xsl:template name="mal2html.ui.links.img"> <xsl:param name="node"/> @@ -395,15 +403,17 @@ ${node} element. <!--**========================================================================== mal2html.ui.links.img.src -Output the #{src} attribute for a thumbnail image. -:Revision:version="3.28" date="2017-08-11" status="final" -$node: A #{links} element to link from. -$thumb: A #{uix:thumb} element. +Output the `src` attribute for a thumbnail image. +@revision[version=3.28 date=2017-08-11 status=final] + +[xsl:params] +$node: A `links` element to link from. +$thumb: A `uix:thumb` element. $width: The width to fit thumbnails into. $height: The height to fit thumbnails into. -This template outputs #{src} attribute for the HTML #{img} element created -from ${thumb}. By default, it just copies the #{src} attribute of ${thumb}. +This template outputs `src` attribute for the HTML `img` element created +from $thumb. By default, it just copies the `src` attribute of $thumb. Override this template if you need to support multi-directory output. --> <xsl:template name="mal2html.ui.links.img.src"> @@ -417,17 +427,19 @@ Override this template if you need to support multi-directory output. <!--**========================================================================== mal2html.ui.links.img.attrs -Output the #{width} and #{height} attributes for a thumbnail image. -:Revision:version="3.28" date="2017-08-11" status="final" -$node: A #{links} element to link from. -$thumb: A #{uix:thumb} element. +Output the `width` and `height` attributes for a thumbnail image. +@revision[version=3.28 date=2017-08-11 status=final] + +[xsl:params] +$node: A `links` element to link from. +$thumb: A `uix:thumb` element. $width: The width to fit thumbnails into. $height: The height to fit thumbnails into. -This template outputs #{width} and #{height} attributes for the HTML #{img} -element created from ${thumb}, based on the #{uix:overflow} attribute on ${node}. -The ${width} and ${height} parameters can be computed automatically from the -${node} element. +This template outputs `width` and `height` attributes for the HTML `img` +element created from $thumb, based on the `uix:overflow` attribute on $node. +The $width and $height parameters can be computed automatically from the +$node element. --> <xsl:template name="mal2html.ui.links.img.attrs"> <xsl:param name="node"/> diff --git a/xslt/mallard/html/mal2html.xsl b/xslt/mallard/html/mal2html.xsl index 70dbdb3a..01f1b23a 100644 --- a/xslt/mallard/html/mal2html.xsl +++ b/xslt/mallard/html/mal2html.xsl @@ -24,15 +24,15 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to HTML Transform Mallard to HTML. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This top-level stylesheet includes all the necessary stylesheets to transform -Mallard documents into HTML. It imports !{mal2xhtml}, overrides parameters, and +Mallard documents into HTML. It imports {mal2xhtml}, overrides parameters, and sets a namespace alias to output non-XML HTML. In particular, this stylesheet -sets @{html.xhtml} to #{false} and @{mal.if.target} to #{'target:html'}. +sets {html.xhtml} to `false` and {mal.if.target} to `'target:html'`. --> -<xsl:import href="mal2xhtml.xsl"><?pass?></xsl:import> +<xsl:import href="mal2xhtml.xsl"><?xsldoc.passthrough?></xsl:import> <xsl:param name="html.xhtml" select="false()"/> <xsl:param name="mal.if.target" select="'target:html'"/> diff --git a/xslt/mallard/html/mal2xhtml.xsl b/xslt/mallard/html/mal2xhtml.xsl index b3c90057..2f7038f3 100644 --- a/xslt/mallard/html/mal2xhtml.xsl +++ b/xslt/mallard/html/mal2xhtml.xsl @@ -24,12 +24,12 @@ along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu <!--!!========================================================================== Mallard to XHTML Transform Mallard to XHTML. -:Revision:version="3.8" date="2012-11-05" status="final" +@revision[version=3.8 date=2012-11-05 status=final] This top-level stylesheet includes all the necessary stylesheets to transform Mallard documents into XHTML. This stylesheet sets the parameters -@{mal.if.target}, @{mal.if.features}, @{mal.if.maybe}, @{mal.link.extension}, -and @{ttml.features}. +{mal.if.target}, {mal.if.features}, {mal.if.maybe}, {mal.link.extension}, +and {ttml.features}. --> <xsl:import href="../../common/l10n.xsl"/> |