将PostgreSQL文档从SGML转换为XML
来自PostgreSQL Wiki
跳转到导航跳转到搜索在大约过去10年中,偶尔会有关于将PostgreSQL文档从SGML转换为XML(无论那是什么意思)的讨论。以下是一些需要考虑的要点。
技术要点
将源格式从SGML更改为XML与将工具链从DSSSL更改为XSLT之间存在区别。尽管DSSSL通常与SGML相关联,而XSLT与XML相关联,但实际上所有组合或多或少地都能正常工作。
关于SGML与XML的论据
- DocBook 5,下一个主要版本,将不再发布SGML DTD。但是,DocBook 5已经开发了很多年,可能还需要很多年才能成为标准版本,并且所有以前的版本都将消失。
- 由于标签最小化和其他一些简化,SGML比XML更容易编辑。
- SGML支持条件部分(例如,用于构建INSTALL文件)。这需要为XML找到不同的解决方案。
- 可能会有更多支持XML的编辑工具,但这需要得到证实。
- 翻译团队正在使用XML。
- 我们可能希望重命名*.sgml -> *.xml。现在使用Git更容易,但需要一些规划。
- 使用xmllint,我们可以对文档进行类似pgindent的排序。
关于DSSSL与XSLT的论据
- DSSSL工具多年来一直没有维护。
- 关于FOP(XSLT到PDF工具)的小疑问:它是否维护? 是否有稳定版本(而不是无休止的开发预发布版)? 它是否可以在完全免费的Java安装上运行? 是否应该使用dblatex代替FOP?
- 我们对DSSSL样式表所做的自定义将必须移植到XSLT。这项工作可以立即开始。
- 当前XSLT构建的速度比DSSSL构建慢很多。
- XSLT可能提供更多灵活性,例如部分构建。
- 有更多以各种方式使用XSLT的工具。
我们生成的格式
一个完整的解决方案需要能够生成所有以下输出形式:
- HTML
- 手册页
- RTF
- PDF和Postscript
- A4格式
- 美国格式
- TeXinfo
- ePub
工具链组件
为了进行切换,将需要替换所有组件。列出这些组件很有价值,这样一来,没有人会犯这样的错误:认为对某个部分的某个部分解决方案代表了完整的解决方案。
- docbook-utils
- 包含将DocBook转换为一些有用形式(html、pdf、rtf、手册页)的脚本。
- docbook-dsssl
- 这些是用于将DocBook呈现为各种输出形式的DSSSL样式表。它们可能被XSLT样式表取代。
- jade
- 一个DSSSL引擎
- openjade
- 一个可选的DSSSL引擎
- jadetex
- 一个生成基于TeX的输出的DSSSL引擎