Le mercredi 19 octobre 2005 à 17:18 +0200, sylvain caillot a écrit :
> Cela ne semble pas se derouler aussi bien que prevu a moins d'avoir rate
> quelquechose. J'ai rajoute les namespaces que je souhaite voir apparaitre
> dans la racine du document:
>
> <xsl:stylesheet version="1.1"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:fo="http://www.w3.org/1999/XSL/Format"
> xmlns:date="http://exslt.org/dates-and-times"
> xmlns:exsl="http://exslt.org/common"
> xmlns:xlink="http://www.w3.org/1999/xlink"
> xmlns:html="http://www.w3.org/HTML/1998/html4" xml:lang="en"
> xmlns:dc="http://chemin DC/" xmlns:dcterms="http://chemin DCTERMS/"
> xmlns:fi="http://chemin FI/">
> <xsl:template match="document">
> <xsl:element name="fi:DOC" xmlns:dc="http://chemin DC/"
> xmlns:dcterms="http://chemin DCTERMS/" xml:lang="fr">
> <xsl:element name="fi:DataEntry">
> <xsl:element name="fi:Editor">nom</xsl:element>
> <xsl:element name="dcterms:Created">
> <xsl:value-of select="date:date()"/>
> </xsl:element>
> </xsl:element>
> </xsl:element>
> </xsl:template>
> </xsl:stylesheet>
>
> En lancant la conversion avec saxon, le resultat XML est:
>
> <?xml version="1.0" encoding="utf-8"?>
> <fi:DOC xmlns:fi="http://chemin FI/">
> <fi:DataEntry>
> <fi:Editor>nom</fi:Editor>
> <dcterms:Created xmlns:dcterms="http://chemin
> DCTERMS/">2005-10-19</dcterms:Created>
> </fi:DataEntry>
> </fi:DOC>
>
> Il me rajoute dans ma racine que le namespace correspondant au prefix de mon
> noeud, mais il ne rajoute les deux autres namespaces (xmlns:dcterms et
> xmlns:dc) et me les rajoute par contre a chaque fois qu il rencontre un
> noeud dont le prefix correspond.
A défaut d'être concis et harmonieux, c'est parfaitement valide au sens
de la recommandation des espaces de noms...
Pour mieux contrôler l'endroit où vont être placées les déclarations, il
vaut mieux utiliser des littéraux plutôt que xsl:element :
<xsl:template match="document">
<fi:DOC xmlns:fi="http://chemin FI/">
<fi:DataEntry>
<fi:Editor>nom</fi:Editor>
<dcterms:Created xmlns:dcterms="http://chemin
DCTERMS/"><xsl:value-of select="date:date()"/></dcterms:Created>
</fi:DataEntry>
</fi:DOC>
</xsl:template>
Produira un résultat beaucoup plus fidèle à vos souhaits.
Cordialement,
Eric van der Vlist
--
Weblog:
http://eric.van-der-vlist.com/blog?t=category&a=English
------------------------------------------------------------------------
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
------------------------------------------------------------------------
--
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 Oct 19 17:58:35 2005