summaryrefslogtreecommitdiff
path: root/schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng
diff options
context:
space:
mode:
Diffstat (limited to 'schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng')
-rw-r--r--schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng224
1 files changed, 224 insertions, 0 deletions
diff --git a/schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng b/schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng
new file mode 100644
index 000000000000..af13a26c71ad
--- /dev/null
+++ b/schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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. 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.
+-->
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+
+ xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"
+>
+<start>
+ <choice>
+ <ref name="manifest"/>
+ </choice>
+</start>
+<define name="manifest">
+ <element name="manifest:manifest">
+ <ref name="manifest-attlist"/>
+ <oneOrMore>
+ <ref name="file-entry"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="manifest-attlist">
+ <attribute name="manifest:version">
+ <value>1.2</value>
+ </attribute>
+</define>
+<define name="file-entry">
+ <element name="manifest:file-entry">
+ <ref name="file-entry-attlist"/>
+ <optional>
+ <ref name="encryption-data"/>
+ </optional>
+ </element>
+</define>
+<define name="file-entry-attlist">
+ <interleave>
+ <attribute name="manifest:full-path">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="manifest:size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <attribute name="manifest:media-type">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="manifest:preferred-view-mode">
+ <choice>
+ <value>edit</value>
+ <value>presentation-slide-show</value>
+ <value>read-only</value>
+ <ref name="namespacedToken"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="manifest:version">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+</define>
+
+<define name="encryption-data">
+ <element name="manifest:encryption-data">
+ <ref name="encryption-data-attlist"/>
+ <ref name="algorithm"/>
+ <optional>
+ <ref name="start-key-generation"/>
+ </optional>
+ <ref name="key-derivation"/>
+ </element>
+</define>
+<define name="encryption-data-attlist">
+ <interleave>
+ <attribute name="manifest:checksum-type">
+ <choice>
+ <value>SHA1/1K</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <attribute name="manifest:checksum">
+ <ref name="base64Binary"/>
+ </attribute>
+ </interleave>
+</define>
+<define name="algorithm">
+ <element name="manifest:algorithm">
+ <ref name="algorithm-attlist"/>
+ <ref name="anyElements"/>
+ </element>
+</define>
+<define name="algorithm-attlist">
+ <interleave>
+ <attribute name="manifest:algorithm-name">
+ <choice>
+ <value>Blowfish CFB</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <attribute name="manifest:initialisation-vector">
+ <ref name="base64Binary"/>
+ </attribute>
+ </interleave>
+</define>
+<define name="anyAttListOrElements">
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ <ref name="anyElements"/>
+</define>
+<define name="anyElements">
+ <zeroOrMore>
+ <element>
+ <anyName/>
+ <mixed>
+ <ref name="anyAttListOrElements"/>
+ </mixed>
+ </element>
+ </zeroOrMore>
+</define>
+<define name="key-derivation">
+ <element name="manifest:key-derivation">
+ <ref name="key-derivation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="key-derivation-attlist">
+ <interleave>
+ <attribute name="manifest:key-derivation-name">
+ <choice>
+ <value>PBKDF2</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <attribute name="manifest:salt">
+ <ref name="base64Binary"/>
+ </attribute>
+ <attribute name="manifest:iteration-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <optional>
+ <attribute name="manifest:key-size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+</define>
+<define name="start-key-generation">
+ <element name="manifest:start-key-generation">
+ <ref name="start-key-generation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="start-key-generation-attlist">
+ <interleave>
+ <attribute name="manifest:start-key-generation-name">
+ <choice>
+ <value>SHA1</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="manifest:key-size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+</define>
+<define name="base64Binary">
+ <data type="base64Binary"/>
+</define>
+<define name="namespacedToken">
+ <data type="QName">
+ <param name="pattern">[^:]+:[^:]+</param>
+ </data>
+</define>
+<define name="nonNegativeInteger">
+ <data type="nonNegativeInteger"/>
+</define>
+<define name="string">
+ <data type="string"/>
+</define>
+<define name="anyURI">
+ <data type="anyURI"/>
+</define>
+</grammar>