0
<record>
    <node_1>
        <value_1_0>5</value_1_0>
        <value_1_1>0</value_1_1>
        <value_1_2>10</value_1_2>
        <value_1_3>8</value_1_3>
    </node_1>
   .................................
   .................................

    <node_63>
        <value_63_0>1</value_63_0>
        <value_63_1>99</value_63_1>
        <value_63_2>53</value_63_2>
        <value_63_3>5</value_63_3>
  </node_63>
</record>

問題文 : これら 2 つのケースで効率的な XPath 式を作成するにはどうすればよいですか?

いずれかのノードの値がゼロでない場合、前のノードと次のノードの特定のサブノードの値がゼロでないかどうかを確認する必要があります。つまり、node_50/value_50_0 がゼロでない場合、node49/value_49_0 と node51/value_51_0 もゼロでない必要があります。残りの場合も同様です。

次に、代替ノードの値を合計する必要があります。つまり、node_1/value_1_0 + node_3/value_1_0 + ... + node_63/value_1_0 です。同様に、value_1_1、...、value_63_1 など。

XPath 式が両方のケースで単純になるように、各インデックスにカウンター変数を提供する「for ループ」があるかどうか疑問に思っていますか?

擬似コード:

for(i=1; i<64; i++)
   for(j=0;j<4;j++)
     if (node_i/value_i_j !=0)&& (node_i-1/value_i-1_j !=00)&&(node_i-1/value_i-1_j!=0)
       True
     else
       False
   end
 end
4

1 に答える 1