У меня есть довольно глупый вопрос. Как я могу убедиться, что мой 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>
Но я не могу извлечь части текстового узла, я всегда захватить всю вещь. Я использую ось потомков. Вы знаете, что я делаю неправильно?
Вот мой 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>
Пожалуйста, обратите внимание, что заключенный в XML и в результате HTML являются просто примерами, мне приходится иметь дело с большой структурой, я не заключающей в, для ясности.
разделить свой xslt? –
XSLT был общим. –