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 :

XSL - choose et test pour balise vide


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 56
    Points : 28
    Points
    28
    Par défaut XSL - choose et test pour balise vide
    Bonjour,

    Je tente d'afficher uniquement les balises dont j'ai besoin mais le code ne fonctionne pas. Pourtant je me suis aidé de ce topic qui dit tout :
    http://www.developpez.net/forums/vie...692255#1692255

    Voici mon fichier 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
     
    <FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult">
      <ERRORCODE>0</ERRORCODE> 
      <DATABASE>allocine_4_1.fp7</DATABASE> 
      <LAYOUT /> 
      <ROW MODID="43" RECORDID="5">
        <ID_Scenario>1</ID_Scenario> 
        <A_ID_NomTache>Visualiser</A_ID_NomTache> 
        <A_ID_TypeLot1>lot1</A_ID_TypeLot1> 
        <A_ID_TypeLot2>lot2</A_ID_TypeLot2> 
        <A_ID_TypeLot3>lot3</A_ID_TypeLot3> 
        <A_ID_TypeLot4>lot4</A_ID_TypeLot4> 
        <A_ID_TypeLot5 /> 
        <A_ID_TypeLot6 /> 
        <A_ID_TypeLot7 /> 
        <A_ID_TypeLot8 /> 
        <A_ID_TypeLot9 /> 
        <A_ID_TypeLot10 />
        <A_ID_Segment1_coordX>0</A_ID_Segment1_coordX>
        <A_ID_Segment2_coordX>0</A_ID_Segment2_coordX>
        <A_ID_Segment3_coordX>0</A_ID_Segment3_coordX>
        <A_ID_Segment4_coordX>0</A_ID_Segment4_coordX>
        <A_ID_Segment5_coordX />
        <A_ID_Segment6_coordX />
        <A_ID_Segment7_coordX />
        <A_ID_Segment8_coordX />
        <A_ID_Segment9_coordX />
        <A_ID_Segment10_coordX />
      </ROW>
    </FMPDSORESULT>
    Mon fichier XSL
    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
     
    <xsl:choose>
      <xsl:when test="//A_ID_Segment1_coordX[not(*)]">
          <textbox>
              <xsl:attribute name="flex">
                 <xsl:text>0</xsl:text>
              </xsl:attribute>
              <xsl:attribute name="multiline">
                 <xsl:text>true</xsl:text>
              </xsl:attribute>
              <xsl:attribute name="cols">
                 <xsl:text>1</xsl:text>
              </xsl:attribute>
              <xsl:attribute name="rows">
                 <xsl:text>1</xsl:text>
              </xsl:attribute>
              <xsl:attribute name="left">
                 <xsl:value-of select="//fmp:A_ID_Segment1_coordX"/> 
          </textbox>
      </xsl:when>
      <xsl:otherwise></xsl:otherwise>
    </xsl:choose>
    J'ai essayé 1000 choses .et rien. Si quelqu'un pouvait me débloquer et me dire ce qui ne va pas.

    Merci

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    quelle est exactement la condition pour que <textbox> soit affiché ?
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 56
    Points : 28
    Points
    28
    Par défaut
    Normalement, il y a autant de textbox que de <A_ID_Segment>. Là, j'ai simplifié le xml de sortie car c'est toujours la même chose. Mais j'aimerais les afficher uniquement quand il y a la balise A_ID_Segment est renseignée.

    - On affiche une textbox (n°1) si <A_ID_Segment1_coordX> n'est pas vide sinon rien.
    - On affiche une textbox (n°2) si <A_ID_Segment2_coordX> n'est pas vide sinon rien.
    - etc.

    Merci GrandFather

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Tu testes s'il n'existe pas d'éléments fils, or c'est la présence ou non de noeuds textuels qu'il faut tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:when test="//A_ID_Segment1_coordX[text()]">
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/08/2013, 12h37
  2. Balise vide : différentes écritures pour même interprétation ?
    Par txomin.patalagoïty dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 15/05/2013, 21h16
  3. xsl: choose et test >
    Par jubourbon dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 26/02/2009, 13h08
  4. test sur balise xml vide
    Par Ludo_360 dans le forum Word
    Réponses: 2
    Dernier message: 15/05/2008, 11h49
  5. [DOM] Balise vide...
    Par carlierd dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 02/05/2003, 18h28

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