oeuvres / xsl
XSLT-1.0 文本转换包,从 TEI 转换到其他格式,反之亦然。
dev-main
2024-09-26 13:12 UTC
This package is auto-updated.
Last update: 2024-09-26 13:12:25 UTC
README
teinte_xsl 是一个 XSLT-1.0 包,用于将 XML 文本从一种格式转换为另一种格式。核心格式是 TEI 的一个子集,这是一个用于所有文本形式的学术 XML 架构。某些格式具有复杂的打包方式(docx、epub...)。此类聚合需要另一种编程语言进行文件操作或压缩(php、java、python...),但某些结果仅使用 XSLT 即可实现,详见以下浏览器或命令行操作。
此包与 xsltproc 和其他 XSLT 引擎兼容。已在以下环境中测试:
- PHP: teinte_php
- Java: alix
- Python: 计划为 Python 提供命令行试点,需要支持 teinte_py
- JavaScript: 在浏览器中直接转换(见下文)
- Bash: (见下文)
浏览器
所有现代浏览器都内置了 xsltproc 库。这允许在浏览器中直接提供转换。请查看以下位于 Web 服务器上的 示例 XML 文件,你应该看到一个格式良好的戏剧作品,即使它是一个 XML/TEI 源文件。
这种魔法的原理在于文件的 XML 前置信息
<?xml version="1.0" encoding="UTF-8"?> <!-- Link to a transformation for the browser over https:// --> <?xml-stylesheet type="text/xsl" href="https://oeuvres.github.io/teinte_xsl/tei_html.xsl"?>
这可以添加到所有 TEI 文件中,以在线提供即时格式化。
离线情况下,出于安全原因,此功能被阻止,例如(以下图片)Google LLC 专有浏览器上的结果和原因。开源 Firefox 浏览器提供了一种绕过此安全设置的解决方案(以下列表)。这种小小的操作只需进行一次,可逆,比通过 Web 的 JavaScript 风险要小得多,但行业对 JS 的兴趣比对 XSLT 的兴趣更大。对于 TEI 编辑器,这允许通过简单的浏览器刷新来查看其 XML 修改的结果。
- Firefox 浏览器,在地址栏中输入
about:config
- 接受安全警告
- 搜索属性:security.fileuri.strict_origin_policy
- 设置为 false
Bash
在 Linux 机器上,或在 Microsoft.Windows 上的 WSL Linux 上安装 xsltproc,并转换您的文件。
sudo apt install xsltproc
cd teinte_xsl
xsltproc tei2html.xsl tests/moliere_misanthrope.xml