Как я могу сделать XSLT, чтобы преобразовать это:
<root>
<element>This
<element>is</element>
</element>
<element>normal!</element>
<element>This</element>
<element>will
<special>break here</special>
<element>and
<element>also
<special>here!</special>
</element>
</element>
</element>
</root>
В это:
<root>
<content>This is normal! This will</content>
<special>break here</special>
<content>and also</content>
<special>here!</special>
</root>
Учитывая, что <special>
может появляться любое количество раз и в любом месте. Я думаю, что мне нужно обработать файл два раза, чтобы сделать это, но мне нужно сделать это сразу.
РЕДАКТИРОВАТЬ : просто пояснение, это не простая копия, содержимое также преобразуется с одного конца в другой (вот почему я подумал, что мне нужно два разных преобразования).
EDIT2 : вот алгоритм, который я хочу:
1) Продолжайте обрабатывать все элементы, пока не найдете какой-то особенный элемент, поместите все это вглубь <content>
2) Если следующий элемент особенный, поместите его внутрь <specialContent>
3) Если что-то осталось, перейдите к шагу 1.
EDIT3 Я изменил свой пример xml, чтобы сделать его более понятным.