Word for Mac无法生成预期的WordML

时间:2014-08-27 11:58:07

标签: macos ms-word wordml

我正在为WordML编写解析器。通过规范I read,计算文档中页面数的方法是阅读Pages中的元素DocumentProperties。如果我正确阅读了规范,DocumentProperties应始终存在。

在我的Mac上创建测试文档时,我注意到生成的xml中没有PagesDocumentProperties元素。我有w:document,里面有w:body内容。

DocumentProperties是强制性的还是Mac游戏?

1 个答案:

答案 0 :(得分:1)

有两种不同的Word XML格式 - 旧的Word 2003 XML格式和Office Open XML格式,可以保存为.docx,将其保存为一组XML以及可能的其他文件类型一个.zip容器,以及" Flat OPC" format,它是同一事物的单文件XML表示。

每种格式都将属性存储在不同的位置。

如果您看到一个名为w:document的元素,那么您实际上是以OOXML格式保存的。在那种格式中,"内置"属性保存在至少两个"部分"。您通常会在pkg中的元素中找到元素:名为/docProps/app.xml的部分。

至少有三个并发症:

  1. 页面计数实际上是Word保存的最后一页计数 (假设是保存文件的Word)。那只是 校正特定的纸张尺寸,打印机驱动程序等。
  2. 我不认为这个元素在两个XML中都是必需的 我提到的陈述。不过不确定。但据我所知, Word会永远保存它。
  3. 在一般情况下,您不能假设此属性部分 实际上将被称为/docProps/app.xml。在实践中,Word 应始终使用该名称保存。但理论上,你必须这样做 查找具有特定URI的Element,或者按照a 与特定类型的关系。我忘了这里的细节 情况下。