<?xml version="1.0" encoding="UTF-8"?> <!-- OASIS OpenDocument v1.0 OASIS standard, 1 May 2005 Relax-NG Manifest Schema $Id$ © 2002-2005 OASIS Open © 1999-2005 Sun Microsystems, Inc. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"> <xs:element name="manifest"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="manifest:file-entry"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="file-entry"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="manifest:encryption-data"/> </xs:sequence> <xs:attributeGroup ref="manifest:file-entry-attlist"/> </xs:complexType> </xs:element> <xs:attributeGroup name="file-entry-attlist"> <xs:attribute name="full-path" use="required" form="qualified" type="xs:string"/> <xs:attribute name="size" form="qualified" type="xs:nonNegativeInteger"/> <xs:attribute name="media-type" use="required" form="qualified" type="xs:string"/> </xs:attributeGroup> <xs:element name="encryption-data"> <xs:complexType> <xs:sequence> <xs:element ref="manifest:algorithm"/> <xs:element ref="manifest:key-derivation"/> </xs:sequence> <xs:attributeGroup ref="manifest:encryption-data-attlist"/> </xs:complexType> </xs:element> <xs:attributeGroup name="encryption-data-attlist"> <xs:attribute name="checksum-type" use="required" form="qualified" type="xs:string"/> <xs:attribute name="checksum" use="required" form="qualified" type="xs:base64Binary"/> </xs:attributeGroup> <xs:element name="algorithm"> <xs:complexType> <xs:attributeGroup ref="manifest:algorithm-attlist"/> </xs:complexType> </xs:element> <xs:attributeGroup name="algorithm-attlist"> <xs:attribute name="algorithm-name" use="required" form="qualified" type="xs:string"/> <xs:attribute name="initialisation-vector" use="required" form="qualified" type="xs:base64Binary"/> </xs:attributeGroup> <xs:element name="key-derivation"> <xs:complexType> <xs:attributeGroup ref="manifest:key-derivation-attlist"/> </xs:complexType> </xs:element> <xs:attributeGroup name="key-derivation-attlist"> <xs:attribute name="key-derivation-name" use="required" form="qualified" type="xs:string"/> <xs:attribute name="salt" use="required" form="qualified" type="xs:base64Binary"/> <xs:attribute name="iteration-count" use="required" form="qualified" type="xs:nonNegativeInteger"/> </xs:attributeGroup> </xs:schema>