RE : Re: RE : Re: RE : Re: pbm: xsl:variable
"MAGNA Pascal" <[email protected]>
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <6D1AEC3456FCEE41951B2874053E9B28046F4C37@scmex-clipper.cneti.caisse-epargne.fr> |
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 : [email protected] -----Message d'origine----- De : [email protected] [mailto:[email protected]] De la part de Eric van der Vlist Envoyé : jeudi 6 avril 2006 17:14 À : [email protected] 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 "[email protected]" (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 [email protected] (mailto:[email protected]?Subject=unsubscribe)