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