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 :

decimal format, probleme balise vide [XSLT 2.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre actif
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Points : 297
    Points
    297
    Par défaut decimal format, probleme balise vide
    Bonjour

    Je suis en train de convertir une feuille de style XSLT1 en XSLT2 (que je process en utilisant saxon).

    J'ai résolu des problèmes de formatage pour les dates avec format-date, etc..., par contre je bute sur une erreur (que je ne rencontrais pas en 1.0) lorsque les valeurs des balises sont vides.

    Par exemple, je déclare un format v1 qui se présente ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:decimal-format name="v1" decimal-separator="," grouping-separator=" " NaN="--" />
    Mais lorsque que j'ai une balise vide, exemple (<toto/>)

    et que dans le xsl j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="format-number(toto,'# ##0,##', 'v1')"/>
    j'obtiens de saxon "cannot convert string to double, transformation failed"

    évidemment si j'enleve format-number ca fonctionne... qu'est-ce qui ne va pas au final : le decimal-format "v1" ? que faire ?

    D'avance merci !

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Ca vous va comme une solution en utilisant la fonction number() pour assurer on rentre un numéric là? En tout cas, c'est une approche canonique en cas général quand on a aucune idée l'existence ou le type de valeur qu'on passe à la fonction format-number().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="format-number(number(toto),'# ##0,##', 'v1')"/>
    qu'est-ce qui ne va pas au final : le decimal-format "v1" ?
    v1 va bien sans problème.

  3. #3
    Membre actif
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Points : 297
    Points
    297
    Par défaut
    Merci Tsuji pour ta réponse

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

Discussions similaires

  1. Probleme de génération avec Castor d'une balise vide
    Par sebgre38 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 30/10/2009, 12h53
  2. [DOM] Pb avec les "BALISE vide"
    Par PhalconX dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 18/06/2005, 22h16
  3. [HTML] Probleme Balise LABEL et IE 6
    Par Little_Goldo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/05/2005, 10h13
  4. Decimal-format
    Par bidson dans le forum XMLRAD
    Réponses: 4
    Dernier message: 29/06/2004, 18h58
  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