quickreference.xsl revision cb7bf5cb76f4c0c5817e2cc6bc97276e425cf165
456de5f26ad346749963525a4f91883e6a51c5f3gryzor Copyright 2002-2006 The Apache Software Foundation or its licensors, as
456de5f26ad346749963525a4f91883e6a51c5f3gryzor applicable.
456de5f26ad346749963525a4f91883e6a51c5f3gryzor Licensed under the Apache License, Version 2.0 (the "License");
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc you may not use this file except in compliance with the License.
456de5f26ad346749963525a4f91883e6a51c5f3gryzor You may obtain a copy of the License at
456de5f26ad346749963525a4f91883e6a51c5f3gryzor Unless required by applicable law or agreed to in writing, software
456de5f26ad346749963525a4f91883e6a51c5f3gryzor distributed under the License is distributed on an "AS IS" BASIS,
456de5f26ad346749963525a4f91883e6a51c5f3gryzor WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
456de5f26ad346749963525a4f91883e6a51c5f3gryzor See the License for the specific language governing permissions and
456de5f26ad346749963525a4f91883e6a51c5f3gryzor limitations under the License.
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- ==================================================================== -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- <quickreference> -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- Builds the directive quickreference page -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- ==================================================================== -->
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar select="document(document($allmodules)/modulefilelist/modulefile)
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar /modulesynopsis/directivesynopsis[not(@location)]" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:with-param name="directives" select="$directives" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor select="$start-letters" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:apply-templates select="legend/table[position()=1]" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:apply-templates select="legend/table[position()=2]" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor </table>&lf;
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:with-param name="letters-todo" select="$start-letters" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:with-param name="directives" select="$directives" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- /quickreference -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- ==================================================================== -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- the working horse. builds rows of all directives starting with one -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- letter when done, it calls itself to catch the next letter -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<!-- ==================================================================== -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor<xsl:variable name="letter" select="substring($letters-todo, 1, 1)" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor select="$directives[$letter=translate(substring(normalize-space(name), 1,1),
456de5f26ad346749963525a4f91883e6a51c5f3gryzor $lowercase,$uppercase)]">
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <a href="{/name}.html#{translate(name, $uppercase, $lowercase)}">
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <!-- if the default value contains (at least) one <br />, -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <!-- this probably means that a short explanation follows -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <!-- the actual default value. We cut off the string -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <!-- after the <br /> so it will not be shown here. -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <!-- (add the + character instead) -->
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:when test="count(default[count(br) > 0]) > 0">
456de5f26ad346749963525a4f91883e6a51c5f3gryzor select="default/child::node()
456de5f26ad346749963525a4f91883e6a51c5f3gryzor [count(preceding-sibling::*) = 0]" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:value-of select="substring(substring-after(concat($default,
456de5f26ad346749963525a4f91883e6a51c5f3gryzor ' '), name),1,20)" />
456de5f26ad346749963525a4f91883e6a51c5f3gryzor <xsl:if test="string-length(substring-after(concat($default, ' '),
456de5f26ad346749963525a4f91883e6a51c5f3gryzor name)) > 20
456de5f26ad346749963525a4f91883e6a51c5f3gryzor or count(default[count(br) > 0]) > 0">
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar <xsl:when test="string-length(normalize-space(description)) > 0">
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar<!-- call next letter, if there is -->
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar select="substring($letters-todo, 2)" />
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar select="(count($directives[$letter=translate(substring(
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar normalize-space(name), 1, 1), $lowercase, $uppercase)])
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar + $offset) mod 2" />
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar <xsl:with-param name="directives" select="$directives" />
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar<!-- /reference-of-letter -->