ノードセットとシーケンスの違いを知りたい。xslt 2.0でシーケンスが優れていると見なされるのはなぜですか?誰かがノードセット(select属性を持つ)の例とそれをシーケンスに変換する方法を教えてもらえますか?
2 に答える
XSLT 2.0のシーケンスは、XSLT1.0のノードセットを一般化したものです。それらは2つの点で異なります
(a)ノード以外のものを含めることができます。たとえば、文字列または整数のシーケンスを持つことができます
(b)重複を含めることができ、任意の順序でノードを含めることができます(ノードセットは順序付けされていません)。
XSLT 1.0にはノードセットしかなく、XSLT 2.0にはシーケンスしかないという単純な理由で、ノードセットをシーケンスに変換することはできません。XSLT1.0でノードセットを/a/b
返したような式は、でシーケンスを返します。 XSLT2.0。
(必要に応じて、「ノードセット」という用語を使用して、完全にノードで構成され、重複がなく、ノードが常にドキュメントの順序になっているシーケンスを指すことができます。ただし、その用語はそうではありません。 2.0仕様で使用されます。)
XSLT / XPath 1.0では、ロケーションパスはノードセット(http://www.w3.org/TR/xpath/#node-sets)を返し、XSLT / XPath 2.0ではパス式(http://www.w3)を返します。 org / TR / xpath20 /#id-path-expressions)は、アイテムがノードまたはアトミック値である可能性があるアイテムのシーケンスを返します。XSLT / XPath 2.0にはノードセットがないため、ノードセットをシーケンスに変換する方法の例を提供することはできません。