ショートカット「//」について読んでいますが、これは明らかに次のショートカットです。
「/子孫または自己」
そのような式の単純な例から、たとえば、何を期待するかは明らかです。
//myNode
「myNode」と呼ばれる要素のルートから見つかった、ドキュメント内のすべてのインスタンスのノード リストを返します。
ただし、次のようなより複雑な式の意味は何ですか。
//aNode//myNode
?
// ('/descendant-or-self' のショートカット) はルート ノードに 2 回一致するため、これは式 '//aNode' の最初の部分が冗長であり、完了するのにかかる時間を増やすだけであることを意味しますか?式の実行 (「myNode」のドキュメント全体ですべての式しか見つからなかった後) ?
「//myNode」と「//aNode//myNode」はまったく同じ結果になるのでしょうか?
最後に、ドキュメントを検索して、ノード「interestingTree」の間接的な子孫であるノード「myNode」のインスタンスを探していたとします。しかし、ノード 'nonInterestingTree' の間接的な子孫であるノード 'myNode' のインスタンスは必要ありません。
たとえば、次のドキュメントを検索します。
<root>
<anode>
<interestingTree>
<unknownTree>
<myNode/><!-- I want to find this one, not the other, where I don't know the path indicated by 'unknownTree' -->
</unknownTree>
</interestingTree>
<nonInterestingTree>
<unknownTree>
<myNode/>
</unknownTree>
</nonInterestingTree>
</anode>
<anode>
<someOtherNode/>
</anode>
</root>
ありがとう!