moduleindex.xsl revision db878466c5e95073429dda0bdd001f45e9486e16
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<?xml version="1.0"?>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<!--
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
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end http://www.apache.org/licenses/LICENSE-2.0
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end Unless required by applicable law or agreed to in writing, software
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end distributed under the License is distributed on an "AS IS" BASIS,
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end See the License for the specific language governing permissions and
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end limitations under the License.
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end-->
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:stylesheet version="1.0"
87ea898bcffe2ef490e833dc246a1cc0465d783fslive xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
87ea898bcffe2ef490e833dc246a1cc0465d783fslive xmlns="http://www.w3.org/1999/xhtml">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- ==================================================================== -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- <moduleindex> -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- Builds the moduleindex page -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- ==================================================================== -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:template match="moduleindex">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
1cb160a981947e75a8353da3fe40a653aa87100eslive <xsl:call-template name="section-title"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:apply-templates select="summary"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
1cb160a981947e75a8353da3fe40a653aa87100eslive <xsl:call-template name="seealso"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>\subsection*{</xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd <xsl:value-of select="$message[@id='corefeatures']" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>}
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive\begin{description}
87ea898bcffe2ef490e833dc246a1cc0465d783fslive\item[</xsl:text>
117a9c5156c08125e2060ff892adac4634b7ad2dnd <xsl:apply-templates select="document(document($allmodules)/modulefilelist/modulefile
87ea898bcffe2ef490e833dc246a1cc0465d783fslive [starts-with(., 'core.xml')])
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis/name"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>] (p.\ \pageref{/mod/</xsl:text>
117a9c5156c08125e2060ff892adac4634b7ad2dnd <xsl:value-of select="document(document($allmodules)/modulefilelist/modulefile
87ea898bcffe2ef490e833dc246a1cc0465d783fslive [starts-with(., 'core.xml')])
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis/name"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>}) </xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
117a9c5156c08125e2060ff892adac4634b7ad2dnd <xsl:apply-templates select="document(document($allmodules)/modulefilelist/modulefile
87ea898bcffe2ef490e833dc246a1cc0465d783fslive [starts-with(., 'core.xml')])
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis/description" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive\item[</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
117a9c5156c08125e2060ff892adac4634b7ad2dnd <xsl:apply-templates select="document(document($allmodules)/modulefilelist/modulefile
87ea898bcffe2ef490e833dc246a1cc0465d783fslive [starts-with(., 'mpm_common.xml')])
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis/name" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>] (p.\ \pageref{/mod/</xsl:text>
117a9c5156c08125e2060ff892adac4634b7ad2dnd <xsl:value-of select="document(document($allmodules)/modulefilelist/modulefile
87ea898bcffe2ef490e833dc246a1cc0465d783fslive [starts-with(., 'mpm_common.xml')])
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis/name"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>}) </xsl:text>
117a9c5156c08125e2060ff892adac4634b7ad2dnd <xsl:apply-templates select="document(document($allmodules)/modulefilelist/modulefile
87ea898bcffe2ef490e833dc246a1cc0465d783fslive [starts-with(., 'mpm_common.xml')])
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis/description" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <!-- and now the remaining MPMs -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:variable name="mpmmodules"
117a9c5156c08125e2060ff892adac4634b7ad2dnd select="document(document($allmodules)/modulefilelist/modulefile)
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis[status='MPM' and name != 'mpm_common']" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:variable name="translist">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:call-template name="module-translist">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:with-param name="modules" select="$mpmmodules" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive </xsl:call-template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive </xsl:variable>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:for-each select="$mpmmodules">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:sort select="substring-before(substring-after($translist,
87ea898bcffe2ef490e833dc246a1cc0465d783fslive concat('- ', translate(normalize-space(name), $lowercase,
87ea898bcffe2ef490e833dc246a1cc0465d783fslive $uppercase), ' ')), ' -')" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive\item[</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:apply-templates select="name"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>] (p.\ \pageref{/mod/</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:value-of select="name"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>}) </xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:apply-templates select="description" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive </xsl:for-each>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>\end{description}
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <!-- /core section -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>\section*{</xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd <xsl:value-of select="$message[@id='othermodules']" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>}
87ea898bcffe2ef490e833dc246a1cc0465d783fslive\begin{description}
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:variable name="modules"
117a9c5156c08125e2060ff892adac4634b7ad2dnd select="document(document($allmodules)/modulefilelist/modulefile)
87ea898bcffe2ef490e833dc246a1cc0465d783fslive /modulesynopsis[status!='MPM' and status!='Core']" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:call-template name="mindex-of-letter">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:with-param name="modules" select="$modules" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive </xsl:call-template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text>\end{description}
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- /moduleindex -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- ==================================================================== -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- the working horse. builds list items of all modules starting with -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- one letter when done, it calls itself to catch the next letter -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- ==================================================================== -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:template name="mindex-of-letter">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:param name="modules"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:variable name="translist">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:call-template name="module-translist">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:with-param name="modules" select="$modules" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive </xsl:call-template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:variable>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:for-each select="$modules">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:sort
87ea898bcffe2ef490e833dc246a1cc0465d783fslive select="substring-before(substring-after($translist, concat('- ',
87ea898bcffe2ef490e833dc246a1cc0465d783fslive translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive\item[</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:apply-templates select="name"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:text>] (p.\ \pageref{/mod/</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:value-of select="name"/>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:text>}) </xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:apply-templates select="description" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:for-each> <!-- /directives -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- /mindex-of-letter -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- ==================================================================== -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- define module name translations for sorting -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- it's a kind of a hack... -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- we build a string that contains the following data: -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- "- modulename sortname - modulename sortname - ..." -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- (with all data in uppercase) -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- So, the translation from modulename to sortname can be done with the -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- expression below: -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!--
87ea898bcffe2ef490e833dc246a1cc0465d783fslive substring-before(
87ea898bcffe2ef490e833dc246a1cc0465d783fslive substring-after($translist,
87ea898bcffe2ef490e833dc246a1cc0465d783fslive concat('- ', translate(modulename,
87ea898bcffe2ef490e833dc246a1cc0465d783fslive $lowercase, $uppercase),
87ea898bcffe2ef490e833dc246a1cc0465d783fslive ' ')
87ea898bcffe2ef490e833dc246a1cc0465d783fslive ),
87ea898bcffe2ef490e833dc246a1cc0465d783fslive ' -')
87ea898bcffe2ef490e833dc246a1cc0465d783fslive -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- ==================================================================== -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:template name="module-translist">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:param name="modules" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:text>-</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:for-each select="$modules">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:variable name="sname" select="translate(normalize-space(name),
87ea898bcffe2ef490e833dc246a1cc0465d783fslive $lowercase, $uppercase)" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text> </xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:value-of select="$sname" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text> </xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:call-template name="module-translatename">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:with-param name="name" select="$sname" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive </xsl:call-template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:text> -</xsl:text>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:for-each>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- /module-translist -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:template name="module-translatename">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:param name="name" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:variable name="sname" select="translate($name, $lowercase, $uppercase)" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:choose>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:when test="starts-with($sname, 'MOD_') or starts-with($sname, 'MPM_')">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:value-of select="substring($name, 5)" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:when>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:when test="starts-with($sname, 'MPMT_')">
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:value-of select="substring($name, 6)" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:when>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:otherwise>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive <xsl:value-of select="$name" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:otherwise>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:choose>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:template>
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<!-- /module-translatename -->
87ea898bcffe2ef490e833dc246a1cc0465d783fslive
87ea898bcffe2ef490e833dc246a1cc0465d783fslive</xsl:stylesheet>