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]fonction récupérer plus grand valeur d'un attribut ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut [XPath]fonction récupérer plus grand valeur d'un attribut ?
    Bonjour,

    J'ai un xml du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <tag1>
       <tag2 x="12"/>
       <tag2 x="10"/>
       <tag2 x="23"/>
       <tag2 x="16"/>
       <tag2 x="21"/>
    <tag1>
    A l'aide d'une expression XPath je voudrais récupérer la valeur de l'attribut x dont la valeur est la plus grande c'est à dire dans l'exemple x="23"...

    Quand je suis positionner sur tag1 j'ai cette expression XPath .//tag2/@x qui permet de récupérer la valeur x mais comment récupérer la plus grande valeur x trouvée ?

    Merci
    Snoop

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /tag1/tag2[not(../tag2/@x > @x)]/@x
    Attention, cette expression XPath est coûteuse, et peut être très pénalisante si elle est utilisée sur de gros fichiers. Dans ce cas, il vaudra mieux utiliser une extension XSLT ou écrire une fonction.
    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

  3. #3
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:template match="tag1">
    	<xsl:value-of select="tag2[not(@x &lt; parent::*/tag2/@x)]/@x"/>
    </xsl:template>

  4. #4
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut
    Merci beaucoup !
    Snoop

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

Discussions similaires

  1. Réponses: 33
    Dernier message: 01/07/2011, 10h32
  2. [XPATH] plus grande valeur
    Par r83 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/12/2010, 08h06
  3. Récupérer la plus grande valeur (select max)
    Par Johnny English dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/01/2009, 16h46
  4. Récupérer les N plus grandes valeurs
    Par lloyd_r dans le forum MATLAB
    Réponses: 6
    Dernier message: 01/09/2008, 15h16
  5. Réponses: 6
    Dernier message: 09/10/2007, 12h19

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