私は非常にばかげた質問をしています。自分のXML混在コンテンツノードが混同しないようにするにはどうすればよいですか?私は、これに似たXML構造を持っています。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>
私はこの
<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>
のように見える。しかし、私はテキストノードの部分を抽出することはできません、私はいつも全体をつかむために、最終的なコンテンツを必要としています。子孫軸を使用しています。私が間違って何をしているか何か手がかり?
<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>
は私が明確化のために、で囲みませんよ大きな構造に対処する必要があり、囲まれたXMLと結果のHTMLは一例であることに注意してください:
は、ここに私のXSLTです。
あなたのxsltを共有してもいいですか? –
XSLTが共有されました。 –