common.xsl revision d229f940abfb2490dee17979e9a5ff31b7012eb5
db878466c5e95073429dda0bdd001f45e9486e16fielding Licensed to the Apache Software Foundation (ASF) under one or more
db878466c5e95073429dda0bdd001f45e9486e16fielding contributor license agreements. See the NOTICE file distributed with
db878466c5e95073429dda0bdd001f45e9486e16fielding this work for additional information regarding copyright ownership.
db878466c5e95073429dda0bdd001f45e9486e16fielding The ASF licenses this file to You under the Apache License, Version 2.0
db878466c5e95073429dda0bdd001f45e9486e16fielding (the "License"); you may not use this file except in compliance with
db878466c5e95073429dda0bdd001f45e9486e16fielding the License. You may obtain a copy of the License at
beaad6ac31022179c44d88536811e9ccd9425696nd Unless required by applicable law or agreed to in writing, software
beaad6ac31022179c44d88536811e9ccd9425696nd distributed under the License is distributed on an "AS IS" BASIS,
beaad6ac31022179c44d88536811e9ccd9425696nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
beaad6ac31022179c44d88536811e9ccd9425696nd See the License for the specific language governing permissions and
beaad6ac31022179c44d88536811e9ccd9425696nd limitations under the License.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Please, don't hard-code output strings! Use the language -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- files and the translation "stuff"... -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Injected variables: -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- $is-chm - (boolean) target is for CHM generation or not -->
e5343521634b71f10f0e88374d88bd5a45f75f68nd<!-- $is-zip - (boolean) target is for ZIP generation or not -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd<!-- $message - (node-set) localized common text snippets -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd<!-- $doclang - (string) document language -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- $output-encoding - (string) MIME charset name of the output -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- encoding -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Constants used for case translation -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- space separated list of blockelements defined in common.dtd -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- used for inline content catching in <example>s -->
fffabed77cd6264da64fa3d267243d1d76897049nd p example note table ul ol dl pre highlight img blockquote
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- relative path to /manual/ -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- load outsourced page types -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- load utility snippets -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- make sure, we set relative anchors only, if we're actually -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- transforming a modulefile (see <directive> template) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="in-modulesynopsis" select="boolean(/modulesynopsis)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- when referencing to a directory, we may need to complete the path -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- with the index file (for offline applications like *.chm files) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- it may be desired to open external targets in a new window -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="ext-target" select="boolean($is-chm)" />
11c3b428f0fc9b03f353ed9b66347c5deb567052nd Invalid metafile. Probably your build system is not up-to-date.
11c3b428f0fc9b03f353ed9b66347c5deb567052nd Get a current version and try again.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- #################################################################### -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Utility templates for constructing pages -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- #################################################################### -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- HTML head -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- the meta element is necessary for offline handling like CHM -->
bdbf46e4950b6f633073f803486962e82c2f086and content="text/html; charset={$output-encoding}" />
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text>This file is generated from xml source: </xsl:text>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="normalize-space($message[@id='apachetitle'])"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </title>&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- chm files get a slightly different stylesheet -->
bdbf46e4950b6f633073f803486962e82c2f086and href="{$path}/style/css/manual-chm.css" />
e5343521634b71f10f0e88374d88bd5a45f75f68nd <!-- zip packages do also -->
e5343521634b71f10f0e88374d88bd5a45f75f68nd <link title="Main stylesheet" type="text/css" media="all"
e5343521634b71f10f0e88374d88bd5a45f75f68nd rel="stylesheet"
e5343521634b71f10f0e88374d88bd5a45f75f68nd href="{$path}/style/css/manual-zip.css" />&lf;
e5343521634b71f10f0e88374d88bd5a45f75f68nd <link title="No Sidebar - Default font size" type="text/css" media="all"
e5343521634b71f10f0e88374d88bd5a45f75f68nd rel="alternate stylesheet"
e5343521634b71f10f0e88374d88bd5a45f75f68nd href="{$path}/style/css/manual-zip-100pc.css"/>
bdbf46e4950b6f633073f803486962e82c2f086and <link title="Main stylesheet" type="text/css" media="all"
bdbf46e4950b6f633073f803486962e82c2f086and rel="stylesheet"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd href="{$path}/style/css/manual.css" />&lf;
bdbf46e4950b6f633073f803486962e82c2f086and <link title="No Sidebar - Default font size" type="text/css" media="all"
bdbf46e4950b6f633073f803486962e82c2f086and rel="alternate stylesheet"
bdbf46e4950b6f633073f803486962e82c2f086and href="{$path}/style/css/manual-loose-100pc.css"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd rel="stylesheet"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd href="{$path}/style/css/manual-print.css"/>
0767de1bfa7e1c323b14f839d773902d65611246humbedooh <link href="{$path}/style/css/prettify.css" type="text/css" rel="stylesheet" />&lf;
0767de1bfa7e1c323b14f839d773902d65611246humbedooh <script type="text/javascript" src="{$path}/style/scripts/prettify.js">&lf; </script> &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- chm files do not need a favicon -->
bdbf46e4950b6f633073f803486962e82c2f086and <link rel="shortcut icon" href="{$path}/images/favicon.ico" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /head -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- page top -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd [@id='apachehttpserver'])"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="uri" select="parentdocument/@href" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <img src="{$path}/images/left.gif" alt="<-" title="<-" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="/modulesynopsis or /directiveindex or /quickreference">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="uri" select="parentdocument/@href"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /top -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<!-- ==================================================================== -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<!-- out of date -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<!-- ==================================================================== -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd<xsl:if test="$metafile/variants/variant[.=$doclang]/@outdated = 'yes'">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- page bottom -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
5effc8b39fae5cd169d17f342bfc265705840014rbowen <xsl:text>Copyright 2012 The Apache Software Foundation.</xsl:text><br />
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:if test="normalize-space($message[@id='before-license'])">
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:if test="normalize-space($message[@id='after-license'])">
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd<xsl:text disable-output-escaping="yes"><![CDATA[<!--//--><![CDATA[//><!--]]></xsl:text><![CDATA[
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdndif (typeof(prettyPrint) !== undefined) {
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd prettyPrint();
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd]]><xsl:text disable-output-escaping="yes"><![CDATA[//--><!]]]]>></xsl:text></script>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /bottom -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- ==================================================================== -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- build an "available languages" section -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- ==================================================================== -->
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <a href="{$path}/{.}{$metafile/path}{$metafile/basename}.html">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd select="concat($path, '/', ., $metafile/path)" />
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes <xsl:value-of select="document(concat('/lang/', .,
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes [@id='nativename']" />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- /langavail -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Process a documentation section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- Section heading -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- Section body -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- handle subsections (lower level headings) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section heading -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section body -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- handle subsubsections (h4) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section heading -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section body -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- section nesting > h4 is not supported for now -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>FATAL: exceeding maximum section nesting level.</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>Perhaps you should consider to split your document into</xsl:text>
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- ==================================================================== -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- Process source code highlighting -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- ==================================================================== -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh <!-- highlight body -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- /higlight -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- (sub)section titles -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- generate section index -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section index -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- docs super menu -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /super-menu -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <example> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- iterate over *all* nodes; bare text and other inline stuff is -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- wrapped into <p><code>, block level elements (defined in -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- $blockelements) are applied "as is" -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="concat(' ', normalize-space($blockelements), ' ')" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="boolean(contains($blocks,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd concat(' ', local-name(), ' ')))"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- bb = (number of) blocks nodes before (the current) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="count(preceding-sibling::*[
7e68fce3cbd2246164e045a51ecd77f9f26680ednd contains($blocks,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd concat(' ', local-name(), ' '))])" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- phew. short explanation, what happens here: -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- We want to get the inline stuff between the last -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- block node and the current node. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- So filter all previous nodes for the condition -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- that the number of block nodes of all of *their* -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- previous nodes is >= $bb. Hope that helps ;-) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="preceding-sibling::node()[
7e68fce3cbd2246164e045a51ecd77f9f26680ednd count(preceding-sibling::*[
7e68fce3cbd2246164e045a51ecd77f9f26680ednd contains($blocks,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd concat(' ', local-name(), ' '))])
7e68fce3cbd2246164e045a51ecd77f9f26680ednd >= $bb]" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="self::node()[not($is-block-node)]" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- apply bare text only, if it's not only \s or empty -->
b09970a14a3280b9e4e449dea6e53968fc206731nd <!-- same as $content above. xsl:copy-of seems to make -->
b09970a14a3280b9e4e449dea6e53968fc206731nd <!-- thread problems with xalan-j ... -->
b09970a14a3280b9e4e449dea6e53968fc206731nd select="preceding-sibling::node()[
b09970a14a3280b9e4e449dea6e53968fc206731nd count(preceding-sibling::*[
b09970a14a3280b9e4e449dea6e53968fc206731nd contains($blocks,
b09970a14a3280b9e4e449dea6e53968fc206731nd concat(' ', local-name(),
b09970a14a3280b9e4e449dea6e53968fc206731nd >= $bb]" />
b09970a14a3280b9e4e449dea6e53968fc206731nd select="self::node()[not($is-block-node)]" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="self::node()[$is-block-node]" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /node() -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /example -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- indentations -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /indent -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <note> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /note -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <note><title> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <directive> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Inserts link to another directive, which might be in another module. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- References are converted into lower case. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="translate(., $uppercase, $lowercase)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="$in-modulesynopsis and @module = /modulesynopsis/name">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /directive -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <module> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Inserts a link to refereed module -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /module -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- ==================================================================== -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- <program> -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- Inserts a link to referred program -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- ==================================================================== -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- /program -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <related> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='relateddirectives']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /related -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <table> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- existing border attribute will result in <table class="bordered"> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /table -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- data-table -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- style="data": fixed font, padding-left and right alignment for <td>s -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd preceding-sibling::tr/th[1]|following-sibling::tr/th[1])" />
fd46b0fed4351924170b4db5859dc35b771ee16dnd (not($cross-table) or
fd46b0fed4351924170b4db5859dc35b771ee16dnd count(preceding-sibling::*) > 0)">
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- zebra-table -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- style="zebra": alternating colors per row, i.e. every second row -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- gets a class="odd". Header lines (no <td>) get a -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- class="header". These lines will be excluded from -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- the "odd" line count. That way header lines act -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- interjectional, which creates a better visual and -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- psychological effect. -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:when test="position() mod 2 = (count(preceding-sibling::tr[count(td) = 0]) mod 2)">
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- /zebra-table -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <ol> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- A. B. C. D. (list-style-type="upper-alpha") -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /ol -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- diverse elements -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="summary|description|usage|syntax|default">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /diverse -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <a> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /a -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- toplink -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="#page-header"><img src="{$path}/images/up.gif" alt="top" /></a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /toplink -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <transnote> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- translator's notes are displayed in a different color -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /transnote -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- <phonetic> -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- phonetics are enclosed in square brackets and displayed in a -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- different color -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- /phonetic -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- <glossary> -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- link to a glossary anchor -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:value-of select="translate(., $uppercase, $lowercase)"/>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <a href="{$path}/glossary.html#{$glosslink}" class="glossarylink">
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- /glossary -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Filter   in text() nodes. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- In some environments this character won't be transformed correctly, -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- so we just write it explicitely as " " into the output. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="substring-before($text, ' ')" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="text" select="substring-after($text, ' ')" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Process everything else by just passing it through -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:text>Is the document valid (try `build validate-xml`)?</xsl:text>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="tr"><tr><xsl:apply-templates select="*|@*|text()" /></tr></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="th"><th><xsl:apply-templates select="*|@*|text()" /></th></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="td"><td><xsl:apply-templates select="*|@*|text()" /></td></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="p"><p><xsl:apply-templates select="*|@*|text()" /></p></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="ul"><ul><xsl:apply-templates select="*|@*|text()" /></ul></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="li"><li><xsl:apply-templates select="*|@*|text()" /></li></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dl"><dl><xsl:apply-templates select="*|@*|text()" /></dl></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dt"><dt><xsl:apply-templates select="*|@*|text()" /></dt></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dd"><dd><xsl:apply-templates select="*|@*|text()" /></dd></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="em"><em><xsl:apply-templates select="*|@*|text()" /></em></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="strong"><strong><xsl:apply-templates select="*|@*|text()" /></strong></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="pre"><pre><xsl:apply-templates select="*|@*|text()" /></pre></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="code"><code><xsl:apply-templates select="*|@*|text()" /></code></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="var"><var><xsl:apply-templates select="*|@*|text()" /></var></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dfn"><dfn><xsl:apply-templates select="*|@*|text()" /></dfn></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="blockquote"><blockquote><xsl:apply-templates select="*|@*|text()" /></blockquote></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="q"><q><xsl:apply-templates select="*|@*|text()" /></q></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="cite"><cite><xsl:apply-templates select="*|@*|text()" /></cite></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="img"><img><xsl:apply-templates select="*|@*|text()" /></img></xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /pass through -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- create a letter bar -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="letters" select="substring($letters, 2)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /letter-bar -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- template(s) for collecting all start letters of directives -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="translate(substring(normalize-space(name), 1, 1),
7e68fce3cbd2246164e045a51ecd77f9f26680ednd $lowercase, $uppercase)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /directive-startletters -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- squeeze subsequent letters in a string -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="current" select="substring($letters, 1, 1)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="letters" select="substring($letters, 2)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /_squeeze-letters -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- fix href and target attribute of an element. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- lame is_absolute_uri test -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd and string-length(substring-before($uri, ':')) < 7">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="concat('#', substring-after($uri, '#'))"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="concat('#', substring-before($uri, '#'))"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="substring($absuri, string-length($uri), 1) = '/'">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="concat($absuri, $index-file, $fragment)"/>
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<!-- ==================================================================== -->
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<!-- Ignore table hints used for latex -->
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<!-- ==================================================================== -->