{
	"id": "e8c0b114-eb9a-4a35-9b1b-db5e0a4390e4",
	"created_at": "2026-04-06T00:22:34.51485Z",
	"updated_at": "2026-04-10T03:20:49.753375Z",
	"deleted_at": null,
	"sha1_hash": "7008ac98e71adda0375032725e8f5cd7d85e9157",
	"title": "Introducing the Office (2007) Open XML File Formats",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 193864,
	"plain_text": "Introducing the Office (2007) Open XML File Formats\r\nBy Archiveddocs\r\nArchived: 2026-04-05 20:08:42 UTC\r\nSummary: Learn the benefits of the Office Open XML Formats. Users can exchange data between Office\r\napplications and enterprise systems using XML and ZIP technologies. Documents are universally accessible. And,\r\nyou reduce the risk of damaged files. (26 printed pages)\r\nFrank Rice, Microsoft Corporation\r\nMay 2006\r\nApplies to: 2007 Microsoft Office Suites, Microsoft Office Excel 2007, Microsoft Office PowerPoint 2007,\r\nMicrosoft Office Word 2007\r\nContents\r\nIntroduction to the Office Open XML File Formats\r\nNew File Format Scenarios\r\nBenefits of the New File Formats\r\nGlossary for Office Open XML Formats\r\nStructure of the Office XML Formats\r\nDeveloping Solutions Using the Office XML Formats\r\nUsing the New File Formats in the Office Products\r\nModifying Office XML Formats Files to Customize the Ribbon User Interface\r\nConclusion\r\nAdditional Resources\r\nIntroduction to the Office Open XML File Formats\r\nFollowing the advent of XML in the 1990s, corporate computing customers began to realize the business value in\r\nadopting open formats and standardization in the computer products and applications that they relied on. IT\r\nprofessionals benefited from the common data format possible with XML because of its capacity to be read by\r\napplications, platforms, and Internet browsers.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 1 of 29\n\nLikewise, with the adoption of support for XML in Microsoft Office 2000, developers began to see the need to\r\ntransition from the binary file formats seen in previous versions of Microsoft Office to the XML format. Binary\r\nfiles (.doc, .dot, .xls, and .ppt files), which for years did a great job of storing and transporting data, were not able\r\nto meet the new workplace challenges that included easily moving data between disparate applications, and\r\nallowing users to glean business insight from that data.\r\nThe 2007 Microsoft Office system continues with this transition by adopting an XML-based file format for\r\nMicrosoft Office Excel 2007, Microsoft Office Word 2007, and Microsoft Office PowerPoint 2007. The new file\r\nformat, called Office Open XML Formats, addresses these workplace issues with changes that affect the way that\r\nyou approach solutions based on Microsoft Office documents.\r\nThe new formats improve file and data management, data recovery, and interoperability with line-of-business\r\nsystems. They extend what is possible with the binary files of earlier versions. Any application that supports XML\r\ncan access and work with data in the new file format. The application does not need to be part of the Microsoft\r\nOffice system or even a Microsoft product. Users can also use standard transformations to extract or repurpose the\r\ndata. In addition, security concerns are drastically reduced because the information is stored in XML, which is\r\nessentially plain text. Thus, the data can pass through corporate firewalls without hindrance.\r\nNote\r\nDo not confuse the Office XML Formats with the Microsoft Windows XML Paper Specification format.\r\nOffice XML Formats use the Open Packaging Conventions, also used by the XML Paper Specification (XPS).\r\nHowever, the formats are different in several important ways. The XPS is a paginated, fixed document format\r\nintroduced for the Microsoft Windows Vista operating system. Office XML Formats are fully editable file\r\nformats for Office Word 2007, Office Excel 2007, and Office PowerPoint 2007. Although they share\r\nsimilarities in their use of XML and ZIP compression, they are different in file format design and intended use.\r\nFor more information, see the Open XML Formats Resource Center.\r\nNew File Format Scenarios\r\nThe Office XML Formats change the way that customers work with data. Consider some of the following\r\nscenarios, now possible with the new file formats:\r\nA server-side process can read one of the items out of a ZIP archive without having to extract them all. For\r\nexample, you can extract only the XML file containing the document's data without opening the files that\r\ncontain the document's formatting, properties, and other peripheral information.\r\nIn most scenarios, the new file container is transparent to the user. It looks like a typical binary document\r\nfile. However, the new XML format document is compressed and smaller, making it easier to send to other\r\nusers through e-mail or on other media.\r\nVirus scanners and server applications can easily extract the container to view just the items affected\r\ndirectly, without the worry of corrupting the container or the contents inside.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 2 of 29\n\nFiles that are saved in the new file format cannot contain executable macro code. (This does not apply to\r\nmacro-enabled files, discussed elsewhere in this article.) Therefore, they are considered \"safe\" and can pass\r\nthrough firewalls and be sent through e-mail applications without security concerns. This behavior is\r\nenforced by the Microsoft Office applications. If a macro part is added to an Office XML Format\r\ndocument, Office prevents opening the document.\r\nNote\r\nSome ZIP applications allow you to create encrypted files. The new file format does not create\r\nencrypted files. If you attempt to read an encrypted file, it stops reading the file and returns an error.\r\nIf one item in the container becomes corrupted, the other items continue to be available. For example, if a\r\nuser tries to open a file created from a damaged disk and the file is corrupt, the Office file-recovery\r\nmechanism rebuilds the central directory and fully recovers the contents of the file.\r\nOffice developers can use Microsoft WinFX application programming interfaces (APIs) to create a valid\r\nXPS file. These APIs are the way that solutions interact with the content of the new file format. Office\r\ndevelopers can also use the APIs to open a ZIP archive created by another ZIP application, assuming it\r\ndoes not use one of the ZIP features not supported by Office.\r\nNote\r\nMicrosoft Office creates files conforming to the Open Packaging Conventions that the WinFX APIs\r\ncan read, and conversely, WinFX can create packages that you can open using Microsoft Office\r\napplications. The WinFX APIs work with previous versions of Microsoft Windows, including the\r\nfollowing: Microsoft Windows Vista, Microsoft Windows Server 2003, and Microsoft Windows XP.\r\nAdditionally, converters are available for Microsoft Office 2000, Microsoft Office XP, and Microsoft\r\nOffice 2003 Editions.\r\nThe new file format also changes the way that Office users work with the applications that they use in their daily\r\ntasks. The following scenarios illustrate ways that the new format changes the way that you accomplish work\r\nusing the 2007 Office release:\r\nHoward, a curious user, finds that the new file format container in the 2007 Office release is a ZIP file.\r\nHoward wants to see this for himself, so he opens one of the documents he created in Word 2007 using a\r\nZIP application. He sees some files that look like XML document content, and a few images that match\r\nwhat he had seen in the original document. Intrigued, the curious Howard opens one of the XML files in\r\nNotepad to see what sort of XML file Word generates. Satisfied at how easy it is to peer inside the\r\ndocument, he closes Notepad and the ZIP application and reopens the file in Word to continue working on\r\nthe document.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 3 of 29\n\nJan needs to change a document property in her Word 2007 document. She opens the new format file in a\r\nZIP product, extracts the XML item containing the document properties, makes the change, adds the item\r\nback into the container, and then saves and closes the container. She then opens the document in Word, and\r\nfinds that all of her content is still there and that the only change is to the property that she modified.\r\nThe logo for a consulting company changed to reflect its new mission. The IT department is given the task\r\nof changing the logo in the thousands of documents currently stored on a server. In previous versions of\r\nMicrosoft Office, it was necessary to either open each document individually and delete the old logo and\r\npaste the new logo, or to create and test a complex custom application to automate the task. With the new\r\nfile format, the IT department creates a batch process that navigates the file structure to locate the graphic\r\nin the media folder (which is the same for each document) and swaps out the new graphic. Now when the\r\ndocument opens, the new logo automatically displays.\r\nA law firm must protect the confidentiality of their customer's data and of their own data. Based on\r\nstandard practices, the firm knows that documents, including those created in Word, store several\r\nproperties—some visible and some hidden within the document. Some of those properties can contain\r\ninformation that is customer-sensitive and company proprietary. Through trial and error, the firm created a\r\nprocedure to remove this information. However, the process is time-consuming and, because it is\r\ndependent on the user following the procedure exactly, subject to mistakes. With the new file format, the IT\r\ndepartment develops a simple batch process that walks the folder structure to remove the targeted parts in\r\nthe package. The firm can now be confident that all sensitive and propriety information is safely removed\r\nfrom the document.\r\nDenise is putting the final changes on the dissertation for her master's degree. After adding the\r\nbibliography, she prepares to perform the final save. Much to her horror, the save stops prematurely and\r\nshe sees a message telling her that the document appears to be corrupt. After the shock subsides, Denise\r\nremembers that she is using the new file format. She imports the text into a new document, reattaches the\r\npictures, and includes the formatting and style parts to reconstruct the document successfully. She then\r\nsaves the new document.\r\nElizabeth is a Windows 2000 user who runs Office 2000 with the converter installed that is included in the\r\n2007 Office release. She can open a Word XML Format document. In addition, she can edit the document\r\nand re-save it as a document in the new format because the converters provide open and save support.\r\nBenefits of the New File Formats\r\nThe new Office XML Formats introduce a number of benefits that help not only developers and the solutions they\r\nbuild, but also individual users and organizations of all sizes.\r\nThe following highlights are some of the additional overall benefits of the Office XML Formats:\r\nEasily integrate business information with documents. Office XML Formats enable rapid creation of\r\ndocuments from disparate data sources, accelerating document assembly, data mining, and content reuse.\r\nExchanging data between Office applications and enterprise business systems is simplified. In addition,\r\nyou can alter the information inside an Office document or create one from the document's components\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 4 of 29\n\nwithout using the Office application. Employees can improve productivity by publishing, searching, and\r\nreusing information more quickly and accurately in the application they choose, as long as it supports\r\nreading and writing XML.\r\nOpen and royalty-free. The Office XML Formats are based on XML and ZIP technologies, so they are\r\nuniversally accessible. The specification for the formats and schemas will be published and made available\r\nunder the same royalty-free license that exists today for the Microsoft Office 2003 Reference Schemas, and\r\nthat is openly offered and available for broad industry use.\r\nInteroperable. With industry-standard XML at the core of the Office XML Formats, exchanging data\r\nbetween Microsoft Office applications and enterprise business systems is simplified. Without requiring\r\naccess to the Office applications, solutions can alter information inside an Office document or create a\r\ndocument by using standard tools and technologies capable of manipulating XML. The new formats enable\r\nyou to build archives of documents without using Office code.\r\nRobust. The Office XML Formats are designed to be more robust than the binary formats, and, therefore,\r\nto help reduce the risk of lost information due to damaged or corrupted files. Even documents created or\r\naltered outside of Office are less likely to corrupt, because Office applications are designed to recover\r\ndocuments with improved reliability by using the new formats. With more and more documents traveling\r\nthrough e-mail attachments or removable storage, the chance of a network or storage failure increases the\r\npossibility of a document becoming corrupt.\r\nThe new file formats improve data recovery by segmenting and separately storing each part within the file\r\npackage. This has the potential to save companies tremendous amounts of money and time spent\r\nrecovering lost data. When one file component is corrupt, the remainder of the file is still open within the\r\napplication. For example, if a chart becomes damaged, this does not prevent the customer from opening the\r\nother parts of the document, without the chart. In addition, Office applications can detect these defects, and\r\nattempt to repair a document when opening it by restoring the proper data structure to the document.\r\nEfficient. The Office XML Formats use ZIP and compression technologies to store documents. A\r\nsignificant benefit of the new formats is substantially smaller file sizes—up to 75 percent smaller than\r\ncomparable binary documents. This is one of the advantages of using the combination of XML and the ZIP\r\ntechnologies for storing files. Because XML is a text–based format that compresses very well, and the ZIP\r\ncontainer supports compressing the contents, users can obtain significant reductions in file size. This type\r\nof file compression offers potential cost savings because it reduces the disk space required to store files and\r\ndecreases the bandwidth needed to transport files through e-mail, over networks, and across the Web.\r\nSecure. The openness of the Office XML Formats translates to more secure and transparent files. You can\r\nshare documents confidently because you can easily identify and remove personally identifiable\r\ninformation and business-sensitive information, such as user names, comments, and file paths. Similarly,\r\nyou can identify files containing content, such as OLE objects or Microsoft Visual Basic for Applications\r\n(VBA) code, for special processing. The file formats also help to improve security against documents with\r\nembedded code or macros. By default, the new Word 2007, Excel 2007, and PowerPoint 2007 file formats\r\ndo not execute embedded code. So, if a person receives an e-mail message with a Word document attached,\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 5 of 29\n\nhe or she could open the attachment knowing the document does not execute harmful code. The Office\r\nXML Formats include a special-purpose format with a separate extension for files with embedded code,\r\nenabling IT staff to quickly identify files that contain code.\r\nBackward-compatible. The 2007 Microsoft Office system is backward-compatible with these earlier\r\nversions: Microsoft Office 2000, Microsoft Office XP, and Microsoft Office 2003. Users of these versions\r\ncan adopt the new format with little effort and continue to gain maximum benefit from existing files.\r\nSpecifically, they can continue to use the older .doc, .xls, and .ppt binary formats, which are fully\r\ncompatible with the 2007 file format. Users of earlier Office versions can download a free update that\r\nenables them to open and edit files in the new format from within their earlier versions. Users who install\r\nthe 2007 Office release can set the default file formats to whichever format they choose. This helps ensure\r\nthat users can continue to work with third-party solutions based on earlier versions, and work with their\r\ncolleagues, suppliers, customers, and others who have upgraded.\r\nGlossary for Office Open XML Formats\r\nThe following list defines terms used in this article and related content:\r\nAPI   A set of functions or methods used to access software functionality. API is an acronym for\r\napplication programming interface.\r\nConverters   Free tools that open files created in the Office XML Formats in previous Office versions.\r\nNote\r\nThe converters read, honor, and apply information rights management (IRM) protection to documents.\r\nA document that includes IRM protection continues to be protected regardless of whether the recipient\r\nis using the 2007 Office release or a previous version.\r\nForward-compatibility   The ability of an earlier version of an application to open files from a later\r\nversion and ignore features that are not implemented in the earlier version. For example, Word 2003 is\r\nforward-compatible with Word 2007 because it can successfully open Word 2007 files using a converter.\r\nOffice Open XML Formats   A structure of building blocks and relationships used for composing,\r\npackaging, distributing, and rendering document-centered content. These building blocks define a\r\nplatform-independent framework for document formats that enable software applications to generate,\r\nexchange, and display documents reliably and consistently.\r\nPackage   The ZIP container that holds the components (parts) that comprise the document, as defined by\r\nthe Open Packaging Conventions specification.\r\nPart   Corresponds to one file in the package. For example, if a user right-clicks an Excel 2007 file and\r\nchooses to extract it, he or she sees files, such as a workbook.xml file and several sheetn.xml files. Each of\r\nthose files is a part in the package.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 6 of 29\n\nRelationships   The method used to specify how the collection of parts come together to form a document.\r\nThis method specifies the connection between a source part and a target resource. Relationships are stored\r\nwithin XML parts (for example, /_rels/.rels) in the document package.\r\nXML   Extensible Markup Language (XML) is a simple, flexible text format designed for electronic\r\npublishing and the exchange of a wide variety of data on the Internet and elsewhere.\r\nZIP   An industry-standard compression archives format used to store and transport files between\r\ncomputers, through e-mail, or over the Internet.\r\nStructure of the Office XML Formats\r\nThe new file format container is based on the simple and parts-based compressed ZIP file format specification. At\r\nthe core of the new Office XML Formats is the use of XML reference schemas and a ZIP container. Each file is\r\ncomprised of a collection of any number of parts; this collection defines the document.\r\nDocument parts are stored in the container file or package using the industry-standard ZIP format. Most parts are\r\nXML files that describe application data, metadata, and even customer data, stored inside the container file. Other\r\nnon-XML parts may also be included within the container package, including such parts as binary files\r\nrepresenting images or OLE objects embedded in the document. In addition, there are relationship parts that\r\nspecify the relationships between parts; this design provides the structure for an Office file. While the parts make\r\nup the content of the file, the relationships describe how the pieces of content work together.\r\nThe results are XML file formats for Office documents that are tightly integrated but modular and highly flexible.\r\nThe next few sections describe each component of the Office XML Formats in detail. They also describe the\r\nOffice applications using the new file format.\r\nNote\r\nTo understand the composition of an Office XML Formats file, you might want to extract a file. To open the\r\nfile, it is assumed that you have a ZIP application, such as WinZip from WinZip Computing Corporation,\r\ninstalled on your computer.\r\nTo open a Word 2007 XML file\r\n1. Create a temporary folder in which to store the file and its parts.\r\n2. Save a Word 2007 document, containing text, pictures, and other elements, as a .docx file.\r\n3. Add a .zip extension to the end of the file name.\r\n4. Double-click the file. It will open in the ZIP application. You can see the parts that comprise the file.\r\n5. Extract the parts to the folder that you created previously.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 7 of 29\n\nZIP Package\r\nMany elements go into creating a Microsoft Office document. Some of these are commonly shared across all the\r\nOffice applications, for example, document properties, style sheets, charts, hyperlinks, diagrams, and drawings.\r\nOther elements are specific to each application, like worksheets in Excel, slides in PowerPoint, or headers and\r\nfooters in Word.\r\nWhen users save a document with Office 2003 or previous versions of Microsoft Office, a single file is written to\r\ndisk, which you can easily open. This metaphor is important to how documents are stored, managed, and shared in\r\npractice. By wrapping the individual parts of a 2007 Microsoft Office system file in a ZIP container, a document\r\nremains as a single file instance. The use of a single package file to represent the entity of a single document\r\nmeans users have the same experience as with previous Office versions when saving and opening Office (2007)\r\ndocuments. They can continue to work with just a single file.\r\nFigure 1. The file format container in the 2007 release\r\nWith previous Office versions, developers who wanted to manipulate the content of an Office document needed to\r\nknow how to read and write data according to the structured storage defined within the binary file. This process is\r\ncomplex and challenging, notably because the Office binary file formats were designed to be accessed primarily\r\nthrough the Office applications. The formats reflected the in-memory structures of the applications and could run\r\non low-memory computers with slow hard drives. In addition, altering Office binary files programmatically\r\nwithout the Office applications was identified as a leading cause of file corruption. This deterred some developers\r\nfrom even attempting to alter the files.\r\nZIP was chosen as the package format for the Office XML Formats because it is a well-understood industry\r\nstandard. There are many tools available today to work with the ZIP format, and using ZIP provides a flexible,\r\nmodular structure that allows for an expansion of functionality, going forward. Therefore, you have access to the\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 8 of 29\n\ncomplete contents of 2007 Microsoft Office system documents by using any of the numerous tools and\r\ntechnologies that work with industry-standard ZIP files. After you open a container file, you can manipulate any of\r\nthe document parts found within the package that define the document. For example, you can open a Word 2007\r\ndocument that uses Office XML Formats, locate the XML part that represents the body of the Word document,\r\nalter the part by using any technology capable of editing XML, and return the XML part to the container package\r\nto create an updated Office document.\r\nParts\r\nWithin an Office XML Formats package, many logical parts of the file are stored as individual files or parts. This\r\nmodularity is one of the important characteristics of the file format. Modularity enables you to locate a specific\r\npart quickly and to work directly with just that part. You can edit, exchange, or even remove document parts\r\ndepending on the preferred outcome of a specific business need.\r\nAll the Office applications share some types of parts, such as the thumbnail, metadata, media, and relationships\r\nparts. Others exist consistently within all files as a specific part, such as document properties. Many parts,\r\nhowever, are unique to the application document type they represent. For example, a worksheet part is only found\r\nin an Excel document, while a slide master part only appears in a PowerPoint document.\r\nIt is important to note that, with a few exceptions defined within the Open Packaging Conventions, the actual file\r\ndirectory structure is arbitrary. The relationships of the files within the package, not the file structure, are what\r\ndetermine file validity. You can rearrange and rename the parts of an Office (2007) XML Formats file inside its\r\nZIP container, provided that you update the relationships properly so that the document parts continue to relate to\r\none another as designed. If the relationships are accurate, the file opens without error. The initial file structure in\r\nan Office XML Formats file is the default structure that is created. This default structure enables you to determine\r\nthe composition of Office XML Formats files easily. Provided that you keep the relationships current, you can\r\nchange this default file structure. For more information about this, see Walkthrough: Word 2007 Open XML File\r\nFormat.\r\nParts can be of different content types. Parts used to describe Microsoft Office applications data are stored as\r\nXML. These parts conform to the XML reference schema that defines the associated Office feature or object. For\r\nexample, in an Excel 2007 file, the data that represents a worksheet is found in an XML part that adheres to the\r\nOffice schema for an Excel worksheet. Additionally, if there were multiple worksheets in the workbook, there is a\r\ncorresponding XML part stored in the package file for each worksheet. All of the schemas that represent default\r\nOffice document parts will be fully documented and made available from Microsoft with a royalty-free usage\r\nlicense. Then, by using any standard XML-based technologies, you can apply your knowledge of the Office\r\nschemas to parse and create 2007 Microsoft Office system documents easily.\r\nIn many scenarios, it is advantageous to store parts in their native content type. These parts are not stored as XML.\r\nImages in an Office document in the 2007 release, for example, are stored as binary files (.png, .jpg, and other file\r\ntypes) within the document package. Therefore, you can open the package container by using a ZIP application\r\nand immediately view, edit, or replace the image in its native format. Not only is this storage approach more\r\naccessible, it also requires less internal processing and disk space than storing an image as encoded XML. Other\r\nnotable parts stored as binary parts are VBA projects and embedded OLE objects. (Embedded OLE objects are\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 9 of 29\n\nbinary only if the associated OLE server provides only a binary representation. 2007 Microsoft Office system–\nembedded documents, for example, embed their contents as another package.) For developers, accessibility makes\nmany scenarios more attractive. For example, you can build a solution that iterates a collection of 2007 Microsoft\nOffice system documents to update an existing OLE object with a newer version. You can accomplish this and any\nnumber of other scenarios without having to use the Office applications or alter the document-specific XML. The\nnext sections briefly describe some of the parts that are common to all of the Office products that support the\nOffice XML Formats. The types and numbers of parts depend on the application that creates the ZIP container file.\nFor example, Word 2007 creates document-related parts, but PowerPoint 2007 creates parts related to slide\npresentations.\n_rels Folder\nThis folder contains a .rels file that defines the root relationships within the package. This is the first place you\nshould go to start parsing through the package.\n.rels File\nContains relationships based on the start part (the virtual start part). Relationships are defined with the following\nformat:\nwhere Id is any string, as long as it is unique in the .rels file.\n**Type **The type of the relationship that distinguishes relationships from one another and provides a hint as to\nthe relationship's purpose. It points to the schema that defines Office XML Formats types.\n**Target **Points to the folder and file that contain the target of the relationship (another part).\nTable 1. Relationship types\nBuilt-in Relationship Types\nhttp://schemas.microsoft.com/office/2006/relationships/officeDocument\nhttp://schemas.microsoft.com/office/2006/relationships/vbaProject\nhttp://schemas.microsoft.com/office/2006/relationships/userXmlData\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\nPage 10 of 29\n\nBuilt-in Relationship Types\r\nhttp://schemas.microsoft.com/office/2006/relationships/hyperlink\r\nhttp://schemas.microsoft.com/office/2006/relationships/styleSheet\r\nhttp://schemas.microsoft.com/office/2006/relationships/comments\r\nhttp://schemas.microsoft.com/office/2006/relationships/oleObject\r\nhttp://schemas.microsoft.com/office/2006/relationships/e2Object\r\nhttp://schemas.microsoft.com/office/2006/relationships/e1Object\r\nhttp://schemas.microsoft.com/office/2006/relationships/image\r\nhttp://schemas.microsoft.com/office/2006/relationships/sound\r\nhttp://schemas.microsoft.com/office/2006/relationships/movie\r\nhttp://schemas.microsoft.com/office/2006/relationships/slide\r\nhttp://schemas.microsoft.com/office/2006/relationships/layout\r\nhttp://schemas.microsoft.com/office/2006/relationships/notesslide\r\nhttp://schemas.microsoft.com/office/2006/relationships/slidemaster\r\nhttp://schemas.microsoft.com/office/2006/relationships/glossaryDoc\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 11 of 29\n\nBuilt-in Relationship Types\r\nhttp://schemas.microsoft.com/office/2006/relationships/cfChunk\r\nhttp://schemas.microsoft.com/office/2006/relationships/dataStoreItem\r\nhttp://schemas.microsoft.com/office/2006/relationships/embeddedFont\r\nhttp://schemas.microsoft.com/office/2006/relationships/embeddedMetroObject\r\nhttp://schemas.microsoft.com/office/2006/relationships/chart\r\nhttp://schemas.microsoft.com/office/2006/relationships/activeXControl\r\nhttp://schemas.microsoft.com/office/2005/relationships/diagram\r\nhttp://schemas.microsoft.com/office/2005/relationships/diagramData\r\nhttp://schemas.microsoft.com/office/2005/relationships/diagramStyle\r\nhttp://schemas.microsoft.com/office/2005/relationships/diagramColorTrans\r\nhttp://schemas.microsoft.com/office/2005/relationships/diagramDefinition\r\nhttp://schemas.microsoft.com/package/2005/02/md/core-properties\r\nhttp://schemas.microsoft.com/office/2006/relationships/docPropsApp\r\nhttp://schemas.microsoft.com/office/2006/relationships/docPropsCustom\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 12 of 29\n\nBuilt-in Relationship Types\r\nhttp://schemas.microsoft.com/ office/2006/relationships/documentThumbnail\r\nhttp://schemas.microsoft.com/office/2006/relationships/glossaryDoc\r\nMain Document Part\r\nThe target of the http://schemas.microsoft.com/office/2006/relationships/officeDocument relationship is the main\r\npart defining the document (the presentation part for PowerPoint, the workbook part for Excel, or the document\r\npart for Word). All other relationships are based on the main document part.\r\nApplication Folder (such as Word)\r\nContains application-specific, document component files such as (for Word):\r\nwordDocument.xml   Contains the data (text) in the document, plus styles and font settings.\r\nfooter.xml   Contains information about footers in the document, such as what page they are on and some\r\nstyles information.\r\nheader.xml   Contains information similar to that found in the footer.xml file, but regarding headers.\r\nwordDocument.doc   Is a copy of the original document.\r\nstyles.xml   Contains information about the styles found in the document, such as font sizes, table styles,\r\nand bulleted lists.\r\nAudio File\r\nContains any audio-type files, such as .mid, .mp3, or .wav files.\r\nContent_Types.xml File\r\nProvides a listing of the content types for the other parts that are contained in the package. Content types are\r\ndefined as the types of parts that can be stored in a package:\r\nTable 2. Content types in a ZIP container\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 13 of 29\n\nBuilt-in Content Types\r\napplication/vnd.ms.powerpoint.template.macroEnabled.12application/x-font\r\napplication/vnd.ms-excel.12application/x-font\r\napplication/vnd.ms-excel.addin.12application/xml\r\napplication/vnd.ms-excel.binary.12audio/aiff\r\napplication/vnd.ms-excel.macroEnabled.12audio/basic\r\napplication/vnd.ms-excel.macroEnabledTemplate.12audio/midi\r\napplication/vnd.ms-excel.template.12audio/mp3\r\napplication/vnd.ms-metro.core-properties+xmlaudio/mpegurl\r\napplication/vnd.ms-metro.relationships+xmlaudio/wav\r\napplication/vnd.ms-office.activeX+xmlaudio/x-ms-wax\r\napplication/vnd.ms-office.chartaudio/x-ms-wma\r\napplication/vnd.ms-office.vbaProjectimage/bmp\r\napplication/vnd.ms-powerpoint.image/gif\r\napplication/vnd.ms-powerpoint.macroEnabled.12image/jpeg\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 14 of 29\n\nBuilt-in Content Types\r\napplication/vnd.ms-powerpoint.main.12+xmlimage/png\r\napplication/vnd.ms-powerpoint.presentation.12image/tiff\r\napplication/vnd.ms-powerpoint.show.12image/xbm\r\napplication/vnd.ms-powerpoint.show.macroEnabled.12image/x-icon\r\napplication/vnd.ms-powerpoint.template.12video/avi\r\napplication/vnd.ms-word.document.12video/mpeg\r\napplication/vnd.ms-word.document.macroEnabled.12video/mpg\r\napplication/vnd.ms-word.document.macroEnabled.main+xmlvideo/x-ivf\r\napplication/vnd.ms-word.document.main+xmlvideo/x-ms-asf\r\napplication/vnd.ms-word.fontTable+xmlvideo/x-ms-asf-plugin\r\napplication/vnd.ms-word.listDefs+xmlvideo/x-ms-wm\r\napplication/vnd.ms-word.settings+xmlvideo/x-ms-wmv\r\napplication/vnd.ms-word.styles+xmlvideo/x-ms-wmx\r\napplication/vnd.ms-word.subDoc+xmlvideo/x-ms-wvx\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 15 of 29\n\nBuilt-in Content Types\r\napplication/vnd.ms-word.template.12\r\napplication/vnd.ms-word.template.macroEnabled.12\r\napplication/vnd.ms-word.template.macroEnabled.main+xml\r\napplication/vnd.ms-word.template.main+xml\r\nDocument Properties Part\r\nContains the core document properties defined for all files conforming to XPS format, such as:\r\nAuthor\r\nTitle\r\nSubject\r\nComments\r\nLast Saved Date\r\nCreated Date\r\nRelationships\r\nParts are the individual elements that make up an Office document in the 2007 release. Relationships are the\r\nmethod used to specify how the collection of parts relate together to form the actual document. You use XML to\r\ndefine relationships. Relationships specify the connection between a source part and a target resource. For\r\nexample, you can identify the connection between a slide and an image that appears on that slide by a relationship.\r\nRelationships are stored within XML parts or \"relationship parts\" in the document container. If a source part has\r\nmultiple relationships, all subsequent relationships are listed in the same XML relationship part.\r\nRelationships play an important role in Office XML Formats. Every document part is referred to by at least one\r\nrelationship. The use of relationships makes it possible to discover how one part relates to another part without\r\nhaving to look within the content of parts. Within parts, all references to relationships are represented using a\r\nRelationship ID, which allows all connections between parts to stay independent of content-specific schema.\r\nFigure 2. High-level relationship diagram of an Excel 2007 workbook\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 16 of 29\n\nThe following is an example of a relationship part in an Excel 2007 workbook containing two worksheets:\nIt is also important to note that relationships represent not only internal document references but also external\nresources. For example, if a document contains linked pictures or objects, these are also represented using\nrelationships. This makes links in a document to external sources easy to locate, inspect, and change. It offers you\nthe opportunity to repair broken external links, validate unfamiliar sources, or remove potentially harmful links.\nThe use of relationships in Office XML Formats benefits developers in a number of ways. Relationships simplify\nthe process of locating content within a document because you do not need to parse document-specific XML to\nfind parts—you also do not need to parse document-specific XML to find internal and external document\nresources. Relationships enable you to take inventory of all the content within a document quickly. For example, if\nyou need to count the number of worksheets in an Excel workbook, you can inspect the relationships for how\nmany sheet parts exist. You can also use relationships to examine the type of content in a document. This is\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\nPage 17 of 29\n\nhelpful in situations where you need to identify if a document contains a particular type of content that may be\r\nharmful (such as an OLE object that is suspect) or helpful (such as in a scenario where you want to extract all\r\nJPEG images from a document for reuse elsewhere).\r\nRelationships also enable you to manipulate documents without having to learn application-specific syntax or\r\ncontent markup. For example, without any knowledge of how to program PowerPoint, a developer solution could\r\neasily remove extraneous slides for a presentation by editing the document's relationships.\r\nMacro-Enabled Files vs. Macro-Free Files\r\nDefault 2007 Microsoft Office system documents saved in Office XML Formats are intended to be macro-free\r\nfiles, and therefore cannot contain code. This behavior ensures that malicious code, residing in a default\r\ndocument, can never be executed unexpectedly. While 2007 Microsoft Office system documents can still contain\r\nand use macros, the user or developer must save these documents as a macro-enabled document type. This\r\nsafeguard will not affect your ability to build solutions, but allows organizations to use documents with more\r\nconfidence.\r\nMacro-enabled files have the exact same file format as macro-free files, but contain additional parts that macro-free files do not. The additional parts depend on the type of automation found in the document. A macro-enabled\r\nfile that uses VBA contains a binary part that stores the VBA project. Any Excel workbook that uses Excel 4.0–\r\nstyle macros (XLM macros) or any PowerPoint presentation that contains command buttons are also saved as\r\nmacro-enabled files. If a code-specific part is found in a macro-free file, whether placed there accidentally or\r\nmaliciously, the Office applications will not allow the code to execute—without exception.\r\nYou can now determine if any code exists within a 2007 Microsoft Office system document before opening it.\r\nPreviously this \"advance notice\" was not something that could be easily accomplished outside Office. You can\r\ninspect the package file for the existence of any code-based parts and relationships without running Office and\r\nwithout running potentially risky code. If a file looks suspicious, you can remove any parts capable of executing\r\ncode from the file, so that the code can cause no harm.\r\nFile Name Extensions\r\n2007 Microsoft Office system documents saved by using Office XML Formats have new file name extensions that\r\nallow Office to differentiate these file format documents from binary documents used by previous Office versions.\r\nThe new extensions borrow from the existing binary file name extensions by appending a letter to the end of the\r\nsuffix. The default extensions for documents created in Word 2007, Excel 2007, and PowerPoint 2007 using the\r\nnew file formats append the letter \"x\" and are .docx, .xlsx, and .pptx, respectively. Other Office document types\r\nthat use the new file formats (including templates, add-ins, and PowerPoint shows) also receive new extensions.\r\nAnother new change introduced in the 2007 Office release is that there are different extensions for files that are\r\nmacro-enabled versus those that are macro-free. Macro-enabled documents include a file name extension that ends\r\nwith the letter \"m\" instead of an \"x.\" For example, a macro-enabled Word 2007 document has the .docm\r\nextension, and thereby allows any users or software applications, before a document opens, to identify that it\r\ncontains code.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 18 of 29\n\nTable 3. List of file name extensions for Word 2007 document types\r\nWord 2007 File Type Extension\r\nWord 2007 XML Document .docx\r\nWord 2007 XML Macro-Enabled Document .docm\r\nWord 2007 XML Template .dotx\r\nWord 2007 XML Macro-Enabled Template .dotm\r\nTable 4. List of file name extensions for Excel 2007 document types\r\nExcel 2007 File Type Extension\r\nExcel 2007 XML Workbook .xlsx\r\nExcel 2007 XML Macro-Enabled Workbook .xlsm\r\nExcel 2007 XML Template .xltx\r\nExcel 2007 XML Macro-Enabled Template .xltm\r\nExcel 2007 Binary Workbook .xlsb\r\nExcel 2007 XML Macro-Enabled Add-In .xlam\r\nTable 5. List of file name extensions for PowerPoint 2007 document types\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 19 of 29\n\nPowerPoint 2007 File Type Extension\r\nPowerPoint 2007 XML Presentation .pptx\r\nPowerPoint 2007 Macro-Enabled XML Presentation .pptm\r\nPowerPoint 2007 XML Template .potx\r\nPowerPoint 2007 Macro-Enabled XML Template .potm\r\nPowerPoint 2007 Macro-Enabled XML Add-In .ppam\r\nPowerPoint 2007 XML Show .ppsx\r\nPowerPoint 2007 Macro-Enabled XML Show .ppsm\r\nDeveloping Solutions Using the Office XML Formats\r\nThe Office XML Formats introduce or improve on many types of solutions involving documents that you can\r\nbuild. You can access the contents of an Office document in the new file formats by using any tool or technology\r\ncapable of working with ZIP archives. You can then manipulate the document content using any standard XML\r\nprocessing techniques, or, for parts that exist as embedded native formats (such as images), process using any\r\nappropriate tool for that object type.\r\nIn addition, being able to open the container file of a 2007 Microsoft Office system document manually as a ZIP\r\narchive has some interesting benefits for developers. For example, when building Office-based solutions, you can\r\nexamine the contents and structure of a document without having to write any code. This facility can be very\r\nhelpful in solution design and when building prototypes.\r\nAfter you are inside a 2007 Microsoft Office system document, the structure makes it easy to navigate a\r\ndocument's parts and its relationships, whether it is to locate information, change content, or remove elements\r\nfrom a document. Having the use of XML, along with the published Office reference schemas, means you can\r\neasily create additional documents, add data to existing documents, or search for specific content in a body of\r\ndocuments.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 20 of 29\n\nThe rest of this article explores some scenarios in which Office XML Formats enable document-based solutions.\r\nThese few are only part of an almost endless list of possibilities:\r\nData Interoperability\r\nContent Manipulation\r\nContent Sharing and Reuse\r\nDocument Assembly\r\nDocument Security\r\nManaging Sensitive Information\r\nDocument Styling\r\nDocument Profiling\r\nData Interoperability\r\nThe emergence of XML as a popular standard for data exchange means the new Office XML Formats make\r\ndocument-based data more accessible among heterogeneous systems. Whether users are sharing document data\r\nacross a department, or two organizations are trading business data, XML as a default file format for Microsoft\r\nOffice documents means Office applications can participate in business processes without the limitations\r\npreviously imposed by the binary formats.\r\nThe openness of the new file formats unlocks data and introduces a broad, new level of integration beyond the\r\ndesktop. For example, you could refer to the published specification of the new file formats to create data-rich\r\ndocuments without using an Office application. Server-side applications could process documents in bulk to\r\nenable large-scale solutions that mesh enterprise data within the familiar, flexible Office applications. You could\r\nuse standard XML protocols, such as XPath (a common XML query language) and Extensible Stylesheet\r\nLanguage Transformations (XSLT) to retrieve data from documents or to update the contents inside a document\r\nfrom external data.\r\nOne such scenario could involve personalizing thousands of documents to distribute to customers. You could\r\ninsert information programmatically into a standard document template by using a server application that uses\r\nXML that you extracted from an enterprise database or customer relationship management (CRM) application.\r\nCreating these documents is highly efficient because there is no requirement to run Office applications; yet the\r\ncapability still exists for producing high-quality, rich Office documents.\r\nThe use of custom schemas in Office is another way you can use documents to share data. Information that was\r\nonce locked in a binary format is now easily accessible and, therefore, documents can serve as openly\r\nexchangeable data sources. Custom schemas not only make insertion or extraction of data simple, they also add\r\nstructure to documents and are capable of enforcing data validation.\r\nContent Manipulation\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 21 of 29\n\nEditing the contents of existing Office documents is another valuable example where Office XML Formats\r\nenhance a process. The edit could involve updating small amounts of data, swapping entire parts, removing parts,\r\nor adding new parts altogether. By using relationships and parts, the new file formats make content easier to find\r\nand manipulate. The use of XML and XML schema means you can use common XML technologies, such as\r\nXPath and XSLT, to edit data within document parts in virtually endless ways.\r\nOne scenario might involve the need to edit text in the header of a Word document. Of course, it is not logical to\r\nautomate that task for one document. But, in another scenario, what if a company merged and needed to update\r\ntheir new company name in the header of hundreds of different pieces of documentation? A developer could write\r\ncode that loops through all the documents, locates the header part in the Word file structure, and performs an\r\nXPath query to find the old text. Then it could insert the new text, replace the header part, and repeat the process\r\nuntil every document is updated. Automation could save a lot of time, enable a process that might otherwise not be\r\nattempted, and prevent potential errors that might occur during a manual process.\r\nAnother scenario might be one in which an existing Office document must be updated—by changing only an\r\nentire part. In an Excel 2007 workbook, you could replace an entire worksheet that contained old data or outdated\r\ncalculation models with a new one by overwriting its part. This kind of updating also applies to binary parts. You\r\ncould swap an existing image, or even an OLE object, out for a new one, as necessary. You could update a\r\nMicrosoft Office Visio drawing embedded as an OLE object in Office documents, for example, by overwriting\r\nthat binary part. You could update URLs in hyperlinks to point to new locations.\r\nFollowing are some additional application-specific scenarios.\r\nContent Manipulation in Word 2007\r\nIt is a common business practice to incorporate \"boilerplate\" text inside a Word document. For example, an\r\nofficial legal disclaimer or a disclosure of terms and conditions can be required in every public document created\r\nby an organization. Another typical example of boilerplate is a \"Company Overview\" section that is used in\r\nauthoring sales proposals or public releases of company announcements. Word offers features, such as AutoText,\r\nthat are capable of accomplishing the insertion of formatted text, but this feature is limited in scale because it\r\nrequires either Word automation or direct user interaction.\r\nWord 2007 offers a very flexible alternative for you to insert content into a document. The Word XML Format\r\nallows you to add document parts, called document building blocks, that are referred to by the overall document\r\nwhen it opens in Word. This means you can build a library of document building blocks, which you can derive\r\nfrom document formats that Word is capable of rendering, and programmatically reuse them as needed in Word\r\ndocument solutions.\r\nThis broader ability to manipulate Word content offers some interesting scenarios, such as server-side document\r\nassembly. Going back to the example given previously, you can automatically insert a legal disclaimer into a\r\ndocument created on a server. Imagine a multinational company that requires that all of its documents contain a\r\nlegal disclaimer in local languages. The company could create the appropriate language-specific disclaimers as\r\n.html files and save them on a server. An application that is constructing documents can insert the corresponding\r\ndocument fragment for the language required as a part inside the document container. This fragment is then\r\nrendered as a seamless part of a Word document.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 22 of 29\n\nContent Manipulation in Excel 2007\r\nTo optimize loading and saving performance and file size, Excel 2007 stores only one copy of repetitive text\r\nwithin the Excel file. To do so, Excel implements a shared string table in a document part specified by the target of\r\nthe http://schemas.microsoft.com/office/2005/8/relationships/xlSharedStrings relationship. Each unique text value\r\nfound within a workbook is listed once in this part. Individual worksheet cells then reference the string table to\r\nderive their values.\r\nWhile this process optimizes the Excel XML Format, it also introduces some interesting opportunities for\r\nadditional content manipulation solutions. Developers in a multinational organization could use the shared string\r\ntable to offer a level of multilanguage support. Instead of building unique workbooks for each language supported,\r\na single workbook could use string tables that correspond to different languages. Another possibility is to use\r\nstring tables to search for keyword terms inside a collection of workbooks. Processing a single, text-only XML\r\ndocument of strings is faster and simpler than having to manipulate the Excel object model over many worksheets\r\nand workbooks.\r\nContent Manipulation in PowerPoint 2007\r\nWhen a PowerPoint 2007 presentation is stored using the PowerPoint XML Format, the content remains highly\r\naccessible. Because this is the first version of PowerPoint to offer an XML format, it opens up many scenarios not\r\npossible in previous versions. You now have full access to slides and slide notes as text. Solutions that require\r\nsearching, indexing, and creating presentation content are now possible. You can easily produce data-driven\r\npresentations using XML. And, you can access slide masters and slide layouts through XML parts to\r\nprogrammatically format existing or new PowerPoint presentations.\r\nYou can take a different approach to assembling or reusing content from PowerPoint presentations by building an\r\napplication that uses a catalog of slides stored independently of existing presentations. Slides are represented as\r\nindividual XML parts, therefore, a solution can optimize the way an organization stores and manages PowerPoint\r\n2007 slides as data. You can even write a slide \"viewer\" that allows a user to discover and select slides to build a\r\npresentation from outside PowerPoint. The application can even be Web-based to allow centralized management.\r\nContent Sharing and Reuse\r\nThe modularity of Office XML Formats opens up the possibility for generating content once and then repurposing\r\nit in a number of other documents. As a developer, you can imagine building a number of core templates and\r\nreusing portions as building blocks for other documents. You could use a table created in one Word document, for\r\nexample, in other Word documents. You can build charts (which have a common schema across 2007 Microsoft\r\nOffice system applications) once and reuse them a number of times in different document types. The accessibility\r\nof the format lends itself to unlimited content-sharing opportunities.\r\nOne such scenario could be one in which there is a need to build a repository of images used in documents. You\r\ncan create a solution that extracts images out of a collection of Office documents and allow users to reuse them\r\nfrom a single point of access. Because Office documents in the 2007 release store images intact as binary parts,\r\nyou can build the solution and maintain a library of images easily. Then, users who want to incorporate previously\r\nused images do not need to browse through an entire collection of documents, opening and closing each\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 23 of 29\n\nindividually, to find images. They can use the custom application to find images in the repository and immediately\r\ninsert them into the document with which they are working.\r\nYou can build a similar application that reuses document \"thumbnail\" images extracted from documents, and add a\r\nvisual aspect to a document management process.\r\nDocument Assembly\r\nOne of the most common requests from developers is for the ability to create Microsoft Office documents on a\r\nserver without automating the Microsoft Office applications. Organizations needing to produce complex, data-enriched documents or to assemble documents in mass quantities want more efficient processing for high-end\r\npurposes. Technically, Office applications were not written and were not supported to run from a server.\r\nIn the Microsoft Office 2003 Editions, the introduction of XML document formats that could be produced\r\naccording to the Office 2003 XML Reference Schemas helped overcome this limitation. Any technology capable\r\nof assembling XML can build a Word or Excel document, as long as it adheres to the Office schemas. It was a\r\ntremendous advance at the time, but, unfortunately, it only applied to Excel and Word, and only Word truly offered\r\nfull fidelity in its XML file support. The 2007 Office release builds on this effort by adding PowerPoint XML files\r\nand ensuring that both PowerPoint XML files and Excel XML files are also full-fidelity.\r\nThis advance in technology means that, with the 2007 Office release, you can build an Office solution that\r\nproduces Excel, Word, and PowerPoint documents without ever opening Office. The solution must create XML\r\naccording to the schemas in the 2007 release and build the package contents as defined by the Office XML\r\nFormats. Although the Office schemas are quite extensive, to fully represent the rich feature sets that the\r\nMicrosoft Office applications provide, all structures defined by the format are not required to generate a\r\ndocument. Each of the Office applications is capable of opening the file with a minimal amount of items defined,\r\nthereby making it easy to create many documents.\r\nNote that document assembly does not pertain to only new documents, either. Of course, by following the rules of\r\nOffice XML Formats, you can build documents programmatically without using Office. But often document\r\nassembly often means building documents by using portions of existing documents, data, and other content. The\r\nnew Office XML Formats fit well in this scenario because they have a modular architecture and their content is\r\nXML-based.\r\nA document assembly example also applies to PowerPoint presentations. Many organizations have vast collections\r\nof PowerPoint files that have reusable value. Users often borrow slides from several pre-existing presentations to\r\ncreate an additional or related presentation. Finding, coordinating, and integrating (copying and pasting) slides is\r\ntypically a time-consuming, redundant process that many organizations want automated for customer-facing\r\npresentations. With the 2007 Office release, individual slides within a PowerPoint presentation file are readily\r\naccessible because each one is self-contained in its own XML part within the presentation container package. A\r\ncustom solution can use this architecture to automate the assembly process for presentations completely. You can\r\nuse custom XML to hold metadata pertaining to individual slides, thus allowing users to search them easily by\r\nusing predefined keywords. After a user selects a slide, the solution inserts the slide's XML part into the assembled\r\npresentation and creates the reference relationship.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 24 of 29\n\nDocument Security\r\nSecurity is very important today in information technology. Office XML Formats help you to be more confident\r\nabout working with Office documents and delivering solutions that consider document security. With the new file\r\nformats, you can build solutions that search for and remove any identified potential vulnerabilities before they\r\ncause issues.\r\nFor example, if a company needs a solution to prepare documents either for storage in an archive library, where\r\nthey never need to run custom code, or for sending macro-free documents to a customer. You can write an\r\napplication that removes all VBA code from a body of Office documents by iterating through the documents and\r\nremoving the part specified by the target of the http://schemas.microsoft.com/office/2006/relationships/vbaProject\r\nrelationship. The result is a collection of higher-quality documents.\r\nIn addition, the Office XML Formats provide one file type only for each product in the 2007 release (.docm for\r\nWord, .xlsm for Excel, and .pptm for PowerPoint) in which you can execute macro code. Any file types that do\r\nnot end with the \"m\" suffix, even those that do contain macro code, will not execute that code. This helps\r\nguarantee that users are safe from malicious software when working with those file types.\r\nUnfortunately, macro code is not the only potential security threat for Office users. Recently, security\r\nvulnerabilities were detected in binary .jpg files. You can circumvent potential risks from binary files, such as\r\nOLE objects and images, by interrogating Office documents and removing any exposures that arise. For example,\r\nif a specific OLE object is identified as a known security threat, you can create an application to locate and\r\ncleanse or quarantine any documents containing the object. Likewise, you can readily identify any external\r\nreferences made from a 2007 Microsoft Office system document by examining the relationship parts. This\r\nidentification enables solution developers to decide if external resources referred to from a document are\r\ntrustworthy or require corrective action.\r\nYou can block parts by content-type and relationships. For example, if an IT administrator becomes aware that .gif\r\nimages can contain a security threat, group policy settings can be used to disallow the loading of image/gif content\r\nin 2007 Microsoft Office system documents. After deploying the proper security patches, the setting can be turned\r\noff, and the IT administrator can be confident that users were protected quickly.\r\nYou can also block parts through format policies. For example, if the IT administrator discovers a vulnerability in\r\nwhich malformed comments can cause PowerPoint to fail with an exploitable buffer overrun, users and their\r\ncomputers can be protected by the deployment of an Office file format policy. This time, rather than blocking by\r\ncontent type (because in this case, it is an XML containing text), comments are blocked specifically, by blocking\r\nthe schemas.microsoft.com/office/2006/relationships/comments relationship type. To do this, administrators can\r\nuse Microsoft Office policy templates (.adm files) to set these options. For more information about using Office\r\npolicy templates, see the Microsoft Knowledge Base article Administrators Can Use Office Policy Templates with\r\nthe Group Policy Settings of Windows.\r\nManaging Sensitive Information\r\nAs you seek to protect users from malicious content, you can also help protect users from accidentally sharing\r\ndata inappropriately. This inappropriate data might be in the form of personally identifiable information (PII)\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 25 of 29\n\nstored within a document, or tracked changes, comments, and annotations so marked that they should not leave\nthe department or organization. You can programmatically remove both types of information directly without\nhaving to scour an entire document. To remove document comments, for example, you can check for the existence\nof a comment part relationship and, if found, remove the associated comment part.\nBesides securing PII and comments, Office XML Formats enable access to this information that may be useful in\nother ways. You could create a solution that uses PII data to return a list of documents authored by an individual\nperson or from a specific organization. With the new file formats, you can produce this list without having to open\nOffice or use its object model. Similarly, an application could loop through a folder or volume of Office\ndocuments and aggregate all of the comments within the documents. You can apply additional criteria to qualify\nthe comments and help users better manage the collaboration process as they create documents.\nDocument Styling\nLike so many other aspects of Office documents using Office XML Formats, document styles, formatting, and\nfonts are maintained in separate XML parts within the container package. So, once again, you can create solutions\nthat take advantage of this separation. Some organizations have very specific document standards, and managing\nthese can be quite time-consuming. However, you can, for example, modify or replace fonts in documents without\nopening Office.\nAlso, it is a common practice to have a document or collection of documents that contain the same content, but\nthat were formatted differently by another department, location, subsidiary, or targeted customer. You can maintain\nthe content within a single set of documents, and then apply a new set of styles, as necessary. To do this, you\nexchange the part specified by the target of the http://schemas.microsoft.com/office/2006/relationships/styleSheet\nrelationship with another part. This ability to exchange simplifies the process of controlling a document's\npresentation without having to manage content in numerous documents.\nDocument Profiling\nManaging documents effectively has been a long-standing issue in information technology practices. In Microsoft\nOffice 2003, you have access to the traditional Office document properties, such as Author, Title, Subject, and\nother properties, using OLE. In the new Office XML Formats, document properties are also readily accessible,\nbecause they reside in their own part within a document. The following is an example of a Document Properties\npart in a Word .docx file.\n?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\nWord Document SampleMicrosoft Office Word 20072007 Microsoft Office System User2007 Microsoft Office system .docx file2007 Microsoft Office System User22005-05-05T20:01:00Z https://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\nPage 26 of 29\n\n\u003cDateModified\u003e2005-05-05T20:02:00Z\u003c/DateModified\u003e\r\n\u003c/CoreProperties\u003e\r\nHowever, Office documents using the new file formats allow you to add your own data and content beyond what\r\nOffice-based properties offer, for example, for advanced document profiling. You can create your own custom-defined XML and place it in the file as just another part. You can then use this XML with any tool or application\r\ncapable of accessing Office XML Formats.\r\nUsing the New File Formats in the Office Products\r\nWhile there are many parts that are common to the Office products that implement the new file formats, there are\r\nalso components specific to each product.\r\nThe File Format Structure in Excel 2007\r\nIn addition to the parts that each Office product has in common (such as XML data parts, relationships parts, and\r\nmedia parts), Excel also provides separate parts for a workbook, sheets, and such entities as charts, PivotTable\r\ndynamic views, and so forth.\r\nThe File Format Structure in PowerPoint 2007\r\nPowerPoint uses many of the same parts as the other products in its file format, with the addition of those objects\r\nspecific to slide presentation, such as individual slide parts, a master slide part, presentation data, and so forth.\r\nThe File Format Structure in Word 2007\r\nLikewise, Word users can expect to see additional parts relating to document properties, styles and formatting,\r\nfooters, headers, endnotes, and so forth.\r\nModifying Office XML Formats Files to Customize the Ribbon User Interface\r\nThe following steps illustrate creating a custom Ribbon user interface (UI) in Excel 2007 that contains the\r\ncomponents to call a custom macro by modifying a macro-enabled workbook file. In this sample, you do the\r\nfollowing:\r\nCreate an Excel workbook with one macro and save the workbook as an Office XML Formats macro-enabled file (.xlsm).\r\nCreate a Ribbon extensibility customization file with one tab, one group, and one button.\r\nSpecify a callback event in the button to call the macro you created in the document.\r\nModify the contents of the macro-enabled document container file to point to the Ribbon extensibility\r\ncustomization file.\r\nSave the macro-enabled file and open it in Excel.\r\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\r\nPage 27 of 29\n\nTo create a macro-enabled Office XML Formats file in Excel\n1. Start Excel 2007.\n2. Click the Developer tab, and then click Visual Basic.\nNote\nIf you do not see the Developer tab, you need to identify yourself as a developer. To do this, in your\napplication, click the Microsoft Office Button, click Excel Options, click Personalize, and then select\nShow Developer tab in the Ribbon. This is a global setting and identifies you as a developer in all\nother Office applications that implement the Ribbon UI.\n3. In the Visual Basic Editor, double-click ThisWorkbook to open the code window.\n4. Type the following VBA subroutine and then close the Visual Basic Editor:\nSub MyButtonMacro(ByVal ControlID As IRibbonControl)\n Msgbox(\"Hello world\")\nEnd Sub\n5. Save the workbook as an Office XML Formats macro-enabled file (.xlsm).\nTo create the XML file that contains the markup to modify the UI\n1. Create a folder on your desktop called customUI.\n2. Open a new file in a text editor and save it as customUI.xml in the customUI folder.\n3. Add the following code to the file:\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\nPage 28 of 29\n\nNext, you modify some of the files contained in the macro-enabled file container that you created previously:\n1. Add a .zip extension to the workbook file name and double-click to open the file\n2. Add the customization file to the container by dragging the customUI folder from the desktop to the ZIP\nfile.\n3. Extract the .rels file to your desktop. A _rels folder containing the .rels file is copied to your desktop.\n4. Open the .rels file and add the following line between the last Relationship tag and the Relationships tag.\nThis creates a relationship between the workbook file and the customization file:\n5. Close and save the file.\n6. Add the _rels folder back to the container file by dragging it from the desktop, overwriting the existing file.\n7. Rename the workbook file to its original name by removing the .zip extension.\n8. Open the workbook and notice that the Ribbon UI now displays My Tab.\n9. Click the button and the message box is displayed.\nConclusion\nUsers, organizations, and developers benefit from the advantages of the Office XML Formats in the 2007 release\nof the Microsoft Office system. As open, default file formats based on XML, the new file formats unlock the\npossibilities for many new solution types and scenarios that you can build. You can access documents as sources\nof data, manipulate them without the Office applications, and process them in enterprise solutions. Organizations\nthat combine existing business system investments with the Microsoft Office system platform, the 2007 Office\nrelease, and the new XML-based file formats can only benefit.\nAdditional Resources\nFor more information, see the following resources:\nOpen XML Formats Resource Center\nEcma Office Open XML File Formats overview\nMicrosoft Office Developer Center\nSource: https://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\nhttps://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)\nPage 29 of 29",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"references": [
		"https://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)"
	],
	"report_names": [
		"aa338205(v=office.12)"
	],
	"threat_actors": [],
	"ts_created_at": 1775434954,
	"ts_updated_at": 1775791249,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/7008ac98e71adda0375032725e8f5cd7d85e9157.pdf",
		"text": "https://archive.orkl.eu/7008ac98e71adda0375032725e8f5cd7d85e9157.txt",
		"img": "https://archive.orkl.eu/7008ac98e71adda0375032725e8f5cd7d85e9157.jpg"
	}
}