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 :

[XSL] limiter le nombre de résultat ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 65
    Points
    65
    Par défaut [XSL] limiter le nombre de résultat ?
    bonjour

    j'aimerais savoir s'il est possible de limiter arbitrairement le nombre de données traitées, sans rajouter une condition sur les données en elles meme

    je m'explique : j'ai un xml qui contient 1000 éléments, que j'affiche dans un tableau grace a un <apply-templates...>
    comment faire pour limiter le nombre de donner traiter aux 200 premières par exemple ? (et avant tout est-ce possible ?)

    merci d'avance

  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 Re: [XSL] limiter le nombre de résultat ?
    Citation Envoyé par MatMeuh
    j'aimerais savoir s'il est possible de limiter arbitrairement le nombre de données traitées, sans rajouter une condition sur les données en elles meme
    Non,par contre la position()(qui appartient au données du noeud xml) te permet de faire ce que tu demande ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xsl:apply-templates select="truc[ta liste de condition(s'il y en a)][position()&lt;200]"

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 65
    Points
    65
    Par défaut
    c'est dommage qu'on ne puisse pas faire un semblant de compteur
    parce que position() va utiliser la position dans le fichier xml, n'est ce pas ?

    en effet, mes données sont de 2 types "ouvert" et "fermé"... et elles sont réparties sporadiquement dans le xml.... ce que j'aurais aimé c'est de prendre les 200 permières "ouvert" ou "fermé" suivant le choix de l'utilisateur

    mais si c'est impossible ou bp trop lourd, je me débrouillerai sans !

    merci encore !

  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 MatMeuh
    c'est dommage qu'on ne puisse pas faire un semblant de compteur
    parce que position() va utiliser la position dans le fichier xml, n'est ce pas ?
    non
    C'est de la selection en cours
    exemple:
    //truc[position()=2][@etat="ouvert"]
    prend tous les truc qui sont le deuxieme fils d'une balise(si ils sont tous sous la même balise ce sera le deuxieme element seul) et dont etat est ouvert
    //truc[@etat="ouvert"][position()=2]
    Prend le deuxième element de la selection des truc avec un etat ouvert

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 65
    Points
    65
    Par défaut
    bien...

    en tout cas merci bp !!!

    ps: ca reste étrange pour moi le fait que les 2 xpath aient des sens différents...
    je suppose que c'est pas la même chose nom plus que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //truc[position()=2 and @etat="ouvert"]
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //truc[@etat="ouvert" and position()=2]

  6. #6
    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
    Bon autant pour moi une erreur c'est glissé dans mes xpath.
    Comme j'utilise plutot des variables dans ce genre de cas j'ai oublié les regles de priorité xpath
    donc apres correcton il faut utiliser des parentheses:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (//truc[position()=2])[@etat="ouvert"]

    prend tous les truc qui sont le deuxieme fils d'une balise(si ils sont tous sous la même balise ce sera le deuxieme element seul) et dont etat est ouvert

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (//truc[@etat="ouvert"])[position()=2]
    Prend le deuxième element de la selection des truc avec un etat ouvert

    Pour le reste quand c'est entre les mêmes crochets [] cela s'applique aux noeuds et non àla selection(donc pas de priorité)

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

Discussions similaires

  1. Limiter le nombre de résultats sur une page
    Par yazen dans le forum ASP.NET
    Réponses: 7
    Dernier message: 04/09/2007, 23h13
  2. [SQL] Je souhaite limiter le nombre de résultat par page
    Par kilian67 dans le forum PHP & Base de données
    Réponses: 38
    Dernier message: 20/08/2007, 17h55
  3. [SQLK][T-SQL]Limitation du nombre de résultats
    Par elsuket dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 10/08/2007, 08h02
  4. [XSL] Limiter le nombre de caractères à afficher
    Par KingSora dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 20/09/2006, 16h07
  5. [sql]Limiter le nombre de résultats
    Par Mimo dans le forum Oracle
    Réponses: 3
    Dernier message: 31/01/2006, 15h53

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