这个问题建立在我对我的回答的基础上原问题,有人建议我发布后续内容。这涉及到尝试集成上一篇文章中的 XSL 代码。
在上一个问题中,我提出了 TEI:XML 文档的简化版本,我正在使用 XSLT 2.0 将其转换为 HTML(完整的 tei 文件和当前的 xslt 可以在此处找到)https://xsltfiddle.liberty-development.net/bdxtqT/6)。这是层次结构的更完整视图,但不是所有细节:
<tei>
<teiHeader/>
<text>
<front/>
<body>
<p xml:lang="LA">
<seg type="typefoo" corresp="#foo601" xml:id="foo361">
<date type="deposition_date" when="1245">Idus
marcii</date>In non hendrerit metus. Sed in posuere
eros, sit amet pharetra lacus.</seg>
<seg type="typefoo" xml:id="foo362">Nullam semper varius
justo, vitae mollis turpis dapibus sit amet.
Donec<note type="public_note">note content</note>
rhoncus tempor urna sit amet imperdiet.</seg>
<seg type="typefoo" xml:id="foo363">Integer
id ante nunc. Curabitur at ligula sed arcu consequat
gravida et id orci. Morbi quis porta dolor.</seg>
<seg type="typefoo" corresp="#fooid2">Sed dictum<note
type="public_note">note content 2</note> sem nec urna sodales
cursus. Donec sit amet nibh tempor, congue ligula semper,
rhoncus odio.</seg>
</p>
</body>
<back>
<p xml:lang="EN">
<seg>
<seg>
</p>
<p xml:lang="FR">
<seg>
<seg>
</p>
</back>
</text>
<tei>
所需的 HTML 输出如下。增量脚注编号创建于<sup>
基于以下三个条件之一:
date[@type="deposition_date"]
(添加脚注编号),
seg[@type="typefoo"]
(添加脚注编号。)
note[@type="public_note"]
(用脚注编号替换)。
所需输出
<div>
<p>Idus marcii<sup>1</sup>In non hendrerit metus. Sed in
posuere eros, sit amet pharetra lacus.</p><sup>2</sup>
<p>Nullam semper varius justo, vitae mollis turpis
dapibus sit amet. Donec<sup>3</sup> rhoncus tempor
urna sit amet imperdiet.</p>
<p>Integer id ante nunc. Curabitur at ligula sed
arcu consequat gravida et id orci. Morbi quis porta
dolor.</p>
<p>Sed dictum sem<sup>4</sup> nec urna sodales cursus.
Donec sit amet nibh tempor, congue ligula semper,
rhoncus odio.</p><sup>5</sup>
<div>
[...]
<div>
<p><sup>1</sup> 1245</p>
<p><sup>2</sup> foo601</p>
<p><sup>3</sup> note here</p>
<p><sup>4</sup> note here</p>
<p><sup>5</sup> fooid2</p>
</div>
完整的 XSLT 转换文档位于https://xsltfiddle.liberty-development.net/bdxtqT/6,其中可以看到以下问题:
-
date[@type='deposition_date']
正在被完全替换,而不是收到添加的脚注标记
-
seg[@type='dep_event' and @corresp]
没有收到添加的脚注标记,但它出现在<div>
在页面底部。
XSL 文件太长,似乎无法正确粘贴到此处。在这里与文件交互https://xsltfiddle.liberty-development.net/bdxtqT/6.
注意:我仅限于 XSLT 2.0,因为此转换是使用 Xquery 3.1 在 eXist-DB 内部触发的。
非常感谢!