0

选项 (a) 和 (b) 之间的灵活性和性能优势是什么?提前致谢。

xml数据:

<grandparent gname="gname1">
<parent pname="pname1">
<child>cname1</child>
<child>cname2</child>
<child>cname3</child>
<child>cname4</child>
</parent>
<parent pname="pname2">
<child>cname11</child>
<child>cname12</child>
<child>cname13</child>
<child>cname14</child>
</parent>
<parent pname="pname3">
<child>cname21</child>
<child>cname22</child>
<child>cname23</child>
<child>cname24</child>
</parent>
<grandparent>

部分xslt代码:

(一个)

<xsl:apply-templates select="/grandparent/parent">
    <xsl:sort select="@pname"/>
</xsl:apply-templates>

(二)

<xsl:templates match="/grandparent">
    <xsl:for-each select="parent">
        <xsl:sort select="@pname" order="descending"/>
    </xsl:for-each>
</xsl:template>
4

2 回答 2

0

性能:正如 Woody 所说,这取决于处理器。没有内在的理由期望任何差异。

灵活性:应用模板总是更灵活。虽然有一个平衡点;有时,通过明智地使用 for-each,代码可以更清晰、更易读。

于 2012-05-29T21:13:05.500 回答
0

性能几乎可以肯定完全取决于您使用的 XSLT 系统,并且在不同的实现之间会有很大差异 - 一个引擎的最佳性能完全有可能与另一个引擎的性能不同,所以唯一的方法是当然(因为它很容易找到)是在您自己选择的 XSLT 引擎上尝试它并计时。

于 2012-05-29T20:26:39.357 回答