Так что название этого поста может вводить в заблуждение, но это лучшее, что я могу придумать.Я работаю над проектом, который использует TEI для кодирования текстов.Одним из требований моей текущей работы является написание XSL-преобразований для отображения XML-кодированных текстов в виде HTML.По большей части, нет проблем.Я как бы застрял в этом вопросе:
<l>There is <delSpan spanTo="A1"/>deleted text spanning</l>
<l>multiple lines here.<anchor xml:id="A1"/> More text...</l>
Или, в других случаях:
<delSpan spanTo="A2"/>
<l>Several deleted lines -- the delspan marker can appear </l>
<l>outside of an l element.... </l>
<anchor xml:id="A2"/>
(Если вы не знакомы с TEI: l = aстрока текста; delSpan = диапазон удаленного текста, который содержит более 1 строки, страницы или меньшего блока.)
Цель состоит в том, чтобы отобразить текст между delSpan (A1) и его соответствующим якорем (A1)- «удаленный текстовый охват / несколько строк здесь» - с некоторым форматированием, которое указывает на удаление (например, text-художественное оформление = «сквозной»).Прямо сейчас есть шаблон для элементов "l", который обрабатывает большинство форматирования текста - или, по крайней мере, вызывает другие шаблоны для этого.
Но эти одноэлементные метки являются аномалией;все остальное форматирование / разметка выполняется с помощью тегов, которые фактически содержат текст, который они должны отформатировать.Прав ли я, предполагая, что мне нужно обработать элементы delSpan и anchor в шаблоне "l"?Какой самый элегантный способ решения этой проблемы и обработки псевдоперекрывающихся элементов?
Извините, если это нубский вопрос или я не предоставил достаточно информации.Я в основном программист на C / C ++ с небольшим опытом работы с XSLT, поэтому я ценю любые предложения.