moduleindex.xsl revision 117a9c5156c08125e2060ff892adac4634b7ad2d
883N/A Copyright 2003-2004 The Apache Software Foundation 883N/A Licensed under the Apache License, Version 2.0 (the "License"); 883N/A you may not use this file except in compliance with the License. 883N/A You may obtain a copy of the License at 883N/A Unless required by applicable law or agreed to in writing, software 883N/A distributed under the License is distributed on an "AS IS" BASIS, 883N/A WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 883N/A See the License for the specific language governing permissions and 883N/A limitations under the License. 883N/A<
xsl:
stylesheet version="1.0" 883N/A<!-- ==================================================================== --> 883N/A<!-- Builds the moduleindex page --> 883N/A<!-- ==================================================================== --> 883N/A<
xsl:
template match="moduleindex">
883N/A <
xsl:
variable name="metafile" select="document(/*/@metafile)/metafile" />
883N/A <
xsl:
call-
template name="section-title"/>
883N/A <
xsl:
apply-
templates select="summary"/>
883N/A <
xsl:
call-
template name="seealso"/>
883N/A <
xsl:
text>\subsection*{</
xsl:
text>
883N/A <
xsl:
value-
of select="$message[@id='corefeatures']" />
<
xsl:
text>] (p.\ \pageref{/mod/</
xsl:
text>
<
xsl:
text>] (p.\ \pageref{/mod/</
xsl:
text>
<!-- and now the remaining MPMs --> <
xsl:
variable name="mpmmodules" /modulesynopsis[status='MPM' and name != 'mpm_common']" />
<
xsl:
variable name="translist">
<
xsl:
call-
template name="module-translist">
<
xsl:
with-
param name="modules" select="$mpmmodules" />
<
xsl:
for-
each select="$mpmmodules">
<
xsl:
sort select="substring-before(substring-after($translist, concat('- ', translate(normalize-space(name), $lowercase, $uppercase), ' ')), ' -')" />
<
xsl:
apply-
templates select="name"/>
<
xsl:
text>] (p.\ \pageref{/mod/</
xsl:
text>
<
xsl:
value-
of select="name"/>
<
xsl:
apply-
templates select="description" />
<
xsl:
text>\end{description}
<
xsl:
text>\section*{</
xsl:
text>
<
xsl:
value-
of select="$message[@id='othermodules']" />
<
xsl:
variable name="modules" /modulesynopsis[status!='MPM' and status!='Core']" />
<
xsl:
call-
template name="mindex-of-letter">
<
xsl:
with-
param name="modules" select="$modules" />
<
xsl:
text>\end{description}
<!-- ==================================================================== --> <!-- the working horse. builds list items of all modules starting with --> <!-- one letter when done, it calls itself to catch the next letter --> <!-- ==================================================================== --> <
xsl:
template name="mindex-of-letter">
<
xsl:
param name="modules"/>
<
xsl:
variable name="translist">
<
xsl:
call-
template name="module-translist">
<
xsl:
with-
param name="modules" select="$modules" />
<
xsl:
for-
each select="$modules">
select="substring-before(substring-after($translist, concat('- ', translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')" />
<
xsl:
apply-
templates select="name"/>
<
xsl:
text>] (p.\ \pageref{/mod/</
xsl:
text>
<
xsl:
value-
of select="name"/>
<
xsl:
apply-
templates select="description" />
</
xsl:
for-
each>
<!-- /directives --><!-- /mindex-of-letter --> <!-- ==================================================================== --> <!-- define module name translations for sorting --> <!-- it's a kind of a hack... --> <!-- we build a string that contains the following data: --> <!-- "- modulename sortname - modulename sortname - ..." --> <!-- (with all data in uppercase) --> <!-- So, the translation from modulename to sortname can be done with the --> <!-- expression below: --> substring-after($translist, concat('- ', translate(modulename, <!-- ==================================================================== --> <
xsl:
template name="module-translist">
<
xsl:
param name="modules" />
<
xsl:
for-
each select="$modules">
<
xsl:
variable name="sname" select="translate(normalize-space(name), $lowercase, $uppercase)" />
<
xsl:
value-
of select="$sname" />
<
xsl:
call-
template name="module-translatename">
<
xsl:
with-
param name="name" select="$sname" />
<!-- /module-translist --> <
xsl:
template name="module-translatename">
<
xsl:
param name="name" />
<
xsl:
variable name="sname" select="translate($name, $lowercase, $uppercase)" />
<
xsl:
when test="starts-with($sname, 'MOD_') or starts-with($sname, 'MPM_')">
<
xsl:
value-
of select="substring($name, 5)" />
<
xsl:
when test="starts-with($sname, 'MPMT_')">
<
xsl:
value-
of select="substring($name, 6)" />
<
xsl:
value-
of select="$name" />
<!-- /module-translatename -->