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 :

[XSLT]Comment tester si NaN [FAQ]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 120
    Par défaut [XSLT]Comment tester si NaN
    Bonjour

    <xls:if> test=($var)/> renvois faux si var =0 ou var = NaN

    Le comportement doit être différent si la variable est 0 ou NaN
    Comment peut t'on tester si la variable = NaN

    MErci

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Citation Envoyé par FlyByck
    Bonjour

    <xls:if> test=($var)/> renvois faux si var =0 ou var = NaN

    Le comportement doit être différent si la variable est 0 ou NaN
    Comment peut t'on tester si la variable = NaN

    MErci
    je presume que c'est number($var) que tu veux tester ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <xsl:if test="number($nan) or number($nan+1) ">
    Si c'est faux c'est NaN

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 120
    Par défaut
    Astucieux, je cherchais dans les doc une test specific

    Merci

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    ...et pourquoi pas, peut-être moins « cryptique » :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="string($nan) = 'NaN'">
    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

  5. #5
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Citation Envoyé par GrandFather
    ...et pourquoi pas, peut-être moins « cryptique » :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="string($nan) = 'NaN'">

    Malgré tout le respect que je te dois j'ai un doute sur l'efficacité de ton test
    Peut être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="string(number($nan)) ='NaN'">

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Malgré tout le respect que j'ai pour le respect que tu me dois, j'insiste...
    Soit $n une variable de type quelconque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:choose>
      <xsl:when test="string(number($n)) = 'NaN'">$n n'est pas un nombre !</xsl:when>
      <xsl:otherwise>Autre valeur</xsl:otherwise>
    </xsl:choose>
    Mais si $n est le résultat d'un calcul précédant et est déjà au format Number, ce que semble indiquer FlyByck, alors le simple test string($n) = 'NaN' suffit.
    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

  7. #7
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Citation Envoyé par GrandFather
    Mais si $n est le résultat d'un calcul précédant et est déjà au format Number, ce que semble indiquer FlyByck, alors le simple test string($n) = 'NaN' suffit.
    Marrant toutes ces editions

    La on est d'accord J'espere juste que c'est bien NaN sur tous les processeurs qu'il n'y en ai pas un par distraction qui est pondu un "nan" ou un "NaN " (ou autres subtilité.....) avec les methodes de lectures de certains

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par Erwy
    La on est d'accord J'espere juste que c'est bien NaN sur tous les processeurs qu'il n'y en ai pas un par distraction qui est pondu un "nan" ou un "NaN " (ou autres subtilité.....) avec les methodes de lectures de certains
    J'en suis certain : 'NaN' est défini dans la norme IEEE754, laquelle définie également toutes les règles arithmétiques et le format interne des nombres dans XPath. Les résultats de calculs renvoyés par un processeur qui ne respecterait pas ces règles n'aurait aucune fiabilité, et ne pourrait prétendre au respect des spécifications du W3C.
    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. [XSLT] Comment tester si on a déjà recontré un noeud
    Par ben23 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 13/07/2006, 09h23
  2. Comment tester si fichier est ouvert ?
    Par fusef dans le forum Langage
    Réponses: 7
    Dernier message: 11/08/2004, 18h51
  3. Réponses: 10
    Dernier message: 06/07/2004, 02h44
  4. comment tester si une fonction fait bien son travail
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/11/2003, 15h46
  5. Réponses: 10
    Dernier message: 18/11/2003, 18h01

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