From: Dimitri Mouffet (dmouffet@mac.com)
Date: 13/01/2003 - 07:33
Mes essais avec 'xsl:import' n'ont pas donné de résultats probants car,
d'après ce que j'ai compris, le niveau de "priorité" des règles
importées est inférieure à celui des règles du document principal. J'ai
donc privilégié 'xsl:include' car dans ce cas les règles importés sont
traitées 'comme si' elles appartenaient au document principal.
Le dimanche, 12 jan 2003, à 21:28 Europe/Brussels, Barbara Post a écrit
:
>
> xsl:import, non ?
> --
> 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)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|