Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: RE : Re: RE : Re: pbm: xsl:variable

[xml-tech] Re: RE : Re: RE : Re: pbm: xsl:variable

Auteur: Eric van der Vlist <vdv@dyomedea.com>
Date: 06/04/2006 - 15:14
X-Mailer: Evolution 2.4.1

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)
Received on Thu Apr 6 17:14:33 2006

Archive générée par hypermail 2.1.8 le 30/04/2006 - 01:02 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement