Information technology — Document description and processing languages — Office Open XML File Formats — Part 1: Fundamentals and Markup Language Reference

ISO/IEC 29500-1:2016 defines a set of XML vocabularies for representing word-processing documents, spreadsheets and presentations. On the one hand, the goal of ISO/IEC 29500 is to be capable of faithfully representing the pre-existing corpus of word-processing documents, spreadsheets and presentations that had been produced by the Microsoft Office applications (from Microsoft Office 97 to Microsoft Office 2008, inclusive) at the date of the creation of ISO/IEC 29500. It also specifies requirements for Office Open XML consumers and producers. On the other hand, the goal is to facilitate extensibility and interoperability by enabling implementations by multiple vendors and on multiple platforms. ISO/IEC 29500-1:2016 specifies concepts for documents and applications of both strict and transitional conformance.

Technologies de l'information — Description des documents et langages de traitement — Formats de fichier "Office Open XML" — Partie 1: Principes essentiels et référence de langage de balisage

General Information

Status
Published
Publication Date
25-Oct-2016
Current Stage
9092 - International Standard to be revised
Start Date
16-Sep-2022
Completion Date
30-Oct-2025
Ref Project

Relations

Standard
ISO/IEC 29500-1:2016 - Information technology — Document description and processing languages — Office Open XML File Formats — Part 1: Fundamentals and Markup Language Reference Released:10/26/2016
English language
5024 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 29500-1
Fourth edition
2016-11-01
Information technology — Document
description and processing
languages — Office Open XML File
Formats —
Part 1:
Fundamentals and Markup Language
Reference
Technologies de l’information — Description des documents et
langages de traitement — Formats de fichier “Office Open XML” —
Partie 1: Principes essentiels et référence de langage de balisage
Reference number
©
ISO/IEC 2016
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2016, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2016 – All rights reserved

Table of Contents
Foreword . viii
Introduction . x
1. Scope .1
2. Conformance .2
2.1 Document Conformance .2
2.2 Application Conformance .2
2.3 Application Descriptions .3
2.4 Interoperability Guidelines .5
3. Normative References .6
4. Terms and Definitions . 10
5. Notational Conventions . 13
6. Acronyms and Abbreviations . 14
7. General Description. 15
8. Overview . 16
8.1 Content Overview . 16
8.2 Packages and Parts . 16
8.3 Consumers and Producers . 16
8.4 WordprocessingML . 16
8.5 SpreadsheetML . 18
8.6 PresentationML. 18
8.7 Supporting MLs . 19
9. Packages . 21
9.1 Office Open XML's Use of OPC. 21
9.2 Relationships in Office Open XML . 22
10. Markup Compatibility and Extensibility . 27
11. WordprocessingML . 28
11.1 Glossary of WordprocessingML-Specific Terms . 28
11.2 Package Structure . 28
11.3 Part Summary . 31
11.4 Document Template . 57
11.5 Framesets . 58
11.6 Master Documents and Subdocuments . 59
11.7 Mail Merge Data Source . 60
11.8 Mail Merge Header Data Source . 61
11.9 XSL Transformation . 62
12. SpreadsheetML . 64
12.1 Glossary of SpreadsheetML-Specific Terms . 64
12.2 Package Structure . 65
©ISO/IEC 2016 – All rights reserved iii

