1
这里是我的模板:XSLT转换XHTML文档
<xsl:template name="rec">
<xsl:for-each select="*">
<div class="{local-name()}">
<xsl:for-each select="@*">
<xsl:attribute name="data-{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:value-of select="text()" />
<xsl:call-template name="rec" />
</div>
</xsl:for-each>
</xsl:template>
给定一个文档,像这样:
<test>
<item value="1">Item 1 Text</item>
<item value="2">Item 2 Text</item>
</test>
以上变换将变成:
<div class="test">
<div class="item" data-value="1">Item 1 Text</div>
<div class="item" data-value="2">Item 2 Text</div>
</div>
我遇到的问题是,此转换不能正确地尊重文本节点,并且我没有足够的XSLT背景来模拟e如何解决它。这里的问题:给定的XML像这样:
<para>This is a <emphasis>paragraph</emphasis> people!</para>
我想看看下面的输出:
<div class="para">This is a <div class="emphasis">paragraph</div> people!</div>
的问题是,我没有得到这个 - 我得到这个:
<div class="para">This is a <div class="emphasis">paragraph</div></div>
通知失踪 '的人!'文本节点。我如何修复上面的XSLT以提供我需要的输出?
我想我看到你在这里做什么。=)这确实产生了我正在寻找的效果 - 非常感谢! – 2011-03-24 19:12:41
对于正确的答案+1。 – 2011-03-25 12:54:12
+1正确的答案和很好的解释。 – 2011-03-27 15:03:44