XSLT の次の XPath 式のインデックス アクセスの時間計算量はどれくらいですか?
<xsl:value-of select="User[2]/username"/>
- O(ログ(n))
- O(1) または
- の上)
次のような何千人ものユーザーを含む並べ替えられたxmlファイルがあります。
<Users>
<User>
<idPerson>460</idPerson>
<username>a_aker01</username>
</User>
<User>
<idPerson>677</idPerson>
<username>a_aker02</username>
</User>
<User>
<idPerson>1844</idPerson>
<username>a_aker03</username>
</User>
<User>
<idPerson>2373</idPerson>
<username>a_aker04</username>
</User>
</Users>
検索を高速化するために、XSLT 2.0 (高速インデックス アクセスが必要) でバイナリ検索関数を作成することを考えています。
<xsl:variable name="targetId" select="2373" />
<xsl:value-of select="User[idPerson=$targetId]/username"/>
私のニーズには遅すぎます。線形検索を実行しますか?