XPath 1.0 Порядок итерации по UTCSeconds

У меня есть этот образец XML:

<Values>
<TraceSet Name = "EVT1.Val" QuerySpecName="EVT1" >
<Events>
<Properties>
<Property Descriptor="100">1406538933</Property>
<Property Descriptor="2000">My second value</Property>
</Properties>
</Events>
<TraceSet Name = "EVT2.Val" QuerySpecName="EVT2" >
<Events>
<Properties>
<Property Descriptor="100">1406538922</Property>
<Property Descriptor="2000">My first value</Property>
</Properties>
</Events>
</Values>

Я пытаюсь выполнить итерацию на уровне дескриптора свойства = 2000, сортируя по дескриптору свойства = 100 (секунды UTC), но я не могу найти способ сделать это в XPath 1.0.

Результат должен быть:

My first value
My second value

Есть ли способ сравнить ВСЕ секунды UTC в этой структуре и показать соответствующие значения по порядку?


person D. Caan    schedule 06.08.2014    source источник


Ответы (1)


Я пытаюсь выполнить итерацию на уровне дескриптора свойства = 2000, сортируя по дескриптору свойства = 100 (секунды UTC), но я не могу найти способ сделать это в XPath 1.0.

Невозможно сделать это чисто в XPath 1.0, так как в XPath 1.0 нет концепции сортировки и итерации как таковой. Выражения XPath просто выбирают наборы узлов из исходного документа, и это зависит от основного языка, из которого вы выполняете выражения XPath, для выполнения любой итерации или сортировки выбранных узлов.

person Ian Roberts    schedule 06.08.2014
comment
Могу ли я выбирать значения по порядку, а не повторять? - person D. Caan; 06.08.2014
comment
@Dalek не в чистом XPath, нет. Выражение XPath говорит вам, какие узлы выбрать, а не что с ними делать. Какой язык или инструмент вы используете для выполнения этих XPath? - person Ian Roberts; 06.08.2014