Bonjour,

J'ai une colle pour les gourou de la XSL !
Je déclare differents namespaces dans ma XSL comme:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.0/">

Et lorsque j'utilise:
<xsl:output cdata-section-elements="content:encoded category" version="1.0"/>

Le contenu de mes balises <content:encoded/> ne sont pas dans un cdata alors que le contenu de <category/> l'est bien.

Je pense que c'est a cause du namespace mais j'ai essayé en mettant juste encoded et ca n'a rien changé...

Quelqu'un aurait il une explication à ce phénomène paranormal ? Smiley murf

Merci d'avance
Modifié par Koben (26 Apr 2007 - 17:47)
Bonjour,

Pour être plus précis tu as associé des préfixes à des namespaces (et une question se pose sur le périmètre de validité de ces associations, dans la mesure ou nous n'avons pas l'intégralité de ton code).
L'une de ces associations veut localement que content: signifie " appartient au namespace http://purl.org/rss/1.0/modules/content/ ".

Il en résulte normalement que le contenu des éléments encoded dont le namespace est http://purl.org/rss/1.0/modules/content/ iront dans un cdata.

Si aucun de tes éléments encoded (ceux du fichier source XML, ou ceux du fichier XSLT) ne vont pas en cdata, c'est qu'ils n'appartiennent pas au namespace http://purl.org/rss/1.0/modules/content/, et peu importe qu'ils soient préfixés content: ou pas.

L'erreur la plus probable est que les éléments encoded du fichier source ne soient pas du namespace http://purl.org/rss/1.0/modules/content/
Modifié par Xavier (25 May 2007 - 12:47)