Я пытаюсь изучить XPath / XQuery на BaseX. Запрос XPath возвращает некоторые результаты, которые я не могу объяснить.
Входной XML:
<?xml version="1.0" encoding="UTF-8"?>
<manual>
<chapter>
<section>
<itemizedlist type="Ordered" mark="1">
<listitem>
<para/>
</listitem>
<listitem>
<para/>
</listitem>
</itemizedlist>
<CWD>
<para>1</para>
</CWD>
<para/>
<CWD>
<para>2</para>
</CWD>
<para/>
<itemizedlist>
<listitem>
<para/>
</listitem>
<listitem>
<para/>
</listitem>
</itemizedlist>
<CWD>
<para>3</para>
</CWD>
<para/>
<itemizedlist>
<listitem>
<para/>
</listitem>
<listitem>
<para/>
</listitem>
</itemizedlist>
</section>
</chapter>
</manual>
XPath:
//CWD[preceding-sibling::itemizedlist[1]]
Ожидаемый результат: элементам CWD непосредственно предшествует itemizedlist, следовательно:
<CWD>
<para>1</para>
</CWD>
<CWD>
<para>3</para>
</CWD>
Фактические результаты:
<CWD>
<para>1</para>
</CWD>
<CWD>
<para>2</para>
</CWD>
<CWD>
<para>3</para>
</CWD>
Почему запрос возвращает CWD 2 и как я неправильно использую ось предшествующего брата?