Bonjour,
On Wed, 2003-07-16 at 10:36, Erik Mazoyer wrote:
> Je suis en cours d'écriture d'une transformation XSLT qui prend en entrée un fichier XML composé de balises appartenant à plusieurs espaces de nom (4 en tout).
> Le fichier en sortie, par contre, ne doit comporter aucun espace de nom, pour plusieurs raisons techniques, la plus importante étant que le parseur XML ciblé ne supporte pas les espaces de nom.
>
> Ma question est multiple :
> 1) Est-il possible de spécifier que la XSLT ne doit pas écrire les espaces de nom dans le fichier produit. Je prend à ma charge le renommage des balises ayant même nom dans deux espaces de nom différent.
Uniquement si vous connaissez les préfixes à exclure (il faut alors
utiliser l'attribut exclude-result-prefixes de l'élément xsl:stylesheet
ou xsl:transform) et cela ne marche que si ces espaces de noms ne sont
pas présents dans l'arbre de sortie!
http://xmlfr.org/w3c/TR/xslt/#stylesheet-element
> 2) Ou comment écrire une XSLT qui recopie un fichier XML en enlevant les espaces de nom.
J'essayerais (non testé):
<xsl:transform
xmlns="http://www.w3.org/1999/XSL/Transform"
version = "1.0">
<xsl:template match="*">
<xsl:element name="{local-name(.)}">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
</xsl:transform>
> Dans le cas ou la solution utilise une particularité du processeur XSLT, j'utilise Xalan dans sa dernière version.
Non, c'est 100% XSLT :-)
Cordialement,
Eric van der Vlist
--
Read me on XMLhack.
http://xmlhack.com/author.php?id=8
------------------------------------------------------------------------
Upcoming Schema languages tutorial (registration open):
- August 4th (Montreal, Canada) http://makeashorterlink.com/?U28A217A4
------------------------------------------------------------------------
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)
Received on Wed Jul 16 10:46:35 2003