Skip to content

Commit

Permalink
Re-organizing documents and schemas for formal stages
Browse files Browse the repository at this point in the history
The structure of /odf-tc/docs/odf1.4 has been re-organized to reflect the way that the OASIS document server stores documents in the formal stages.

The documents that the ODF TC has been working on up to this point, including the master tracked documents and Working Drafts 01 and 02 remain where there were previously, i.e. in folders 'part1-introduction' etc directly within 'odf-tc/docs/odf1.4'.

The documents for the formal approval stages will have their own folders within 'odf1.4', e.g. 'csd01', and the structure below that reflects the structure in which documents are expected to be held in the OASIS document server.

The latest drafts of Parts 1 through 4 in the formal stages are also available directly from the top-level folder 'odf-fc/docs/odf1.4', but with the stage identifier (e.g. 'csd01') removed from the filename in each case. This reflects current practice on the OASIS document server, as is documented in the front matter of each Part.
  • Loading branch information
franciscave committed Mar 7, 2024
1 parent 9360cdc commit 7e93b78
Show file tree
Hide file tree
Showing 13 changed files with 18,990 additions and 0 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
60 changes: 60 additions & 0 deletions docs/odf1.4/csd01/schemas/OpenDocument-v1.4-dsig-schema.rng
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Open Document Format for Office Applications (OpenDocument) Version 1.4
OASIS Standard
11 March 2024
Copyright (c) OASIS Open 2024. All Rights Reserved.
Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/
Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html
TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php
Open Document Format for Office Applications (OpenDocument) Version 1.4
Digital Signatures Relax-NG Schema
OpenDocument-v1.4-dsig-schema.rng
-->
<!-- https://issues.oasis-open.org/browse/OFFICE-2153 -->

<rng:grammar xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsig="urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<rng:start>
<rng:choice>
<rng:ref name="dsig-document-signatures"/>
</rng:choice>
</rng:start>
<rng:define name="ds-signature">
<rng:element name="ds:Signature">
<!-- The permitted content of this element is the permitted -->
<!-- content of the Signature element defined by W3C XML -->
<!-- Signature Syntax and Processing (Second Edition). -->
<!-- See OpenDocument v1.4 part 2, section 5.3. -->
<!-- Office-3874 -->
<rng:ref name="dsMarkup"/>
</rng:element>
</rng:define>
<rng:define name="dsMarkup">
<rng:zeroOrMore>
<rng:choice>
<rng:attribute>
<rng:anyName/>
</rng:attribute>
<rng:text/>
<rng:element>
<rng:anyName/>
<rng:ref name="dsMarkup"/>
</rng:element>
</rng:choice>
</rng:zeroOrMore>
</rng:define>
<rng:define name="dsig-document-signatures">
<rng:element name="dsig:document-signatures">
<rng:ref name="dsig-document-signatures-attlist"/>
<rng:oneOrMore>
<rng:ref name="ds-signature"/>
</rng:oneOrMore>
</rng:element>
</rng:define>
<rng:define name="dsig-document-signatures-attlist">
<rng:attribute name="dsig:version">
<rng:value>1.4</rng:value>
</rng:attribute>
</rng:define>
</rng:grammar>
237 changes: 237 additions & 0 deletions docs/odf1.4/csd01/schemas/OpenDocument-v1.4-manifest-schema.rng
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Open Document Format for Office Applications (OpenDocument) Version 1.4
OASIS Standard
11 March 2024
Copyright (c) OASIS Open 2024. All Rights Reserved.
Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/
Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html
TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php
Open Document Format for Office Applications (OpenDocument) Version 1.4
Manifest Relax-NG Schema
OpenDocument-v1.4-manifest-schema.rng
-->
<!-- https://issues.oasis-open.org/browse/OFFICE-2153 -->

