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
[这应该包含 [text] 、行号、上标字母和文本中的数字]<div><p>
带翻译<div>
与关键设备<div>
带脚注
XSLTfiddle 输出为:
- URL和上标字母ok!缺少上标数字(模式
fn-add-marker
) - 上标字母ok!行 # 和 [text]可以,除了在内部
<persName>
或<placeName>
(即<xsl:template match="tei:lb">
<xsl:template match="tei:supplied">
)和缺少上标数字(模式fn-add-marker
)的地方 - 好的!
- 好的!
- 好的!
关于 #2,缺少的行 # 和 [text] 似乎是模板处理<persName>
而<placeName>
不是移交给其他模板的结果?(第 173-218 行的模板)
所有关于模式的模板fn-add-marker
都在第 41-77 行。
提前谢谢了。