Как выбрать первого родственного элемента узла xml со всеми его дочерними узлами и применить к нему некоторые преобразования? До сих пор мне удавалось выбрать только первого родного брата и только первого родного брата (без дочерних узлов) или все, что следует за узлом xml.
Скажем, у нас есть такой xhtml:
<div class="chapter">Chapter <span class="number">1.1</span> Lorum ipsum</div>
<h2 class="article">Article <span class="number">1.</span> Lorum ipsum</h2>
<p>Lorum ipsum</p>
И результат, к которому мы стремимся, выглядит так:
<chapter>
<heading>
<label>Chapter</chapter>
<number>1.1</number>
<title>Lorum ipsum</title>
</heading>
<article>
<heading>
<label>Article</chapter>
<number>1.</number>
<title>Lorum ipsum</title>
</heading>
<par>Lorum ipsum</par>
</article>
</chapter>
Полагаю, мне нужно сделать магию регулярных выражений, чтобы правильно подобрать метки и теги заголовков, но если бы это также можно было сделать с использованием простого xslt, это было бы здорово.