IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] Compter le nombre de référence à un ID (via un IDREF)


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Invité
    Invité(e)
    Par défaut [XSLT] Compter le nombre de référence à un ID (via un IDREF)
    Bonjour,

    J'ai un schéma XML de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <LIVRES>
    <LIVRE isbn=i_444>
    <LIVRE isbn=i_555></LIVRES>
     
    <EMPRUNTS>
    <EMPRUNT refIsbn=i_444>
    <EMPRUNT refIsbn=i_444>
    </EMPRUNTS>
    J'aimerais donc, parmis les livres empruntés, savoir combien de fois il l'a été.

    Pour savoir quels sont les livres empruntés, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:apply-templates select="LIVRES/LIVRE[@isbn = following::EMPRUNTS/EMPRUNT/@refIsbn]"/>
    Tout va bien je récupére juste le livre i_444

    Mais maintenant pour connaître son nombre d'emprunt, je bloque !
    Une fois dans LIVRE, je n'arrive pas a faire les correspondances entre les ID et IDREF...


    Merci pour vos réponse

    PS: voici le code en partie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <xsl:apply-templates select="LIVRES/LIVRE[@isbn = following::EMPRUNT/@refIsbn]"/>
    ....
    ....
    <xsl:template match="LIVRE">
     
                   <xsl:value-of select="@isbn"/>    
     
                 ??????? <xsl:value-of select="count(//EMPRUNT[@refIsbn = @isbn])"/>
     
     
    </xsl:template>

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    utiliser une variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <xsl:template match="LIVRE">
     
                   <xsl:variable name="livre" select="@isbn"/>    
     
                 ??????? <xsl:value-of select="count(//EMPRUNT[@refIsbn = $livre])"/>
     
     
    </xsl:template>

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ha oui, ba merci bien pour cette réponse ^^

    Mais je comprend pas pourquoi le variable retient l'isbn du noeud courant, alors que sans variable, eten faisant directement le test sur @isbn, il faisait tous les isbn et pas seulement celui du noeud courant...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 14/09/2018, 17h40
  2. Réponses: 1
    Dernier message: 11/09/2012, 13h58
  3. Réponses: 1
    Dernier message: 13/02/2007, 09h54
  4. [XSLT] Compter nombre de ligne
    Par c+cool dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 27/04/2006, 09h52
  5. compter le nombre d'affichage d'un champs (XSLT)
    Par casafree dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/08/2005, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo