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 :

Evaluation d'expression mathématique dans une variable string


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 36
    Points
    36
    Par défaut Evaluation d'expression mathématique dans une variable string
    Bonjour à toutes et à tous,

    Je voudrais savoir s'il est possible dans les fonctions de bases (avancées) de xsl ou de xpath, de "parser" une expression mathématique avec des parenthèse, des opérateurs +* - / et des opérandes.

    Lorsqu'on colle l'expression dans un value-of, ça fonctionne, mais lorsque cette expression est stockée dans un string, pas moyen d'obtenir autre chose que NAN.

    la fonction number() ne fonctionne pas telle quelle. Le cast en integer non plus.

    Est-ce que quelqu’un aurait-une idée?

    Merci d'avance

    Dominique

  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 : 47
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    en XSLT et XPATH 1.0, il te faudra écrire toi même une fonction pour le faire.

    Je n'ai pas encore regarder en 2.0, mais est ce que tu pourrais utiliser ces versions ? (parseur SAXON)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 36
    Points
    36
    Par défaut
    Salut Erwy

    Je peux utiliser le 2.0. J'aimerais à tout prix faire cela en une ligne. C'est crucial que ce soit une seule ligne. Donc inutile de me proposer du code pour parser cela.


    Je sens que c'est possible:

    Cela fonctionne:
    <xsl:value-of select="(2+3)*(5/7)"/>

    Mais pas cela.
    <xsl:value-of select="'(2+3)*(5/7)'"/>

    Le soucis c'est que l'expression est dans une variable, pour moi il n'est pas possible de faire autrement.

    Il faudrait idéalement transformer un string en "expression de codeur" comme quand on écrit du texte dans un fichier.

  4. #4
    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 : 47
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par domas_24 Voir le message
    Je sens que c'est possible:
    Pas nécessairement malheureusement

    Le problème viens que tu pars d'une string que tu veux transformer en XPath car 2+3 est un XPath.
    Hors ce passage String>>XPath n'est autorisé dans aucune des versions XPath (potentiellement trop couteux et dangereux).

    Je regardais si une exception était possible pour les expressions mathématique en 2.0 mais je n'en ai pas trouvé.

    Je sais qu'il existe par contre des fonctions propriétaires, mais qui diffèrent donc selon le parseur, qui permettent cette transformation.
    Je crains que tu ne sois obligé d'en passer par là

  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 : 47
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par domas_24 Voir le message
    Je peux utiliser le 2.0. J'aimerais à tout prix faire cela en une ligne. C'est crucial que ce soit une seule ligne. Donc inutile de me proposer du code pour parser cela.
    Par contre je ne comprends pas qu'est ce qui bloque à faire un call-template ou une fonction pour coder cela ?
    Dans le deuxième cas en particulier cela ne changera rien à l'appel dans le value-of .

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 36
    Points
    36
    Par défaut
    C'est pour un exercice dans un cours. Si j'arrive à le faire sans rien rajouter, coté code, je sauve les meubles... J'évite potentiellement une mauvaise note. parce que je suis parti du principe que c'était faisable de manière simple. Problème je n'ai pas atteint le bout de l'exercice.

    J'utilise XML Spy. Est-ce qu'il y a quelque chose de ce côté? A quoi pensiez-vous comme fonction propriétaire?

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/10/2007, 17h58
  2. [Débutant] Validation d'une valeur numérique dans une variable String
    Par anto84 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 11/07/2007, 10h26
  3. recherche dans une variable String
    Par vallgui dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 30/10/2006, 11h32
  4. [VBA-E] guillements dans une variable string
    Par repié dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/03/2006, 13h42
  5. Condition contenu dans une variable string
    Par tomo0013 dans le forum Access
    Réponses: 6
    Dernier message: 01/12/2005, 14h15

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