<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">
<rng:start>
<rng:choice>
<rng:ref name="manifest"/>
</rng:choice>
</rng:start>
<rng:define name="algorithm">
<rng:element name="manifest:algorithm">
<rng:ref name="algorithm-attlist"/>
<rng:ref name="anyElements"/>
</rng:element>
</rng:define>
<rng:define name="algorithm-attlist">
<rng:interleave>
<rng:attribute name="manifest:algorithm-name">
<rng:choice>
<rng:value>Blowfish CFB</rng:value>
<rng:ref name="anyURI"/>
</rng:choice>
</rng:attribute>
<rng:attribute name="manifest:initialisation-vector">
<rng:ref name="base64Binary"/>
</rng:attribute>
</rng:interleave>
</rng:define>
<rng:define name="anyAttListOrElements">
<rng:zeroOrMore>
<rng:attribute>
<rng:anyName/>
<rng:text/>
</rng:attribute>
</rng:zeroOrMore>
<rng:ref name="anyElements"/>
</rng:define>
<rng:define name="anyElements">
<rng:zeroOrMore>
<rng:element>
<rng:anyName/>
<rng:mixed>
<rng:ref name="anyAttListOrElements"/>
</rng:mixed>
</rng:element>
</rng:zeroOrMore>
</rng:define>
<rng:define name="anyURI">
<rng:data type="anyURI"/>
</rng:define>
<rng:define name="base64Binary">
<rng:data type="base64Binary"/>
</rng:define>
<rng:define name="encrypted-key">
<rng:element name="manifest:encrypted-key">
<rng:optional>
<rng:element name="manifest:encryption-method">
<rng:attribute name="manifest:PGPAlgorithm">
<rng:ref name="anyURI"/>
</rng:attribute>
</rng:element>
</rng:optional>
<rng:element name="manifest:keyinfo">
<rng:element name="manifest:PGPData">
<rng:element name="manifest:PGPKeyID">
<rng:ref name="base64Binary"/>
</rng:element>
<rng:optional>
<rng:element name="manifest:PGPKeyPacket">
<rng:ref name="base64Binary"/>
</rng:element>
</rng:optional>
</rng:element>
</rng:element>
<rng:element name="manifest:CipherData">
<rng:element name="manifest:CipherValue">
<rng:ref name="base64Binary"/>
</rng:element>
</rng:element>
</rng:element>
</rng:define>
<rng:define name="encryption-data">
<rng:element name="manifest:encryption-data">
<rng:ref name="encryption-data-attlist"/>
<rng:ref name="algorithm"/>
<rng:optional>
<rng:ref name="start-key-generation"/>
</rng:optional>
<rng:ref name="key-derivation"/>
</rng:element>
</rng:define>
<rng:define name="encryption-data-attlist">
<rng:interleave>
<rng:attribute name="manifest:checksum-type">
<rng:choice>
<rng:value>SHA1/1K</rng:value>
<rng:ref name="anyURI"/>
</rng:choice>
</rng:attribute>
<rng:attribute name="manifest:checksum">
<rng:ref name="base64Binary"/>
</rng:attribute>
</rng:interleave>
</rng:define>
<rng:define name="file-entry">
<rng:element name="manifest:file-entry">
<rng:ref name="file-entry-attlist"/>
<rng:optional>
<rng:ref name="encryption-data"/>
</rng:optional>
</rng:element>
</rng:define>
<rng:define name="file-entry-attlist">
<rng:interleave>
<rng:attribute name="manifest:full-path">
<rng:ref name="string"/>
</rng:attribute>
<rng:optional>
<rng:attribute name="manifest:size">
<rng:ref name="nonNegativeInteger"/>
</rng:attribute>
</rng:optional>
<rng:attribute name="manifest:media-type">
<rng:ref name="string"/>
</rng:attribute>
<rng:optional>
<rng:attribute name="manifest:preferred-view-mode">
<rng:choice>
<rng:value>edit</rng:value>
<rng:value>presentation-slide-show</rng:value>
<rng:value>read-only</rng:value>
<rng:ref name="namespacedToken"/>
</rng:choice>
</rng:attribute>
</rng:optional>
<rng:optional>
<rng:attribute name="manifest:version">
<rng:ref name="string"/>
</rng:attribute>
</rng:optional>
</rng:interleave>
</rng:define>
<rng:define name="key-derivation">
<rng:element name="manifest:key-derivation">
<rng:ref name="key-derivation-attlist"/>
<rng:empty/>
</rng:element>
</rng:define>
<rng:define name="key-derivation-attlist">
<rng:choice>
<rng:attribute name="manifest:key-derivation-name">
<rng:value>PGP</rng:value>
</rng:attribute>
<rng:interleave>
<rng:attribute name="manifest:key-derivation-name">
<rng:choice>
<rng:value>PBKDF2</rng:value>
<rng:ref name="anyURI"/>
</rng:choice>
</rng:attribute>
<rng:attribute name="manifest:salt">
<rng:ref name="base64Binary"/>
</rng:attribute>
<rng:attribute name="manifest:iteration-count">
<rng:ref name="nonNegativeInteger"/>
</rng:attribute>
<rng:optional>
<rng:attribute name="manifest:key-size">
<rng:ref name="nonNegativeInteger"/>
</rng:attribute>
</rng:optional>
</rng:interleave>
</rng:choice>
</rng:define>
<rng:define name="manifest">
<rng:element name="manifest:manifest">
<rng:ref name="manifest-attlist"/>
<rng:zeroOrMore>
<rng:ref name="encrypted-key"/>
</rng:zeroOrMore>
<!-- https://issues.oasis-open.org/browse/OFFICE-3940 -->
<rng:oneOrMore>
<rng:ref name="file-entry"/>
</rng:oneOrMore>
</rng:element>
</rng:define>
<rng:define name="manifest-attlist">
<rng:attribute name="manifest:version">
<rng:value>1.4</rng:value>
</rng:attribute>
</rng:define>
<rng:define name="namespacedToken">
<rng:data type="QName">
<rng:param name="pattern">[^:]+:[^:]+</rng:param>
</rng:data>
</rng:define>
<rng:define name="nonNegativeInteger">
<rng:data type="nonNegativeInteger"/>
</rng:define>
<rng:define name="start-key-generation">
<rng:element name="manifest:start-key-generation">
<rng:ref name="start-key-generation-attlist"/>
<rng:empty/>
</rng:element>
</rng:define>
<rng:define name="start-key-generation-attlist">
<rng:interleave>
<rng:attribute name="manifest:start-key-generation-name">
<rng:choice>
<rng:value>SHA1</rng:value>
<rng:ref name="anyURI"/>
</rng:choice>
</rng:attribute>
<rng:optional>
<rng:attribute name="manifest:key-size">
<rng:ref name="nonNegativeInteger"/>
</rng:attribute>
</rng:optional>
</rng:interleave>
</rng:define>
<rng:define name="string">
<rng:data type="string"/>
</rng:define>
</rng:grammar>
62 changes: 62 additions & 0 deletions docs/odf1.4/csd01/schemas/OpenDocument-v1.4-metadata.owl
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Open Document Format for Office Applications (OpenDocument) Version 1.4
OASIS Standard
11 March 2024
Copyright (c) OASIS Open 2024. All Rights Reserved.
Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/
Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html
TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php
Open Document Format for Office Applications (OpenDocument) Version 1.4
OWL Schema Metadata Manifest Description
OpenDocument-v1.4-metadata.owl
-->

