XSLT 2.0, таблица стилей и данные по адресу https://xsltfiddle.liberty-development.net/bFDb2D3/4
Я преобразовываю средневековые документы, закодированные в tei-xml, в веб-страницы, где пользователь может переключаться между двумя разными представлениями документов, а также видеть перевод и различные сноски (например). Для вывода требуется несколько уровней обработки:
- Две латинские версии («inter» и «diplo»), между которыми может переключаться пользователь (получены из одной и той же разметки tei)
- Переведенная версия почти без преобразований (только форматирование абзаца и курсив)
- Критический аппарат с использованием сносок # а, б, в и т. д.
- Исторические сноски с использованием сноски № 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
) - ok!
- ok!
- ok!
Что касается № 2, отсутствующая строка # и [текст] кажутся результатом того, что шаблоны, которые обрабатывают <persName>
и <placeName>
, не передают другим шаблонам? (шаблоны в строках 173-218)
Все шаблоны, касающиеся режима fn-add-marker
, находятся в строках 41-77.
Спасибо заранее.