From: Veauleger François (f.veauleger@kenobee.fr)
Date: 03/01/2001 - 10:39
Chez moi ca ne fonctionne pas...
Veauleger Francois
Kenobee
-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]De la
part de Eric van der Vlist
Envoyé : Wednesday, January 03, 2001 9:53 AM
À : xml-tech@xmlfr.org
Objet : [xml-tech] Re: Decoupage de données et traitemant XSL
Bonjour,
Veauleger François wrote:
>
> Bonjour,
>
> J'ai dans mon fichier xml les données suivantes :
>
> <langues>32,16,8</langues>
>
> chaque chiffres correspond a une langue par exemple : 32=francais,...
>
> A travers mon fichier XSL je voudrais faire apparaitre ces langues.
Cela pose en fait deux questions:
1) Comment gérer des valeurs séparées par des virgules (utilisation
récursive de templates utilisant les fonctions substring-after et
substring-before) ?
2) Comment stocker une "table de correspondance" dans une feuille de
style (utilisation d'éléments d'un espace de nom non XSL au moyen de
document("") ) ?
J'ai regroupé les réponses à ces deux questions dans l'exemple suivant:
----source----
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="C:\Java\tests\Veauleger.xsl"?>
<langues>32,16,8</langues>
----xslt----
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:lan="http://xmlfr.org/ns/langues" exclude-result-prefixes="lan">
<xsl:output method="xml" encoding="ISO-8859-1" indent="yes"/>
<lan:langues>
<langue id="32">Français</langue>
<langue id="16">Indi</langue>
<langue id="8">Breton</langue>
</lan:langues>
<xsl:template match="/">
<html>
<body>
<p>Langues:</p>
<ul>
<xsl:apply-templates
select="/langues"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="langues" name="langues">
<xsl:param name="langues" select="concat(., ',')"/>
<xsl:if test="$langues">
<li>
<xsl:value-of
select="document('')/xsl:stylesheet/lan:langues/langue[@id=substring-bef
ore($langues,
',')]"/>
</li>
<xsl:call-template name="langues">
<xsl:with-param name="langues"
select="substring-after($langues,
',')"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
----résultat----
<?xml version="1.0" encoding="ISO-8859-1"?>
<html>
<body>
<p>Langues:</p>
<ul>
<li>Français</li>
<li>Indi</li>
<li>Breton</li>
</ul>
</body>
</html>
Cordialement,
Eric van der Vlist
>
> Merci de votre aide
>
> Veauleger François
> Kenobee
--
------------------------------------------------------------------------
Eric van der Vlist Dyomedea http://dyomedea.com
http://xmlfr.org http://4xt.org http://ducotede.com
------------------------------------------------------------------------
--
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)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|