12.3 Part Summary . 67
12.4 External Workbooks . 102
13. PresentationML . 103
13.1 Glossary of PresentationML-Specific Terms . 103
13.2 Package Structure . 103
13.3 Part Summary . 106
13.4 HTML Publish Location . 124
13.5 Slide Synchronization Server Location . 125
14. DrawingML . 127
14.1 Glossary of DrawingML-Specific Terms . 127
14.2 Part Summary . 127
15. Shared . 140
15.1 Glossary of Shared Terms . 140
15.2 Part Summary . 141
15.3 Hyperlinks . 162
16. Part Overview . 164
16.1 WordprocessingML Summary . 164
16.2 SpreadsheetML Summary . 164
16.3 PresentationML Summary . 165
16.4 DrawingML Summary . 166
16.5 Shared Summary . 166
17. WordprocessingML Reference Material . 169
17.1 Table of Contents . 169
17.2 Main Document Story. 189
17.3 Paragraphs and Rich Formatting . 195
17.4 Tables . 373
17.5 Custom Markup . 485
17.6 Sections. 547
17.7 Styles . 614
17.8 Fonts . 670
17.9 Numbering . 692
17.10 Headers and Footers . 734
17.11 Footnotes and Endnotes . 747
17.12 Glossary Document . 780
17.13 Annotations . 798
17.14 Mail Merge . 929
17.15 Settings . 970
17.16 Fields and Hyperlinks . 1158
17.17 Miscellaneous Topics . 1293
17.18 Simple Types . 1302
18. SpreadsheetML Reference Material . 1523
18.1 Table of Contents . 1523
18.2 Workbook . 1542
18.3 Worksheets . 1589
iv ©ISO/IEC 2016 – All rights reserved

18.4 Shared String Table . 1717
18.5 Tables . 1726
18.6 Calculation Chain . 1742
18.7 Comments . 1745
18.8 Styles . 1752
18.9 Metadata . 1801
18.10 Pivot Tables. 1815
18.11 Shared Workbook Data . 1959
18.12 QueryTable Data . 1988
18.13 External Data Connections . 1995
18.14 Supplementary Workbook Data . 2016
18.15 Volatile Dependencies . 2026
18.16 Custom XML Mappings . 2031
18.17 Formulas . 2039
18.18 Simple Types . 2434
19. PresentationML Reference Material . 2516
19.1 Table of Contents . 2516
19.2 Presentation . 2522
19.3 Slides . 2559
19.4 Comments . 2597
19.5 Animation . 2601
19.6 Slide Synchronization Data . 2690
19.7 Simple Types . 2691
20. DrawingML - Framework Reference Material . 2719
20.1 DrawingML - Main . 2719
20.2 DrawingML - Picture . 3087
20.3 DrawingML - Locked Canvas . 3095
20.4 DrawingML - WordprocessingML Drawing . 3096
20.5 DrawingML - SpreadsheetML Drawing . 3152
21. DrawingML - Components Reference Material . 3181
21.1 DrawingML - Main . 3181
21.2 DrawingML - Charts . 3361
21.3 DrawingML - Chart Drawings . 3469
21.4 DrawingML - Diagrams . 3490
22. Shared MLs Reference Material . 3599
22.1 Math . 3599
22.2 Extended Properties . 3720
22.3 Custom Properties . 3727
22.4 Variant Types . 3729
22.5 Custom XML Data Properties . 3740
22.6 Bibliography . 3743
22.7 Additional Characteristics . 3780
22.8 Office Document Relationships . 3784
22.9 Shared Simple Types . 3785
23. Custom XML Schema References . 3800
©ISO/IEC 2016 – All rights reserved v

23.1 Table of Contents . 3800
23.2 Elements . 3800
Annex A. (normative) Schemas – W3C XML Schema . 3805
A.1 WordprocessingML . 3805
A.2 SpreadsheetML . 3871
A.3 PresentationML. 3955
A.4 DrawingML - Framework . 3986
A.5 DrawingML - Components . 4054
A.6 Shared MLs. 4105
A.7 Custom XML Schema References . 4129
Annex B. (informative) Schemas – RELAX NG . 4131
B.1 WordprocessingML . 4132
B.2 SpreadsheetML . 4178
B.3 PresentationML. 4273
B.4 DrawingML - Framework . 4298
B.5 DrawingML - Components . 4350
B.6 Shared MLs. 4386
B.7 Custom XML Schema References . 4402
B.8 Additional Resources . 4403
Annex C. (informative) Additional Syntax Constraints . 4405
Annex D. (informative) Namespace Prefix Mapping in Examples . 4406
Annex E. (informative) WordprocessingML Custom XML Data Extraction . 4408
Annex F. (normative) WordprocessingML Page Borders . 4411
Annex G. (normative) Predefined SpreadsheetML Style Definitions . 4412
G.1 Built-in Table Styles . 4412
G.2 Built-in Cell Styles. 4468
G.3 Built-in PivotTable AutoFormats . 4472
Annex H. (informative) Example Predefined DrawingML Shape and Text Geometries . 4488
Annex I. (informative) Bidirectional Support . 4489
I.1 Introduction . 4489
I.2 Shared (WordprocessingML and DrawingML) . 4489
I.3 WordprocessingML . 4491
I.4 SpreadsheetML . 4494
I.5 PresentationML. 4495
I.6 DrawingML . 4495
I.7 The Unicode Bidirectional Algorithm and Office Open XML . 4495
Annex J. (informative) Accessibility Best Practices . 4499
J.1 The Value of Creating an Accessible Office Open XML Implementation . 4499
J.2 Needs by Type of Disability . 4500
J.3 Best Practices for Developers . 4503
J.4 Best Practices for Document and Template Authors . 4506
J.5 Best Practices for Customers of Office Open XML Implementations . 4519
vi ©ISO/IEC 2016 – All rights reserved

Annex K. (informative) Root Element Locations . 4532
K.1 Grouped by Part Name . 4532
K.2 Grouped by Schema Name . 4534
Annex L. (informative) Primer . 4538
L.1 Introduction to WordprocessingML . 4538
L.2 Introduction to SpreadsheetML. 4630
L.3 Introduction to PresentationML . 4769
L.4 Introduction to DrawingML . 4801
L.5 Introduction to VML. 4960
L.6 Introduction to Shared MLs . 4974
L.7 Miscellaneous Topics . 5005
Annex M. (informative) Differences Between ISO/IEC 29500 and ECMA-376:2006 . 5016
M.1 WordprocessingML . 5016
M.2 SpreadsheetML . 5019
M.3 PresentationML. 5020
M.4 DrawingML . 5021
M.5 VML . 5022
M.6 Shared . 5022
M.7 Custom XML Schema References . 5023
Bibliography . 5024

©ISO/IEC 2016 – All rights reserved vii

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)
form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC
participate in the development of International Standards through technical committees established by the
respective organization to deal with particular fields of technical activity. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental,
in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have
established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75% of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 29500-1 was prepared by ISO/IEC JTC 1, Information technology, Subcommittee SC 34, Document
description and processing languages.
This fourth edition cancels and replaces the third edition (ISO/IEC 29500-1:2012), which has been technically
revised by incorporation of the Technical Corrigenda ISO/IEC 29500-1:2012/Cor.1:2015 and ISO/IEC 29500-
1:2012/Cor.2:2016.
ISO/IEC 29500 consists of the following parts, under the general title Information technology — Document
description and processing languages — Office Open XML File Formats:
 Part 1: Fundamentals and Markup Language Reference
 Part 2: Open Packaging Conventions
 Part 3: Markup Compatibility and Extensibility
 Part 4: Transitional Migration Features
Annexes A, F and G form a normative part of this Part of ISO/IEC 29500. Annexes B–E and H–M are for
information only.
This Part of ISO/IEC 29500 includes five annexes (Annex A, Annex B, Annex F, Annex G, and Annex H) that refer
to data files provided in electronic form.
viii ©ISO/IEC 2016 – All rights reserved

The document representation formats defined by this Part are different from the formats defined in the
corresponding Part of ECMA-376:2006. Some of the differences are reflected in schema changes, as shown in
Annex M of this Part.
©ISO/IEC 2016 – All rights reserved ix

Introduction
ISO/IEC 29500 specifies a family of XML schemas, collectively called Office Open XML, which define the XML
vocabularies for word-processing, spreadsheet, and presentation documents, as well as the packaging of
documents that conform to these schemas.
The goal is to enable the implementation of the Office Open XML formats by the widest set of tools and
platforms, fostering interoperability across office productivity applications and line-of-business systems, as well
as to support and strengthen document archival and preservation, all in a way that is fully compatible with the
existing corpus of Microsoft Office documents.
x ©ISO/IEC 2016 – All rights reserved

