E.2. OpenOffice.org 转 DocBook

截至 OpenOffice.org (OOo) 1.1RC 版本,已经支持将文件导出为 DocBook 格式。

尽管 OOo 使用完整的 DocBook 文档类型声明,但它实际上并未导出完整的 DocBook 元素列表。它使用一个 “简化” 的 DocBook 标签集,该标签集面向即时渲染。(虽然它不是 B.5 节 中描述的官方简化 DocBook。)OpenOffice 简化版(或 “特殊” docbook)可从 http://www.chez.com/ebellot/ooo2sdbk/ 获取。

E.2.1. Open Office 1.0.x

LDP 志愿者已经测试过 OOo,结果大多是积极的。感谢 Charles Curley (charlescurley.com) 提供以下关于使用 OOo 1.0.x 版本的说明

Note检查您的 OpenOffice 版本
 

这些说明可能不适用于您正在使用的 OOo 版本。

结论:如果您想要一个用于准备 DocBook 文档的文字处理器,那么 OOo 1.1RC 值得一看。

但是,我希望他们能解决缺乏文档的问题。首先,如果能知道哪些原生 OOo 样式映射到哪些 DocBook 元素就好了。如果能知道如何将自己的 OOo 样式映射到 DocBook 元素也很好。

E.2.2. Open Office 1.1

Tabatha Marshall 为 OOo 1.1 提供了以下附加信息。

当我尝试在 1.0.1 版本上完成所有操作时,第一个问题出现了。这显然是个问题。我安装了 RH8,并且是通过 rpm 包安装的,所以我将其删除并全新完整安装了 OpenOffice 1.1。花了一段时间才发现 1.1 是 XML 工作的必要条件。

在安装过程中,我相信我被提供了安装 XML 功能的选择。我倾向于完整安装我的办公程序,所以我选择了所有内容。

我无法为那些尝试更新他们当前 OO 1.1 的人提供任何建议。他们的 “3 种方法” 在网站 (xml.openoffice.org) 上没有很好地记录,并且截至本文撰写之时,我甚至无法在他们的网站上找到 THAT。我认为那里需要更当前的文档来引导人们完成这个过程。大部分内容都不清楚,我不得不进行大量实验才能使事情正常运行。

嗯,在我安装完所有东西后,我还有一些配置要做。我打开应用程序,并通过打开一个新文件,选择模板,然后选择 DocBook 模板开始。一个不错的 段落样式 菜单为我弹出,我注意到这些都是标签的名称(你可以看到我不经常使用 WYSIWYG)。

在我的面前有一个空白文档(除非打开某种类型的文档,否则无法进入 XML 过滤器设置 菜单),我进入了 工具->XML 过滤器设置,并编辑了 DocBook 文件的条目。我将我的配置如下

  • 文档类型 -//OASIS//DTD DocBook XML V4.2//EN

  • DTD http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd

  • 用于导出的 XSLT /usr/local/OpenOffice.org1.1.0/share/xslt/docbook/ldp-html.xsl

  • 用于导入的 XSLT /usr/local/OpenOffice.org1.1.0/share/xslt/docbook/docbooktosoffheadings.xsl(这是默认值)

  • 用于导入的模板 /home/tabatha/OpenOffice/user/template/DocBook File/DocBookTemplate.stw

起初,如果我打开一个即使只有一个解析错误的 XML 文件,它也会打开该文件,并在 OO 中显示标记。我有很多 XML 文件使用 © 和其他类型的实体,这些实体显示为解析错误(取决于编码),即使它们可以被处理。但是今天我无法打开任何这些文件。我得到了输入/输出错误。还在调查中。

但是,当您成功打开文档时(一个没有解析错误的文档),它会根据标记自动将其放入 WYSIWYG 中,然后您可以像任何其他此类编辑器一样从段落样式菜单中工作。

为了验证文档,我使用了 工具->XML 过滤器设置,然后单击了 测试 XSLT 按钮。在我的屏幕上,我将用于导出的 XSLT 设置为ldp-html.xsl。如果您测试并且存在错误,则会弹出一个新窗口,底部显示错误消息,顶部显示需要更改的行。您可以在那里更改它们并逐步解决错误,直到它们全部消失,并保持测试直到它们消失。

如果您想打开文件以查看源代码而不是处理后的结果,请转到 工具->XML 过滤器设置->测试 XSLT,然后在 导入 部分下,选中 显示源 框。我当前的导入 XSLT 是docbooktosoffheadings.xsl(默认值),用于导入的模板是DocBookTemplate.stw(也是默认值)。

我认为这可能对某些人有用,但不幸的是对我没用。我从未使用 WYSIWYG 编辑标记。Emacs with PSGML 可以告诉我我的下一个标签是什么,无论我在哪里,通过移动到问题点进行验证,我可以从命令行解析和处理。

使用 OpenOffice,您必须访问 http://xml.openoffice.org/filters.html 才能找到转换工具。