1 <?xml version=
"1.0" encoding=
"UTF-8"?>
3 Open Document Format for Office Applications (OpenDocument) Version 1.3
4 Committee Specification 01
6 Copyright (c) OASIS Open 2019. All Rights Reserved.
7 Source: https://docs.oasis-open.org/office/OpenDocument/v1.3/cs01/schemas/
8 Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.3/OpenDocument-v1.3-part1-introduction.html
9 TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php
12 Open Document Format for Office Applications (OpenDocument) Version 1.3
13 OASIS Standard in progress
14 Manifest Relax-NG Schema
16 Copyright © OASIS Open [2002-2018]. All Rights Reserved.
17 Distributed under the terms of the OASIS IPR Policy, [http://www.oasis-open.org/policies-guidelines/ipr],
18 AS-IS, WITHOUT ANY IMPLIED OR EXPRESS WARRANTY; there is no warranty of MERCHANTABILITY,
19 FITNESS FOR A PARTICULAR PURPOSE or NONINFRINGEMENT of the rights of others.
22 <!-- https://issues.oasis-open.org/browse/OFFICE-2153 -->
24 <rng:grammar xmlns:
manifest=
"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" xmlns:
rng=
"http://relaxng.org/ns/structure/1.0" datatypeLibrary=
"http://www.w3.org/2001/XMLSchema-datatypes">
27 <rng:ref name=
"manifest"/>
30 <rng:define name=
"algorithm">
31 <rng:element name=
"manifest:algorithm">
32 <rng:ref name=
"algorithm-attlist"/>
33 <rng:ref name=
"anyElements"/>
36 <rng:define name=
"algorithm-attlist">
38 <rng:attribute name=
"manifest:algorithm-name">
40 <rng:value>Blowfish CFB
</rng:value>
41 <rng:ref name=
"anyURI"/>
44 <rng:attribute name=
"manifest:initialisation-vector">
45 <rng:ref name=
"base64Binary"/>
49 <rng:define name=
"anyAttListOrElements">
56 <rng:ref name=
"anyElements"/>
58 <rng:define name=
"anyElements">
63 <rng:ref name=
"anyAttListOrElements"/>
68 <rng:define name=
"anyURI">
69 <rng:data type=
"anyURI"/>
71 <rng:define name=
"base64Binary">
72 <rng:data type=
"base64Binary"/>
74 <rng:define name=
"encrypted-key">
75 <rng:element name=
"manifest:encrypted-key">
77 <rng:element name=
"manifest:encryption-method">
78 <rng:attribute name=
"manifest:PGPAlgorithm">
79 <rng:ref name=
"anyURI"/>
83 <rng:element name=
"manifest:keyinfo">
84 <rng:element name=
"manifest:PGPData">
85 <rng:element name=
"manifest:PGPKeyID">
86 <rng:ref name=
"base64Binary"/>
89 <rng:element name=
"manifest:PGPKeyPacket">
90 <rng:ref name=
"base64Binary"/>
95 <rng:element name=
"manifest:CipherData">
96 <rng:element name=
"manifest:CipherValue">
97 <rng:ref name=
"base64Binary"/>
102 <rng:define name=
"encryption-data">
103 <rng:element name=
"manifest:encryption-data">
104 <rng:ref name=
"encryption-data-attlist"/>
105 <rng:ref name=
"algorithm"/>
107 <rng:ref name=
"start-key-generation"/>
109 <rng:ref name=
"key-derivation"/>
112 <rng:define name=
"encryption-data-attlist">
114 <rng:attribute name=
"manifest:checksum-type">
116 <rng:value>SHA1/
1K
</rng:value>
117 <rng:ref name=
"anyURI"/>
120 <rng:attribute name=
"manifest:checksum">
121 <rng:ref name=
"base64Binary"/>
125 <rng:define name=
"file-entry">
126 <rng:element name=
"manifest:file-entry">
127 <rng:ref name=
"file-entry-attlist"/>
129 <rng:ref name=
"encryption-data"/>
133 <rng:define name=
"file-entry-attlist">
135 <rng:attribute name=
"manifest:full-path">
136 <rng:ref name=
"string"/>
139 <rng:attribute name=
"manifest:size">
140 <rng:ref name=
"nonNegativeInteger"/>
143 <rng:attribute name=
"manifest:media-type">
144 <rng:ref name=
"string"/>
147 <rng:attribute name=
"manifest:preferred-view-mode">
149 <rng:value>edit
</rng:value>
150 <rng:value>presentation-slide-show
</rng:value>
151 <rng:value>read-only
</rng:value>
152 <rng:ref name=
"namespacedToken"/>
157 <rng:attribute name=
"manifest:version">
158 <rng:ref name=
"string"/>
163 <rng:define name=
"key-derivation">
164 <rng:element name=
"manifest:key-derivation">
165 <rng:ref name=
"key-derivation-attlist"/>
169 <rng:define name=
"key-derivation-attlist">
171 <rng:attribute name=
"manifest:key-derivation-name">
172 <rng:value>PGP
</rng:value>
175 <rng:attribute name=
"manifest:key-derivation-name">
177 <rng:value>PBKDF2
</rng:value>
178 <rng:ref name=
"anyURI"/>
181 <rng:attribute name=
"manifest:salt">
182 <rng:ref name=
"base64Binary"/>
184 <rng:attribute name=
"manifest:iteration-count">
185 <rng:ref name=
"nonNegativeInteger"/>
188 <rng:attribute name=
"manifest:key-size">
189 <rng:ref name=
"nonNegativeInteger"/>
195 <rng:define name=
"manifest">
196 <rng:element name=
"manifest:manifest">
197 <rng:ref name=
"manifest-attlist"/>
199 <rng:ref name=
"encrypted-key"/>
201 <!-- https://issues.oasis-open.org/browse/OFFICE-3940 -->
203 <rng:ref name=
"file-entry"/>
207 <rng:define name=
"manifest-attlist">
208 <rng:attribute name=
"manifest:version">
209 <rng:value>1.3</rng:value>
212 <rng:define name=
"namespacedToken">
213 <rng:data type=
"QName">
214 <rng:param name=
"pattern">[^:]+:[^:]+
</rng:param>
217 <rng:define name=
"nonNegativeInteger">
218 <rng:data type=
"nonNegativeInteger"/>
220 <rng:define name=
"start-key-generation">
221 <rng:element name=
"manifest:start-key-generation">
222 <rng:ref name=
"start-key-generation-attlist"/>
226 <rng:define name=
"start-key-generation-attlist">
228 <rng:attribute name=
"manifest:start-key-generation-name">
230 <rng:value>SHA1
</rng:value>
231 <rng:ref name=
"anyURI"/>
235 <rng:attribute name=
"manifest:key-size">
236 <rng:ref name=
"nonNegativeInteger"/>
241 <rng:define name=
"string">
242 <rng:data type=
"string"/>