我有隨着時間的推移,我想確保我的一個XSL select
XPath的選擇將是儘可能高效將在大小氣球中的一個XML文檔。在XPath中,是否比軸更快地使用邏輯比較?
該文件包含以下類型的元素:
<simple_instance>
<name>Class0</name>
<type>Business_Capability</type>
<own_slot_value>
<slot_reference>contained_business_capabilities</slot_reference>
<value value_type="simple_instance">Class1</value>
<value value_type="simple_instance">Class3</value>
<value value_type="simple_instance">Class4</value>
<value value_type="simple_instance">Class5</value>
</own_slot_value>
<own_slot_value>
<slot_reference>business_capability_level</slot_reference>
<value value_type="string">1</value>
</own_slot_value>
<own_slot_value>
<slot_reference>name</slot_reference>
<value value_type="string">Planning</value>
</own_slot_value>
</simple_instance>
這兩個選擇(其中找到像上面的一個元素)的效率會更高,從長遠來看的?
/node()/simple_instance[type='Business_Capability']/own_slot_value/slot_reference[text()='business_capability_level']/following-sibling::value[text()='1']
或
/node()/simple_instance[type='Business_Capability' and (own_slot_value/slot_reference='business_capability_level') and (own_slot_value/value='1')]
我的猜測是,如果XML短路and
的實施,後者會更快。
注:我使用的Protege的XML/XSL功能。