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 :

Fonction xsl:choose et xsl:when avec test ne focntionne pas !


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    topographe
    Inscrit en
    Juin 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : topographe
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2024
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Fonction xsl:choose et xsl:when avec test ne focntionne pas !
    Bonjour, je débute sur le XSL et je bute sur une chose.
    J'interroge un ficher XML qui me donne des chiffre de 1 a 16 et pour chque chiffre je souhaite afficher dans un fichier .csv un texte correspondant.
    exemple pour 1 donnes "Straight", pour 2 donnes "Circle"... etc.
    Je joint le fichier Xsl et le XML de base.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Hello,

    c'est pas très clair. Tu as un exemple précis sur où se trouvent les chiffres et ce que tu veux en faire exactement ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    topographe
    Inscrit en
    Juin 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : topographe
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2024
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai plusieurs ligne dans mon XML qui sont composées comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ApplicationRoadRunnerRail ApplicationName="ApplRoadRunner" ApplicationVersionNumber="7.00.000" ApplicationStartDateTime="2023-10-12T18:17:23.68" ApplicationEndDateTime="2023-10-12T18:17:23.68" ApplicationNumber="12" RRPointID="BPGD-1987" RRCentreLineGrade="100.305283683917570" RRCentreLineHeight="24.996285" RRCentreLineRadius="500.000000" RRCentreLineTangent="184.130386194193190" RRCentreLineType="2" RRCurrentChainage="28.635574" RRCurrentDesignEasting="1412364.928714" RRCurrentDesignNorth="4193302.391685" RRCurrentDesignHeight="24.996285" RRHeightDiffCentreLine="0.055722" RRNearestTangentPoint="-1.612228" RRNearestVerticalTangentPoint="-1.215185" RROffsetCentreLine="-0.705451" RRStakeCheckHeightDiff="0.000000" RRStakeCheckOffset="0.000000" RRLayerName="Rail" RoadVerticalAlignmentSquareOffset="0.055721" RoadLengthVerticalAlignment="28.635426" RRRailJobName="2023-10-03_VF-Dev60" RailCurrentHeightDiffCant="-0.002517" RailCurrentOffsetCant="-0.705915" RailHeightDiffSelectedRail="0.055722" RailHeightDiffLeftRail="-0.004278" RailHeightDiffLowerRail="0.055722" RailHeightDiffRightRail="0.055722" RailHeightLowerRail="24.996285" RailNominalGauge="1.435000" RailOffsetLeftRail="0.011475" RailOffsetRightRail="-1.422377" RailOffsetSelectedRail="-0.705451" RailTask="Check Track" RailReflectorHtType="Plumbline" RailSelectedRail="Axe" RailDefSuperElvBase="1.500000" RailActCantDesign="0.060000" RailChainageCalculationMethod="Direct" RailDesignLeftRailClOffset="-0.716926" RailDesignLeftRailHeight="25.056285" RailDesignRightRailClOffset="0.716926" RailDesignRightRailHeight="24.996285" RailDesignCentreAxisClOffset="0.000000" RailDesignCentreAxisHeight="25.026285" RailDesignCentreLineEasting="1412364.928714" RailDesignCentreLineNorthing="4193302.391685" RailLowerRailName=""/>
    j'avais fait ceci pour transformer le chiffre derrière la balise "@RRCentreLineType" en texte dans une colonne de mon fichier .csv de sortie:

    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
      <xsl:template match="@RRCentreLineType">
        <xsl:choose>
          <xsl:when test="1">Straight</xsl:when>
          <xsl:when test="2">Circle / arc</xsl:when>
          <xsl:when test="3">Clothoid in</xsl:when>
          <xsl:when test="4">Clothoid out</xsl:when>
          <xsl:when test="5">Partial clothoid in</xsl:when>
          <xsl:when test="6">Partial clothoid out</xsl:when>
          <xsl:when test="7">Cubic in</xsl:when>
          <xsl:when test="8">Cubic out</xsl:when>
          <xsl:when test="9">Partial cubic in</xsl:when>
          <xsl:when test="10">Partial cubic out</xsl:when>
          <xsl:when test="11">Multipoint</xsl:when>
          <xsl:when test="12">Quadratic parabola</xsl:when>
          <xsl:when test="13">Bloss in</xsl:when>
          <xsl:when test="14">Bloss out</xsl:when>
          <xsl:when test="15">Partial Bloss in</xsl:when>
          <xsl:when test="16">Partial Bloss out</xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="@RRCentreLineType"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:template>
    Avec une variaable déclarée comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <xsl:variable name="clType">
          <xsl:call-template name="CentreLineType"/>
        </xsl:variable>
    ça ne focntionnait pas mais j'ai fais ceci :
    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
      <xsl:template name="CentreLineType">  
        <xsl:choose>
    		<xsl:when test="@RRCentreLineType='1'">Straight</xsl:when>
    		<xsl:when test="@RRCentreLineType='2'">Circle / arc</xsl:when>
    		<xsl:when test="@RRCentreLineType='3'">Clothoid in</xsl:when>
    		<xsl:when test="@RRCentreLineType='4'">Clothoid out</xsl:when>
    		<xsl:when test="@RRCentreLineType='5'">Partial clothoid in</xsl:when>
            <xsl:when test="@RRCentreLineType='6'">Partial clothoid out</xsl:when>
            <xsl:when test="@RRCentreLineType='7'">Cubic in</xsl:when>
            <xsl:when test="@RRCentreLineType='8'">Cubic out</xsl:when>
            <xsl:when test="@RRCentreLineType='9'">Partial cubic in</xsl:when>
            <xsl:when test="@RRCentreLineType='10'">Partial cubic out</xsl:when>
            <xsl:when test="@RRCentreLineType='11'">Multipoint</xsl:when>
            <xsl:when test="@RRCentreLineType='12'">Quadratic parabola</xsl:when>
            <xsl:when test="@RRCentreLineType='13'">Bloss in</xsl:when>
            <xsl:when test="@RRCentreLineType='14'">Bloss out</xsl:when>
            <xsl:when test="@RRCentreLineType='15'">Partial Bloss in</xsl:when>
            <xsl:when test="@RRCentreLineType='16'">Partial Bloss out</xsl:when>
    		<xsl:otherwise>""</xsl:otherwise>
    	</xsl:choose>	
      </xsl:template>
    Et là ça marche....

    Mais je n'ai pas forcément le pourquoi du comment ...

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/10/2006, 12h25
  2. utilisation de xsl:if et xsl:choose xsl: when
    Par moh_yougo dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 30/01/2006, 15h16
  3. [XSL]problème avec <xsl:when>
    Par Devil666 dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 27/05/2005, 16h54
  4. [xml-xsl] Probleme avec position()
    Par seb30 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 21/04/2005, 11h10
  5. [XSL] xsl:sort avec parametre et condition
    Par elraton dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/01/2005, 20h59

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