INTERNATIONAL STANDARD ISO/IEC 29500-1:2016(E)

Information technology — Document description and
processing languages — Office Open XML File Formats
Part 1:
Fundamentals and Markup Language Reference

1. Scope
ISO/IEC 29500 defines a set of XML vocabularies for representing word-processing documents, spreadsheets and
presentations. On the one hand, the goal of ISO/IEC 29500 is to be capable of faithfully representing the pre-
existing corpus of word-processing documents, spreadsheets and presentations that had been produced by the
Microsoft Office applications (from Microsoft Office 97 to Microsoft Office 2008, inclusive) at the date of the
creation of ISO/IEC 29500. It also specifies requirements for Office Open XML consumers and producers. On the
other hand, the goal is to facilitate extensibility and interoperability by enabling implementations by multiple
vendors and on multiple platforms.
This Part of ISO/IEC 29500 specifies concepts for documents and applications of both strict and transitional
conformance.
©ISO/IEC 2016 – All rights reserved 1

2. Conformance
2.1 Document Conformance
A document of conformance class Office Open XML Strict shall be a package of conformance class OPC, as
specified in ISO/IEC 29500-2, for which all the following shall hold:
 The document obeys all constraints specified in this Part of ISO/IEC 29500
 The document is of category Wordprocessing, Spreadsheet, or Presentation, as defined in §4
 For each OPC Part of the document of the types listed in §11.3, §12.3, §13.3, §14.2 or §15.2, all the
following shall hold:
i. The Part may contain markup in the Markup Compatibility namespace as specified in
ISO/IEC 29500-3
ii. After the removal of any extensions by an MCE processor as specified in ISO/IEC 29500-3,
the part is valid against the strict W3C XML Schema (Appendix A)
This Part of ISO/IEC 29500 uses the following further terms to refer to documents of conformance class Office
Open XML Strict:
 WML Strict, if the document is of category Wordprocessing
 SML Strict, if the document is of category Spreadsheet
 PML Strict, if the document is of category Presentation
2.2 Application Conformance
Application conformance incorporates both syntax and semantics:
 A conforming consumer shall not reject any conforming documents of at least one document
conformance class.
 A conforming producer shall be able to produce conforming documents of at least one document
conformance class.
 A conforming application shall treat the information in Office Open XML documents in a manner
consistent with the semantic definitions given in ISO/IEC 29500. An application's intended behavior
need not require that application to process all of the information in an Office Open XML document.
However, the information that it does process shall be processed in a manner that is consistent with the
semantic definitions given in ISO/IEC 29500.
[Note: This note illustrates the third bullet above. Conforming applications might serve various functions.
Examples include a viewer, an editor, and a back-end processor. Here is an illustration of how the third bullet
applies to each of those examples:
 If a conforming viewer supports a given feature, then when it displays information using that feature, it
respects the semantics of that feature as described in the Standard.
2 ©ISO/IEC 2016 – All rights reserved

 If a conforming editor supports a given feature, then when it provides its user with an interface for
manipulating information using that feature, it respects the semantics of that feature as described in the
Standard.
 If a conforming back-end processor supports a given feature, then when that processor transforms or
assembles information involving that feature, that processor respects the semantics of that feature as
described in the Standard.
end note]
This Part of ISO/IEC 29500 defines the following application conformance classes:
 WML Strict, if the application is a conforming application that is a consumer or producer of documents
having conformance class WML Strict.
 SML Strict, if the application is a conforming application that is a consumer or producer of documents
having conformance class SML Strict.
 PML Strict, if the application is a conforming application that is a consumer or producer of documents
having conformance class PML Strict.
Conformance can also involve the use of application descriptions; see §2.3 for details.
2.3 Application Descriptions
An application can be defined as conforming to zero or more application descriptions in a particular
conformance class.
The application descriptions defined within ISO/IEC 29500 are:
 Base
 Full
