請參閱Diff 1.0 vs 2.0。這個問題已經解決了,但對於我來說,首先是什麼引起了這個問題,這仍然有點神祕。
現在我可能找到了一些東西,但需要幫助瞭解發生了什麼。
我簡化輸入XML到模板規則處理的區別XSLT 1.0 vs 2.0(bis)
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Manager>
<Employee grade="9"/>
<Employee grade="8"/>
</Manager>
<Manager>
<Employee grade="9"/>
<Employee grade="8"/>
<Employee grade="4"/>
</Manager>
</root>
我應用在這個輸入的樣式表是
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<root>
<xsl:apply-templates select="root/Manager"/>
</root>
</xsl:template>
<xsl:template match="Manager">
<test><xsl:value-of select="Employee/@grade"/></test>
</xsl:template>
</xsl:stylesheet>
輸出是
<?xml version="1.0" encoding="UTF-8"?>
<root>
<test>9</test>
<test>9</test>
</root>
但是運行在XSLT 2.0模式的轉變(變化樣式表/ @版本爲「2.0」),輸出爲
<?xml version="1.0" encoding="UTF-8"?>
<root>
<test>9 8</test>
<test>9 8 4</test>
</root>
我想知道XSLT 1.0和XSLT 2.0中的精確區別是什麼引起的。
再次感謝馬丁 - 1.0和2.0之間的差異現在變得越來越清晰了... – Maestro13 2012-02-16 15:38:29