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 :

utiliser xslt pour afficher du texte à partir d'un fichier xml


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club Avatar de med_ellouze
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 89
    Points : 52
    Points
    52
    Par défaut utiliser xslt pour afficher du texte à partir d'un fichier xml
    Bonjour,
    Voilà j'ai un fichier xml qui a cette forme
    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <racine>
     
    <list>
            <AA>texte-texte-texte<ref>.....</ref> </AA>
            <BB>texte-texte-texte<ref>.....</ref> </BB>
            <BB>texte-texte-texte</BB>
            ............
    </list>
            <CC>texte-texte-texte</CC>
            <CC>texte-texte-texte<ref>.....</ref> </CC>
            <DD>texte-texte-texte<ref>.....</ref> </DD>
            ............
    <list>
     
    </list>
    ...
    ...
    </racine>
    Voilà, je veux créer des templates sur xslt qui me permettent d'afficher le texte qui se situe juste avant la balise <ref>et de le colorer en bleue (par exemple).

    Merci d'avance.

  2. #2
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Essaye simplement de formaliser ce que tu veux en ne partant pas du noeud le plus profond mais depuis la racine du document, en français, ça t'aidera à trouver le chemin XPath à utiliser pour ton template.

    Pour ce qui est de la restriction "avant la balise <ref>", si tu n'as pas de texte après, pas de problème, le texte avant correspondra à tout sauf la balise <ref> et sont contenu, sinon, tu vas avoir quelques problèmes.

  3. #3
    Membre du Club Avatar de med_ellouze
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 89
    Points : 52
    Points
    52
    Par défaut
    Ben, en fait mon problème c'est que j'arrive pas à touver le bon xpath vu que le texte avant la balise <ref> peut être dans n'importe quel balise. (AA, BB, CC, DD)
    Autrement dit : est ce qu'il ya une possibilité de traiter le texte (changer de couleur, modifier la taille, établir un lien,..) qui existe juste avant la balise <ref> quelques soit la balise qu'il importe et quelque soit sa position.

    j'ai pensé ensuite à faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:template match="racine/ref">
    <p style="color:blue"> <xsl:value-of  select="../ref"> <xsl:apply-template/> </p>
    </xsl:template>
    Mais malheureusement ça marche pas.

  4. #4
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    En fait, ça risque de ressembler, mais je pense que ça marchera mieux en lui disant que tu cherches le contenu d'une balise quelconque qui contient une balise <ref>
    essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <xsl:template match="//[ref]">
    ...<xsl:value-of select="."/>...
    </xsl:template>
    Par contre, si tu as la possibilité de modifier le schéma, tu te prendras moins la tête à ajouter un attribut ...

  5. #5
    Membre du Club Avatar de med_ellouze
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 89
    Points : 52
    Points
    52
    Par défaut
    Merci pour ta réponse, il manque juste un petit truc je pense.
    Il faut ajouter un * avant le [ref] pour bien préciser qu'on ne s'intersse pas au nom de la balise qui comporte le texte à afficher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <xsl:template match="//*[ref]">
    ...<xsl:value-of select="."/>...
    </xsl:template>
    Merci pour ton aide.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/01/2013, 12h25
  2. Réponses: 9
    Dernier message: 29/05/2008, 14h33
  3. Réponses: 2
    Dernier message: 03/05/2008, 14h34
  4. [XSLT] comment afficher toutes les données d'un fichier xml ?
    Par bwwilly dans le forum XSL/XSLT/XPATH
    Réponses: 19
    Dernier message: 27/06/2007, 17h21
  5. [XSLT] Générer une liste déroulante à partir d'un fichier xml ?
    Par chipster45 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 30/03/2007, 10h59

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