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] Du mal avec les fonctions preceding math:min etc.


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Points : 69
    Points
    69
    Par défaut [XSLT] Du mal avec les fonctions preceding math:min etc.
    Bonjour,

    J ai un peu du mal à m en sortir pour effectuer ma requete dc je me tourne vers vous.

    Voici mon XML d entree
    <RACINE>
    <BLOC PRODUIT="P1" CLIENT="C2" CAPACITE_DDE="300" CAPACITE_TOTALE="900" PRIX="8"/>
    <BLOC PRODUIT="P1" CLIENT="C1" CAPACITE_DDE="600" CAPACITE_TOTALE="900" PRIX="7"/>
    <BLOC PRODUIT="P1" CLIENT="C1" CAPACITE_DDE="500" CAPACITE_TOTALE="900" PRIX="6"/>
    <NIVEAU1 PRODUIT="P2" CLIENT="C1" CAPACITE_DDE="300" CAPACITE_TOTALE="500" PRIX="6"/>
    <BLOC PRODUIT="P1" CLIENT="C1" CAPACITE_DDE="300" CAPACITE_TOTALE="900" PRIX="5"/>
    <BLOC PRODUIT="P2" CLIENT="C1" CAPACITE_DDE="100" CAPACITE_TOTALE="500" PRIX="3"/>
    <BLOC PRODUIT="P1" CLIENT="C2" CAPACITE_DDE="600" CAPACITE_TOTALE="900" PRIX="3"/>
    </RACINE>
    Mon souci est de déterminer un prix de vente pour un produit tel que :
    dès que la somme des capacités demandées pour un produit dépasse CAPACITE_TOTALE de ce produit --> Le prix est celui du bloc induisant ce dépassement (les blocs sont rangés par prix décroissant mais les produits sont mélangés).
    Par exemple ici nous aurions pour P1 --> 300 + 600 + 500 > 900 dc PRIX_VENTE = 6. Il me faut donc rajouter comme attribut dans tout les bloc avec PRODUIT="P1" PRIX_VENTE="6"

    Pour P2 comme 300 + 100 <= 500 on a comme prix le minimum soit PRIX_VENTE="3"

    J ai essayé avec des preceding, des following dans tous les sens mais en vain ... Qqn aurait il une idée ?

    J ai déjà fait un xslt me permettant d obtenir la colonne CUMUL qui me fait le cumul par produit ... Maintenant j aimerai bien trouver une astuce qui me permette de réaliser cet algo sans utiliser une fonction telle que min qui ne semble etre complexe à manipuler.

  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 : 48
    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
    c'est le même type de parcours récursif que je t'ai déjà donné la:
    http://www.developpez.net/forums/sho...7&postcount=10

    Il suffit de l'adpater

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2012, 09h09
  2. Réponses: 5
    Dernier message: 15/03/2011, 10h23
  3. [XSLT] erreur avec les fonctions
    Par frouge dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 18/07/2006, 10h15
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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