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 :

comprendre un code xslt


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2022
    Messages : 11
    Points : 5
    Points
    5
    Par défaut comprendre un code xslt
    salut à tous j'ai des difficulté à comprendre un code en XSLT avec un prédicat, je ne sais pas si vous pouvez me l'expliquer.

    ce sont les parties surlignée en jaune: Que testons-nous dans le <if> ? Pourquoi faire ceci ?; et Que fait le <xsl:apply-templates> ?

    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    D'abord, savez-vous le sens des axes preceding, descendant et following-sibling ? Sinon, c'est plus convenqble à expliquer par quelques graphiques, inconvenient à faire ici en quelques mots de description.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2022
    Messages : 11
    Points : 5
    Points
    5
    Par défaut comprendre un code xslt
    pour la première question, je comprends que le if nous permet de faire un test de position qui nous montre qu'il ne doit pas être suivi d'un frère précedent qui s'appelle item en adresse, avec un prédicat qui récupère la chaîne de caractère.

    et sur le applytemplates, il va sélectionner l'élément courant suivi d'un frère postposé et de n'importe quel élément qui est représenté par le * avec une condition qui récupère les descendants d'item en adresse.
    mais plus concrètement, je n'arrive à me répertorier. pouvez vous m'expliquez mieux?
    merci d'avance.

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Bien, vous comprenez des axes, je suppose, comme si été une insulte questionné ? Je peux m'exercer avec des explications suivant.

    Code xslt : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="not(precediing::item-en-adress[substring(.,1,1)=$initiale)">
    Cette expression dit de tester si vraie qu'il n'y pas (not()) d'élément nommé item-en-accdresse qui se trouve dans la région preceding (preceding::item-en-adresse) par rapport à l'élément en contexte (@match="article|article-de-adresse") avec le caractère suivant, viz, le premier caractère du contenu textuel étant égale à la valeur de la variable 5initiale définie aupravant (xsl:variable name="initiale").

    Code xslt : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:apply-templates select=".|following-sibling::*[substring(descendant::item-en-adresse,1,1)=$initiale"][substring(local-name(),7)='article'] />
    Cette expression dit d'appliquer le template (sans qualifié par l'attribut @mode="regroupement") qui est pour l'élément en contexte (.) ou (|) tous les éléments (*) qui se trouvent dans la région following-sibling (following-sibling::*) qui ont ces deux caractères, viz, 1) qu'ils contienent au moins un élément comme décendant nommé item-en-adresse (decendant::item-en-adresse) que son contenu textuel ayant le premier caractère égale à la valeur de la variable 5initiale définie aupravant (xsl:variable name="initiale"); et 2) que le nom de ces éléments étant un string 'article' à partir de son septième caractère (comme par exemple 'xxxxxxarticle').

    Voilà !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2022
    Messages : 11
    Points : 5
    Points
    5
    Par défaut comprendre un code xslt
    merci beaucoup j'arrive à comprendre mieux avec vos explications. C'est ma première année en XSLT, c'est pourquoi je cale un peu sur certains codes.
    j'arrivais pas à bien comprendre la fonction substring, j'ai pu comprendre qu'il récupère une chaîne de caractère et renvoie un résultat. et c'est ce résultat que je n'arrive pas à comprendre la logique.
    si vous pouvez m'expliquer juste la fonction substing dans ce code je vous en serait reconnaissant.
    j'espère juste que celà ne vous embête pas.

    merci beaucoup.

  6. #6
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736

Discussions similaires

  1. Besoin d aide pour comprendre un code
    Par litlebasic dans le forum Delphi
    Réponses: 4
    Dernier message: 22/06/2006, 13h00
  2. Réponses: 6
    Dernier message: 18/06/2006, 00h22
  3. Aide pour comprendre un code
    Par Spacy_green dans le forum Assembleur
    Réponses: 2
    Dernier message: 13/02/2006, 13h22
  4. Aide pour comprendre le code
    Par jfreuff dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/01/2006, 17h54
  5. Comprendre un code asm relatif aux bitmaps
    Par sorry60 dans le forum Assembleur
    Réponses: 8
    Dernier message: 20/04/2005, 21h31

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