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][XPATH] Traitement de chaîne de caractères et recherche


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 30
    Par défaut [XSLT][XPATH] Traitement de chaîne de caractères et recherche
    Salut tout le monde,
    Je débute dans le XSL, j'essaie de m'autoformer parce que je suis obligé de m'en servir mais je trouve ce langage pas facile.

    Voila un exemple simplifié de ce que je dois faire :

    <outil1>
    <Reference> LS54 </Reference>
    <Libelle> Tournevis 54 <Libelle>
    </outil1>
    ...
    <outil2>
    ...
    </outil2>
    ...

    <para> Enlever la vis (LS54)<para>
    ....
    <para> Nettoyer la lentille (V53)<para>
    ...

    Bon maintenant ce que j'aimerais faire c'est dans les balises para virer les parenthéses et ce qu'il y a à l'intérieur pour les remplacer par leur libellé en haut.
    Pour ça je crois qu'il faut utiliser la fonction :
    substring-after(chaîne,marqueur)
    Mais dans chaîne je mets quoi comment je fais pour lui indiquer qu'il faut prendre le texte dans chaque para ?

    Ensuite une fois qu'on a supprimé les parenthèses et ce qu'il y a à l'interieur on mets le libellé des outils.Je ne sais pas comment faire pour lui dire de rechercher le texte entre parenthèses en haut et le mettre?

    Je sais que c'est une question de débutant mais j'ai jamais eu de formation là dedans et je galère pas mal ...

    Merci d'avance de votre aide

  2. #2
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    pour savoir si une chaine contient un élements tu peux utiliser la fonction contains
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <xsl:template match = "contains(name(),'outil'" > 
    <xsl:variable name="value" select="."/>
    <xsl:apply-template select="//para[contains(.,concat(concat('(',$value),')'))]"/>
    </xsl:template>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 30
    Par défaut
    Tout d'abord merci Fraoustin pour ton aide.

    Je n'arrive pas trop à comprendre ton code. A quoi name() fait-il référence ?
    J'ai l'impression que tu dis que c'est une variable mais je sais pas trop ce que tu en fait ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/04/2012, 09h17
  2. Réponses: 2
    Dernier message: 11/10/2007, 17h36
  3. [XSLT] Construction d'une chaîne de caractère complexe
    Par st0ne dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/08/2007, 09h57
  4. [RegEx] Traitement d'une chaîne de caractères
    Par Youn05 dans le forum Langage
    Réponses: 4
    Dernier message: 01/04/2007, 12h18
  5. [XSL] Traitement chaîne de caractères
    Par VolaiL dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 29/03/2006, 16h55

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