Merci pour cette réponse, j'essaye ça lundi et vous tiens au courant ....
MAGNA Pascal
CNETI/DECI
Tel : 01.58.40.23.11
EMail : Pascal.Magna@cneti.caisse-epargne.fr
-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org] De la part de Eric van der Vlist
Envoyé : jeudi 6 avril 2006 17:14
À : xml-tech@xmlfr.org
Objet : [xml-tech] Re: RE : Re: RE : Re: pbm: xsl:variable
Le jeudi 06 avril 2006 à 16:51 +0200, MAGNA Pascal a écrit :
> Pour cela j'ai créé un template creat_rub dans lequel je créé mes 6
> éléments. Le code et la valeur sont dans le doc xml, la longueur,
> libellé et alpha ou num se trouvent "en dur" dans la feuille xsl et la
> position au lieu d'être "en dur" dans la feuille je préfèrerais la
> calculer, comme dans un doc excel
> Rub Lg Pos
> 1 2 1
> 2 5 3
> 3 18 8
> 4 1 26
> ...
>
> J'espère avoir été un peu plus clair.
Oui. Il ne faut pas confondre .xsl et .xls :) et contrairement à Visual Basic, XSLT vous force à raisonner de manière ensembliste...
Vous aurez beaucoup de mal à faire ce que vous voulez faire avec des templates nommés et das variables (dont vous ne pouvez pas changer la
valeur) et je vous conseille plutôt d'utiliser la transformation elle même comme une source ce données.
La transformation suivante ;
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:data="http://ns.xmlfr.org/xslt/data/" version="1.0" exclude-result-prefixes="data">
<xsl:output media-type="xml" indent="yes"/>
<data:rubriques>
<data:rubrique lg="2"/>
<data:rubrique lg="5"/>
<data:rubrique lg="18"/>
<data:rubrique lg="1"/>
</data:rubriques>
<xsl:template match="/">
<rubriques>
<xsl:apply-templates select="document('')/*/data:rubriques/data:rubrique"/>
</rubriques>
</xsl:template>
<xsl:template match="data:rubrique">
<rubrique>
<rub value="{position()}"/>
<lg value="{@lg}"/>
<position value="{sum(preceding-sibling::*/@lg) + 1}"/>
</rubrique>
</xsl:template>
</xsl:stylesheet>
génère :
<?xml version="1.0" encoding="utf-8"?>
<rubriques>
<rubrique>
<rub value="1"/>
<lg value="2"/>
<position value="1"/>
</rubrique>
<rubrique>
<rub value="2"/>
<lg value="5"/>
<position value="3"/>
</rubrique>
<rubrique>
<rub value="3"/>
<lg value="18"/>
<position value="8"/>
</rubrique>
<rubrique>
<rub value="4"/>
<lg value="1"/>
<position value="26"/>
</rubrique>
</rubriques>
qui est si j'ai bien compris ce que vous souhaitez obtenir.
Par contre, je ne comprend pas bien comment vous voulez faire le lien avec les informations contenues dans le document source...
Cordialement,
Eric van der Vlist
--
GPG-PGP: 2A528005
Le premier annuaire des apiculteurs 100% XML!
http://apiculteurs.info/
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
-- Attached file included as plaintext by Ecartis --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQBENTBLDvn+ZCpSgAURArB+AKCjsHpKrvwqsOpbf1VHDwGIr4Yr5QCeLYrH
oeIH8M4x/a19NKsr72HPuKA=
=qLBM
-----END PGP SIGNATURE-----
--
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)
Received on Thu Apr 6 17:36:46 2006