Я работаю над таблицей стилей, которая выводит HTML из XML-входов. Я должен генерировать различные уровни вложенности в выходном файле в соответствии с положением списка элементов на входе. Например, NEWS [1] и NEWS [2] должны быть вложены под одним и тем же элементом, а также в НОВОСТИ [3] и NEWS [4].XSLT - Динамическое вложение элементов
Это пример ввода XML:
<NEWS_LIST>
<NEWS>
<TITLE>Title of the notice #1</TILE>
<IMG_URL>http://media/image_1.png</IMG_URL>
</NEWS>
<NEWS>
<TITLE>Title of the notice #2</TILE>
<IMG_URL>http://media/image_2.png</IMG_URL>
</NEWS>
<NEWS>
<TITLE>Title of the notice #3</TILE>
<IMG_URL>http://media/image_3.png</IMG_URL>
</NEWS>
<NEWS>
<TITLE>Title of the notice #4</TILE>
<IMG_URL>http://media/image_4.png</IMG_URL>
</NEWS>
</NEWS_LIST>
Желаемая выход HTML:
<div class="middle>
<div class="unit 1">
<div class="unit 2">
<img src="http://media/image_1.png"/>
<p>Title of the notice #1</p>
</div>
<div class="unit 2">
<img src="http://media/image_2.png"/>
<p>Title of the notice #2</p>
</div>
</div>
<div class="unit 1">
<div class="unit 2">
<img src="http://media/image_3.png"/>
<p>Title of the notice #3</p>
</div>
</div class="unit 2">
<img src="http://media/image_4.png"/>
<p>Title of the notice #4</p>
</div>
</div>
</div>
Я использую позицию XSLT() для выбора элементов и для выходных файлов, но я не знаете, как гнездиться с детьми. Любая помощь могла бы быть полезна.
Хорошо, я не знал выражения «следующее братство». Большое вам спасибо, ваш ответ был действительно полезен. – BernatL
Добро пожаловать. «Следующий сиблинг» является одним из XPath _axes_: направления, в которых может выполняться выражение: http://www.w3.org/TR/xpath/#axes –