1

XSLTの1つに以下のようなコードがあります-

<div>
<ul class="toplevel-Video group Video-coll-left">
<xsl:apply-templates select="//VideoNode[@Video='Yes'][1]" />
</ul>
<ul class="toplevel-Video group Video-coll">
<xsl:apply-templates select="//VideoNode[@Video='Yes'][position()>=2 and last()>position()]" />
</ul>
<ul class="toplevel-Video group Video-coll-right">
<xsl:apply-templates select="//VideoNode[@Video='Yes'][last()]" />
</ul>
</div>

以下のコードで[1]と言う意味を理解できません

<xsl:apply-templates select="//VideoNode[@Video='Yes'][1]" />

ありがとう

4

3 に答える 3

2

と の間には違いが//X[1]あり(//X)[1]ます。最初の式は、その親の最初の X 子であるすべての X を選択します。2 番目は、ドキュメント内の最初の X を選択します。実際には、"[]" 演算子は "//" 演算子よりも優先されます。より正式には、 に//X[1]展開されroot()/(descendant-or-self::node())/(child::X[1])、 に(//X)[1]展開され(root()/descendant-or-self::node()/child::X)[1]ます。

于 2013-08-26T15:28:34.317 に答える
1

セット内の最初のノードを意味します。したがって、ul最初の要素には最初の要素が含まれ、中間ulには最初と最後を除くすべてのノードがul含まれ、最後には最後のノードが含まれます。

于 2013-08-26T13:22:09.557 に答える