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 :

transformation xslt,expression xpath aide


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 8
    Points
    8
    Par défaut transformation xslt,expression xpath aide
    salut

    Je cherche à récuperer le contenu de tous les attributs du dernier élément T avec un xslt et le mettre entre balise p

    voici le xml:
    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <project>
          <A>
              <PRIX code_barre="3057640117008">20</PRIX>
              <composition>
                  <T type1="aze" type2="111" type3="V">texte</T>
                  <T type1="a" type2="18" type3="l">texte</T>
                  <T type1="ce" type2="13" type3="l">texte</T>
                  <T type1="de" type2="163" type3="V">texte</T>
              </composition>
              <PROVENANCE>
                  <lieu PAYS="CHINE">PULL</lieu>
                  <CONTINENT>ASIE</CONTINENT>
              </PROVENANCE>
          </A>
          <B>
              <PRIX code_barre="3057640117008">15</PRIX>
              <composition>
                  <T type1="aze" type2="111" type3="V">texte</T>
                  <T type1="a" type2="18" type3="l">texte</T>
                  <T type1="ce" type2="13" type3="l">texte</T>
                  <T type1="de" type2="163" type3="V">texte</T>
              </composition>
              <PROVENANCE>
                      <lieu PAYS="CHINE">CASQUETTE</lieu>
                      <CONTINENT>ASIE</CONTINENT>
              </PROVENANCE>
          </B>
    </project>
    Voici ce que j'ai tenter de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <xsl:template match="project">
     
        <P>
     
          <xsl:value-of select="//*B [position()=last()]"/>
     
        </P>
     
      </xsl:template>
    J'en profite pour vous posez 2 petites questions que voici :

    1) Comment fais t-on pour cont rôler la validité d'une transformation XSL si cela est possible?
    Je pense que cela est possible mais je ne sais pas faire

    2)Un document balisé avec un langage défini par un schéma XML est-il toujours entièrement transformable vers un autre balisage défini de la même manière ?

  2. #2
    Membre actif
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Points : 297
    Points
    297
    Par défaut
    pour récupérer tous les attributs des derniers "T" (à adapter si il y a une condition du parent attendu, que tu ne précise pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //composition/T[position()=last()]/@*
    Ensuite, tu as plusieurs outils pour contrôler le résultat et la validité du XSLT, personnellement j'utilise XMLSpy mais le choix est grand...
    "Chuck Norris a déjà compté jusqu'à l'infini. Deux fois."

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    En fait le dernier T du document, on l'obtient plutôt comme ça :

    ce qui est une version courte de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //T[position() = last()]/@*
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    oui c'est bien cela

    du coup si les <T> sont toujours dans des balises <article> au lieu de <a> puis <b> pour avoir le dernier je fais bien comme cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //article[last()]//T[last()]/@*

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    S'ils sont toujours dans des balises <article> ça marchera tout aussi bien, oui.

    Mais, tu pouvais tout simplement garder :

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci de ton aide

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

Discussions similaires

  1. [XSLT] expression XPath
    Par thierry_b dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 09/04/2009, 16h43
  2. Réponses: 4
    Dernier message: 19/02/2009, 12h19
  3. [SimpleXML] besoin d'aide sur une expression xpath
    Par ANISSS dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 11/05/2007, 10h23
  4. [VC# Express]transformation XSLT
    Par jeff_76960 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 09/03/2007, 13h01
  5. [XPath] aide pour une expression
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 25/07/2006, 11h55

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