<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