Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > XML > XSL & XSLT
XSL & XSLT Forum d'entraide pour les extensions XSL et XSLT permettant de manipuler vos documents XML à l'aide de feuilles de style et de transformations avec PHP. Avant de poster -> tutoriels XSL et XSLT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/09/2012, 09h16   #1
mansour67
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 88
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 88
Points : 17
Points : 17
Par défaut Compter un nombre de signataires en xslt

Bonjour,
voici mon fichier en xml de ce genre:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<ligne1>
<Zone>01</Zone>
<Mois>01</Mois>
<Signataire>x</Signataire>
</ligne1>
<ligne2>
<Zone>01</Zone>
<Mois>01</Mois>
<Signataire>y</Signataire>
</ligne2>
<ligne3>
<Zone>02</Zone>
<Mois>01</Mois>
<Signataire>x</Signataire>
</ligne3>
J'aimerai en xslt calculer le nombre de signataire c.a.d dans mon exmeple c'est 2 (faire la distinction).
j'ai cette on xslt mais la condition c'est d'avoir les (x) cote à cote .
comment faire s'ils sont dispachés.
voici mon code xslt:
Code :
1
2
 
<?count(current-group()[MOIS=01]/SIGNATAIRE[not(following::SIGNATAIRE=.)])?>
Merci
mansour67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2012, 12h19   #2
polymorphisme
Modérateur
 
Avatar de polymorphisme
 
Homme Grégory Roche
Publishing
Inscription : octobre 2009
Messages : 1 424
Détails du profil
Informations personnelles :
Nom : Homme Grégory Roche
Âge : 39
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Publishing

Informations forums :
Inscription : octobre 2009
Messages : 1 424
Points : 2 333
Points : 2 333
Bonjour,

Code :
<?count(current-group()[MOIS=01]/SIGNATAIRE[not(following::SIGNATAIRE=.)])?>
C'est quoi au juste çà ?
__________________
Article : Installation de Cocoon
Je ne réponds pas aux MP à caractère technique.
polymorphisme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2012, 16h17   #3
mokfajri
Membre à l'essai
 
Homme
Développeur Web
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 24
Points : 24
Bonjour,
Voilà une possibilité :
Le fichier xml : exemple.xml qui pointe sur le fichier xsl :count.xsl
Code :
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
 
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="count.xsl" type="text/xsl" ?>
<fichier>
<ligne1>
	<Zone>01</Zone>
	<Mois>01</Mois>
	<Signataire>x</Signataire>
</ligne1>
<ligne2>
	<Zone>01</Zone>
	<Mois>01</Mois>
	<Signataire>y</Signataire>
</ligne2>
<ligne3>
	<Zone>02</Zone>
	<Mois>01</Mois>
	<Signataire>x</Signataire>
</ligne3>
<ligne4>
	<Zone>03</Zone>
	<Mois>01</Mois>
	<Signataire>z</Signataire>
</ligne4>
</fichier>
Le fichier xsl:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" encoding="utf-8" />
<xsl:strip-space elements="*" />
 
<xsl:output method="text" />
 
<xsl:template match="/">
 
    Nombre :  <xsl:value-of select="count(//Signataire[not(preceding::Signataire=.)])"/>
</xsl:template>
</xsl:stylesheet>
Résultat :
Citation:
Nombre : 3
mokfajri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h00.


 
 
 
 
Partenaires

Hébergement Web