我米建立在彼得的答案,以解決其中的一個意見事實上不正確。你問你是否有使用說明和彼得說「是」,但事實上,這是不正確的。
用彼得的輸入文件:
<?xml version="1.0" encoding="UTF-8"?>
<menu>
<pizzas attribute="CAT">
<pizza>
<name>Tomato & Cheese</name>
<small>5.50</small>
<large>9.75</large>
</pizza>
</pizzas>
</menu>
會得到以下的結果,這是一樣的彼得:
<?xml version="1.0" encoding="utf-8"?><output>CAT</output>
當你使用這個XSLT樣式表:
<output xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xsl:version="1.0">
<xsl:value-of select="/menu/pizzas/@attribute"/>
</output>
這種樣式表寫法被稱爲「簡化」樣式表。下面是一個使用撒克遜在DOS提示符下運行上面的成績單:
t:\ftemp>type pizza.xml
<?xml version="1.0" encoding="UTF-8"?>
<menu>
<pizzas attribute="CAT">
<pizza>
<name>Tomato & Cheese</name>
<small>5.50</small>
<large>9.75</large>
</pizza>
</pizzas>
</menu>
t:\ftemp>call xslt pizza.xml pizza.xsl
<?xml version="1.0" encoding="utf-8"?><output>CAT</output>
t:\ftemp>type pizza.xsl
<output xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xsl:version="1.0">
<xsl:value-of select="/menu/pizzas/@attribute"/>
</output>
t:\ftemp>rem Done!
所以,其實,你並不需要你有簡單要求<xsl:stylesheet>
和<xsl:template>
。
沒有什麼明顯錯誤的存在(除了你缺少收盤''這我相信是一個複製/粘貼問題) – freefaller
請注意,因爲我的評論,彼得還添加結束標記 - 我個人不同意在沒有OP的批准的情況下編輯代碼或數據,因爲這可能會掩蓋實際的問題並將人們帶上瘋狂的追逐。 – freefaller