1 # Open Document Format for Office Applications (OpenDocument) Version 1.2
2 # Committee Specification (CS) 01, 17 March 2011
3 # Manifest Relax-NG Schema
5 # Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
7 # All capitalized terms in the following text have the meanings assigned to them
8 # in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
9 # full Policy may be found at the OASIS website.
11 # This document and translations of it may be copied and furnished to others, and
12 # derivative works that comment on or otherwise explain it or assist in its
13 # implementation may be prepared, copied, published, and distributed, in whole or
14 # in part, without restriction of any kind, provided that the above copyright
15 # notice and this section are included on all such copies and derivative works.
16 # However, this document itself may not be modified in any way, including by
17 # removing the copyright notice or references to OASIS, except as needed for the
18 # purpose of developing any document or deliverable produced by an OASIS
19 # Technical Committee (in which case the rules applicable to copyrights, as set
20 # forth in the OASIS IPR Policy, must be followed) or as required to translate it
21 # into languages other than English.
23 # The limited permissions granted above are perpetual and will not be revoked by
24 # OASIS or its successors or assigns.
26 # This document and the information contained herein is provided on an "AS IS"
27 # basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 # LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
29 # INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
30 # FITNESS FOR A PARTICULAR PURPOSE.
33 "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"
36 manifest = element manifest:manifest { manifest-attlist, file-entry+ }
37 manifest-attlist = attribute manifest:version { "1.2" }
39 element manifest:file-entry { file-entry-attlist, encryption-data? }
41 attribute manifest:full-path { \string }
42 & attribute manifest:size { nonNegativeInteger }?
43 & attribute manifest:media-type { \string }
44 & attribute manifest:preferred-view-mode {
45 "edit" | "presentation-slide-show" | "read-only" | namespacedToken
47 & attribute manifest:version { \string }?
49 element manifest:encryption-data {
50 encryption-data-attlist,
52 start-key-generation?,
55 encryption-data-attlist =
56 attribute manifest:checksum-type { "SHA1/1K" | anyURI }
57 & attribute manifest:checksum { base64Binary }
59 element manifest:algorithm { algorithm-attlist, anyElements }
61 attribute manifest:algorithm-name { "Blowfish CFB" | anyURI }
62 & attribute manifest:initialisation-vector { base64Binary }
63 anyAttListOrElements =
64 attribute * { text }*,
68 mixed { anyAttListOrElements }
71 element manifest:key-derivation { key-derivation-attlist, empty }
72 key-derivation-attlist =
73 attribute manifest:key-derivation-name { "PBKDF2" | anyURI }
74 & attribute manifest:salt { base64Binary }
75 & attribute manifest:iteration-count { nonNegativeInteger }
76 & attribute manifest:key-size { nonNegativeInteger }?
77 start-key-generation =
78 element manifest:start-key-generation {
79 start-key-generation-attlist, empty
81 start-key-generation-attlist =
82 attribute manifest:start-key-generation-name { "SHA1" | anyURI }
83 & attribute manifest:key-size { nonNegativeInteger }?
84 base64Binary = xsd:base64Binary
85 namespacedToken = xsd:QName { pattern = "[^:]+:[^:]+" }
86 nonNegativeInteger = xsd:nonNegativeInteger