Я получил следующий XML
<doc>
<start/>
<mandatory id='x1'/>
<optional id='foo'/>
<end/>
<start/>
<mandatory id='x2'/>
<end/>
<start/>
<mandatory id='x3'/>
<optional id='boo'/>
<end/>
</doc>
структура которого плоская. Согласованный набор информации начинается с тега, но заканчивается тегом. Определенная информация в наборе является обязательной, здесь другие нет, здесь
Мой процесс использует XPATH 1.0, чтобы сначала извлечь начальный узел, а после этого для каждого начального узла я хочу иметь как обязательную, так и необязательную информацию.
Моя проблема заключается в том, чтобы найти правильное выражение XPATH для получения необязательного узла, который соответствует текущему узлу итерации, предоставленной
/док/старт
Я уже дал формулу Kayessian XPath 1.0
Как выполнять операции с множествами в XPath 1.0 XPath выбирает все элементы между двумя конкретными элементами
получить пересечение двух множеств попробовать
следующий-брат::необязательный[количество(. | следующий-брат::конец[1]/предшествующий-брат::необязательный)=(счетчик(следующий-брат::конец[1]/предшествующий-брат::необязательный)) ]
Большое спасибо
ура Кристиан