Merci pour vos éclaircissements.
Le 9 oct. 06 à 17:27, Eric van der Vlist a écrit :
> Bonjour,
> Le lundi 09 octobre 2006 à 15:33 +0200, lejeune a écrit :
>> Bonjour,
>>
>> J'ai un petit soucis pour parser le text() d'un node.
>> Celui-ci contient un balisage que je voudrais pouvoir parser.
>> avec de simples templates.
>
> C'est malheureusement impossible (dans le cas général) de manière
> simple
> en XSLT 2.0 comme en XSLT 1.0!
dommage, je ne voulais pas faire de parsing avec les "outils" chaines
de xslt.
>
>> Dans le xml source j'ai un élément contenant du texte :
>> <ED_NOM_SITE><SPAN ALIGN= "LEFT" STYLE= "text-
>> align...
>>
>> Dans la feuille xsl, je crée un arbre temporaire :
>> <xsl:variable name="test" as="node()">
>> <xsl:document>
>> <xsl:value-of select="text()"/>
>> </xsl:document>
>> </xsl:variable>
>
> Apparemment, vous utilisez XSLT 2.0.
>
>> mais je ne récupère que le texte d'origine.
>
> Effectivement, et c'est conforme aux spécifications :) ...
>
>> Si je fais une requête xPath sur le fichier xml dans l'environnement
>> de dev (oXygen) j'ai bien :
>> /STRUCT_FEU[1]/STRUCT[1]/ED_NOM_SITE[1] - <SPAN ALIGN= "LEFT" STYLE=
>> "text-align: left"><FONT FACE= "Times"...
>
> Parce que oXygen affiche le noeud texte "brut" sans remplacer les
> caractères de balisage par des entités...
>
>> Si quelqu'un pouvait m'orienter, ce ne serait pas de refus.
>
> Sauf à vouloir écrire une parseur XML en XSLT, il n'y a pas de
> solution
> universelle.
>
> Si le contexte vous permet d'écrire des documents sur disque, vous
> pouvez néanmoins créer un document XML dans lequel vous écrirez ce
> fragment de XML (en utilisant une méthode de sortie text pour
> éviter que
> le processeur ne remplace les caractères de balisage) puis lier ce
> document avec la fonction document().
J'ai réalisé cette alternative. Je crée un document sur disque avec
<xsl:result-document href="tmp.xml" use-character-maps="cmap">.
Mais ayant plusieurs fichiers xml source, je ne peux pas gérer
plusieurs tmp.xml. Je ne peux procéder de la sorte qu'une fois !!!
Je pense à "sed" pour me sortir d'affaire...
>
> Cordialement,
Cordialement
>
> Eric van der Vlist
>
> --
> GPG-PGP: 2A528005
> Curious about Relax NG? Read my book online.
> http://books.xmlschemata.org/
> relaxng/
> ----------------------------------------------------------------------
> --
> 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
> ----------------------------------------------------------------------
> --
>
>
> -- Attached file included as plaintext by Ecartis --
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.2.2 (GNU/Linux)
>
> iD8DBQBFKmpMDvn+ZCpSgAURAtRmAJ9/k4m+m1Km0lhlxvjpy1AV0zRHlgCbBV4J
> TJZ1016pusqzlxONvYc3bRo=
> =U2Z3
> -----END PGP SIGNATURE-----
>
>
> --
> 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)
Received on Mon Oct 9 17:52:48 2006