[Note: These application descriptions should not be taken as limiting the ability of an application provider to
create innovative applications. They are intended as a mechanism for labelling applications rather than for
restricting their capabilities. The intention is to promote interoperability between different applications that
share the same conformance class. Application descriptions are orthogonal to the conformance of the
documents produced by those applications. For example, a tool used for automated translation of documents
might have an application description of “Base” but will still produce fully conformant documents. end note]
The application descriptions are determined in terms of an application’s semantic understanding of particular
features. Semantic understanding is to be interpreted in that an application shall treat the information in Office
Open XML documents in a manner consistent with the semantic definitions given in ISO/IEC 29500.
Each application description is identified by a URI.
The application descriptions are defined in the following subclauses.
©ISO/IEC 2016 – All rights reserved 3

2.3.1 Base Application Description
Description URI: http://purl.oclc.org/ooxml/descriptions/base
An application conforming to this description has a semantic understanding of at least one feature within its
conformance class.
[Note: In addition, applications that include a user interface are strongly recommended to support all
accessibility features appropriate to that user interface. end note]
2.3.2 Full Application Description
Description URI: http://purl.oclc.org/ooxml/descriptions/full
An application conforming to this description has a semantic understanding of every feature within its
conformance class.
2.3.3 Additional Application Descriptions
It is expected that additional application descriptions will be defined within the maintenance process for ISO/IEC
29500. It is also expected that third parties might define their own application descriptions; for example to
inform their procurement decisions, or to deal with domains such as accessibility.
[Note: A possible application description would be a “standard” application description for a wordprocessing
application. This could be created by taking the intersection of the features available in common wordprocessing
applications such as Word 2000, OpenOffice 2, WordPerfect, and iWork Pages. In addition, it could define
formats such as specific image and video formats required to be supported to conform to the description.
Similar descriptions could be created for spreadsheet applications and presentation applications. Such a
description would promote interoperability between applications implementing OOXML. It would also promote
interoperability between applications implementing OOXML and applications implementing other document
formats such as ISO/IEC 26300. end note]
Application descriptions are not required to be strict subsets of each other. An application can simultaneously
conform to multiple application descriptions.
Any such newly created description shall enumerate the features that are required for conformance to it. Such a
description should provide a machine-processable schema, preferably using a standard such as ISO/IEC 19757.
[Note: If the application conforming to a description is a document consumer, it should be able to consume any
document that respects such a schema associated with the description. If the application is a document
producer, any document produced by that application should respect the schema of the description. end note]
Any such description should be identified using a URI, in a similar manner to the names used for application
descriptions within ISO/IEC 29500.
4 ©ISO/IEC 2016 – All rights reserved

[Note: For the convenience of users of the description, it is recommended that creators of a description should
make a human- or machine-readable form of that description available at a URL corresponding to the
description URI. end note]
2.3.4 Representation of Application Descriptions within Documents
An application description is related to applications, rather than to document conformance. Therefore, there is
no normative mechanism for representing an application description within a document.
[Note: It is recommended that implementers wishing to represent an application description within a document
use the standard metadata mechanism for Office Open XML. end note]
2.4 Interoperability Guidelines
[Guidance: The following interoperability guidelines incorporate semantics.
For the guidelines to be meaningful, a software application should be accompanied by documentation that
describes what subset of ISO/IEC 29500 it supports. The documentation should highlight any behaviors that
would, without that documentation, appear to violate the semantics of document XML elements. Together, the
application and documentation should satisfy the following conditions.
1. The application need not implement operations on all XML elements defined in ISO/IEC 29500.
However, if it does implement an operation on a given XML element, then that operation should use
semantics for that XML element that are consistent with ISO/IEC 29500.
2. If the application moves, adds, modifies, or removes XML element instances with the effect of altering
document semantics, it should declare the behavior in its documentation.
The following scenarios illustrate these guidelines.
 A presentation editor that interprets the preset shape geometry “rect” as an ellipse does not observe
the first guideline because it implements “rect” but with incorrect semantics.
 A batch spreadsheet processor that saves only computed values even if the originally consumed
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...