From: Eric van der Vlist (vdv@dyomedea.com)
Date: 22/01/2001 - 16:27
Bonjour,
"Bouchekif Lahouari (Prestataire)" wrote:
>
> Bonjour,
>
> J'ai deux questions :
>
> 1- comment parser un noeud CDATA avec XSL.
Il n'existe de noeud CDATA, mais uniquement des noeuds texte...
> 2- est-ce-que existe en XSL une méthode de copie d'un noeud sans qui
> est une tranformation des CDATA.
>
> exemple : <![CDATA[ <A href="" ... ]]> est
> transformer par xsl:copy-of en <Ahref="" ... lors de la copie du noeud
Le problème, c'est que la transformation ne se fait pas au niveau de
XSLT mais au niveau du parseur et que XSLT ne dispose pas de cette
information.
Que vous écriviez:
1) <elt><![CDATA[ <A href="" ... ]]></elt>
ou
2) <elt><A href="" ... </elt>
Ne change rien au niveau de la structure de données: vous créez un noeud
élément "elt" qui a pour fils un noeud texte avec la valeur ' <A href=""
... '.
Et lorsque vous écrivez: <xsl:value-of select="elt"/>, la méthode de
sortie que vous utilisez vous traduit cela par '<Ahref="" ...' et
elle ne fait que son travail.
Par contre, vous pouvez demander à XSLT d'écrire certains éléments en
utilisant des sections CDATA en utilisant l'attribut
"cdata-section-elements" [1] de l'instruction xsl:output.
Tous les noeuds spécifiés seront alors écrits en utilisant une section
CDATA (même s'il n'y en avait pas dans le document source).
Cordialement,
Eric van der Vlist
PS: pourquoi voulez vous garder une CDATA alors que les deux syntaxes
sont sctictement équivalentes ?
[1] http://xmlfr.org/w3c/TR/xslt/#output
--
------------------------------------------------------------------------
Eric van der Vlist Dyomedea http://dyomedea.com
http://xmlfr.org http://4xt.org http://ducotede.com
------------------------------------------------------------------------
--
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:05 UTC
webmaster@xmlfr.org
|