Bonjour
voici mon xml d'origine
ma feuille xsl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?xml version="1.0" encoding="UTF-8"?> -<REF date_parution="24082013"><PAGE FOLIO="1" CAHIER="1" EDITION="ECL" NOM="ECLJ101" LAY="S"/><PAGE FOLIO="2" CAHIER="1" EDITION="ECL" NOM="ECLJ102" LAY="S"/><PAGE FOLIO="3" CAHIER="1" EDITION="ECL" NOM="ECLJ103" LAY="S"/><PAGE FOLIO="4" CAHIER="1" EDITION="ECL" NOM="ECLJ104" LAY="S"/><PAGE FOLIO="5" CAHIER="1" EDITION="ECL" NOM="ECLJ105" LAY="S"/><PAGE FOLIO="6" CAHIER="1" EDITION="ECL" NOM="ECLJ106" LAY="S"/><PAGE FOLIO="7" CAHIER="1" EDITION="ECL" NOM="ECLJ107" LAY="S"/><PAGE FOLIO="8" CAHIER="1" EDITION="ECL" NOM="ECLJ108" LAY="S"/><PAGE FOLIO="9" CAHIER="1" EDITION="ECL" NOM="ECLJ109" LAY="S"/><PAGE FOLIO="10" CAHIER="1" EDITION="ECL" NOM="ECLJ110" LAY="S"/><PAGE FOLIO="11" CAHIER="1" EDITION="ECL" NOM="ECLJ111" LAY="S"/><PAGE FOLIO="12" CAHIER="1" EDITION="ECL" NOM="ECLJ112" LAY="S"/><PAGE FOLIO="13" CAHIER="1" EDITION="ECL" NOM="ECLJ113" LAY="S"/><PAGE FOLIO="14" CAHIER="1" EDITION="ECL" NOM="ECLJ114" LAY="S"/><PAGE FOLIO="15" CAHIER="1" EDITION="ECL" NOM="ECLJ115" LAY="S"/><PAGE FOLIO="16" CAHIER="1" EDITION="ECL" NOM="ECLJ116" LAY="S"/><PAGE FOLIO="17" CAHIER="1" EDITION="ECL" NOM="ECLJ117" LAY="S"/><PAGE FOLIO="18" CAHIER="1" EDITION="ECL" NOM="ECLJ118" LAY="S"/><PAGE FOLIO="1" CAHIER="2" EDITION="ECL" NOM="ECLC101" LAY="S"/><PAGE FOLIO="2" CAHIER="2" EDITION="ECL" NOM="ECLC102" LAY="S"/><PAGE FOLIO="3" CAHIER="2" EDITION="ECL" NOM="ECLC103" LAY="S"/><PAGE FOLIO="4" CAHIER="2" EDITION="ECL" NOM="ECLC104" LAY="S"/><PAGE FOLIO="5" CAHIER="2" EDITION="ECL" NOM="ECLC105" LAY="S"/><PAGE FOLIO="6" CAHIER="2" EDITION="ECL" NOM="ECLC106" LAY="S"/><PAGE FOLIO="7" CAHIER="2" EDITION="ECL" NOM="ECLC107" LAY="S"/><PAGE FOLIO="8" CAHIER="2" EDITION="ECL" NOM="ECLC108" LAY="S"/><PAGE FOLIO="19" CAHIER="1" EDITION="ECL" NOM="ECLJ119" LAY="S"/><PAGE FOLIO="20" CAHIER="1" EDITION="ECL" NOM="ECLJ120" LAY="S"/><PAGE FOLIO="21" CAHIER="1" EDITION="ECL" NOM="ECLJ121" LAY="S"/><PAGE FOLIO="22" CAHIER="1" EDITION="ECL" NOM="ECLJ122" LAY="S"/><PAGE FOLIO="23" CAHIER="1" EDITION="ECL" NOM="ECLJ123" LAY="S"/><PAGE FOLIO="24" CAHIER="1" EDITION="ECL" NOM="ECLJ124" LAY="S"/><PAGE FOLIO="25" CAHIER="1" EDITION="ECL" NOM="ECLJ125" LAY="S"/><PAGE FOLIO="26" CAHIER="1" EDITION="ECL" NOM="ECLJ126" LAY="S"/><PAGE FOLIO="27" CAHIER="1" EDITION="ECL" NOM="ECLJ127" LAY="S"/><PAGE FOLIO="28" CAHIER="1" EDITION="ECL" NOM="ECLJ128" LAY="S"/><PAGE FOLIO="29" CAHIER="1" EDITION="ECL" NOM="ECLJ129" LAY="S"/><PAGE FOLIO="30" CAHIER="1" EDITION="ECL" NOM="ECLJ130" LAY="S"/><PAGE FOLIO="31" CAHIER="1" EDITION="ECL" NOM="ECLJ131" LAY="S"/><PAGE FOLIO="32" CAHIER="1" EDITION="ECL" NOM="ECLJ132" LAY="S"/><PAGE FOLIO="33" CAHIER="1" EDITION="ECL" NOM="ECLJ133" LAY="S"/><PAGE FOLIO="34" CAHIER="1" EDITION="ECL" NOM="ECLJ134" LAY="S"/><PAGE FOLIO="35" CAHIER="1" EDITION="ECL" NOM="ECLJ135" LAY="S"/><PAGE FOLIO="36" CAHIER="1" EDITION="ECL" NOM="ECLJ136" LAY="S"/><PAGE FOLIO="1" CAHIER="1" EDITION="REP" NOM="REPJ101" LAY="S"/><PAGE FOLIO="2" CAHIER="1" EDITION="REP" NOM="REPJ102" LAY="S"/><PAGE FOLIO="27" CAHIER="1" EDITION="REP" NOM="REPJ127" LAY="S"/><PAGE FOLIO="36" CAHIER="1" EDITION="REP" NOM="REPJ136" LAY="S"/></REF>
mon resultat souhaite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xchngr="image-etc.com/Exchanger" version="1.0"> <xsl:output method="xml" version="1.0" encoding="UTF-8"/> <xsl:template match="/"> <!-- <xsl:for-each select="//pages/page[substring(@PageID,1,4)='PECL']"> <xsl:variable name="pos" select="position()"></xsl:variable> </xsl:for-each> <xsl:element name="TOTO"> <xsl:value-of select="$pos"/> </xsl:element>--> <xsl:element name="REF"> <xsl:attribute name="date_parution"><xsl:value-of select="/REF/@date_parution"/></xsl:attribute> <xsl:attribute name="ECL"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='1'] and @EDITION[.='ECL']])"/></xsl:attribute> <xsl:attribute name="REP"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='1'] and @EDITION[.='REP']])"/></xsl:attribute> <xsl:attribute name="CAHIER1"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='2'] and @EDITION[.='ECL']])"/></xsl:attribute> <xsl:attribute name="CAHIER2"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='3'] and @EDITION[.='ECL']])"/></xsl:attribute> <xsl:attribute name="CAHIER3"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='4'] and @EDITION[.='ECL']])"/></xsl:attribute> <xsl:attribute name="CAHIER_REP1"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='2'] and @EDITION[.='REP']])"/></xsl:attribute> <xsl:attribute name="CAHIER_REP2"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='3'] and @EDITION[.='REP']])"/></xsl:attribute> <xsl:attribute name="CAHIER_REP3"><xsl:value-of select="count(/REF/PAGE[@CAHIER[.='4'] and @EDITION[.='REP']])"/></xsl:attribute> <xsl:for-each select="/REF/PAGE[@CAHIER[.='1'] and @EDITION[.='REP']]"> <xsl:value-of select="concat(substring(@NOM,6,2),';')"/> </xsl:for-each> </xsl:element> </xsl:template> </xsl:stylesheet>
comment arriver à isoler l'attribut pages ? sans le dernier ";"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?xml version="1.0" encoding="UTF-8"?> <REF CAHIER_REP3="0" CAHIER_REP2="0" CAHIER_REP1="0" CAHIER3="0" CAHIER2="0" CAHIER1="8" REP="4" ECL="36" date_parution="24082013" pages="01;02;27;36"></REF>
merci
Partager