quickreference.xsl revision 480bee29abcc415b6b8c18d2ecbf2c5f88f1f05b
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end <!-- <quickreference> -->
db878466c5e95073429dda0bdd001f45e9486e16fielding <!-- Builds the directive quickreference page -->
db878466c5e95073429dda0bdd001f45e9486e16fielding <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:variable name="directives" select="document(sitemap/category[@id='modules']/modulefilelist/modulefile)/modulesynopsis[status!='Obsolete']/directivesynopsis[not(@location)]"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- first collect the start letters -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="letters" select="$start-letters"/>
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive <xsl:apply-templates select="legend/table[position()=1]"/>
f5d245e2129454d0fcaa77e21de055a30ea8a9c7slive <xsl:apply-templates select="legend/table[position()=2]"/>
1c6a10274e908898347be82bc82bc7ae18c66410slive <xsl:with-param name="letters-todo" select="$start-letters"/>
1c6a10274e908898347be82bc82bc7ae18c66410slive <xsl:with-param name="directives" select="$directives"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- the working horse. builds rows of all directives -->
1c6a10274e908898347be82bc82bc7ae18c66410slive <!-- starting with one letter -->
1c6a10274e908898347be82bc82bc7ae18c66410slive <!-- when done, it calls itself to catch the next letter -->
b3137f48abe3090c5531392e57ff0fefd76f59ebnd <xsl:variable name="letter" select="substring($letters-todo,1,1)"/>
1c6a10274e908898347be82bc82bc7ae18c66410slive <xsl:for-each select="$directives[$letter=translate(substring(normalize-space(name),1,1),$lowercase,$uppercase)]">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <a href="{/name}.html#{translate(name,$uppercase,$lowercase)}">
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:attribute name="id"><xsl:value-of select="$letter"/></xsl:attribute>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:attribute name="name"><xsl:value-of select="$letter"/></xsl:attribute>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:value-of select="substring(substring-after(concat(default,' '),name),1,20)"/>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:if test="string-length(substring-after(concat(default,' '),name)) > 20">
27b8489f5fe26106de6a15fd68928797939d6610fielding <xsl:if test="contextlist/context[normalize-space(.)='server config']">s</xsl:if>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:if test="contextlist/context[normalize-space(.)='virtual host']">v</xsl:if>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:if test="contextlist/context[normalize-space(.)='directory']">d</xsl:if>
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive <xsl:if test="contextlist/context[normalize-space(.)='.htaccess']">h</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="string-length(normalize-space(description)) > 0">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- call next letter, if there is -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="letters-todo" select="substring($letters-todo,2)"/>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <xsl:with-param name="offset" select="(count($directives[$letter=translate(substring(normalize-space(name),1,1),$lowercase,$uppercase)]) + $offset) mod 2"/>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <!-- /reference-of-letter -->