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 :

[Xpath] Expression XPath pour une commande


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut [Xpath] Expression XPath pour une commande
    Bonjour,

    J'ai un fichier XML qui ressemble à cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <Products>
      <Product code="AB928">
        <Quantity>36</Quantity>
        <Price>2.70</Price>
      </Product>
     
      <Product code="LM607">
        <Quantity>39</Quantity>
        <Price>6.78</Price>
      </Product>
    </Products>
    Ensuite, j'ai créé un formulaire XForms classique. Mon but est en fait de calculer dans un champ le montant total des produits (prix_produit1 * quantité_produit1 + prix_produit2 * quantité_produit2 + ...) et afficher le résultat.

    Le problème est qu'il faut faire tenir le résultat dans une requête XPath et je n'arrive pas à la trouver .

    Voici le champ résultat avec la requête à compléter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xf:bind nodeset="instance('order')/Total" calculate="???" />
    Voilà, j'ai essayé beaucoup de choses mais sans succès. Si je n'arrive pas à trouver, je serai obligé de faire seulement une somme des prix des produits sans leur quantités. C'est bien mais pas vraiment réaliste !

    Voilà, merci à ceux qui pourront m'aider

  2. #2
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    J'ai bien peur que tu sois obligé de rajouter un champ sous-total à ton modèle d'instance pour pouvoir ensuite en faire la somme...

    Avec quoi fais-tu tourner cela ? L'extension XForms de FireFox ???

  3. #3
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    J'ai bien peur que tu sois obligé de rajouter un champ sous-total à ton modèle d'instance pour pouvoir ensuite en faire la somme...
    J'y ai pensé mais j'ai aussi été coincé dans cette direction. J'explique : j'ai placé une balise vide supplémentaire "TotalPrice" pour chaque produit. Sauf qu'au chargement, je dois calculer ces sous-totaux et je n'arrive pas à le faire

    Avec quoi fais-tu tourner cela ? L'extension XForms de FireFox ???
    Ouais c'est le plus simple pour moi

  4. #4
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    Voilà une reprise simple de l'exemple donné (mise en forme pourrie...) qui fonctionne avec mon FF
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?xml version="1.0" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:xforms="http://www.w3.org/2002/xforms"
          xmlns:ev="http://www.w3.org/2001/xml-events"
          xmlns:sample="http://www.agencexml.com/sample">
     <head>
      <title>Order Sample</title>
      <xforms:model>
       <xforms:instance>
    <sample:Order>
    <sample:Products>
      <sample:Product code="AB928">
        <sample:Quantity>36</sample:Quantity>
        <sample:Price>2.70</sample:Price>
        <sample:TotalPrice/>
      </sample:Product>
      <sample:Product code="LM607">
        <sample:Quantity>39</sample:Quantity>
        <sample:Price>6.78</sample:Price>
        <sample:TotalPrice/>
      </sample:Product>
    </sample:Products>
    <sample:Total/>
    </sample:Order>
       </xforms:instance>    
       <xforms:bind nodeset="/sample:Order/sample:Products/sample:Product/sample:TotalPrice" calculate="../sample:Quantity * ../sample:Price"/>        
       <xforms:bind nodeset="/sample:Order/sample:Total" calculate="sum(../sample:Products/sample:Product/sample:TotalPrice)"/>        
      </xforms:model>
     </head>
     <body>
    <div>
    <p>commande</p>
      <xforms:group ref="/sample:Order/sample:Products">
       <xforms:repeat nodeset="sample:Product" id="repeatProduct">
        <xforms:output ref="sample:Quantity"/>
        <xforms:output ref="sample:Price"/>
        <xforms:output ref="sample:TotalPrice"/>
       </xforms:repeat>
      </xforms:group>
      <xforms:output ref="sample:Total"/>
    </div>
     </body>
    </html>

  5. #5
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    J'ai suivi ton exemple et ca fonctionne impec. Voici l'url de l'exemple sur lequel j'ai fini de bossé : http://nicolas.lerme.free.fr/webia/x...a/sample.xhtml

    Merci pour ton aide

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/08/2009, 14h15
  2. Fichier de log pour une commande DOS
    Par Grulf dans le forum Windows XP
    Réponses: 3
    Dernier message: 16/04/2009, 18h05
  3. Besoin d'aide pour une commande
    Par maxwell86 dans le forum PL/SQL
    Réponses: 0
    Dernier message: 20/10/2008, 11h44
  4. [UML] Use Case pour une 'commande'
    Par _Kiro dans le forum Cas d'utilisation
    Réponses: 15
    Dernier message: 21/11/2006, 23h46
  5. Réponses: 6
    Dernier message: 08/06/2004, 14h22

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