问题描述
|
我听说大多数时候,编写XSLT时通常可以(并且更好)使用apply-templates而不是for-each。这是真的?如果是这样,使用Apply模板有什么好处?
解决方法
如果确切地知道如何处理
<xsl:for-each>
,使用0ѭ绝对没有害处。
问题在于,许多具有命令式编程经验的XSLT新手在他们最喜欢的PL中将take0替换为\“ loop \”,并认为它使他们能够执行不可能的任务,例如增加计数器或任何其他操作。已经定义的“ 3”的其他修改。
XSLT 1.0中必不可少的ѭ0用途是更改当前文档-为了能够在文档上使用key()
功能(不同于当前源XML文档),经常需要这样做,例如,以有效地访问查找表驻留在自己的xml文档中。
另一方面,使用<xsl:template>
和<xsl:apply-templates>
更强大,更优雅。
以下是这两种方法之间最重要的区别:
xsl:apply-templates
比xsl:for-each
更丰富更深
只是因为我们不知道将在哪些节点上应用什么代码
选择-通常情况下,此代码对于
节点列表中的不同节点。
将要应用的代码
可以在写出“ 10”之后写成
不认识原作者的人。
如果XSLT没有<xsl:apply-templates>
指令,则FXSL库无法在XSLT中实现高阶函数(HOF)。
简介:模板和ѭ7指令是XSLT如何实现和处理多态的问题。
参考:请参见整个主题:http://www.stylusstudio.com/xsllist/200411/post60540.html