J'ai une question assez stupide. Comment puis-je m'assurer que mon noeud de contenu mixte XML ne soit pas mélangé? J'ai, disons, une structure XML ressemblant à ceci.Noeud de contenu mixte XSLT
<root>
<book>
<title>Stuff</title>
<description> This book is <i>great</i> if you need to know about stuff.
I suggest <link ref="Things">this one</link> if you need to know
about things. </description>
</book>
[other books]
</root>
J'ai besoin du contenu final pour ressembler à ce
<h1>List of books</h1>
<h2><a name="Stuff"/>Stuff</h2>
<p> This book is <i>great</i> if you need to know about stuff.
I suggest <a href="#Things">this one</a> if you need to know
about things. </p>
Mais je ne peux pas extraire les parties du nœud de texte, je prends toujours la chose. J'utilise l'axe descendant. Toute idée de ce que je fais mal?
Voici mon xslt:
<xsl:template match="description/*">
<xsl:for-each select="following-sibling::*">
<xsl:choose>
<xsl:when test="name(.)='link'">
<a href="{@ref}"><xsl:value-of select="."/></a>
</xsl:when>
<xsl:when test="name(.)='em'">
<em><xsl:value-of select="."/></em>
</xsl:when>
<xsl:otherwise><p><xsl:value-of select="."/></p></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
S'il vous plaît noter que le code XML ci-joint et html résultant ne sont que des exemples, je dois faire face à une structure plus grande que je ne suis pas enfermer, par souci de clarté.
esprit de partager votre xslt? –
XSLT a été partagé. –