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

XML/XSL et SOAP Discussion :

[XSL] Valeurs, récupérées d'un xml, non voulues


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 84
    Points : 69
    Points
    69
    Par défaut [XSL] Valeurs, récupérées d'un xml, non voulues
    Bonjour,

    Tout d'abord voici le début de mon XML et de mon XSL :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <bulkCmConfigDataFile xmlns:es="EricssonSpecificAttributes.11.14.xsd"
        xmlns:un="utranNrm.xsd" xmlns:xn="genericNrm.xsd"
        xmlns:gn="geranNrm.xsd" xmlns="configData.xsd">
        <fileHeader fileFormatVersion="32.615 V4.5" vendorName="Ericsson"/>
        <configData dnPrefix="Undefined">
            <xn:SubNetwork id="ONRM_ROOT_MO_R">
                <xn:SubNetwork id="OttMainTrack">
                    <xn:MeContext id="O02APX_700">
                        <xn:ManagedElement id="1">
                            <xn:VsDataContainer id="1">
                                <xn:attributes>
                                    <xn:vsDataType>vsDataENodeBFunction</xn:vsDataType>
                                    <xn:vsDataFormatVersion>EricssonSpecificAttributes.11.14</xn:vsDataFormatVersion>
                                    <es:vsDataENodeBFunction/>
                                </xn:attributes>
                                <xn:VsDataContainer id="O02APX1">
                                    <xn:attributes>
                                        <xn:vsDataType>vsDataEUtranCellFDD</xn:vsDataType>
                                        <xn:vsDataFormatVersion>EricssonSpecificAttributes.11.14</xn:vsDataFormatVersion>
                                        <es:vsDataEUtranCellFDD>
                                        <es:userLabel></es:userLabel>
                                        <es:frameStartOffset>
                                        <es:subFrameOffset>0</es:subFrameOffset>
                                        <es:symbolOffset>0</es:symbolOffset>
                                        <es:timeOffset>0</es:timeOffset>
    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
    <?xml version="1.0"?>
    <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"  xmlns="configData.xsd" xmlns:xn="genericNrm.xsd" xmlns:gn="geranNrm.xsd" xmlns:un="utranNrm.xsd" xmlns:es="EricssonSpecificAttributes.11.14.xsd">
    <xsl:output method="text"/>
     
    <xsl:template match="/">
      <xsl:apply-templates>
      </xsl:apply-templates>
      </xsl:template>
     
     
    <xsl:strip-space elements="*"/>
    <xsl:template match="es:vsDataEUtranCellFDD">
     
    <xsl:text/>
    <xsl:value-of select="../../@id"/>;<xsl:text/>
    <xsl:value-of select="../../../../../@id"/>;<xsl:text/>
    Tout se passe pour le mieux cependant mon fichier final me ramène une ligne que je ne souhaite pas récupérer et qui est générée par la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="es:vsDataEUtranCellFDD">
    Je souhaiterais juste avoir la valeur O02APX1 et je me retrouve avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vsDataENodeBFunctionEricssonSpecificAttributes.11.14vsDataEUtranCellFDDEricssonSpecificAttributes.11.14O02APX1
    Merci beaucoup pour votre aide !!!

  2. #2
    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
    C'est parce que tu fais un apply-templates sur tout, y compris sur les textes contenus dans des éléments.

    Deux possibilités :

    - Limiter le apply-templates aux éléments qui contiennent l'info que tu veux avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:apply-templates select="//es:vsDataEUtranCellFDD"/>
    OU

    - Changer le template par défaut des text() pour qu'ils ne s'affichent pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:template match="text()">
      <!-- ne rien faire -->
    </xsl:template/>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 84
    Points : 69
    Points
    69
    Par défaut
    La deuxieme solution fonctionne parfaitement !

    Merci beaucoup pour ton aide

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

Discussions similaires

  1. [XSLT 1.0] Conversion XML vers XML: non affichage de valeur
    Par f.thevenet dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 03/03/2011, 10h15
  2. Réponses: 1
    Dernier message: 29/04/2010, 09h51
  3. Valeurs du fichier de config non récupérées
    Par grinder59 dans le forum C#
    Réponses: 1
    Dernier message: 30/01/2009, 18h07
  4. [XSL]appliquer la fonction substring sur une valeur récupéré
    Par totoranky dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 22/02/2006, 17h21
  5. [XSL]récupérer une valeur de plusieurs fichiers XML
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 05/02/2006, 00h32

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