<!-- https://issues.oasis-open.org/browse/OFFICE-2153 -->

<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:odf="http://docs.oasis-open.org/ns/office/1.2/meta/odf#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:pkg="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/01/rdf-schema#">

<owl:Ontology rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#">
<owl:imports rdf:resource="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-package-metadata.owl"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<dc:title xml:lang="en">Open Document Schema Metadata Manifest Ontology</dc:title>
<label xml:lang="en">ODF Schema Metadata Manifest</label>
</owl:Ontology>

<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#ContentFile">
<label xml:lang="en">The OpenDocument Content File</label>
<comment xml:lang="en">The unique content.xml from the root path of the document</comment>
<subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
</owl:Class>

<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#StylesFile">
<label xml:lang="en">The OpenDocument Styles File</label>
<comment xml:lang="en">The unique styles.xml from the root path of the document</comment>
<subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
</owl:Class>

<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element">
<label xml:lang="en">OpenDocument Package ODF XML Element</label>
<subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Element"/>
</owl:Class>

<owl:Class rdf:about="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field">
<label xml:lang="en">OpenDocument Meta field Element</label>
<subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element"/>
</owl:Class>

<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#prefix">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<domain rdf:resource="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field"/>
<range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
<label xml:lang="en">has prefix</label>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#suffix">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<domain rdf:resource="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field"/>
<range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
<label xml:lang="en">has suffix</label>
</owl:DatatypeProperty>
</rdf:RDF>
Loading

0 comments on commit 7e93b78

Please sign in to comment.