From: Eric van der Vlist (vdv@dyomedea.com)
Date: 22/12/2003 - 14:51
Bonjour,
On Mon, 2003-12-22 at 15:08, Benoit.Lefevre@reuters.com wrote:
> Bonjour.
>
> Vous souvenez vous de vos cours de lisp et autres scheme ?
>
> Danc ce type de language, grace aux fonctions car et cdr
> on peut recuperer respectivement le premier element d'une
> liste ou la liste prive de son premier element.
>
> Je souhaiterais mettre en place un algorithme recursif
> en XSL base sur cette notion.
>
> Mon probleme c'est que je n'arrive pas a formuler un
> equivalent a :
>
> "la liste prive de son premier element"
>
> Si je reste sur l'axe des noeuds, tout se passe bien.
>
> Mais je souhaiterais faire la meme chose tous axes
> confondus.
>
> Est-ce possible ?
>
> Voici une des formulations XPath que j'ai esseille mais
> qui n'a pas aboutie :
>
> ($set/* | $set/@* | $set/text())[position()!=1]
>
> En quoi cette formulation est-elle ambigue ?
Qu'est-ce qui ne marche pas à ce niveau?
La transformation suivante :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="/">
<xsl:variable name="set" select="*"/>
<res>
<xsl:copy-of
select="($set/*|$set/@*|$set/text())[position()!='1']"/>
</res>
</xsl:template>
</xsl:stylesheet>
fonctionne avec Saxon et libxslt...
Par contre, elle est à manier avec précaution dans la mesure où les
attributs sont considérés comme n'étant pas ordonnés dans un document
XML. "@*[position=1]" est donc par nature suspect et susceptible de
donner des résultats dépendants du parseur.
Cordialement,
Eric van der Vlist
--
Generated by Signify v1.10.
For this and more, visit http://www.debian.org/
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
(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
|