12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # Open Document Format for Office Applications (OpenDocument) Version 1.2
- # OASIS Standard, 29 September 2011
- # Manifest Relax-NG Schema
- # Source: http://docs.oasis-open.org/office/v1.2/os/
- # Copyright (c) OASIS Open 2002-2011, 2013. All Rights Reserved.
- #
- # All capitalized terms in the following text have the meanings assigned to them
- # in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
- # full Policy may be found at the OASIS website.
- #
- # This document and translations of it may be copied and furnished to others, and
- # derivative works that comment on or otherwise explain it or assist in its
- # implementation may be prepared, copied, published, and distributed, in whole or
- # in part, without restriction of any kind, provided that the above copyright
- # notice and this section are included on all such copies and derivative works.
- # However, this document itself may not be modified in any way, including by
- # removing the copyright notice or references to OASIS, except as needed for the
- # purpose of developing any document or deliverable produced by an OASIS
- # Technical Committee (in which case the rules applicable to copyrights, as set
- # forth in the OASIS IPR Policy, must be followed) or as required to translate it
- # into languages other than English.
- #
- # The limited permissions granted above are perpetual and will not be revoked by
- # OASIS or its successors or assigns.
- #
- # This document and the information contained herein is provided on an "AS IS"
- # basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
- # LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
- # INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
- # FITNESS FOR A PARTICULAR PURPOSE.
- namespace manifest =
- "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"
- start = manifest
- manifest = element manifest:manifest { manifest-attlist, file-entry+ }
- manifest-attlist = attribute manifest:version { "1.2" }
- file-entry =
- element manifest:file-entry { file-entry-attlist, encryption-data? }
- file-entry-attlist =
- attribute manifest:full-path { \string }
- & attribute manifest:size { nonNegativeInteger }?
- & attribute manifest:media-type { \string }
- & attribute manifest:preferred-view-mode {
- "edit" | "presentation-slide-show" | "read-only" | namespacedToken
- }?
- & attribute manifest:version { \string }?
- encryption-data =
- element manifest:encryption-data {
- encryption-data-attlist,
- algorithm,
- start-key-generation?,
- key-derivation
- }
- encryption-data-attlist =
- attribute manifest:checksum-type { "SHA1/1K" | anyURI }
- & attribute manifest:checksum { base64Binary }
- algorithm =
- element manifest:algorithm { algorithm-attlist, anyElements }
- algorithm-attlist =
- attribute manifest:algorithm-name { "Blowfish CFB" | anyURI }
- & attribute manifest:initialisation-vector { base64Binary }
- anyAttListOrElements =
- attribute * { text }*,
- anyElements
- anyElements =
- element * {
- mixed { anyAttListOrElements }
- }*
- key-derivation =
- element manifest:key-derivation { key-derivation-attlist, empty }
- key-derivation-attlist =
- attribute manifest:key-derivation-name { "PBKDF2" | anyURI }
- & attribute manifest:salt { base64Binary }
- & attribute manifest:iteration-count { nonNegativeInteger }
- & attribute manifest:key-size { nonNegativeInteger }?
- start-key-generation =
- element manifest:start-key-generation {
- start-key-generation-attlist, empty
- }
- start-key-generation-attlist =
- attribute manifest:start-key-generation-name { "SHA1" | anyURI }
- & attribute manifest:key-size { nonNegativeInteger }?
- base64Binary = xsd:base64Binary
- namespacedToken = xsd:QName { pattern = "[^:]+:[^:]+" }
- nonNegativeInteger = xsd:nonNegativeInteger
- \string = xsd:string
- anyURI = xsd:anyURI
|