XSLT 2.0, таблица стилей и данные в https://xsltfiddle.liberty -development.net / bFDb2D3 / 4
Я преобразовываю средневековые документы, закодированные в tei-xml, в веб-страницы, где пользователь может переключатьсямежду двумя различными видами документов, а также увидеть перевод и различные сноски ( например ).Для этого требуется несколько слоев обработки:
- Две латинские версии ('inter' и 'diplo'), между которыми пользователь может переключаться (получен из одной и той же разметки tei)
- Переведенная версия почти без преобразований (только форматирование абзаца и курсив)
- Критический аппарат с использованием сносок # a, b, c и т. Д.
- Исторические сноски с использованием сносок # 1, 2, 3 и т. Д..
Я использую modes
для обработки уровней обработки, и каждый режим сам по себе работает нормально, но вместе они пропускают выходные данные.
Что должно быть выведено:
<div class="inter"><p>
со всеми режимами преобразования inter
+ fn-add-marker
[это должно содержать <a href>
, надстрочные буквы и цифры в тексте]
<div class="diplo"><p>
с режимом всех преобразований diplo
+ fn-add-marker
[здесь должно быть [текст], номера строк, надстрочные буквы и цифры в тексте]
<div><p>
с переводами
<div>
с критическими приборами
<div>
со сносками
Вывод XSLTfiddle:
- URL и надстрочные буквы в порядке! пропущенные надстрочные цифры (режим
fn-add-marker
) - Надстрочные буквы ок!Строка # и [текст] нормально , за исключением случаев, когда внутри
<persName>
или <placeName>
(т. Е. <xsl:template match="tei:lb">
<xsl:template match="tei:supplied">
) и пропущенные надстрочные числа (режим fn-add-marker
) - ок!
- ок!
- ок!
Что касается # 2, то недостающие строка # и [текст] выглядят какрезультат шаблонов, которые обрабатывают <persName>
и <placeName>
, не передавая другим шаблонам?(шаблоны в строках 173-218)
Все шаблоны, относящиеся к режиму fn-add-marker
, находятся в строках 41-77.
Заранее большое спасибо.