我米建立在彼得的答案,以解决其中的一个意见事实上不正确。你问你是否有使用说明和彼得说“是”,但事实上,这是不正确的。
用彼得的输入文件:
<?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