Используя XSLT 1.0 (предпочтительно), как я могу выбрать все элементы, которые встречаются между текущим элементом и следующим появлением текущего элемента?
Скажем, у меня есть этот XML (отредактированный):
<root>
<heading_1>Section 1</heading_1>
<para>...</para>
<list_1>...</list_1>
<heading_2>Section 1.1</heading_2>
<para>...</para>
<heading_3>Section 1.1.1</heading_3>
<para>...</para>
<list_1>...</list_1>
<heading_2>Section 1.2</heading_2>
<para>...</para>
<footnote>...</footnote>
<heading_1>Section 2</heading_1>
<para>...</para>
<list_1>...</list_1>
<heading_2>Section 2.1</heading_2>
<para>...</para>
<list_1>...</list_1>
<list_2>...</list_2>
<heading_3>Seciton 2.1.1</heading_3>
<para>...</para>
<heading_2>Section 2.2</heading_2>
<para>...</para>
<footnote>...</footnote>
</root>
При обработке heading_1
я хочу выбрать все heading_2
между обрабатываемым заголовком и следующим heading_1
. То же самое для выбора heading_3
при обработке heading_2
и т. д. вы получаете изображение.