200 likes | 378 Views
Introducing the Office (2007) Open XML File Formats. 報告人 : 劉宗銜. outline. 簡介 Office Open XML 格式的術語列表 Office XML 格式的結構. 簡介. 隨著 20 世紀 90 年代 XML 的出現, Microsoft Office 開發人員開始認識到二進位檔( .doc , .dot , .xls ,以及 .ppt 檔)已經無法滿足新的市場的需求,其中包括輕鬆地在不同架構之間傳遞資料,以及允許用戶從這些資料中搜尋資訊。
E N D
outline • 簡介 • Office Open XML 格式的術語列表 • Office XML 格式的結構
簡介 • 隨著20世紀90年代XML的出現, Microsoft Office 開發人員開始認識到二進位檔(.doc,.dot,.xls,以及.ppt檔)已經無法滿足新的市場的需求,其中包括輕鬆地在不同架構之間傳遞資料,以及允許用戶從這些資料中搜尋資訊。 • 2007 Microsoft Office system為Microsoft Office Excel 2007,Microsoft Office Word 2007,和Microsoft Office PowerPoint 2007採用了基於XML的檔格式,從而延續了這種轉移。新的檔格式,稱為Office Open XML格式,解決了上述市場需求的問題,同時改變Microsoft Office文檔建立解決方案的方式。 • 任何支援XML的應用程式都可以訪問新檔格式當中的資料,並與之協同工作。這些應用程式並不需要成為Microsoft Office system或Microsoft產品的一部分。用戶也可以使用標準的轉換來提取或重新織資料。另外,安全性也有提升,因為資訊是存儲在XML當中的,它從本質上來講都是純文本的。因此,資料可以沒有任何障礙地通過企業防火牆進行傳遞。
Office Open XML 格式的術語列表 • API :一系列的功能或方法,用來訪問軟體的功能。API是應用程式介面(Application Programming Interface)的簡寫。 • 轉換器(Converters):一些免費的工具,可以在以前的Office版本中打開以Office Open XML格式創建的檔。轉換器可以讀取或編輯文檔,並且可以向文檔中應用資訊許可權管理(IRM)保護。它可以繼續保護IRM資訊,而與接收者是使用2007 Office版本還是原有的版本無關 • 向上相容性:早期的應用程式版本可以打開後面版本的文檔,並且可以忽略那些在早期版本中沒有實現的功能。例如,Word 2003就是與Word 2007向上相容的,它可以使用一個轉換器成功的打開Word 2007檔。
Office Open XML 格式的術語列表 • 包(Package):ZIP容器,它包含了組成檔的元件 • 元件(part):對應于包中一個檔。 • ZIP :一種工業標準的壓縮存檔格式,用來在電腦之間,使用電子郵件或者通過Internet存儲和轉換檔。 • 關係:指定元件的集合在一個文檔中如何綁定在一起的方法。這種方法指定了一個來源元件和一個目標元件之間的連接。關係也是存儲在文檔包的XML部件當中的
Office XML 格式的結構 • 新的檔案格式的容器是以元件為基礎的壓縮ZIP檔格式。 • 在新的Office Open XML格式的核心使用一些XML的引用架構和一個ZIP容器。每個檔都是由一些元件的集合組成的;這個集合定義了文件。 • 文件元件是存儲在容器檔當中,或者存儲在基於工業標準的ZIP格式的包中。 • 許多元件都是用來描述應用程式資料,元資料,以及自定義資料的XML資料,它們都是存儲在容器檔當中的。其他非XML元件,也可以包含在容器package當中,其中包括在文件中表示圖片或者嵌入的OLE物件的二進位檔。 • 另外,還有一些關係部件,它們指定了元件之間的關係;這種設計方式為Office檔提供了結構。元件組成了檔的內容,而關係描述了這些內容如何組織在一起。 • Office文件的XML檔格式緊密的結合在一起,但是它們是模組化的,並且具有高度的靈活性。。
Office XML 格式的結構 打開一個Word 2007 XML檔 • 創建一個臨時目錄來存儲存檔案和它的元件。 • 創建一個Word 2007文件,包括文本,圖片,以及其他元素,保存為一個.docx文件。 • 在檔案名的尾端添加一個.zip副檔名。 • 雙擊文件。這時將會在ZIP應用程式當中打開該檔。您可以查看組成檔的每個元件。 • 將這些部件提取到剛才創建的臨時目錄當中。
Office XML 格式的結構 • ZIP被選擇為Office Open XML格式的package格式,因為它是一種 容易理解的標準。 • 現在有許多的工具都可以處理ZIP格式,而且使用ZIP提供一種靈活 的模組化的結構,允許對於功能進行擴展。 • 可以使用任何可以處理標準的ZIP檔的工具,來開啟 2007 Microsoft Office system的所有內容。 • 在您打開一個容器檔案後,您可以處理文件package中的任何元 件。
Office XML 格式的結構 • 在一個Office XML格式的package當中,檔案的許多邏輯元件都作為單獨的檔案或部分存儲。這種模組化的存儲方式是這種檔格式的主要特點之一。 • 模組化允許您快速的定位一個特定的元件,並且直接處理這個元件,可以根據依照的商業需求編輯,替換,甚至刪除文件的元件 。 • Package中定義的檔案關係,而不是檔案結構,定義了哪些檔案是有效的。在您更新關係屬性的時候,您可以重新安排或者重命名一個Office(2007)XML 格式定義的ZIP容器裏的元件,從而使得文件中的每個元件可以相關。
Office XML 格式的結構(主要的文件元件) • http://schemas.microsoft.com/office/2006/relationships/officeDocument 關係的目標是定義文檔的主要元件(PowerPoint的幻燈片,Excel的工作簿,或者Word的文件)。所有其他的關係都是基於主要文件元件的。 • 應用程式目錄 (例如Word) 包含了應用程式特定的,文件元件檔,例如(對於Word來說) • wordDocument.xml 包含了文件當中的資料(文本),以及樣式和字體設置。 • footer.xml 包含了有關文件頁尾的資訊,例如它們位於什麼頁面上以及相關的樣式資訊。 • header.xml 包含了與footer.xml檔當中相類似的資訊,但是它是有關頁眉的資訊。 • wordDocument.doc 它是原有文檔的複本。 • styles.xml 包含了有關文件中樣式的資訊,例如字體大小,表格樣式,和列表樣式等。
Office XML 格式的結構(主要的文件元件) • 音頻目錄 包含了所有的音頻類型的檔,例如.mid,.mp3,或.wav等文件。 • Content_Types.xml 文件 為包含在我中的其他部件提供了一個內容類型的列表。內容類型可以定義為部件的類型,它們可以存儲在一個包中。 • 文件屬性元件 包含了對所有遵循XPS格式的檔定義的核心文件屬性。 例如:作者、標題、主題、建立日期等
Office XML 格式的結構(關係) • 元件都是單獨的元素,使用關係,可以用來指定元件集合之間的關聯,從而形成實際的文檔。 • 關係是通過XML來定義的。 • 關係指定了一個來源元件和一個目標元件之間的連接。 • 關係被存儲在XML文件或者“關係元件”當中。如果一個來源元件擁有多個關係,所有後續的關係都將會被列出在相同的XML或關係元件當中。 • 關係在Office XML格式中扮演著重要的角色,每個文檔部件都至少被一個關係所引用著。 • 在元件當中,所有到關係的引用都使用一個Relationship ID來表示,它允許所有元件之間的連接,並且它與內容的架構無關。
Office XML 格式的結構(關係) • Excel2007 workbook的關係圖
Office XML 格式的結構(關係) 下面是一個Excel 2007 workbook中的關係元件的例子,這個workbook包含兩個工作表: <Relationships xmlns="http://schemas.microsoft.com/package/2005/06/relationships"> <Relationship ID="rId3" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlStyles" Target="styles.xml"/> <Relationship ID="rId2" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlWorksheet" Target="worksheets/Sheet2.xml"/> <Relationship ID="rId1" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlWorksheet" Target="worksheets/Sheet1.xml"/> <Relationship ID="rId5" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlMetadata" Target="metadata.xml"/> <Relationship ID="rId4" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlSharedStrings" Target="strings.xml"/> </Relationships>
Office XML 格式的結構 • _rels 目錄 這個目錄中包含一個.rels檔,它定義了package中的root關係。它是在分析整個package時首先要流覽的第一個檔。 • .rels 文件 包含了基於起元件(虛擬的起始元件)的關係。 其中的關係是通過下面的格式來定義的: <Relationship Id="someID" Type="relationshipType" Target="targetPart"/> • Id可以是任何字串,只要它在.rels檔當中是唯一的就可以。 • Type表示關係的類型,它用來區分不同的關係,並且用來提示關係的用途。它指向定義Office Open XML格式類型的架構。 • Target指向包含關係目標的目錄和檔案。
Office XML 格式的結構(文件副檔名) • 2007 Microsoft Office system的文件使用Office XML格式保存檔,它擁有新的副檔名,Word 2007,Excel 2007,和PowerPoint 2007使用的默認副檔名只是在原有的檔副檔名上加上一個字母“x”,也就是分別是.docx,.xlsx,和.pptx • 啟用後的文檔使用的副檔名的結尾是字母“m”,而不是“x” 例如 Word .docx .docm Excel .xlsx .xlsm PowerPoint .pptx .pptm
使用Office XML應用實例 一個顧問公司的logo需要進行改變,從而反應他們的新目標。IT部門接到了這個改變成千上萬的檔案中所有logo的任務,這些文件都被保存在一個伺服器當中。在以前版本的Microsoft Office應用程式中,他們必須單獨打開每個文件,刪除原有的logo,並且粘貼新的logo,或者創建並且測試一個相當複雜的應用程式,來自動的執行這個任務。通過新的檔格式,IT部門創建一個批次處理過程來流覽檔的格式,並且在meida目錄中定位圖片的位置(這對於每個文檔都是一樣的),並且替換為新的圖片。現在,當打開新的文檔後,新的logo就自動的顯示出來了。
Resources • Introducing the Office (2007) Open XML File Formats http://msdn2.microsoft.com/en-us/library/aa338205.aspx