2014-08-27 66 views
0

我正在爲WordML編寫解析器。通過規範I read,計算文檔頁數的方法是讀取DocumentProperties中的元素Pages。如果我正確閱讀規格,DocumentProperties應該始終在那裏。用於Mac的Word不會生成預期的WordML

在我的Mac上創建測試文檔時,我注意到在生成的xml中沒有PagesDocumentProperties元素。我有一個w:document,裏面有一個w:body的內容。

DocumentProperties強制還是這是一個Mac的東西?

回答

1

有兩種不同的Word XML格式 - 舊的Word 2003 XML格式和Office Open XML格式,可以將其保存爲.docx格式,將其保存爲一組XML並可能存儲其他文件類型在一個.zip容器中,以及「Flat OPC」格式,它是同一事物的單個文件XML表示形式。

每種格式都將屬性存儲在不同的位置。

如果您看到一個名爲w:document的元素,那麼您實際上是以OOXML格式保存的。在這種格式下,「內置」屬性至少保存在兩個「部分」中。您通常會在名爲/docProps/app.xml的pkg:part中的元素中找到元素。

有至少三種併發症:

  1. 頁數是真正的最後一頁計數的Word保存 (假設它是Word中保存的文件)。這只是 正確的一個特定的紙張大小,打印機驅動程序等
  2. 我不認爲這個元素是強制性的在我提到的兩個XML 表示。不知道,但。但據我所知, Word將永遠保存它。
  3. 在一般情況下,您不能認爲該屬性部分 實際上將稱爲/docProps/app.xml。實際上,Word 應該始終使用該名稱進行保存。但理論上,您必須 查看具有特定URI的元素,或者遵循與特定類型關係的 。我忘記了這個 案件的細節。
+0

您是不是指Office Open XML?因爲否則它是一個非常不同的蠕蟲罐。 – ruipacheco 2014-08-27 13:16:32

+0

是的,我會編輯。 – 2014-08-27 16:26:06

相關問題