Я пытаюсь получить одно (и только одно) вхождение элемента
/Document/docOf/serviceEvent/effectiveTime/@value
, когда
/Document/docOf/tempId/@root="1.3.5"
Элементы docOf могут встречаться в любом порядке, естья не гарантирую, что те, у которых искомый tempId, являются первыми в xml.
Я пытался использовать функцию position () в сочетании с tempId / @ root = "1.3.5", ноЯ обнаружил, что это не работает так, как я намереваюсь.Если я напишу
tempId/@root="1.3.5" and position()=1
, я получу правильный результат, но только когда элементы tempId / @ root = "1.3.5" появляются перед элементами с другими временными идентификаторами.Как получить значениеffectiveTime / @ из элемента с правильным корнем tempId / @ и получить его только один раз?
<Document>
<docOf>
<tempId root="1.3.2"codeSystem="11.2.3"/>
<serviceEvent>
<code code="UXZX0A"/>
</serviceEvent>
</docOf>
<docOf>
<tempId root="1.3.5"/>
<serviceEvent classCode="ACT">
<effectiveTime value="20101122145613+0100"/>
</serviceEvent>
</docOf>
<docOf>
<tempId root="1.3.5"/>
<serviceEvent classCode="ACT">
<effectiveTime value="20101122145613+0100"/>
</serviceEvent>
</docOf>
<docOf>
<tempId root="1.3.2"/>
<serviceEvent>
<code code="UXZX0A" codeSystem="11.2.3"/>
</serviceEvent>
</docOf>
</Document>