У меня есть документ, что-то вроде этого:
<root>
<A node="1"/>
<B node="2"/>
<A node="3"/>
<A node="4"/>
<B node="5"/>
<B node="6"/>
<A node="7"/>
<A node="8"/>
<B node="9"/>
</root>
Используя xpath, как я могу выбрать все элементы B, которые последовательно следуют за данным элементом A?
Это что-то вроде follow-silbing :: B, за исключением того, что я хочу, чтобы они были только , следующими сразу за элементами
Если я нахожусь на A (узел == 1), то я хочу выбрать узел 2.
Если я нахожусь на A (узел == 3), то я ничего не хочу выбирать.
Если я нахожусь на A (узел == 4), то я хочу выбрать 5 и 6.
Могу ли я сделать это в xpath? РЕДАКТИРОВАТЬ : оно входит в оператор выбора таблицы стилей XSL.
EDIT2 : я не хочу использовать атрибут узла для различных элементов в качестве уникального идентификатора. Я включил атрибут узла только для иллюстрации своей точки зрения. В настоящем документе XML у меня нет атрибута, который я использую в качестве уникального идентификатора. Xpath "follow-sibling :: UL [previous-sibling :: LI [1] / @ node = current () / @ node]"
ключи на атрибуте узла, и это не то, что я хочу.