开始之前
本教程是为对 XML 有兴趣的 OpenOffice 用户编写的。如果您熟悉严格的 XML 文件格式语法,并曾经使用过 XML Style Language Transformations(XSLT),那么使用 OpenOffice 作为定制的编辑器来编辑基于 XML 的数据会提供各种可能性。本教程演示 XSLT 在 XML 数据转换方面的强大功能。XSLT 可以自动操作任何基于 XML 的数据,在 XML 数据和 OpenDocument 格式之间进行转换,由此在机器可读的 XML 和人可读的超文本之间建立了桥梁。
OpenOffice 最初的开发目的只是 “反抗” 流行的 Microsoft Office 产品套件。但是,它已经从一种开放源码产品发展成完全成熟的高效且安全的办公应用程序套件,它是免费的而且可扩展,已经引起了 Sun Microsystems 和 IBM 等行业巨人的注意。
本教程主要关注 OpenOffice 可扩展性的一个方面 —— 使用 XML 和 XSLT 过滤器文件支持 XML 形式的任何数据。这样就能够同时享受两种环境的优势:可以将数据保存为对机器友好的 XML 格式,同时仍然能够按照对用户友好的方式编辑它。前者有助于搜索、语义上下文和信息检索,而后者让用户能够在高级超文本环境中进行高效的编辑。
本教程解释 OpenOffice 如何通过 OpenDocument 格式与 XML 交互。然后,讨论如何构建导入过滤器(用来装载输入文件)和导出过滤器(用来保存输出文件)。
本教程选用的 XML 格式是著名的 VCARD 格式的一种定制 XML 形式(在 RFC2426 中指定)。VCARD 是 Apple 的 iCal、Microsoft Outlook 等程序使用的国际标准,它用来表示在线业务卡或地址簿条目。尽管它的 XML 形式还没有标准化,但是作者已经在自己的 Web 桌面环境中大量使用了这种格式(见 关于作者)。另外,这种 XML 格式很容易转换回基于文本的 VCARD。
学习本教程需要以下工具:
- OpenOffice 2.0 或更高版本。这些示例是用 OpenOffice 2.2 的最新版本创建和运行的。在此之后,由于出现了一个重要的推荐安全补丁(用来纠正对 TIFF 文件的错误处理),发布了 2.3 版,本教程中的所有内容也用 2.3 版测试过了。
- 编辑 XML 和 XSLT 文件需要 XML 编辑器。作者在 UNIX® 上使用 vim,在 Windows® 上使用记事本。