moduleindex.xsl revision 87ea898bcffe2ef490e833dc246a1cc0465d783f
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding/* ====================================================================
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * The Apache Software License, Version 1.1
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * reserved.
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * Redistribution and use in source and binary forms, with or without
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * modification, are permitted provided that the following conditions
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * 1. Redistributions of source code must retain the above copyright
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * notice, this list of conditions and the following disclaimer.
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * 2. Redistributions in binary form must reproduce the above copyright
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * notice, this list of conditions and the following disclaimer in
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * the documentation and/or other materials provided with the
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * distribution.
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * 3. The end-user documentation included with the redistribution,
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * if any, must include the following acknowledgment:
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * "This product includes software developed by the
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * Apache Software Foundation (http://www.apache.org/)."
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * Alternately, this acknowledgment may appear in the software itself,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * if and wherever such third-party acknowledgments normally appear.
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * 4. The names "Apache" and "Apache Software Foundation" must
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * not be used to endorse or promote products derived from this
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * software without prior written permission. For written
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * permission, please contact apache@apache.org.
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * 5. Products derived from this software may not be called "Apache",
64185f9824e42f21ca7b9ae6c004484215c031a7rbb * nor may "Apache" appear in their name, without prior written
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * permission of the Apache Software Foundation.
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * SUCH DAMAGE.
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding * ====================================================================
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * This software consists of voluntary contributions made by many
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * individuals on behalf of the Apache Software Foundation. For more
ab2c1c1c83ec91415565da5a71fbc15d9685caa6fielding * information on the Apache Software Foundation, please see
1b21d7b3d97def358b2e923655edeb16613a1c31gstein<!-- ==================================================================== -->
1b21d7b3d97def358b2e923655edeb16613a1c31gstein<!-- <moduleindex> -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- Builds the moduleindex page -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- ==================================================================== -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:text>\section{</xsl:text><xsl:apply-templates select="title"/>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:value-of select="$messages/message[@name='seealso']" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding \end{itemize}
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:value-of select="$messages/message[@name='corefeatures']" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding\begin{description}
1b21d7b3d97def358b2e923655edeb16613a1c31gstein <xsl:apply-templates select="document(modulefilelist/modulefile
1b21d7b3d97def358b2e923655edeb16613a1c31gstein [starts-with(., 'core.xml')])
1b21d7b3d97def358b2e923655edeb16613a1c31gstein <xsl:value-of select="document(modulefilelist/modulefile
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding [starts-with(., 'core.xml')])
48d7c43629323c8d5ee9f7bd0d194de0a376b391rbb <xsl:apply-templates select="document(modulefilelist/modulefile
1b21d7b3d97def358b2e923655edeb16613a1c31gstein [starts-with(., 'core.xml')])
1b21d7b3d97def358b2e923655edeb16613a1c31gstein <xsl:apply-templates select="document(modulefilelist/modulefile
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding [starts-with(., 'mpm_common.xml')])
904d7bf799c6216beb34519463596b4fce630308wrowe <xsl:value-of select="document(modulefilelist/modulefile
c95f419952af464c35f32d5c5754ad56aec754ebaaron [starts-with(., 'mpm_common.xml')])
1b21d7b3d97def358b2e923655edeb16613a1c31gstein <xsl:apply-templates select="document(modulefilelist/modulefile
1b21d7b3d97def358b2e923655edeb16613a1c31gstein [starts-with(., 'mpm_common.xml')])
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <!-- and now the remaining MPMs -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding select="document(modulefilelist/modulefile)
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding /modulesynopsis[status='MPM' and name != 'mpm_common']" />
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm <xsl:with-param name="modules" select="$mpmmodules" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:sort select="substring-before(substring-after($translist,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding concat('- ', translate(normalize-space(name), $lowercase,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding $uppercase), ' ')), ' -')" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <!-- /core section -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:value-of select="$messages/message[@name='othermodules']" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding\begin{description}
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding select="document(modulefilelist/modulefile)
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding /modulesynopsis[status!='MPM' and status!='Core']" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:with-param name="modules" select="$modules" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- /moduleindex -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- ==================================================================== -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- the working horse. builds list items of all modules starting with -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- one letter when done, it calls itself to catch the next letter -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- ==================================================================== -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:with-param name="modules" select="$modules" />
5918d21085b9748f957276afc287276333326e39coar select="substring-before(substring-after($translist, concat('- ',
5918d21085b9748f957276afc287276333326e39coar translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- /mindex-of-letter -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- ==================================================================== -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- define module name translations for sorting -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- it's a kind of a hack... -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- we build a string that contains the following data: -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- "- modulename sortname - modulename sortname - ..." -->
b5aed57c02a923d92b17122fa780bb5f2f14801ddougm<!-- (with all data in uppercase) -->
b5aed57c02a923d92b17122fa780bb5f2f14801ddougm<!-- So, the translation from modulename to sortname can be done with the -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- expression below: -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding substring-before(
b5aed57c02a923d92b17122fa780bb5f2f14801ddougm substring-after($translist,
b5aed57c02a923d92b17122fa780bb5f2f14801ddougm concat('- ', translate(modulename,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding $lowercase, $uppercase),
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- ==================================================================== -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <xsl:variable name="sname" select="translate(normalize-space(name),
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding $lowercase, $uppercase)" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- /module-translist -->
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm<xsl:variable name="sname" select="translate($name, $lowercase, $uppercase)" />
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<xsl:when test="starts-with($sname, 'MOD_') or starts-with($sname, 'MPM_')">
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<!-- /module-translatename -->