У меня есть документ, что-то вроде этого:
<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?
Это похоже на следующий-silbing::B, за исключением того, что я хочу, чтобы это были только непосредственно следующие элементы.
Если я на A (узел == 1), то я хочу выбрать узел 2. Если я нахожусь на A (узел == 3), то я не хочу ничего выбирать. Если я на A (узел == 4), то я хочу выбрать 5 и 6.
Могу ли я сделать это в xpath? EDIT: находится в операторе выбора таблицы стилей XSL.
EDIT2: я не хочу использовать атрибут node для различных элементов в качестве уникального идентификатора. Я включил атрибут node только для иллюстрации своей точки зрения. В фактическом XML-документе у меня нет атрибута, который я использую в качестве уникального идентификатора. Ключи xpath "following-sibling::UL[preceding-sibling::LI[1]/@node = current()/@node]" в атрибуте узла, а это не то, что мне нужно.