Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: BoD (BoD@BoDLand.com)
Date: 14/08/2001 - 22:50


Merci beaucoup de l'explication !
Je crois que c'est clair...

J'ai maintenant d'autres petits problèmes du genre dans ma source si je fais

<truc>
<a xmlns="http://www.w3.org/1999/xhtml">test</a>
</truc>

ou bien

<truc xmlns:html="http://www.w3.org/1999/xhtml>
<html:a/>test</html:a>
</truc>

cela ne produit pas le même resultat après transformation...
(Cela produit dans le premier cas un <a> mais dans le 2eme cas un <html:a>
qui ne va pas biensûr)

B.LUBEK

----- Original Message -----
From: "Benoit Lefevre" <benoit.lefevre@effix.fr>
To: <xml-tech@xmlfr.org>
Sent: Tuesday, August 14, 2001 9:34 AM
Subject: [xml-tech] Re: Question xslt et namespace (encore!)

>
>
> Bonjour.
>
> Tout d'abord je precise que ce que je vais dire n'est pas certain;
> j'ai moi meme quelques difficultes avec les namespaces.
>
> Voila commen je vois les choses pour l'instant : un namespace c'est
> ,comme son nom l'indique, une "zone de nomage". Dans ton cas
> quand tu rajoutes un namespace au tague <a>, tu precises au
> processeur xsl que le nom du tague en question appartiend a l'espace
> de nomage "test.com"
>
> Ici ton probleme c'est qu'une fois que tu a fait ca, le tague <a>
ainsi
> que tous ses fils sont alors consideres comme appartenant a cet
> espace de nomage !!
>
> Donc dans ta stylesheet quand tu fait referance a : "//b/c" tu
designes
> quelque chose qui n'apparait pas du tout dans ton document car il
faut
> bien voir que l'expression "//b/c" designe des tagues appartenants a
> l'espace de nommage par default alors que ton <b> et ton <c>
> appartiennent eux a l'espace de nommage test.com.
>
> Pour resumer : "//b/c" est totalement different (pour le
processeur
> en tous les cas) de "//test.com:b/test.com:c".
>
> pour resoudre ton probleme et faire les choses plus proprement il
faut :
>
> 1) d'une part donner un "alias" a ton espace de nomage test.com,
comme
> ceci (prenons "monns" par exemple) :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <a xmlns:monns="test.com">
> <monns:b>
> <monns:c>TOTO</monns:c>
> </monns:b>
> </monns:a>
>
> C'est plus long a ecrire mais c'est plus claire
> lorsque tu as plusieurs espaces de nommages qui
> cohabitent dans le meme document xml. C'est meme
> indispenssable de prefixer les tags pour qu'il n'y ai
> pas de collision de nom lorsque deux espaces de
> nommage possedent des tagues ayants le meme nom. On
> peu imaginer par exemple un espace de nommage
> "entreprise" dans lequel il y a le tag <nom>
> (de l'entreprise) et un espace de nommage "employe"
> dans lequel il y a le tague <nom> (de l'employe).
>
> pour faire cohabiter ces deux tagues dans le meme
> document on ecrit alors :
>
> <entreprise:nom>
> <entreprise:employes>
> <employe:nom>marcel</employe:nom>
> <employe:nom>jean</employe:nom>
> <employe:nom>maurice</employe:nom>
> <employe:nom>bertrand</employe:nom>
> </entreprise:employes>
> </entreprise:nom>
>
> 2) d'autre part dans ta feuille xsl tu declares un
> (ou des) alias pour l'espace de nommage avec lequel
> (ou lesquels) tu est sence travailler.
>
> En pratique tu fais ca comme ca :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:monns=test.com>
>
> <xsl:output method="xml" version="1.0"
> encoding="UTF-8"
> indent="yes" />
>
> <xsl:template match="/">
> <xsl:value-of select="//monns:b/monnsc" />
> </xsl:template>
> </xsl:stylesheet>
>
> de cette maniere tu est certain que ta feuille et
> ton document parlent de la meme chose.
> Le selecte de ton value-of devrait donc fonctionner un
> peut mieux (j'espere :)
>
>
>
>
> Une derniere chose : tout ce que je viens de dire
> doit s'appliquer quand tu veux faire referance a
> un tague, et ce ou que ce soit :
> - dans une stylesheet :
> dans un select,
> dans un match,
> dans un test,
> dans un Xpath.
> - dans un xml.
>
> Cordialement.
>
> Benoit lefevre.
>
> PS : pour revenire a cette histoire de namespace tu
> remarqueras qu'une stylesheet etant elle meme ecrite
> en XML il faut egalement designer les tagues XSL via
> un alias, ici "xsl:".

--
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

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement