XML 常见问题

一、 有哪些 OpenOffice.org 的应用程序采用基于 XML(XML-based) 的文件格式?
二、 有哪些默认后缀名是基于 XML 的文件所使用的?
三、 为何打开文件,出现的都是二进制乱码?
四、 文件用何种封装格式?而其内部格式是什么?
五、 我要如何把额外的信息放入 XML 文件中呢?
六、 但是,我真的很想使用纯 XML 格式,不加以压缩、不使用二进制格式文件或其他的任何格式,有可能办到吗?
七、 为何你们使用那么多的样式?
八、 你们如何处理被嵌入的图像和二进制资料?
九、 为何你们不使用 XHTML, XSL-FO, SVG ... 等?
十、 我可以写 XML 的转入或转出吗?
十一、 如果我找到了Bug,我该怎么做?
十二、 嘿!我喜欢 XML 格式,我能帮上什么忙吗?
十三、 但是关于.....?为什么这里找不到我的问题的解答?



解答

一、
有哪些 OpenOffice.org 的应用程序采用基于 XML(XML-based) 的文件格式?
所有的 OpenOffice.org 应用程序都是采用基于 XML(XML-based) 的文件格式。所有的应用程序(除了公式外)都使用我们定义的统一格式,公式模块使用我们包中的结构和格式,但在其包中则使用 MathML。

回目录

二、
有哪些默认后缀名是基于 XML 的文件所使用的?
以下是默认文件类型及后缀名对照表:
文本文档 (Writer) odt
电子表格 (Calc) ods
绘图 (Draw) odg
演示文稿 (Impress) odp
公式 (Math) odf
数据库 (Base) odb

回目录

三、
为何打开文件,出现的都是二进制乱码?
我们的文件所使用的包中包含了 XML 的资料,包括二进制资料,如图形等。我们的包使用广为人知的 ZIP 格式。您可以使用任何您喜爱的 ZIP 软件来打开我们的包,即可完整的存取 odt/ods/... 等文件中的原始 XML 资料。

在文件中的 meta 部份(meta.xml中)并未压缩,这样的架构将方便您做搜寻和解读 meta 中的信息。

如果您想要了解更多我们的文件包里格式的信息,请参考下一条问题。

回目录

四、
文件用何种封装格式?而其内部格式是什么?
我们以广为使用的 ZIP 压缩格式作为我们文件包的格式。还有,我们使用 XML 显而易见的文件来叙述包里的内容,也可以提供更多信息(如:加密方式)。既然我们使用的是标准 ZIP 格式,大部分的程序都可以对我们的文件做完全的掌控与操作。

在我们的文件包里,你可以找到几个构成 office 文件的模块。它们是:
meta.xml 文件的信息(作者、最后存档时间等)
styles.xml 文件中使用的 styles
content.xml 文件正文的内容(文字、表格、图形等)
settings.xml 本文和浏览相关的设定(如放大比例及设定的打印机选项等);这些设定通常是由应用程序默认的
META-INF/manifest.xml 提供了额外信息(像 MIME 形态或加密的方法)
Pictures/ 存放图形的目录(以原始二进制格式储存)
Dialogs/ 存放聚集所使用的对话框
Basic/ 存放以 StarBasic 撰写的聚集
Obj.../ 用来存放嵌入式对象 (embedded objects),如图表。每一个目录都含有一个对象, 以各自独立的原始格式储存。对于 OpenOffice.org 的对象,通常以 XML 的表示方法储存, 而对于其它对象则通常会以二进制格式来储存。
如欲进一步了解为何我们选用 ZIP 文件格式,请阅读 package.html。如欲进一步了解 ZIP 文件格式,请看这里

回目录

五、
我要如何把额外的信息放入 XML 文件中呢?
Alien 外来属性,即 OpenOffice.org 的 DTD 未被定义的属性,将予以保留在样式 (style) 定义的 标签中。所有外来属性内容都会被 OpenOffice.org 的导入过滤器忽略。

既然您可以附加样式标签到任意的文本区域,通过这种机制,您也可以附加您的信息到任意的文本区域。

注意: 以上的机制似乎只适用于文本文档 (Writer)。 这个议题还正在商榷讨论中。

您可以加入您的文件到文件包中;但是,这个机制何时完成不得而知。

回目录

六、
但是,我真的很想要使用纯 XML 格式,不加以压缩、不使用二进制格式文件或其它的任何格式,有可能办到吗?
我们提供了以 UNO 为基础的服务的方式,通过 SAX 界面 (interface) 便可执行有意义的导入及导出。 有关于这方面的文件在这里。 我们也计划使用纯 XML (不封装对象) 来读取和写入文件。然而,何时可以完成还不得而知。

回目录

七、
为何你们使用那么多的样式?
基本上,文件中所使用的样式或者使用者修改过的样式都会写入到磁盘中。前者保证文件正确地产生。后者要被保留下来是因为假如使用者修改了某些样式,他/她很有可能在后来又再次用到它们。所以,既使那些样式设定对目前文件的外观没有什么贡献或影响,它们也会被保留,不会被删除。

回目录

八、
你们如何处理被嵌入的图像和二进制资料?
图像和嵌入式对象,以它们的原始格式存入 ZIP 压缩格式的文件包中。

回目录

九、
为何你们不使用 XHTML, XSL-FO, SVG ... 等?
因为它们没有办法在适当的转换下表现在 office 文件中,所以它们没有被采用。 当我们找到一种确定的可以转换成 OpenOffice.org 格式(如之前所提及的)的格式时,就会把它放入 XML 格式中。我们也很希望能够很轻松的在这些格式中做切换。

回目录

十、
我可以写 XML 的转入或转出吗?
我们百分之百的欢迎您撰写任何您觉得合适于以 XML 为基础的文件格式的转换。

回目录

十一、
如果我找到了 Bug,我该怎么做?
请使用 IssueZilla。 找到错误的同时,尽量提供比较详细的叙述;也别忘了要把发生错误的文件附上。 (建立 Bug 报告后,点选“建立附件”)。

找到了 Bug 请报告,别客气!我们大家都很期望使用稳定、无 Bug 的应用程序! 而使用者的 Bug 报告,使我们可以朝那个目标前进。 Bug 报告对我们的帮助很大,假如您没有报告它,我们便无法做修正,于是它将会继续制造使用上的困扰与不便。

回目录

十二、
嘿!我喜欢 XML 格式,我能帮上什么忙吗?
您可以做以下的事情:
一、 您可以帮我们宣传。如跟您的朋友或同事提及 OpenOffice.org。
二、 您可以使用 OpenOffice.org 程序并报告您发现的任何 Bug。
三、 您可以写软件转换我们的文件格式到别的格式,反之亦然。
四、 您可以帮我们完成在首页 todo 列表中的项目。

回目录

十三、
但是关于.....? 为什么这里找不到我的问题的解答?
假如您在这里找不到您要的答案,请到我们的邮件列表中发布。 您可以在 XML 邮件论坛历史记录中找寻您的答案。欲加入 XML 计划者,请到 XML 计划的首页阅览详情。

回目录

 

zh.OpenOffice.org
帮助
常见问题
∟各种常见问题