Ca marche ! Formidable !
Merci infiniment Eric. Des réponses de cette qualité sont très
précieuses quand on se met le pied à l'étrier.
Totale reconnaissance :]
Je vais immédiatement lire la doc concernant "mode" pour finir de
comprendre votre méthode.
Merci également à vous Stéphane, dès que j'aurai bien assimilé la
stratégie proposée par Eric, je m'attaque à la votre.
Ca me fera un excellent complément.
Meilleures salutations.
Alexandre
Eric van der Vlist wrote:
>Revenons à la définition de votre template... en écrivant :
>
><xsl:template match="*::[preceding-sibling::sibling-précédent]">
> <details>
> <xsl:copy>
> <xsl:apply-templates select="@* | * | text()"/>
> </xsl:copy>
> </details>
></xsl:template>
>
>vous définissez une règle qui va être exécutée pour chaque noeud
>vérifiant la clause match et il est donc normal de générer un élément
>details par noeud.
>
>Pour corriger cela, il faut donc générer l'élément "details" avant
>d'appeler les règles par xsl:apply-templates ou faire en sorte que seul
>le premier "detail" le fasse et appelle les suivants.
>
>Il y a beaucoup de variantes possibles, mais si on suit cette deuxième
>stratégie, on pourra écrire :
>
><xsl:template match="*::[preceding-sibling::sibling-précédent]"/>
>
><xsl:template match="*::[preceding-sibling::sibling-précédent][1]" priority="1">
> <details>
> <xsl:apply-templates select=".|following-sibling::*" mode="details"/>
> </details>
></xsl:template>
>
><xsl:template match="*" mode="details">
> <xsl:copy>
> <xsl:apply-templates select="@* | * | text()"/>
> </xsl:copy>
></xsl:template>
>
>
--
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)
Received on Thu Feb 3 18:56:06 2005