From: Eric van der Vlist (vdv@dyomedea.com)
Date: 07/01/2004 - 13:20
On Wed, 2004-01-07 at 13:52, Alexandre Arcouteil wrote:
> Eric van der Vlist wrote:
> > Note que c'est insuffisant pour identifier le noeud dans le document de
> > manière non ambiguë : dans le document
> >
> > <foo>
> > <bar/>
> > <bar/>
> > </foo>
> >
> > les deux noeuds "bar" ont le même chemin ("/foo/bar").
>
> Oui, en sens inverse, c'est ce qui fait tout l'intéret de ce genre de
> path :)
>
> Pour éviter les sélections redondantes, dans le cas qui m'occupe (et non
> l'inverse), il y'a par exemple ce genre de petit test :
>
> <xsl:if
> test="count(preceding-sibling::node()[name()=$nom_element_en_cours]) = 0">
Ou (sans variable) :
count(preceding-sibling::node()[name()=name(current())]) = 0
> Mais cela ne couvre pas tous les cas
>
> > Oui, <xsl:value-of/> donne la valeur du contenu du premier noeud de la
> > liste de noeuds sélectionnée converti en texte...
>
> C'est bien dommage
>
> > Je ne suis pas certain du résultat que tu veux obtenir, mais tel que je
>
> Petit problème de maintenance, je m'en sers pour pré-écrire le code XSLT
> pour un document X(HT)ML donné, généralement livré sans modèle de
> document (encore que dans ce genre de cas, une DTD ne me serve pas à
> grand chose...).
>
> Pour générer un template général du genre :
>
> <xsl:template match="nom_d_un_element">
> <xsl:apply-templates />
> </xsl:template>
>
> Pas de problème. Ma question concerne la génération de templates qui
> visent des éléments à travers leur chemin complet (et donc qui peuvent
> être plusieurs)
>
> > le comprend, je pense que tu es coincé (il va falloir faire autrement)!
>
> Autrement :( je vois très bien comment faire en plusieurs passes, mais à
> titre d'exercice de style, j'aurais aimé voir s'il n'y avait pas moyen
> de le faire en une seule fois.
De manière bestiale (et lente), peut-être en testant en XSLT (XPath seul
ne suffit pas) pour chaque élément s'il y a un "preceding" qui a le même
chemin?
Eric
--
Read me on XMLhack.
http://xmlhack.com/author.php?id=8
Upcoming XML schema languages tutorial:
- Santa Clara -half day- (15/03/2004) http://masl.to/?J24916E96
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
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
|