Philippe Guillard wrote:
Bonjour,
J'ai un probleme de XML namespace. Ce me semble stupide, mais je suis
pourtant bloque!
Je crois comprendre qu'il est impossible de manipuler un node en XSL
tant que son namespace n'a pas ete resolu.
Il n'y a pas de notion de "résolution" associée aux namespaces. L'URI
d'un namespace est utilisée comme identificateur unique et n'est jamais
accédée par un parser.
Ce qui ne m'est jamais arrive
jusqu'ici avec Cocoon en n'utilisant pas de donnees exterieures. Je ne
vois pas du tout ce que je dois faire quand je me retrouve avec un
namespace inconnu. Dois-je l'ajouter dans WEB-INF/entity/catalog ? Je
ne souhaite pourtant pas valider mon document.
Ci-dessous mon example (je ne trouve pas d'erreur, mais je suis
incapable de manipuler ce document en XSL de facon "habituelle")
Le problème que tu as, c'est que ResultSet est dans un namespace,
déclaré sans préfixe :
<ResultSet xmlns="urn:yahoo:lcl"....
Or ce namespace n'est pas déclaré dans la XSL, ce qui fait que
l'expression "//ResultSet" ne matche rien.
Solution:
<xsl:stylesheet version="1.0" xmlns="urn:yahoo:lcl">
Mais je me souviens avoir rencontré des problèmes avec xalan sur les
namespaces sans préfixes. Si c'est toujours le cas avec la version
actuelle (je n'ai pas testé), il faut alors mettre un prefixe :
<xsl:stylesheet version="1.0" xmlns:lcl="urn:yahoo:lcl">
et
select="//lcl:ResultSet"
Sylvain
--
Sylvain Wallez Anyware Technologies
http://apache.org/~sylvain http://anyware-tech.com
Apache Software Foundation Member Research & Technology Director
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]