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コード:

(a)

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

(b)

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

2 に答える 2

0

パフォーマンスはほぼ確実に、使用している XSLT システムに完全に依存しており、実装によって大きく異なります。あるエンジンで最高のパフォーマンスを発揮するものが、別のエンジンでは異なる可能性があるため、そうする唯一の方法は確かに (そして、見つけるのは非常に簡単なので)、独自に選択した XSLT エンジンで試して時間を計ることです。

于 2012-05-29T20:26:39.357 に答える
0

パフォーマンス: Woody が言うように、それはプロセッサに依存します。違いを期待する本質的な理由はありません。

柔軟性: apply-templates は常により柔軟です。見つけるべきバランスがありますが。for-each を適切に使用することで、コードがより明確になり、読みやすくなる場合があります。

于 2012-05-29T21:13:05.500 に答える