2011-08-18 4 views
2

J'utilise XSLT pour afficher un noeud à partir de XML. Ce nœud contient une liste non numérotée HTML comme ceci:La valeur XSLT renvoie le texte uniquement

<ul><li>one</li><li>two</li></ul>

mais <xsl:value-of select="root/node1" disable-output-escaping="yes" /> retours seulement onetwo

Je sais que je dois utiliser disable-output-escaping="yes" Mais cela ne fait rien.

Je veux que la sortie soit le même que dans le nœud, comme ceci: <ul><li>one</li><li>two</li></ul>

+0

Que sélectionnez-vous dans l'attribut 'select'? Quelle est la sortie que vous en voulez? – Yuck

Répondre

1

xsl:value-of est utilisé pour créer des nœuds de texte en évaluant la valeur de chaîne du nœud sélectionné.

Vous devez utiliser xsl:copy-of.

http://www.w3.org/TR/xslt#value-of

L'élément xsl:value-of est instancié pour créer un nœud de texte dans l'arborescence du résultat. L'attribut select requis est une expression; cette expression est évaluée et l'objet résultant est converti en une chaîne comme si elle était appelée par la fonction string. La chaîne spécifie la valeur de chaîne du noeud de texte créé. Si la chaîne est vide, aucun noeud de texte ne sera créé. Le noeud de texte créé sera fusionné avec tous les noeuds de texte adjacents. L'élément xsl:copy-of peut être utilisé pour copier un ensemble de nœuds dans l'arborescence de résultat sans le convertir en chaîne. Voir [11.3 Using Values of Variables and Parameters with xsl:copy-of].

Questions connexes