exsl:node-set 関数の仕組みがわかりません。
exsl:node-set に動的に入力するために展開して使用している XML があります。現在、この形式であるとしましょう:
<xsl:variable name="wrap">
<nodes>
<node/>
<node/>
<node/>
</nodes>
</xsl:variable>
<xsl:variable name="wrapNodeSet" select="exsl:node-set($wrap)"/>
これは必要に応じて機能し、$wrapNodeSet を出力すると、上記のノード マークアップが表示されます。ルート ノード名は、name($wrapNodeSet/*) を使用して「ノード」として表示されます。
ここで、これを拡張して 2 つのノードを持ち、ノードセットを動的に設定する必要があります。そう:
<xsl:variable name="wrap">
<nodes tier="a">
<node/>
<node/>
<node/>
</nodes>
<nodes tier="b">
<node/>
<node/>
<node/>
</nodes>
</xsl:variable>
<xsl:variable name="wrapNodeSet" select="exsl:node-set($wrap)/nodes[@tier='b']"/>
ノード セットの出力にはノード要素が含まれますが、ルート ノードの名前の出力は「ノード」に変更されます。
ノード要素がまだ出力されている理由を誰かが説明できますか?