Там может быть лучший способ сделать это, и если есть, пожалуйста, поделитесь. У меня есть список идентификаторов, которые я хотел бы использовать для выбора определенных элементов. Например, допустим, у меня есть следующий XML
<ANSWER calculatedValue="8917.51"
type="DECIMAL"
desc="Additional Features"
id="ADDTL" />
<ANSWER calculatedValue="1997.16"
type="DECIMAL"
desc="Appliances"
id="APP" />
<ANSWER calculatedValue="6988.94"
type="DECIMAL"
desc="Electrical"
id="ELE" />
<ANSWER calculatedValue="21184.22"
type="DECIMAL"
desc="Exterior Finish"
id="EXT" />
Я хочу получить сумму рассчитанных значений, где идентификаторы ADDTL, APP и ELE. Я мог бы сделать это:
sum(ANSWER[@id = 'ADDTL' or @id = 'APP' or @id = 'ELE']/@calculatedValue)
Есть ли способ сделать что-то вроде этого:
sum(ANSWER[@id in ('ADDTL,APP,ELE')]/@calculatedValue)
При фактическом использовании этот список будет составлять около 15 идентификаторов. Я мог бы, вероятно, использовать tokenize и index-of для этого, но мне было интересно, есть ли что-то вроде SQL «IN» для XPATH. Мысли, идеи. Если хуже становится хуже, я просто использую "или".