From: Denis BAYARD (denis.bayard@edfgdf.fr)
Date: 11/08/2003 - 13:09
Bonjour,
Je traite en XSL T, avec Saxon, un fichier XML dont les élément
appartiennent à des espaces de nom (namespace).
J'aimerai supprimer toute notion d'espace de nom de mon résultat.
J'ai utilisé xsl:exclude-result-prefix pour supprimer l'espace de nom. Les
éléments n'appartiennent plus à l'espace de nom, mais la déclaration de
l'espace de nom est toujours présente. En utilisant des alias, j'ai réussi
à supprimer le nom de l'espace de nom, mais il reste toujours l'attribut
xmlns.
Note de la recommandation XSL T du w3c : Quand une feuille de style
utilise une déclaration d'espace de noms seulement dans le but d'adresser
un arbre source, en spécifiant le préfixe dans l'attribut
exclude-result-prefixes, cela n'empêche pas les déclarations superflues
d'espaces de noms dans l'arbre résultant.
D'après la note ci-dessus, des déclarations superflues d'espaces de noms
dans l'arbre résultant peuvent subsister.
Comment peut-on faire pour supprimer toute notion d'espace de nom dans le
fichiers résultat d'une transformation XSL-T ?
Merci pour votre réponse.
Denis
Ci-dessous les tests que j'ai fait.
<!-- ************* Fichier XML ********************-->
<?xml version="1.0" encoding="iso-8859-1" ?>
<guides xmlns="http://MCO/Guides">
<guide type="HTML"/>
...
</guides>
<!-- *****************************************************-->
<!-- ************* Fichier à obtenir ********************-->
<?xml version="1.0" encoding="utf-8"?>
<project name="idontknow" default="fin">
...
<!-- *****************************************************-->
<!-- ************* Feuille de style XSL. Test 1 ********************-->
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.1"
xmlns:mco="http://MCO/Guides"
xsl:exclude-result-prefixes="mco"
>
<xsl:template match ="/">
<project name="idontknow" default="fin">
...
<!-- *****************************************************-->
<!-- ************* Fichier obtenu 1 ********************-->
<!-- Il reste la déclaration de l'espace de nom. -->
<?xml version="1.0" encoding="utf-8"?>
<project xmlns:mco="http://MCO/Guides" name="idontknow" default="fin">
...
<!-- *****************************************************-->
<!-- ************* Feuille de style XSL. Test 2 ********************-->
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.1"
xmlns:mco="http://MCO/Guides"
xsl:exclude-result-prefixes="mco"
>
<xsl:namespace-alias
stylesheet-prefix = "mco"
result-prefix = "#default" />
<xsl:template match ="/">
<project name="idontknow" default="fin">
...
<!-- *****************************************************-->
<!-- ************* Fichier obtenu 2********************-->
<!-- Il reste l'attribut xmlns -->
<?xml version="1.0" encoding="utf-8"?>
<project xmlns:mco="" name="idontknow" default="fin">
...
<!-- *****************************************************-->
--
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
|