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 :

tester la présence de balises dans le fichier xml [Débutant(e)]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut tester la présence de balises dans le fichier xml
    Bonjour,

    Je doit exporter en pdf deux types de fichiers xml relativement semblables avec le même fichier xsl (j'ai pas le choix)
    Certaines balises existants dans une version mais pas dans l'autre, comment puis-je faire dans le document xsl pour gérer ces cas? Je voudrais faire quelque chose de ce genre:

    if(BALISE_XML_1 exists) ...
    if(BALISE_XML_1 doesnotexist) ...

    Quelqu'un aurait-il une idée??

    Merci ;-)

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Avec un xsl:choose et des <xsl:when test="count(//balise1)!=0"> par exemple.

  3. #3
    Membre éprouvé
    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
    Points : 1 063
    Points
    1 063
    Par défaut
    dans un template tu fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xsl:template match="...">
        <xsl:apply-template select="//mabalise"/>
    </xsl:template>
    <xsl:template match="mabalise">
        <tutu><xsl:value-of select="."/></tutu>
    </xsl:template>
    la balise tutu n'apparaîtra que si il existe la balise mabalise

  4. #4
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    J'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:if test="$debugMode!=0">
     
    instructions
     
    </xsl:if>
    debugMode étant une variable initialisée uniquement dans le document que je teste (j'en teste un seul à la fois, je voulais juste voir si je savais utiliser cette structure)

    Dans mon code java, il renvoie des erreurs comme quoi ne fichier ne correspond pas au fichier utilisé pour lire le fichier xml qui convient.

    J'ai l'impression que je ne sais pas manipuler cette balise, pourtant, c'est comme ça que je l'ai trouvée sur des tutoriels. J'ai le même problème avec xsl:choose décrit plus haut.

    Pourriez-vous me donner un peu plus de précisions?
    Merci beaucoup!!



    EDIT:
    J'ai aussi testé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xsl:choose>
     <xsl:when test="nbItem!=null">blabla;
    </xsl:when>
    <xsl:when test="nbItem=null">
    blabla2;
    </xsl:choose>
    Mais aucune des deux instructioins blabla et blabla2 ne semblenet être exécutées.

    Merci de votre aide :-)

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Il faut que tu utilises des chemins XPATH valides, là c'est pas le cas.
    Et nous, on peut pas t'en donner vu qu'on connait ni la structure de ton xml source ni la structure de ton XSL-T
    Tout plein d'exemples de XPATH : http://www.zvon.org/xxl/XPathTutoria.../examples.html

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="BALISE_XML_1">do something</xsl:if>

    teste si la balise fille "BALISE_XML_1 " de la balise courante existe!

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    et lorsqu'on veut tester qu'une balise n'est pas présente, sans utiliser un choose, otherwise ?
    Dernière modification par Invité ; 29/08/2008 à 13h42.

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    J'essaierai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test="not(BALISE_XML_1)"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test="count(BALISE_XML_1)=0"

Discussions similaires

  1. Identifier las balises dans un fichier xml
    Par maroua_mm dans le forum Qt
    Réponses: 1
    Dernier message: 18/08/2009, 11h11
  2. Réponses: 9
    Dernier message: 18/05/2009, 08h25
  3. Récupérer plusieurs balises dans un fichier XML
    Par sandddy dans le forum Langage
    Réponses: 3
    Dernier message: 28/01/2009, 14h48
  4. Pb de balises dans un fichier XML
    Par gaggy dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 20/10/2007, 14h03

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