From: pierrelanglois@free.fr
Date: 03/08/2001 - 07:53
Cette méthode ne semble pas fonctionner, elle ne renvoie qu'une seule ligne, la
première du document XML. Alors qu'il faudrait que je puisse sélectionner la
première du document XML qui a l'attribut type="bus", puis la première qui est
de type "car", puis la première qui est de type "metro"...
En fait, s'il était possible de limiter le nombre de noeuds traités par un
<xsl:apply-templates.../> je pense que cela devrait marcher en limitant
simplement le traitement à un seul noeud "ligne", et ce pour chaque type de
ligne.
Mais à ma connaissance il n'y a pas de fonction permettant une telle limitation
de l'instruction apply-templates.
Alors si quelqu'un connait un algo permettant cela (une incrémentation de
variable règlerait tout, mais ce n'est pas le fort de XSL :-) ), ou si
quelqu'un voit une autre solution...
Merci.
En réponse à Pierre Attar <patt@tireme.fr>:
> At 10:16 01/08/2001, you wrote:
> >Bonjour,
> >
> >j'ai un fichier XML d=E9crivant un r=E9seau de transport en commun.
> J'ai=
> donc des
> >=E9l=E9ments "ligne" ayant un attribut "type" pouvant prendre les
> valeurs :=
> bus,
> >car, m=E9tro, train...
> >
> >Je voudrais afficher, gr=E2ce =E0 une feuille de style XSL les types
> de=
> lignes
> >pr=E9sents dans mon document XML.
> >
> >J'ai d'abord pens=E9 =E0 faire quelque chose dans ce genre dans ma
> feuille=
> XSL :
> >
> ><xsl:apply-templates select=3D"ligne[@type=3D'bus']/>
> ><xsl:apply-templates select=3D"ligne[@type=3D'car']/>
> ><xsl:apply-templates select=3D"ligne[@type=3D'metro']/>
> ><xsl:apply-templates select=3D"ligne[@type=3D'train']/>
>
> Il suffit de prendre seulement le premier, quelque chose comme :
> <xsl:apply-templates select=3D"ligne[@type=3D'bus' and
> position()=3D1]/>
>
> ><xsl:template match=3D"ligne">
> > <p>Dans ce document il y a au moins une ligne de type
> <xsl:value-of
> >select=3D"@type"/></p>
> ></xsl:template>
> >
> >Mais en proc=E9dant comme ceci j'aurais une phrase par ligne
> pr=E9sente=
> dans mon
> >fichier alors que je veux une phrase par type de ligne. Par exemple si
> j'ai
> >trois lignes de type bus j'aurais trois fois la phrase "Dans ce
> document=20
> >il y a
> >au moins une ligne de type bus" alors que je voudrais qu'elle ne
> s'affiche
> >qu'une fois.
> >
> >Est ce que quelqu'un aurait une id=E9e, merci
> >
> >Pierre
> >--
> >Devenez redacteur <XML>fr et contribuez au developpement du
> >xml francophone (http://xmlfr.org/infos/redacteurs/) !
> >
> >Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
> >
> >Cette liste est a votre disposition pour discuter en francais de
> >tout sujet technique lie a XML.
> >
> >Pour resilier votre abonnement, envoyez un message contenant
> >la commande "unsubscribe" a xml-tech-request@xmlfr.org
> >(mailto:xml-tech-request@xmlfr.org?Subject=3Dunsubscribe)
>
> ------------
> Pierre Attar (mailto:pattar@tireme.fr)
>
> Projet "Mutualiser l'effort de mont=E9e en comp=E9tences sur XML"
> http://www.mutu-xml.org/index.html
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|