--
website : www.babsfrance.fr.st
ICQ : 135868405
----- Original Message -----
From: "Dimitri Mouffet" <dmouffet@mac.com>
To: <xml-tech@xmlfr.org>
Sent: Sunday, January 12, 2003 9:14 PM
Subject: [xml-tech] [Q] Utilisation 'xsl:include' et 'xsl:call-template'
>
> Bonjour,
>
> Je débute avec XSLT et je rencontre un problème, sans doute trivial,
> auquel je ne trouve pas de solution.
>
> J'utilise un template 'menu' pour créer un menu de navigation. Lorsque
> je place ce template au début de mon fichier xsl et que j'y fais
> référence par la suite avec 'xsl:call-template' tout s'exécute
> correctement. Comme je désire réutiliser cette règle dans d'autres
> fichiers, j'ai donc pensé le mettre dans un fichier externe que
> j'appelle via 'xsl:include'. Dans ce dernier cas, l'appel au template
> 'menu' ne donne pas de résultats.
>
>
> Le fichier appelé par la commande 'xsl:include' ressemble à ceci:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>
>
> <xsl:variable name="acletters">éèêëçàùûôîï</xsl:variable>
> <xsl:variable name="noletters">eeeecauuoii</xsl:variable>
>
> <xsl:template name="menu">
> <xsl:for-each select="document('xNavigation.xml')//link">
> <xsl:value-of select="."/>
> <xsl:sort select="@order"/>
> <xsl:value-of select="."/>
> <xsl:variable name="link" select="translate(., $acletters,
> $noletters)"/>
> <a href="{$link}.html" id="Topnav"><xsl:value-of
> select="."/></a><xsl:if test="position() != last()"><xsl:text> |
> </xsl:text></xsl:if>
> </xsl:for-each>
> </xsl:template>
>
> </xsl:stylesheet>
>
> Le fichier utilisant le template ressemble à ceci:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>
>
> <xsl:include href="xxFormat.xsl"/>
>
> <xsl:template match="Publications">
>
> <html>
> <head>
> <title><xsl:call-template name="test"/></title>
> <link rel="stylesheet" type="text/css" href="xStyle.css"/>
> <script language="JavaScript" src="xResize.js"></script>
> </head>
> <body id="Body">
> <div id="Top">
> <xsl:call-template name="menu"/>
> </div>
> <div id="Middle">
> <h1 id="Module"><xsl:value-of select="@Mod"/></h1>
> <h2 id="Map">Disponibles en Téléchargement</h2>
> </div>
> </body>
> </html>
> </xsl:template>
>
> </xsl:stylesheet>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)