blob: a7da94f050110249df6560fb1f64d90f39b87877 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more info.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><base href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html" /><title xml:lang="en-US">OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 3: Packages</title><meta name="DCTERMS.title" content="OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 3: Packages" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.issued" content="2003-02-05T12:39:40" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.contributor" content="Paul Knight"/><meta name="DCTERMS.modified" content="2011-06-09T14:03:41.90" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="Printed by &#34;Daniel Vogelheim&#34;[dc:publisher] on &#34;2004-09-17T15:13:31&#34;[dc:date] in &#34;en-US&#34;[dc:language]" xml:lang="en-US"/><meta name="DCTERMS.subject" content=", OASIS, OpenDocument, ODF" xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><style type="text/css">
@page { }
table { border-collapse:collapse; border-spacing:0; empty-cells:show }
td, th { vertical-align:top; font-size:12pt;}
h1, h2, h3, h4, h5, h6 { clear:both }
ol, ul { margin:0; padding:0;}
li { list-style: none; margin:0; padding:0;}
<!-- "li span.odfLiEnd" - IE 7 issue-->
li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
span.footnodeNumber { padding-right:1em; }
span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
* { margin:0;}
.fr1 { font-size:12pt; text-align:right; vertical-align:top; writing-mode:lr-tb; margin-left:0.1965in; margin-right:0in; }
.fr2 { font-size:12pt; text-align:left; vertical-align:top; writing-mode:lr-tb; }
.fr3 { font-size:12pt; vertical-align:middle; writing-mode:lr-tb; margin-left:0in; margin-right:0in; margin-top:0in; margin-bottom:0in; padding:0in; border-style:none; }
.Appendix_20_Heading_borderStart { border-style:none; border-left-style:none; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; color:#333399; font-size:18pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1945in; padding:0in; padding-left:0in; padding-right:0in; padding-top:0.0835in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.1945in; border-bottom-style:none; }
.Appendix_20_Heading { border-style:none; border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; padding-left:0in; padding-right:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.1945in; padding-top:0.1945in; border-top-style:none; border-bottom-style:none; }
.Appendix_20_Heading_borderEnd { border-style:none; border-bottom-style:none; border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; margin-bottom:0.1945in; margin-left:0in; margin-right:0in; padding:0in; padding-bottom:0in; padding-left:0in; padding-right:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1945in; border-top-style:none;}
.Appendix_20_Heading_20_1_borderStart { border-style:none; border-left-style:none; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; color:#333399; font-size:18pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1945in; padding:0in; padding-left:0in; padding-right:0in; padding-top:0.0835in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.1945in; border-bottom-style:none; }
.Appendix_20_Heading_20_1 { border-style:none; border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; padding-left:0in; padding-right:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.1945in; padding-top:0.1945in; border-top-style:none; border-bottom-style:none; }
.Appendix_20_Heading_20_1_borderEnd { border-style:none; border-bottom-style:none; border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; margin-bottom:0.1945in; margin-left:0in; margin-right:0in; padding:0in; padding-bottom:0in; padding-left:0in; padding-right:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1945in; border-top-style:none;}
.Appendix_20_Heading_20_2_borderStart { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1665in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; border-bottom-style:none; }
.Appendix_20_Heading_20_2 { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.Appendix_20_Heading_20_2_borderEnd { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-bottom:0.0835in; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.Attribute_20_List_borderStart { font-size:10pt; margin-top:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; border-bottom-style:none; }
.Attribute_20_List { font-size:10pt; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.Attribute_20_List_borderEnd { font-size:10pt; margin-bottom:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-top:0.0555in; border-top-style:none;}
.Attribute_20_List2_borderStart { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-top:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; padding-bottom:0.0555in; border-bottom-style:none; }
.Attribute_20_List2 { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; padding:0.0201in; font-family:Arial; writing-mode:page; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.Attribute_20_List2_borderEnd { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-bottom:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; padding-top:0.0555in; border-top-style:none;}
.Attribute_20_Value_20_List_borderStart { font-size:10pt; margin-top:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; border-bottom-style:none; }
.Attribute_20_Value_20_List { font-size:10pt; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.Attribute_20_Value_20_List_borderEnd { font-size:10pt; margin-bottom:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-top:0.0555in; border-top-style:none;}
.Bibliography_20_1 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; margin-left:0in; margin-right:0in; text-indent:0in; }
.Child_20_Element_20_List_borderStart { font-size:10pt; margin-top:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; border-bottom-style:none; }
.Child_20_Element_20_List { font-size:10pt; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.Child_20_Element_20_List_borderEnd { font-size:10pt; margin-bottom:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-top:0.0555in; border-top-style:none;}
.Child_20_Element_20_List2_borderStart { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-top:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; padding-bottom:0.0555in; border-bottom-style:none; }
.Child_20_Element_20_List2 { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; padding:0.0201in; font-family:Arial; writing-mode:page; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.Child_20_Element_20_List2_borderEnd { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-bottom:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; padding-top:0.0555in; border-top-style:none;}
.Contents_20_1 { font-size:10pt; margin-bottom:0.0417in; margin-top:0.0417in; font-family:Arial; writing-mode:page; }
.Contents_20_10 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; margin-left:1.7689in; margin-right:0in; text-indent:0in; }
.Contents_20_2 { font-size:10pt; margin-bottom:0.0417in; margin-top:0.0417in; font-family:Arial; writing-mode:page; margin-left:0.1665in; margin-right:0in; text-indent:0.0008in; }
.Contents_20_3 { font-size:10pt; margin-bottom:0.0417in; margin-top:0.0417in; font-family:Arial; writing-mode:page; margin-left:0.3335in; margin-right:0in; text-indent:0.0008in; }
.Contents_20_4 { font-size:9pt; margin-bottom:0.0417in; margin-left:0.5in; margin-right:0in; margin-top:0.0417in; text-indent:0.0008in; font-family:Arial; writing-mode:page; }
.Contents_20_5 { font-size:9pt; margin-bottom:0.0417in; margin-left:0.6665in; margin-right:0in; margin-top:0.0417in; text-indent:0.0008in; font-family:Arial; writing-mode:page; }
.Contents_20_6 { font-size:9pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; margin-left:0.8335in; margin-right:0in; text-indent:0.0008in; }
.Contents_20_7 { font-size:10pt; margin-bottom:0.0835in; margin-top:0in; font-family:Arial; writing-mode:page; margin-left:1in; margin-right:0in; text-indent:0.0008in; }
.Contents_20_8 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; margin-left:1.3756in; margin-right:0in; text-indent:0in; }
.Contents_20_9 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; margin-left:1.572in; margin-right:0in; text-indent:0in; }
.Contents_20_Heading_borderStart { border-style:none; color:#000099; font-size:16pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1665in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; border-bottom-style:none; }
.Contents_20_Heading { border-style:none; color:#000099; font-size:16pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.Contents_20_Heading_borderEnd { border-style:none; color:#000099; font-size:16pt; font-weight:bold; margin-bottom:0.0835in; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.Contributor { color:#000000; font-size:10pt; font-weight:normal; margin-bottom:0in; margin-left:0.5in; margin-right:0in; margin-top:0in; text-indent:0.0008in; font-family:Arial; writing-mode:page; }
.Figure { font-size:10pt; font-style:italic; margin-bottom:0.0835in; margin-top:0.0835in; text-align:center ! important; font-family:Arial; writing-mode:page; }
.Heading_20_1_borderStart { border-style:none; color:#000099; font-size:18pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.3335in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-left:0in; padding-right:0in; padding-top:0.0835in; border-left-style:none; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; padding-bottom:0.0835in; border-bottom-style:none; }
.Heading_20_1 { border-style:none; color:#000099; font-size:18pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-left:0in; padding-right:0in; border-left-style:none; border-right-style:none; padding-bottom:0.0835in; padding-top:0.3335in; border-top-style:none; border-bottom-style:none; }
.Heading_20_1_borderEnd { border-style:none; color:#000099; font-size:18pt; font-weight:bold; margin-bottom:0.0835in; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-left:0in; padding-right:0in; padding-bottom:0in; border-left-style:none; border-right-style:none; border-bottom-style:none; padding-top:0.3335in; border-top-style:none;}
.Heading_20_2_borderStart { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1665in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; border-bottom-style:none; }
.Heading_20_2 { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.Heading_20_2_borderEnd { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-bottom:0.0835in; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.Heading_20_3_borderStart { border-style:none; color:#000099; font-size:13pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1665in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; border-bottom-style:none; }
.Heading_20_3 { border-style:none; color:#000099; font-size:13pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.Heading_20_3_borderEnd { border-style:none; color:#000099; font-size:13pt; font-weight:bold; margin-bottom:0.0835in; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.Heading_20_4_borderStart { border-style:none; color:#000099; font-size:12pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1665in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; border-bottom-style:none; }
.Heading_20_4 { border-style:none; color:#000099; font-size:12pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.Heading_20_4_borderEnd { border-style:none; color:#000099; font-size:12pt; font-weight:bold; margin-bottom:0.0835in; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.Legal_20_notice { color:#000000; font-size:10pt; font-weight:normal; margin-bottom:0.0547in; margin-left:0in; margin-right:0in; margin-top:0.0547in; text-indent:0.0008in; font-family:Arial; writing-mode:page; }
.Note { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P1 { font-size:10pt; margin-bottom:0.0598in; margin-top:0in; font-family:Arial; writing-mode:page; }
.P10 { font-size:10pt; margin-bottom:0.0417in; margin-top:0.0417in; font-family:Arial; writing-mode:page; }
.P11 { font-size:10pt; margin-bottom:0.0417in; margin-left:0.1665in; margin-right:0in; margin-top:0.0417in; text-indent:0.0008in; font-family:Arial; writing-mode:page; }
.P12 { color:#000000; font-size:10pt; font-weight:normal; margin-bottom:0.0555in; margin-left:0.5in; margin-right:0in; margin-top:0in; text-indent:0.0008in; font-family:Arial; writing-mode:page; }
.P13 { color:#000000; font-size:10pt; font-weight:bold; margin-bottom:0.0555in; margin-left:0.5in; margin-right:0in; margin-top:0in; text-indent:0.0008in; font-family:Arial; writing-mode:page; letter-spacing:normal; font-style:normal; }
.P14 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P15 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P16 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P17 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P18 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P19 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P2 { color:#333399; font-size:10pt; font-weight:bold; margin-bottom:0in; margin-top:0.0835in; font-family:Arial; writing-mode:page; }
.P20 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P21 { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.P22 { font-size:10pt; margin-bottom:0.0598in; margin-top:0in; font-family:Arial; writing-mode:page; }
.P23_borderStart { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-left:0in; margin-right:0in; margin-top:0.1665in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; border-bottom-style:none; }
.P23 { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-bottom:0.0835in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.P23_borderEnd { border-style:none; color:#000099; font-size:14pt; font-weight:bold; margin-bottom:0.0835in; margin-left:0in; margin-right:0in; padding:0in; text-indent:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.P3 { color:#333399; font-size:12pt; font-weight:bold; margin-bottom:0in; margin-top:0.0835in; font-family:Arial; writing-mode:page; }
.P4_borderStart { border-left-style:none; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; color:#333399; font-size:18pt; font-weight:bold; margin-top:0.1665in; padding-left:0in; padding-right:0in; padding-top:0.0138in; font-family:Arial; writing-mode:page; padding-bottom:0.25in; border-bottom-style:none; }
.P4 { border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; padding-left:0in; padding-right:0in; font-family:Arial; writing-mode:page; padding-bottom:0.25in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.P4_borderEnd { border-bottom-style:none; border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; margin-bottom:0.25in; padding-bottom:0in; padding-left:0in; padding-right:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.P5_borderStart { border-left-style:none; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; color:#333399; font-size:18pt; font-weight:bold; margin-top:0.1665in; padding-left:0in; padding-right:0in; padding-top:0.0138in; font-family:Arial; writing-mode:page; padding-bottom:0.25in; border-bottom-style:none; }
.P5 { border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; padding-left:0in; padding-right:0in; font-family:Arial; writing-mode:page; padding-bottom:0.25in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.P5_borderEnd { border-bottom-style:none; border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; margin-bottom:0.25in; padding-bottom:0in; padding-left:0in; padding-right:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.P6_borderStart { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-top:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; margin-left:0in; margin-right:0in; text-indent:0in; padding-bottom:0.0555in; border-bottom-style:none; }
.P6 { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; padding:0.0201in; font-family:Arial; writing-mode:page; margin-left:0in; margin-right:0in; text-indent:0in; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.P6_borderEnd { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-bottom:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; margin-left:0in; margin-right:0in; text-indent:0in; padding-top:0.0555in; border-top-style:none;}
.P7 { color:#000000; font-size:10pt; font-weight:normal; margin-bottom:0.0555in; margin-left:0.75in; margin-right:0in; margin-top:0in; text-indent:0in; font-family:Arial; writing-mode:page; }
.P8 { font-size:10pt; margin-bottom:0.0555in; margin-left:0in; margin-right:0in; margin-top:0.0555in; text-indent:0in; font-family:Arial; writing-mode:page; }
.P9 { font-size:10pt; margin-bottom:0.0417in; margin-left:0.3335in; margin-right:0in; margin-top:0.0417in; text-indent:0.0008in; font-family:Arial; writing-mode:page; }
.Parent_20_Element_20_List_borderStart { font-size:10pt; margin-top:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; border-bottom-style:none; }
.Parent_20_Element_20_List { font-size:10pt; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.Parent_20_Element_20_List_borderEnd { font-size:10pt; margin-bottom:0.0555in; font-family:Arial; writing-mode:page; background-color:#e6e6e6; padding:0.0201in; border-width:0.0133cm; border-style:solid; border-color:#000000; padding-top:0.0555in; border-top-style:none;}
.Parent_20_Element_20_List2_borderStart { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-top:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; padding-bottom:0.0555in; border-bottom-style:none; }
.Parent_20_Element_20_List2 { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; padding:0.0201in; font-family:Arial; writing-mode:page; padding-bottom:0.0555in; padding-top:0.0555in; border-top-style:none; border-bottom-style:none; }
.Parent_20_Element_20_List2_borderEnd { background-color:#e6e6e6; border-width:0.0133cm; border-style:solid; border-color:#000000; font-size:10pt; margin-bottom:0.0555in; padding:0.0201in; font-family:Arial; writing-mode:page; padding-top:0.0555in; border-top-style:none;}
.Subtitle_borderStart { border-left-style:none; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; color:#333399; font-size:18pt; font-weight:bold; margin-top:0.1665in; padding-left:0in; padding-right:0in; padding-top:0.0138in; font-family:Arial; writing-mode:page; padding-bottom:0.25in; border-bottom-style:none; }
.Subtitle { border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; padding-left:0in; padding-right:0in; font-family:Arial; writing-mode:page; padding-bottom:0.25in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.Subtitle_borderEnd { border-bottom-style:none; border-left-style:none; border-right-style:none; color:#333399; font-size:18pt; font-weight:bold; margin-bottom:0.25in; padding-bottom:0in; padding-left:0in; padding-right:0in; font-family:Arial; writing-mode:page; padding-top:0.1665in; border-top-style:none;}
.Table { font-size:10pt; font-style:italic; margin-bottom:0.0835in; margin-top:0.0835in; text-align:center ! important; font-family:Arial; writing-mode:page; }
.Table_20_Contents { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.Table_20_Heading { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; text-align:center ! important; font-style:italic; font-weight:bold; }
.Text_20_body { font-size:10pt; margin-bottom:0.0555in; margin-top:0.0555in; font-family:Arial; writing-mode:page; }
.Title_borderStart { font-size:24pt; margin-top:0.1665in; font-family:Arial; writing-mode:page; padding-left:0in; padding-right:0in; padding-top:0.0138in; border-left-style:none; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; color:#333399; font-weight:bold; padding-bottom:0.1665in; border-bottom-style:none; }
.Title { font-size:24pt; font-family:Arial; writing-mode:page; padding-left:0in; padding-right:0in; border-left-style:none; border-right-style:none; color:#333399; font-weight:bold; padding-bottom:0.1665in; padding-top:0.1665in; border-top-style:none; border-bottom-style:none; }
.Title_borderEnd { font-size:24pt; margin-bottom:0.1665in; font-family:Arial; writing-mode:page; padding-left:0in; padding-right:0in; padding-bottom:0in; border-left-style:none; border-right-style:none; border-bottom-style:none; color:#333399; font-weight:bold; padding-top:0.1665in; border-top-style:none;}
.Title_20_page_20_info { font-size:10pt; margin-bottom:0in; margin-top:0.0835in; font-family:Arial; writing-mode:page; color:#333399; font-weight:bold; }
.Title_20_page_20_info_20_description { color:#000000; font-size:10pt; font-weight:normal; margin-bottom:0.0555in; margin-top:0in; font-family:Arial; writing-mode:page; margin-left:0.5in; margin-right:0in; text-indent:0.0008in; }
.NamespaceTable { width:6in; float:none; }
.Table1 { width:6in; float:none; }
.Table2 { width:6in; float:none; }
.NamespaceTable_A1 { background-color:transparent; padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.NamespaceTable_A2 { background-color:transparent; padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.NamespaceTable_C1 { background-color:transparent; padding:0.0382in; border-width:0.0133cm; border-style:solid; border-color:#000000; }
.NamespaceTable_C2 { background-color:transparent; padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-width:0.0133cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.Table1_A1 { padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.Table1_A2 { padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.Table1_C1 { padding:0.0382in; border-width:0.0133cm; border-style:solid; border-color:#000000; }
.Table1_C2 { padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-width:0.0133cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.Table2_A1 { background-color:transparent; padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.Table2_A2 { background-color:transparent; padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.Table2_C1 { background-color:transparent; padding:0.0382in; border-width:0.0133cm; border-style:solid; border-color:#000000; }
.Table2_C2 { background-color:transparent; padding:0.0382in; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-width:0.0133cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; }
.NamespaceTable_A { width:0.8632in; }
.NamespaceTable_B { width:2.4382in; }
.NamespaceTable_C { width:2.6986in; }
.Table1_A { width:0.8646in; }
.Table1_B { width:2.4368in; }
.Table1_C { width:2.6986in; }
.Table2_A { width:0.8632in; }
.Table2_B { width:2.4382in; }
.Table2_C { width:2.6986in; }
.Alien_20_Attribute { font-family:Courier New; }
.Alien_20_Attribute_20_Value { font-family:Courier New; }
.Alien_20_Element { font-family:Courier New; background-color:transparent; }
.Attribute { font-family:Courier New; font-size:10pt; background-color:transparent; }
.Attribute_20_Value { font-family:Courier New; background-color:transparent; }
.Datatype { font-family:Courier New; }
.Def { font-style:italic; background-color:transparent; }
.Element { font-family:Courier New; background-color:transparent; font-size:NaNpt; }
.Emphasis { font-style:italic; background-color:transparent; }
.ISO_20_Keyword { background-color:transparent; }
.Note_20_Label { background-color:transparent; font-weight:bold; }
.OWL_20_Class { font-family:Courier New; }
.OWL_20_Property { font-family:Courier New; }
.Source_20_Text { font-family:Courier New; }
.Strong_20_Emphasis { font-weight:bold; background-color:transparent; }
.T1 { background-color:#ffffff; }
.T10 { font-family:Arial; background-color:#ffffff; }
.T11 { color:#000000; font-family:Arial; font-size:10pt; font-weight:normal; }
.T12 { text-decoration:underline; }
.T13 { color:#000000; font-family:Arial; letter-spacing:normal; font-style:normal; font-weight:normal; }
.T14 { color:#000000; font-family:Arial; letter-spacing:normal; font-style:normal; font-weight:normal; }
.T15 { color:#000000; font-family:Arial; letter-spacing:normal; font-style:italic; font-weight:normal; }
.T16 { color:#0000ff; font-family:Arial; letter-spacing:normal; font-style:normal; text-decoration:none ! important; font-weight:normal; }
.T2 { font-family:Arial; font-size:10pt; }
.T3 { font-family:Arial; font-size:10pt; background-color:#ffffff; }
.T4 { font-family:Courier New; background-color:transparent; }
.T5 { font-family:Arial; font-size:10pt; }
.T6 { font-family:Arial; font-size:10pt; }
.T8 { background-color:transparent; }
.T9 { font-family:Arial; }
<!-- ODF styles with no properties representable as CSS -->
.Sect1 .Definition .Numbering_20_Symbols .T7 { }
</style></head><body dir="ltr" style="max-width:8.5in;margin-top:1in; margin-bottom:0.4925in; margin-left:1.2492in; margin-right:1.2492in; "><div class="Legal_20_notice"><!--Next 'div' is a draw:frame.--><div style="height:0.628in;width:2.4075in; padding:0; " class="fr2" id="OASISLogo"><img style="height:1.5951cm;width:6.1151cm;" alt="" src="./Pictures/100000000000011C0000004AA64D38BB.gif"/></div></div><p class="Title_borderStart">Open Document Format for Office Applications (OpenDocument) Version 1.2</p><p class="Subtitle">Part 3: Packages</p><p class="Subtitle">OASIS Standard</p><p class="Subtitle_borderEnd">29 September 2011</p><p class="P3">Specification URIs:</p><p class="Title_20_page_20_info">This version:</p><p class="Title_20_page_20_info_20_description"><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.odt">http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.odt</a>   (Authoritative)<br/><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.pdf">http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.pdf</a> <br/><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html">http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html</a></p><p class="P2">Previous version:</p><p class="Title_20_page_20_info_20_description"><a href="http://docs.oasis-open.org/office/v1.2/csd06/OpenDocument-v1.2-csd06-part3.odt"><span class="T6">http://docs.oasis-open.org/office/v1.2/csd06/OpenDocument-v1.2-csd06-part3.odt</span></a><span class="T6">   (Authoritative)<br/></span><a href="http://docs.oasis-open.org/office/v1.2/csd06/OpenDocument-v1.2-csd06-part3.pdf"><span class="T6">http://docs.oasis-open.org/office/v1.2/csd06/OpenDocument-v1.2-csd06-part3.pdf</span></a><span class="T6"> <br/></span><a href="http://docs.oasis-open.org/office/v1.2/csd06/OpenDocument-v1.2-csd06-part3.html"><span class="T6">http://docs.oasis-open.org/office/v1.2/csd06/OpenDocument-v1.2-csd06-part3.html</span></a></p><p class="Title_20_page_20_info">Latest version:</p><p class="Title_20_page_20_info_20_description"><a href="http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.odt"><span class="T5">http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.odt</span></a><span class="T5"> (Authoritative)</span><a href="http://www.oasis-open.org/committees/office"><span class="T5"><br/></span></a><a href="http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.pdf"><span class="T5">http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.pdf</span></a><a href="http://www.oasis-open.org/committees/office"><span class="T5"><br/></span></a><a href="http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.html">http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.html</a></p><p class="Title_20_page_20_info">Technical Committee:</p><p class="Title_20_page_20_info_20_description"><a href="http://www.oasis-open.org/committees/office/">OASIS Open Document Format for Office Applications (OpenDocument) TC</a></p><p class="Title_20_page_20_info">Chairs:</p><p class="Title_20_page_20_info_20_description"><a href="mailto:robert_weir@us.ibm.com">Rob Weir</a>, <a href="http://www.ibm.com/">IBM</a><br/><a href="mailto:michael.brauer@oracle.com">Michael Brauer</a>, <a href="http://www.oracle.com/">Oracle Corporation</a></p><p class="Title_20_page_20_info">Editors:</p><p class="Contributor"><a href="mailto:patrick@durusau.net">Patrick Durusau</a></p><p class="Contributor"><a href="mailto:dennis.hamilton@acm.org">Dennis Hamilton</a></p><p class="Title_20_page_20_info_20_description"><a href="mailto:michael.brauer@oracle.com">Michael Brauer</a>, <a href="http://www.oracle.com/">Oracle Corporation</a></p><p class="Title_20_page_20_info"><a id="Related_Work"/>Related work:</p><p class="Title_20_page_20_info_20_description">This document is part of the <a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os.odt"><span class="T12">OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2</span></a> specification.</p><p class="Title_20_page_20_info_20_description">The OpenDocument v1.2 specification has these parts:</p><p class="P7"><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.odt">OpenDocument v1.2 part 1: OpenDocument Schema</a><br/><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part2.odt">OpenDocument v1.2 part 2: Recalculated Formula (OpenFormula) Format</a><br/><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.odt">OpenDocument v1.2 part 3: Packages (this part)</a></p><p class="Title_20_page_20_info_20_description">OpenDocument v1.2 part 3 defines these schemas and ontologies:</p><p class="P7"><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-manifest-schema.rng">OpenDocument v1.2 Manifest Schema</a><br/><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-dsig-schema.rng">OpenDocument v1.2 Digital Signature Schema</a><br/><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-package-metadata.owl">OpenDocument v1.2 Package Metadata Manifest Ontology</a></p><p class="Title_20_page_20_info">Declared XML namespaces:</p><p class="Title_20_page_20_info_20_description">urn:oasis:names:tc:opendocument:xmlns:manifest:1.0<br/>urn:oasis:names:tc:opendocument:xmlns:<a id="DDE_LINK11"/>digitalsignature:1.0<br/><a href="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#">http://docs.oasis-open.org/ns/office/1.2/meta/pkg#</a></p><p class="Title_20_page_20_info">Abstract:</p><p class="Title_20_page_20_info_20_description">This document is part of the Open Document Format for Office Applications (OpenDocument) Version 1.2 specification.</p><p class="Title_20_page_20_info_20_description">It defines a package format<span class="T11"> </span>for OpenDocument documents.</p><p class="Title_20_page_20_info">Status:</p><p class="P12">This document was last revised or approved by the OASIS Open Document Format for Office Applications (OpenDocument) TC on the above date. The level of approval is also listed above. Check the "Latest version" location noted above for possible later revisions of this document.</p><p class="Title_20_page_20_info_20_description"><span class="T13">Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “</span><a href="http://www.oasis-open.org/committees/comments/form.php?wg_abbrev=office"><span class="T16">Send A Comment</span></a><span class="T13">” button on the Technical Committee’s web page at </span><a href="http://www.oasis-open.org/committees/office/"><span class="T16">http://www.oasis-open.org/committees/office/</span></a><span class="T13">.</span></p><p class="Title_20_page_20_info_20_description"><span class="T13">For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (</span><a href="http://www.oasis-open.org/committees/office/ipr.php"><span class="T16">http://www.oasis-open.org/committees/office/ipr.php</span></a><span class="T13">).</span></p><p class="Title_20_page_20_info">Citation format:</p><p class="Title_20_page_20_info_20_description">When referencing this specification the following citation format should be used:</p><p class="P13">OpenDocument-v1.2-part3</p><p class="Title_20_page_20_info_20_description"><span class="T15">Open Document Format for Office Applications (</span><span class="T15">OpenDocument</span><span class="T15">) Version </span><span class="T15">1.2</span><span class="T15"/><span class="T15"> Part </span><span class="T15">3</span><span class="T15">: Packages. </span><span class="T14">29 September 2011. OASIS Standard.  </span><a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html">http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html</a></p><p class="P5">Notices</p><p class="Text_20_body">Copyright © OASIS Open 2002–2011. All Rights Reserved.</p><p class="Text_20_body">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 <a href="http://www.oasis-open.org/who/intellectualproperty.php">Policy</a> may be found at the OASIS website.</p><p class="Text_20_body">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.</p><p class="Text_20_body">The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.</p><p class="Text_20_body">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.</p><p class="Text_20_body">OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.</p><p class="Text_20_body">OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.</p><p class="Text_20_body">OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.</p><p class="Text_20_body">The names "OASIS", “OpenDocument”, “Open Document Format”, and “ODF” are trademarks of <a href="http://www.oasis-open.org/">OASIS</a>, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see <a href="http://www.oasis-open.org/who/trademark.php">http://www.oasis-open.org/who/trademark.php</a> for above guidance.</p><p class="P4">Table of Contents</p><table border="0" cellspacing="0" cellpadding="0" class="Sect1"><colgroup/><tr><td><p class="P10"><a href="#__RefHeading__752775_826425813">1 Introduction</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752777_826425813">1.1 Introduction</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752779_826425813">1.2 Terminology</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752781_826425813">1.3 Normative References</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752783_826425813">1.4 Non Normative References</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752785_826425813">1.5 Namespaces</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752787_826425813">2 Packages, Package Consumers and Package Producers</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__4812_1473967831">2.1 Introduction</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752789_826425813">2.2 Packages</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752791_826425813">2.2.1 OpenDocument Package</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752793_826425813">2.2.2 OpenDocument Extended Package</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752795_826425813">2.3 Producers</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752797_826425813">2.3.1 OpenDocument Package Producer</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752799_826425813">2.3.2 OpenDocument Package Extended Producer</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752801_826425813">2.4 OpenDocument Package Consumer</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752803_826425813">3 Packages</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752805_826425813">3.1 General</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752807_826425813">3.2 Manifest</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752809_826425813">3.3 MIME Media Type</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752811_826425813">3.4 Encryption</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752813_826425813">3.4.1 General</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752815_826425813">3.4.2 Encryption Process</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752817_826425813">3.5 Digital Signatures</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752819_826425813">3.6 Metadata</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752821_826425813">3.7 Usage of IRIs Within Packages</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752823_826425813">3.8 Preview Image</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752825_826425813">4 Manifest File</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752827_826425813">4.1 Introduction</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752829_826425813">4.2 &lt;manifest:manifest&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752831_826425813">4.3 &lt;manifest:file-entry&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752833_826425813">4.4 &lt;manifest:encryption-data&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752835_826425813">4.5 &lt;manifest:algorithm&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752837_826425813">4.6 &lt;manifest:start-key-generation&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752839_826425813">4.7 &lt;manifest:key-derivation&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752841_826425813">4.8 Manifest Attributes</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752843_826425813">4.8.1 manifest:algorithm-name</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752845_826425813">4.8.2 manifest:checksum</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752847_826425813">4.8.3 manifest:checksum-type</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752849_826425813">4.8.4 manifest:full-path</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752851_826425813">4.8.5 manifest:initialisation-vector</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752853_826425813">4.8.6 manifest:start-key-generation-name</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752855_826425813">4.8.7 manifest:key-size</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752857_826425813">4.8.8 manifest:iteration-count</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752859_826425813">4.8.9 manifest:key-derivation-name</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752861_826425813">4.8.10 manifest:media-type</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752863_826425813">4.8.11 manifest:preferred-view-mode</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752865_826425813">4.8.12 manifest:salt</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752867_826425813">4.8.13 manifest:size</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752869_826425813">4.8.14 manifest:version</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752871_826425813">5 Digital Signatures File</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752873_826425813">5.1 Introduction</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752875_826425813">5.2 &lt;dsig:document-signatures&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752877_826425813">5.3 &lt;ds:Signature&gt;</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752879_826425813">5.4 Digital Signatures Attributes</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752881_826425813">5.4.1 dsig:version</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752883_826425813">6 Metadata Manifest Files</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752885_826425813">6.1 General</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752887_826425813">6.2 pkg:Document</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752889_826425813">6.3 pkg:File</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752891_826425813">6.4 pkg:MetadataFile</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752893_826425813">6.5 pkg:Element</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752895_826425813">6.6 pkg:hasPart</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752897_826425813">6.7 pkg:mimeType</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752899_826425813">7 Datatypes</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752901_826425813">7.1 Introduction</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752903_826425813">7.2 W3C Schema Datatypes</a></p></td></tr><tr><td><p class="P11"><a href="#__RefHeading__752905_826425813">7.3 Other Datatypes</a></p></td></tr><tr><td><p class="P9"><a href="#__RefHeading__752907_826425813">7.3.1 namespacedToken</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752909_826425813">Appendix A. Schemas</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752911_826425813">A.1. OpenDocument Manifest Schema</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752913_826425813">A.2. OpenDocument Digital Signature Schema</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752915_826425813">Appendix B. OpenDocument Metadata Manifest Ontology</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752917_826425813">Appendix C. Zip File Structure (Non normative)</a></p></td></tr><tr><td><p class="P10"><a href="#__RefHeading__752919_826425813">Appendix D. Changes From “Open Document Format for Office Applications (OpenDocument) v1.1” (Non Normative)</a></p></td></tr></table><h1 class="Heading_20_1"><a id="a1Introduction"><span style="margin-right:0.127cm;">1</span></a><a id="__RefHeading__752775_826425813"/><a id="Introduction"/>Introduction</h1><h2 class="Heading_20_2"><a id="a1_1Introduction"><span style="margin-right:0.127cm;">1.1</span></a><a id="__RefHeading__752777_826425813"/>Introduction</h2><p class="Text_20_body">This document is part of the Open Document Format for Office Applications (OpenDocument) Version 1.2 specification. It defines a package format for OpenDocument documents.</p><h2 class="Heading_20_2"><a id="a1_2Terminology"><span style="margin-right:0.127cm;">1.2</span></a><a id="__RefHeading__752779_826425813"/>Terminology</h2><p class="Text_20_body">All text is normative unless otherwise labeled.</p><p class="Text_20_body">Text with a gray background color which is contained in boxes is informative. It lists the XML element-element and element-attribute relations for cross reference purposes.</p><p class="Text_20_body">Within the normative text of this specification, the terms “shall”, “shall not”, “should”, “should not”, “may” and “need not” are to be interpreted as described in Annex H of <a title="Rules for the structure and drafting of International Standards">[ISO/IEC Directives]</a>.</p><p class="Text_20_body">XML Element, attribute names, attribute value types, and attribute values appear in<span class="T2"> </span><span class="Source_20_Text">monospace</span> font.</p><h2 class="Heading_20_2"><a id="a1_3Normative_References"><span style="margin-right:0.127cm;">1.3</span></a><a id="__RefHeading__752781_826425813"/>Normative References</h2><p class="P8">[<span class="Strong_20_Emphasis">ISO/IEC Directives</span>]        ISO/IEC Directives, Part 2 (Fifth Edition) <span class="Emphasis">Rules for the structure and drafting of International Standards</span>, International Organization for Standardization and International Electrotechnical Commission, 2004</p><p class="P8">[<span class="Strong_20_Emphasis">OWL</span>]        Deborah L. McGuinness, Frank van Harmelen, <span class="Emphasis">OWL Web Ontology Language Overview</span>, <a href="http://www.w3.org/TR/2004/REC-owl-features-20040210/">http://www.w3.org/TR/2004/REC-owl-features-20040210/</a>, W3C, 2004.</p><p class="P8">[<span class="Strong_20_Emphasis">PNG</span>]        David Duce, <span class="Emphasis">Portable Network Graphics (PNG) Specification (Second Edition)</span>, <a href="http://www.w3.org/TR/2003/REC-PNG-20031110">http://www.w3.org/TR/2003/REC-PNG-20031110</a>, W3C, 2003.</p><p class="P8">[<span class="Strong_20_Emphasis">RDF-CONCEPTS</span>]        Graham Klyne, Jeremy J. Carroll, Brian McBride, <span class="Emphasis">Resource Description Framework (RDF): Concepts and Abstract Syntax</span>, <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/</a>, W3C, 2004.</p><p class="P8">[<span class="Strong_20_Emphasis">RDF-XML</span>]        Dave Beckett, Brian McBride, <span class="Emphasis">   RDF/XML Syntax Specification (Revised)</span>, <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/">http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/</a>, W3C, 2004.</p><p class="P8">[<span class="Strong_20_Emphasis">RFC2898</span>]        B. Kaliski, <span class="Emphasis">PKCS #5: Password-Based Cryptography Specification Version 2.0</span>, <a href="http://www.ietf.org/rfc/rfc2898.txt">http://www.ietf.org/rfc/rfc2898.txt</a>, IETF, 2000.</p><p class="P8">[<span class="Strong_20_Emphasis">RFC3174</span>]        D. Eastlake, 3rd, P. Jones, <span class="Emphasis">US Secure Hash Algorithm 1 (SHA1)</span>, <a href="http://www.ietf.org/rfc/rfc3174.txt">http://www.ietf.org/rfc/rfc3174.txt</a>, IETF, 2001.</p><p class="P8">[<span class="Strong_20_Emphasis">RFC3986</span>]        T. Berners-Lee, R. Fielding, L. Masinter, <span class="Emphasis">Uniform Resource Identifier (URI): Generic Syntax</span>, <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>, IETF, 2005.</p><p class="P8">[<span class="Strong_20_Emphasis">RFC3987</span>]        M. Duerst, M. Suignard, <span class="Emphasis">Internationalized Resource Identifiers (IRIs)</span>, <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a>, IETF, 2005.</p><p class="P8">[<span class="Strong_20_Emphasis">RFC4288</span>]        N. Freed, J. Klensin, <span class="Emphasis">Media Type Specifications and Registration Procedures</span>, <a href="http://www.ietf.org/rfc/rfc4288.txt">http://www.ietf.org/rfc/rfc4288.txt</a>, IETF, 2005.</p><p class="P8">[<span class="Strong_20_Emphasis">RNG</span>]        ISO/IEC 19757-2 <span class="Emphasis">Document Schema Definition Language (DSDL) -- Part 2: Regular-grammar-based validation -- RELAX NG</span>, International Organization for Standardization and International Electrotechnical Commission, 2003</p><p class="P8">[<span class="Strong_20_Emphasis">Schneier</span>]        Bruce Schneier, Applied Cryptography (Second Edition), John Wiley &amp; Sons, ISBN: 0-471-11709-9, 1996</p><p class="P8">[<span class="Strong_20_Emphasis">XAdES</span>]        XML Advanced Electronic Signatures (XAdES) (ETSI TS 101 903 v1.4.1 June 2009), ETSI, 650 Route des Lucioles, F-06921 Sophia Antipolis Cedex, FRANCE, <a href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064</a>, 2009.</p><p class="P8">[<span class="Strong_20_Emphasis">XML-ID</span>]        Jonathan Marsh, Daniel Veillard, Norman Walsh, <span class="Emphasis">xml:id Version 1.0</span>, <a href="http://www.w3.org/TR/2005/REC-xml-id-20050909/">http://www.w3.org/TR/2005/REC-xml-id-20050909/</a>, W3C, 2005.</p><p class="P8">[<span class="Strong_20_Emphasis">xml-names</span>]        Tim Bray et al., <span class="Emphasis">Namespaces in XML 1.0 (Second Edition)</span>, <a href="http://www.w3.org/TR/2006/REC-xml-names-20060816">http://www.w3.org/TR/2006/REC-xml-names-20060816</a>, W3C, 2006.</p><p class="P8">[<span class="Strong_20_Emphasis">XML1.0</span>]        Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, François Yergeau , <span class="Emphasis">Extensible Markup Language (XML) 1.0 (Fourth Edition)</span>, <a href="http://www.w3.org/TR/2006/REC-xml-20060816/">http://www.w3.org/TR/2006/REC-xml-20060816/</a>, W3C, 2004.</p><p class="P8">[<span class="Strong_20_Emphasis">xmldsig-core</span>]        Donald Eastlake, Joseph Reagle, David Solo, Frederick Hirsch, Thomas Roessler, <span class="Emphasis"> XML Signature Syntax and Processing (Second Edition)</span>, <a href="http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/">http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/</a>, W3C, 2008.</p><p class="P8">[<span class="Strong_20_Emphasis">xmlenc-core</span>]        Donald Eastlake, Joseph Reagle, <span class="Emphasis">XML Encryption Syntax and Processing</span>, <a href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/</a>, W3C, 2002.</p><p class="P8">[<span class="Strong_20_Emphasis">xmlschema-2</span>]        Paul V. Biron, Ashok Malhotra, <span class="Emphasis">XML Schema Part 2: Datatypes Second Edition</span>, <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a>, W3C, 2004.</p><p class="P8">[<span class="Strong_20_Emphasis">ZIP</span>]        <span class="Emphasis">PKWARE Inc. Zip APPNOTE Version 6.2.0</span>, available at <a href="http://www.pkware.com/support/application-note-archives">http://www.pkware.com/support/application-note-archives</a>, 2004</p><h2 class="Heading_20_2"><a id="a1_4Non_Normative_References"><span style="margin-right:0.127cm;">1.4</span></a><a id="__RefHeading__752783_826425813"/>Non Normative References</h2><p class="P8"><span class="Strong_20_Emphasis">[Schneier-Errata]</span>        Bruce Schneir, <span class="Emphasis">Applied Cryptography 2nd. Ed. - Errata</span>, <a href="http://www.schneier.com/book-applied-errata.html">http://www.schneier.com/book-applied-errata.html</a>, 1998.</p><h2 class="Heading_20_2"><a id="a1_5Namespaces"><span style="margin-right:0.127cm;">1.5</span></a><a id="__RefHeading__752785_826425813"/><a id="Namespaces"/>Namespaces</h2><p class="Text_20_body">The namespaces used or defined by OpenDocument part 3 are listed in tables 1 and 2.</p><p class="Text_20_body">The prefix column in tables 1 and 2 lists the namespace prefixes this specification uses when referring to elements and attributes in different namespaces. Conforming OpenDocument documents may substitute other namespace prefixes, bound to the listed namespace URI's, in accordance with the Namespaces in XML specification <a title="Namespaces in XML 1.0 (Second Edition)" href="http://www.w3.org/TR/2006/REC-xml-names-20060816">[xml-names]</a>.</p><p class="Note"><span class="Note_20_Label">Note:</span> XML namespaces are employed in accordance with the <span class="Emphasis">Namespaces in XML</span> W3C Recommendation  <a title="Namespaces in XML 1.0 (Second Edition)" href="http://www.w3.org/TR/2006/REC-xml-names-20060816">[xml-names]</a>.</p><p class="Table">Table <a id="refTable0"/>1 - XML Namespaces defined by the OpenDocument specification part 3</p><table border="0" cellspacing="0" cellpadding="0" class="NamespaceTable"><colgroup><col width="96"/><col width="271"/><col width="300"/></colgroup><tr><td style="text-align:left;width:0.8632in; " class="NamespaceTable_A1"><p class="Table_20_Heading">Prefix</p></td><td style="text-align:left;width:2.4382in; " class="NamespaceTable_A1"><p class="Table_20_Heading">Description</p></td><td style="text-align:left;width:2.6986in; " class="NamespaceTable_C1"><p class="Table_20_Heading">Namespace</p></td></tr><tr><td style="text-align:left;width:0.8632in; " class="NamespaceTable_A2"><p class="Table_20_Contents">manifest</p></td><td style="text-align:left;width:2.4382in; " class="NamespaceTable_A2"><p class="Table_20_Contents">Elements and attribute contained in the package manifest.</p></td><td style="text-align:left;width:2.6986in; " class="NamespaceTable_C2"><p class="Text_20_body">urn:oasis:names:tc:opendocument:xmlns:<br/>manifest:1.0</p></td></tr><tr><td style="text-align:left;width:0.8632in; " class="NamespaceTable_A2"><p class="Table_20_Contents">dsig</p></td><td style="text-align:left;width:2.4382in; " class="NamespaceTable_A2"><p class="Table_20_Contents">Elements and attribute contained in digital signature files.</p></td><td style="text-align:left;width:2.6986in; " class="NamespaceTable_C2"><p class="Text_20_body">urn:oasis:names:tc:opendocument:xmlns:<a id="DDE_LINK1"/>digitalsignature:1.0</p></td></tr></table><p class="Table">Table <a id="refTable1"/>2 - XML Namespaces defined by the OpenDocument metadata manifest ontology</p><table border="0" cellspacing="0" cellpadding="0" class="Table2"><colgroup><col width="96"/><col width="271"/><col width="300"/></colgroup><tr><td style="text-align:left;width:0.8632in; " class="Table2_A1"><p class="Table_20_Heading">Prefix</p></td><td style="text-align:left;width:2.4382in; " class="Table2_A1"><p class="Table_20_Heading">Description</p></td><td style="text-align:left;width:2.6986in; " class="Table2_C1"><p class="Table_20_Heading">Namespace</p></td></tr><tr><td style="text-align:left;width:0.8632in; " class="Table2_A2"><p class="Table_20_Contents">pkg</p></td><td style="text-align:left;width:2.4382in; " class="Table2_A2"><p class="Table_20_Contents">OWL classes and properties contained in metadata manifest files.</p></td><td style="text-align:left;width:2.6986in; " class="Table2_C2"><p class="Text_20_body">http://docs.oasis-open.org/ns/office/1.2/meta/pkg#</p></td></tr></table><p class="Table">Table <a id="refTable2"/>3 - XML Namespaces used by the OpenDocument digital signature schema</p><table border="0" cellspacing="0" cellpadding="0" class="Table1"><colgroup><col width="96"/><col width="270"/><col width="300"/></colgroup><tr><td style="text-align:left;width:0.8646in; " class="Table1_A1"><p class="Table_20_Heading">Prefix</p></td><td style="text-align:left;width:2.4368in; " class="Table1_A1"><p class="Table_20_Heading">Description</p></td><td style="text-align:left;width:2.6986in; " class="Table1_C1"><p class="Table_20_Heading">Namespace</p></td></tr><tr><td style="text-align:left;width:0.8646in; " class="Table1_A2"><p class="Table_20_Contents">ds</p></td><td style="text-align:left;width:2.4368in; " class="Table1_A2"><p class="Text_20_body">XML Digital Signature Syntax and Processing namespace (see <a title=" XML Signature Syntax and Processing (Second Edition)" href="http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/">[xmldsig-core]</a>)</p></td><td style="text-align:left;width:2.6986in; " class="Table1_C2"><p class="Text_20_body">http://www.w3.org/2000/09/xmldsig#</p></td></tr></table><h1 class="Heading_20_1"><a id="a2Packages__Package_Consumers_and_Package_Producers"><span style="margin-right:0.127cm;">2</span></a><a id="__RefHeading__752787_826425813"/>Packages, Package Consumers and Package Producers</h1><h2 class="Heading_20_2"><a id="a2_1Introduction"><span style="margin-right:0.127cm;">2.1</span></a><a id="__RefHeading__4812_1473967831"/>Introduction</h2><p class="Text_20_body">The OpenDocument specification defines conformance for packages, package consumers, and package producers, with two conformance classes called conforming and extended conforming. This chapter defines the basic requirements for the individual conformance targets.</p><h2 class="Heading_20_2"><a id="a2_2Packages"><span style="margin-right:0.127cm;">2.2</span></a><a id="__RefHeading__752789_826425813"/>Packages</h2><h3 class="Heading_20_3"><a id="a2_2_1OpenDocument_Package"><span style="margin-right:0.127cm;">2.2.1</span></a><a id="__RefHeading__752791_826425813"/><a id="OpenDocument_Package"/>OpenDocument Package</h3><p class="Text_20_body">An<span class="Def"> OpenDocument</span><span class="Definition"> P</span><span class="Def">ackage</span> <span class="ISO_20_Keyword">shall</span> meet the following requirements:</p><ol><li><p class="P14" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">A)</span>It <span class="ISO_20_Keyword">shall </span>be a Zip file, as defined by <a title="PKWARE Inc. Zip APPNOTE Version 6.2.0" href="available at http://www.pkware.com/support/application-note-archives">[ZIP]</a>. All files contained in the Zip file shall be non compressed (STORED) or compressed using the “deflate” (DEFLATED) algorithm.<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">B)</span>It <span class="ISO_20_Keyword">shall</span> contain a file “META-INF/manifest.xml”. This file <span class="ISO_20_Keyword">shall</span> meet the following requirements:<span class="odfLiEnd"/> </p><ol><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">B.1)</span>The file <span class="ISO_20_Keyword">shall</span> be a well formed XML document in accordance with the<span class="T2"> </span><a title="Extensible Markup Language (XML) 1.0 (Fourth Edition)" href="http://www.w3.org/TR/2006/REC-xml-20060816/">[XML1.0]</a> specification.<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">B.2)</span>The XML root element of the file <span class="ISO_20_Keyword">shall</span> be a <span class="Element">&lt;manifest:manifest&gt;</span> element <a href="#element-manifest_manifest">4.2</a>.<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">B.3)</span>The XML file <span class="ISO_20_Keyword">shall</span> be valid with respect to the manifest schema defined in appendix A.1 OpenDocument Manifest Schema.<span class="odfLiEnd"/> </p></li></ol></li><li><p class="P14" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">C)</span>It <span class="ISO_20_Keyword">should</span> contain a file “mimetype”.<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">D)</span>It <span class="ISO_20_Keyword">may</span> contain files whose relative paths begin with “META-INF/” and whose names contain the string “signatures”. These file shall meet the following requirements:<span class="odfLiEnd"/> </p><ol><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">D.1)</span>The files <span class="ISO_20_Keyword">shall</span> be well-formed XML files in accordance with<span class="T2"> </span><a title="Extensible Markup Language (XML) 1.0 (Fourth Edition)" href="http://www.w3.org/TR/2006/REC-xml-20060816/">[XML1.0]</a>.<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">D.2)</span>The XML root element of each file <span class="ISO_20_Keyword">shall</span> be a <span class="Element">&lt;dsig:document-signatures&gt;</span> element <a href="#element2-dsig_document-signatures">5.2</a>.<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">D.3)</span>The files <span class="ISO_20_Keyword">shall</span> be valid with respect to the digital signature schema defined in appendix A.2<span class="T2"> </span>OpenDocument Digital Signature Schema.<span class="odfLiEnd"/> </p></li></ol></li><li><p class="P14" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">E)</span>It shall not contain other files whose relative path begins with<span class="T2"> </span>“META-INF/” other than than those listed in B) and D).<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">F)</span>The files listed in (B) and (D) meet the following requirements:<span class="odfLiEnd"/> </p><ol><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">F.1)</span>They <span class="ISO_20_Keyword">shall</span> be namespace-well-formed with regard to the XML Namespaces specification <a title="Namespaces in XML 1.0 (Second Edition)" href="http://www.w3.org/TR/2006/REC-xml-names-20060816">[xml-names]</a>.<span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">F.2)</span>They <span class="ISO_20_Keyword">shall</span> conform to the xml-id specification <a title="xml:id Version 1.0" href="http://www.w3.org/TR/2005/REC-xml-id-20050909/">[XML-ID]</a>.<span class="odfLiEnd"/> </p></li></ol></li></ol><h3 class="Heading_20_3"><a id="a2_2_2OpenDocument_Extended_Package"><span style="margin-right:0.127cm;">2.2.2</span></a><a id="__RefHeading__752793_826425813"/>OpenDocument Extended Package</h3><ol><li><p class="P14" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">G)</span>An<span class="Def"> OpenDocument Extended Package</span> <span class="ISO_20_Keyword">shall</span> meet all requirements of a conforming package except item E) of <a href="#OpenDocument_Package">2.2.1</a>.<span class="odfLiEnd"/> </p></li></ol><h2 class="Heading_20_2"><a id="a2_3Producers"><span style="margin-right:0.127cm;">2.3</span></a><a id="__RefHeading__752795_826425813"/>Producers</h2><h3 class="Heading_20_3"><a id="a2_3_1OpenDocument_Package_Producer"><span style="margin-right:0.127cm;">2.3.1</span></a><a id="__RefHeading__752797_826425813"/>OpenDocument Package Producer</h3><p class="Text_20_body">An<span class="Def"> OpenDocument Package Producer</span> is a program that creates conforming OpenDocument packages, and that meets the additional requirements:</p><ol><li><p class="P15" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">A)</span>It <span class="ISO_20_Keyword">may</span> produce conforming OpenDocument extended packages, but it <span class="ISO_20_Keyword">shall</span> have a mode of operation where all OpenDocument packages that are created are conforming OpenDocument packages.<span class="odfLiEnd"/> </p></li><li><p class="P15" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">B)</span>It <span class="ISO_20_Keyword">shall</span> be accompanied by a document that defines all implementation-defined values used by the OpenDocument package producer.<span class="odfLiEnd"/> </p></li></ol><h3 class="Heading_20_3"><a id="a2_3_2OpenDocument_Package_Extended_Producer"><span style="margin-right:0.127cm;">2.3.2</span></a><a id="__RefHeading__752799_826425813"/>OpenDocument Package Extended Producer</h3><p class="Text_20_body">An<span class="Def"> OpenDocument Package Extended Producer</span> is a program that creates conforming OpenDocument extended packages. It <span class="ISO_20_Keyword">shall</span> be accompanied by a document that defines all implementation-defined values used by the OpenDocument package producer.</p><h2 class="Heading_20_2"><a id="a2_4OpenDocument_Package_Consumer"><span style="margin-right:0.127cm;">2.4</span></a><a id="__RefHeading__752801_826425813"/>OpenDocument Package Consumer</h2><p class="Text_20_body">An <span class="Def">OpenDocument Package Consumer</span> is a program that can parse and interpret OpenDocument packages, and that meets the following additional requirements:</p><ol><li><p class="P16" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">A)</span>It <span class="ISO_20_Keyword">shall</span> be able to parse and interpret OpenDocument packages and OpenDocument extended packages, but it <span class="ISO_20_Keyword">need not</span> interpret the semantics of all elements, attributes and attribute values.<span class="odfLiEnd"/> </p></li><li><p class="P16" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.1011cm">B)</span>The XML parser used to parse the files listed in <a href="#OpenDocument_Package">2.2.1</a> (B) and <a href="#OpenDocument_Package">2.2.1</a> (D) meets the<span class="T2"> </span>following requirements:<span class="odfLiEnd"/> </p><ol><li><p class="P16" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">B.1)</span>It <span class="ISO_20_Keyword">shall </span>be a nonvalidating XML processor with regard to the XML 1.0 specification <a title="Extensible Markup Language (XML) 1.0 (Fourth Edition)" href="http://www.w3.org/TR/2006/REC-xml-20060816/">[XML1.0]</a>.<span class="odfLiEnd"/> </p></li><li><p class="P16" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">B.2)</span>It <span class="ISO_20_Keyword">shall </span>be<span class="T2"> </span>a conforming processor with regard to the XML Namespaces specification <a title="Namespaces in XML 1.0 (Second Edition)" href="http://www.w3.org/TR/2006/REC-xml-names-20060816">[xml-names]</a>.<span class="odfLiEnd"/> </p></li><li><p class="P16" style="margin-left:0.4991cm;"><span style="display:block;float:left;min-width:0.1011cm">B.3)</span>It <span class="ISO_20_Keyword">shall</span> conform to the xml-id specification <a title="xml:id Version 1.0" href="http://www.w3.org/TR/2005/REC-xml-id-20050909/">[XML-ID]</a>.<span class="odfLiEnd"/> </p></li></ol></li></ol><h1 class="Heading_20_1"><a id="a3Packages"><span style="margin-right:0.127cm;">3</span></a><a id="__RefHeading__752803_826425813"/><a id="Package"/>Packages</h1><h2 class="Heading_20_2"><a id="a3_1General"><span style="margin-right:0.127cm;">3.1</span></a><a id="__RefHeading__752805_826425813"/><a id="General"/>General</h2><p class="Text_20_body">OpenDocument defines a package file to store the XML content of a document as separate parts together with<span class="T2"> </span>associated binary data as file entries in a single package file. These file entries may be compressed to further reduce the storage taken by the package. This package is a Zip file <a title="PKWARE Inc. Zip APPNOTE Version 6.2.0" href="available at http://www.pkware.com/support/application-note-archives">[ZIP]</a>, whose structure is described in Appendix C. OpenDocument Packages impose additional structure on the Zip file to accomplish the representation of OpenDocument Format documents.</p><p class="Text_20_body">A document within a package may consist of a set of files creating a unit, for instance the set of files specified by OpenDocument part 1. These files may be located in the root of the package, or within a directory. If they are contained in the root of the package, they are called <span class="Def">document</span>. If they are located within a directory, the document they constitute is called a <span class="Def">sub document</span>. A package may contain multiple sub documents, but only a single document can be contained in the root of the package. Unless otherwise stated, the term <span class="Def">document</span> refers to the document contained in the root of the package. This may include sub documents.</p><h2 class="Heading_20_2"><a id="a3_2Manifest"><span style="margin-right:0.127cm;">3.2</span></a><a id="__RefHeading__752807_826425813"/>Manifest</h2><p class="Text_20_body">All OpenDocument packages shall contain a file named “META-INF/manifest.xml”. This file is the OpenDocument package manifest. The manifest provides :</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>A list of all of the files in the package (except those specifically excluded from the manifest).<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>The MIME media type of each file in the package.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>If a file is stored in the file data in encrypted form, the manifest provides information required to decrypt the file correctly when the encryption key is also supplied.<span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">The format of the manifest file is specified in chapter <a href="#Manifest_File">4</a>.</p><p class="Text_20_body">For all files contained in a package, with exception of the “mimetype” file and files whose relative path starts with “META-INF/”, the “META-INF/manifest.xml” file shall contain exactly one <span class="Element">&lt;manifest:file-entry&gt;</span> element whose <span class="Attribute">manifest:full-path</span> attribute's value references the file.</p><p class="Text_20_body">The “META-INF/manifest.xml” file need not contain <span class="Element">&lt;manifest:file-entry&gt;</span> elements <a href="#element-manifest_file-entry">4.3</a> whose <span class="Attribute">manifest:full-path</span> attribute <a href="#attribute-manifest_full-path">4.8.4</a> references files<span class="T2"> </span>whose relative path start with "META-INF/". The file <span class="ISO_20_Keyword">shall not</span> contain <span class="Element">&lt;manifest:file-entry&gt;</span> elements whose <span class="Attribute">manifest:full-path</span> attribute value references the “META-INF/manifest.xml” file itself or the “mimetype” file.</p><p class="Text_20_body">The “META-INF/manifest.xml” file <span class="ISO_20_Keyword">should</span> contain a <span class="Element">&lt;manifest:file-entry&gt;</span> element whose <span class="Attribute">manifest:full-path</span> attribute has the value "<span class="Attribute_20_Value">/</span>". This element specifies information regarding the document stored in the root of the package. This entry shall exist if the package contains a file "mimetype"</p><h2 class="Heading_20_2"><a id="a3_3MIME_Media_Type"><span style="margin-right:0.127cm;">3.3</span></a><a id="__RefHeading__752809_826425813"/><a id="MIME_type_stream"/>MIME Media Type</h2><p class="Text_20_body">If a MIME media type for a document exists, then an OpenDocument package <span class="ISO_20_Keyword">should</span> contain a <span class="T2">file</span> with name “mimetype”. The content of this <span class="T2">file</span> shall be the ASCII encoded MIME media type associated with the document. See <a title="Media Type Specifications and Registration Procedures" href="http://www.ietf.org/rfc/rfc4288.txt">[RFC4288]</a>.</p><p class="Text_20_body">The “mimetype” file <span class="ISO_20_Keyword">shall</span> be the first file of the zip file. It <span class="ISO_20_Keyword">shall not</span> be compressed, and it <span class="ISO_20_Keyword">shall not</span> use an 'extra field' in its header.</p><p class="Text_20_body">If the file named “META-INF/manifest.xml” contains a <span class="Element">&lt;manifest:file-entry&gt;</span> element whose <span class="Attribute">manifest:full-path</span> attribute has the value "<span class="Attribute_20_Value">/</span>", then a "mimetype" file shall exist, and the content of the “mimetype” file shall be equal to the value of the <span class="Attribute">manifest:media-type</span> attribute<span class="T2"> </span><a href="#attribute-manifest_media-type">4.8.10</a> of that element.</p><p class="Text_20_body"><span class="Note_20_Label">Note:</span> The purpose is to allow the type of document represented by the package to be discovered through 'magic number' mechanisms, such as Unix's file/magic utility. If a Zip file contains a file at the beginning of the file that is uncompressed, and has no extra data in the header, then its file name and data can be found at fixed positions from the beginning of the package. More specifically, one will find:</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>the string 'PK' at position 0 of all zip files<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>the string 'mimetype' beginning at position 30<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>the media type itself beginning at position 38.<span class="odfLiEnd"/> </p></li></ul><h2 class="Heading_20_2"><a id="a3_4Encryption"><span style="margin-right:0.127cm;">3.4</span></a><a id="__RefHeading__752811_826425813"/><a id="Encryption"/>Encryption</h2><h3 class="Heading_20_3"><a id="a3_4_1General"><span style="margin-right:0.127cm;">3.4.1</span></a><a id="__RefHeading__752813_826425813"/>General</h3><p class="Text_20_body">OpenDocument packages may be encrypted by encrypting some or all files within the package. The encryption process takes place in the following stages:</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>A single start key is generated and used for all of the keys that will be derived.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>The derived key is generated based on the start key.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>The files are encrypted based on the derived key and the encryption algorithm.<span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body"> The information regarding the algorithms that were used to encrypt a file and required parameters are contained in the manifest. The manifest shall not be encrypted.</p><p class="Text_20_body">Each file entry that is encrypted shall be compressed with the “deflate” algorithm before being encrypted. Encrypted file entries shall be flagged as 'STORED' rather than 'DEFLATED' in the Zip file's central directory. The size of the encrypted file should replace the real size value in the file entry's central directory records, its local file header and the data descriptor, if any. The original uncompressed, unencrypted size shall be contained in the <span class="Attribute">manifest:size</span> <a href="#attribute-manifest_size">4.8.13</a> attribute of the <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a> element for the file entry.</p><p class="Text_20_body">The encrypted form can be of greater size than the DEFLATED file used as the plaintext.</p><p class="Note"><span class="Note_20_Label">Note:</span> The encrypted form may be of greater because of padding of plaintext, inclusion of additional information, and other characteristics of the encryption technique).</p><p class="Text_20_body">The encryption method shall be such that the exact size and value of the plaintext DEFLATED file is recovered by the corresponding decryption process.</p><h3 class="Heading_20_3"><a id="a3_4_2Encryption_Process"><span style="margin-right:0.127cm;">3.4.2</span></a><a id="__RefHeading__752815_826425813"/><a id="Default_Algorithm"/>Encryption Process</h3><p class="Text_20_body">The three stages of the encryption process proceed as follows, using the legacy algorithms to illustrate each stage:</p><ol><li><p class="P18" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">1.</span>The start key is generated: The byte sequence representing the password in UTF-8 is used to generate a 20-byte SHA1 digest (see <span class="T8"><a title="US Secure Hash Algorithm 1 (SHA1)" href="http://www.ietf.org/rfc/rfc3174.txt">[RFC3174]</a></span>).<span class="odfLiEnd"/> </p></li><li><p class="P18" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">2.</span>For each file to be encrypted, a separate derived key is generated from the start key: The PBKDF2 algorithm based on the HMAC-SHA-1 function (see <a title="PKCS #5: Password-Based Cryptography Specification Version 2.0" href="http://www.ietf.org/rfc/rfc2898.txt">[RFC2898]</a>) is used for the key derivation. For each file, a 16-byte salt is generated by a random generator. The salt is used together with the start key to derive a unique 128-bit key for each file. The default iteration count for the algorithm is 1024.<span class="odfLiEnd"/> </p></li><li><p class="P18" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">3.</span>The files are encrypted: The random number generator is used to generate the 8-byte initialization vector for the algorithm. The derived key is used together with the initialization vector to encrypt the file using the Blowfish algorithm in 8-bit cipher feedback (8-bit CFB) mode (see <a title="Applied Cryptography (Second Edition)">[Schneier]</a>).<span class="odfLiEnd"/> </p></li></ol><h2 class="Heading_20_2"><a id="a3_5Digital_Signatures"><span style="margin-right:0.127cm;">3.5</span></a><a id="__RefHeading__752817_826425813"/><a id="Digital_Signatures"/>Digital Signatures</h2><p class="Text_20_body">Files within a package may have a digital signature applied. Digital signatures are stored in one or more files whose relative paths begin with “META-INF/”. The names of these files <span class="ISO_20_Keyword">shall</span> contain the term “signatures”.</p><p class="Text_20_body">The format of digital signature files is specified in chapter <a href="#Digital_Signature_File">5</a>.</p><h2 class="Heading_20_2"><a id="a3_6Metadata"><span style="margin-right:0.127cm;">3.6</span></a><a id="__RefHeading__752819_826425813"/><a id="Metadata"/>Metadata</h2><p class="Text_20_body">Metadata for documents contained in an OpenDocument package may be expressed using the model of the W3C Resource Description Framework <a title="Resource Description Framework (RDF): Concepts and Abstract Syntax" href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">[RDF-CONCEPTS]</a>.</p><p class="Text_20_body">A document or sub document that is stored in a package <span class="ISO_20_Keyword">may</span> contain any  number of <span class="Def">metadata files</span>. The content of a metadata files <span class="ISO_20_Keyword">shall</span> conform to the <a title=" RDF/XML Syntax Specification (Revised)" href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/">[RDF-XML]</a> specification. Implementations that are consumers as well as producers <span class="ISO_20_Keyword">should</span> preserve all metadata files.</p><p class="Text_20_body">All metadata files of a document or sub document <span class="ISO_20_Keyword">shall</span> be listed in a separate <span class="Def">metadata manifest file</span>, which has the file name “manifest.rdf”. This file enumerates metadata files and their relationships to other files in an OpenDocument package. See chapter <a href="#Metadata_Manifest_Files">6</a>.</p><p class="Text_20_body">In addition to metadata files, the "manifest.rdf" file may list other files which are contained in the document or sub document that contain RDF metadata, like files that contain RDFa metadata. The "manifest.rdf" file need not exist if a document or sub document does not contain any files that contain RDF metadata.</p><p class="Text_20_body">All references to a resource within the same package that occur within metadata file <span class="ISO_20_Keyword">shall</span> be represented by relative IRIs to the resource. This includes values of <span class="Alien_20_Attribute">rdf:about</span> attributes occurring within metadata files or metadata manifest files.</p><h2 class="Heading_20_2"><a id="a3_7Usage_of_IRIs_Within_Packages"><span style="margin-right:0.127cm;">3.7</span></a><a id="__RefHeading__752821_826425813"/><a id="Package_IRI"/>Usage of IRIs Within Packages</h2><p class="Text_20_body">Within the files contained in a package, relative IRIs as defined by <a title="Internationalized Resource Identifiers (IRIs)" href="http://www.ietf.org/rfc/rfc3987.txt">[RFC3987]</a> may be used to reference other files within the same package.</p><p class="P1">OpenDocument Package Consumers shall resolve relative IRIs that occur within a file of a package as follows:</p><ol><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">1.</span>The <span class="Def">file entry path</span> is the file name of the file within the Zip file which contains the relative IRI, including its relative path.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">2.</span>The <span class="Def">package base IRI</span> is the base IRI which would be established for the package itself as defined in §5.1 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a>.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">3.</span>If the relative IRI does not match the rule for "relative-ref" defined in §4.2 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a> or if the relative IRI does start with a "/" character (U+002F, SOLIDUS) then it is resolved as defined in §5.2 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a> with the package base IRI as base URI.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">4.</span>If the relative IRI references matches the rule for "relative-ref" defined in §4.2 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a> and its "relative-part" component matches the "path-empty" rule it shall be resolved as a "Same-Document" references defined in §4.4 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a>.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">5.</span>Otherwise the "relative-part" component of the relative IRI is copied into a <span class="Def">relative IRI buffer</span> and an empty <span class="Def">file entry path buffer</span> is created<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">6.</span>If the file entry path does contain a "/" character (U+002F, SOLIDUS) then the file path up to and including the last "/" character is copied into the file entry buffer.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">7.</span>If the relative IRI buffer starts with the character sequence "./" (U+002E, FULL STOP, followed by U+002F, SOLIDUS) then that character sequence it removed from the buffer. Continue with step 7.<span class="odfLiEnd"/> </p></li><li><p class="P19" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">8.</span>If the content of the relative IRI buffer is the character sequence "." (U+002E, FULL STOP), the content of the relative IRI buffer is removed. Continue with step 11.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">9.</span>If the content of the relative IRI buffer is the character sequence ".." (U+002E, FULL STOP, followed by U+002E, FULL STOP) and<span class="odfLiEnd"/> </p><ul><li><p class="P22" style="margin-left:0.4991cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.4991cm"></span>if the file entry path buffer is empty, then the content of the relative IRI buffer is replaced with "." (U+002E, FULL STOP). The query and fragment components of the relative IRI, if present, are appended to the relative IRI buffer, including the "?" (U+003F, QUESTION MARK) and "#" (U+0023, NUMBER SIGN) delimiter characters. The content of the relative IRI buffer then is resolved as defined in §5.2 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a> with the package base IRI as base URI.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0.4991cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.4991cm"></span>if the file entry path buffer contains at least one relative path component, the last relative path component up to and including the last "/" character (U+002F, SOLIDUS) is removed. The ".." character sequence is removed from the IRI buffer. Continue with step 11.<span class="odfLiEnd"/> </p></li></ul></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">10.</span>If a fragment buffer has been created and is not empty, its content may be resolved as fragment identifier, as defined by §3.5 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a>.<span class="odfLiEnd"/> </p><ul><li><p class="P22" style="margin-left:0.4991cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.4991cm"></span>if the file entry path buffer is empty, then the "../" is replaced with "./" (U+002E, FULL STOP, followed by U+002F, SOLIDUS) in the relative IRI buffer. The query and fragment components of the relative IRI, if present, are appended to the relative IRI buffer, including the "?" (U+003F, QUESTION MARK) and "#" (U+0023, NUMBER SIGN) delimiter characters. The content of the relative IRI buffer then is resolved as defined in §5.2 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a> with the package base IRI as base URI.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0.4991cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.4991cm"></span>if the file entry path buffer contains at least one one relative path component, the last relative path component up to and including the last "/" character (U+002F, SOLIDUS) is removed. The "../" character sequence is removed from the IRI buffer. Continue with step 7.<span class="odfLiEnd"/> </p></li></ul></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">11.</span>The content of the file entry buffer is inserted into the relative IRI buffer before any existing content.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">12.</span>The content of the relative IRI buffer is interpreted as a file or directory name within the package, that is, as the name of a file or directory including its relative path within the Zip file. An empty buffer denotes the package root. Path segments in the relative IRI buffer that originally came from the relative IRI shall be interpreted according to IRI syntax rules, while segments that originally came from the file entry path must be interpreted according to Zip path name syntax rules.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">13.</span>If the relative IRI contains a fragment component, it is resolved as fragment identifier, as defined by §3.5 of <a title="Uniform Resource Identifier (URI): Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt">[RFC3986]</a>.<span class="odfLiEnd"/> </p></li></ol><p class="Text_20_body"><span class="Note_20_Label">Note:</span> Files whose relative path starts with “META-INF/” are considered to be part of the OpenDocument package rather than of the content stored within the package. Therefore, different rules regarding the resolution of relative IRIs may apply.</p><h2 class="Heading_20_2"><a id="a3_8Preview_Image"><span style="margin-right:0.127cm;">3.8</span></a><a id="__RefHeading__752823_826425813"/>Preview Image</h2><p class="Text_20_body">Unless a document is encrypted, package producers should generate a preview image of the document that is contained in the package. It should be a representation of the first page, first sheet, etc. of the document. For maximum re-usability of the preview images they shall be generated without any effects, surrounding frames, or borders.</p><p class="Text_20_body"><span class="Note_20_Label">Note:</span> Such effects might interfere with effects added to the preview images by the different file system explorers or may not be desired at all for certain use cases.</p><p class="Text_20_body">The preview image <span class="ISO_20_Keyword">shall</span> be contained in a file named “Thumbnails/thumbnail.png”.</p><p class="Text_20_body">Preview images <span class="ISO_20_Keyword">shall</span> be saved in <a title="Portable Network Graphics (PNG) Specification (Second Edition)" href="http://www.w3.org/TR/2003/REC-PNG-20031110">[PNG]</a> format.</p><p class="Text_20_body"><span class="Note_20_Label">Note:</span> Current desktops display preview images within squares of up to 256 pixel width and height, and 24 bit per pixel. While this specification does not define upper or lower limits for preview image sizes, producers should only use image sizes that are displayed with a reasonable quality if scaled to fit into 256x256 pixel square.</p><p class="Text_20_body">Encrypted documents are intended to be unreadable for unauthorized users and package producers shall not generate preview images for such documents. They may include a preview image that is independent of the contents of the document. Such preview images should not be encrypted.</p><h1 class="Heading_20_1"><a id="a4Manifest_File"><span style="margin-right:0.127cm;">4</span></a><a id="__RefHeading__752825_826425813"/><a id="Manifest_File"/>Manifest File</h1><h2 class="Heading_20_2"><a id="a4_1Introduction"><span style="margin-right:0.127cm;">4.1</span></a><a id="__RefHeading__752827_826425813"/>Introduction</h2><p class="Text_20_body">The format of the manifest file is defined by the OpenDocument manifest Relax-NG <a title="Document Schema Definition Language (DSDL) -- Part 2: Regular-grammar-based validation -- RELAX NG" href="http://oasis-open.org/committees/relax-ng/spec-20011203.html">[RNG]</a> schema. See appendix A. This chapter describes the semantics of the elements and attributes defined by this schema.</p><h2 class="Heading_20_2"><a id="a4_2_manifest_manifest_"><span style="margin-right:0.127cm;">4.2</span></a><a id="__RefHeading__752829_826425813"/><a id="element-manifest_manifest"/>&lt;manifest:manifest&gt;</h2><p class="Text_20_body">The <span class="Element">&lt;manifest:manifest&gt;</span> element is the root element of <span class="T7">the</span> manifest file. It contains <span class="Element">&lt;manifest:file-entry&gt;</span> child elements <a href="#element-manifest_file-entry">4.3</a>, each of which specifies information for a a file or directory in the package.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Element">&lt;manifest:manifest&gt;</span> element is a root element.</p><p class="Attribute_20_List">The <span class="Element">&lt;manifest:manifest&gt;</span> element has the following attribute: <span class="Attribute">manifest:version</span> <a href="#attribute-manifest_version_element-manifest_manifest">4.8.14.2</a>.</p><p class="Child_20_Element_20_List_borderEnd">The <span class="Element">&lt;manifest:manifest&gt;</span> element has the following child element: <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a>.</p><h2 class="Heading_20_2"><a id="a4_3_manifest_file-entry_"><span style="margin-right:0.127cm;">4.3</span></a><a id="__RefHeading__752831_826425813"/><a id="element-manifest_file-entry"/>&lt;manifest:file-entry&gt;</h2><p class="Text_20_body">The <span class="Element">&lt;manifest:file-entry&gt;</span> element specifies the media type of a single file or sub document within the package.  It may also specify the data required to decrypt a file.</p><p class="Text_20_body">For directories, the manifest file should contain a <span class="Element">&lt;manifest:file-entry&gt;</span> element only if a directory contains a document or a sub document. See <a href="#General">3.1</a>. A directory for administrative or convenience purposes, such as a directory that contains various unrelated image files, should not have an entry in the manifest file.</p><p class="Text_20_body">Directories have no corresponding file entries within the Zip file.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Element">&lt;manifest:file-entry&gt;</span> element is usable within the following element: <span class="Element">&lt;manifest:manifest&gt;</span> <a href="#element-manifest_manifest">4.2</a>.</p><p class="Attribute_20_List">The <span class="Element">&lt;manifest:file-entry&gt;</span> element has the following attributes: <span class="Attribute">manifest:full-path</span> <a href="#attribute-manifest_full-path">4.8.4</a>, <span class="Attribute">manifest:media-type</span> <a href="#attribute-manifest_media-type">4.8.10</a>, <span class="Attribute">manifest:preferred-view-mode</span> <a href="#attribute-manifest_preferred-view-mode">4.8.11</a>, <span class="Attribute">manifest:size</span> <a href="#attribute-manifest_size">4.8.13</a> and <span class="Attribute">manifest:version</span> <a href="#attribute-manifest_version_element-manifest_file-entry">4.8.14.1</a>.</p><p class="Child_20_Element_20_List_borderEnd">The <span class="Element">&lt;manifest:file-entry&gt;</span> element has the following child element: <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a>.</p><h2 class="Heading_20_2"><a id="a4_4_manifest_encryption-data_"><span style="margin-right:0.127cm;">4.4</span></a><a id="__RefHeading__752833_826425813"/><a id="element-manifest_encryption-data"/>&lt;manifest:encryption-data&gt;</h2><p class="Text_20_body">The <span class="Element">&lt;manifest:encryption-data&gt;</span> element contains information required to decrypt a file entry.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Element">&lt;manifest:encryption-data&gt;</span> element is usable within the following element: <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a>.</p><p class="Attribute_20_List">The <span class="Element">&lt;manifest:encryption-data&gt;</span> element has the following attributes: <span class="Attribute">manifest:checksum</span> <a href="#attribute-manifest_checksum">4.8.2</a> and <span class="Attribute">manifest:checksum-type</span> <a href="#attribute-manifest_checksum-type">4.8.3</a>.</p><p class="Child_20_Element_20_List_borderEnd">The <span class="Element">&lt;manifest:encryption-data&gt;</span> element has the following child elements: <span class="Element">&lt;manifest:algorithm&gt;</span> <a href="#element-manifest_algorithm">4.5</a>, <span class="Element">&lt;manifest:key-derivation&gt;</span> <a href="#element-manifest_key-derivation">4.7</a> and <span class="Element">&lt;manifest:start-key-generation&gt;</span> <a href="#element-manifest_start-key-generation">4.6</a>.</p><h2 class="Heading_20_2"><a id="a4_5_manifest_algorithm_"><span style="margin-right:0.127cm;">4.5</span></a><a id="__RefHeading__752835_826425813"/><a id="element-manifest_algorithm"/>&lt;manifest:algorithm&gt;</h2><p class="Text_20_body">The <span class="Element">&lt;manifest:algorithm&gt;</span> element specifies the algorithm used to encrypt data.</p><p class="Text_20_body">Depending on the algorithm specified by the <span class="Attribute">manifest:algorithm-name</span> attribute  <a href="#attribute-manifest_algorithm-name">4.8.1</a> , the <span class="Element">&lt;manifest:algorithm&gt;</span> element may have further child elements.</p><p class="Text_20_body"><span class="T1">When the </span><span class="Attribute">manifest:algorithm-name</span><span class="T1"> attribute value matches one of those defined in section §3.2 of </span><span class="T10"><a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a></span><span class="T1">, the </span><span class="Element">&lt;manifest:algorithm&gt;</span><span class="T1"> element shall not have child elements except those permitted as child elements of the </span><span class="T10"><a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a></span><span class="T1"> </span><span class="Alien_20_Element">&lt;EncryptionMethod&gt;</span><span class="T1"> element whose Algorithm attribute value is the same as the </span><span class="Element">&lt;manifest:algorithm&gt;</span><span class="T1"> </span><span class="Attribute">manifest:algorithm-name</span><span class="T1"> attribute value.</span></p><p class="Text_20_body"><span class="T1">When the value of the </span><span class="Attribute">manifest:algorithm-name</span><span class="T1"> attribute identifies the legacy Blowfish algorithm, </span><span class="Element">&lt;manifest:algorithm&gt;</span><span class="T1"> shall be an empty element.</span></p><p class="Parent_20_Element_20_List_borderStart">The <span class="Element">&lt;manifest:algorithm&gt;</span> element is usable within the following element: <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a>.</p><p class="Attribute_20_List_borderEnd">The <span class="Element">&lt;manifest:algorithm&gt;</span> element has the following attributes: <span class="Attribute">manifest:algorithm-name</span> <a href="#attribute-manifest_algorithm-name">4.8.1</a> and <span class="Attribute">manifest:initialisation-vector</span> <a href="#attribute-manifest_initialisation-vector">4.8.5</a>.</p><h2 class="P23"><a id="a4_6_manifest_start-key-generation_"><span style="margin-right:0.127cm;">4.6</span></a><a id="__RefHeading__752837_826425813"/><a id="element-manifest_start-key-generation"/>&lt;manifest:start-key-generation&gt;</h2><p class="Text_20_body">The <span class="Element">&lt;manifest:start-key-generation&gt;</span> element specifies how the encryption start key is derived from a user specified password. The password shall be provided as a sequence of bytes in UTF-8 encoding.</p><p class="Text_20_body">When a <span class="Element">&lt;manifest:start-key-generation&gt;</span> element is absent as a child of a <span class="Element">&lt;manifest:encryption-data&gt;</span> element, interpretation is the same as if the element is present with default attribute values.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Element">&lt;manifest:start-key-generation&gt;</span> element is usable within the following element: <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a>.</p><p class="Attribute_20_List">The <span class="Element">&lt;manifest:start-key-generation&gt;</span> element has the following attributes: <span class="Attribute">manifest:key-size</span> <a href="#attribute-manifest_key-size">4.8.7</a> and <span class="Attribute">manifest:start-key-generation-name</span> <a href="#attribute-manifest_start-key-generation-name">4.8.6</a>.</p><p class="Child_20_Element_20_List_borderEnd">The <span class="Element">&lt;manifest:start-key-generation&gt;</span> element has no child elements.</p><h2 class="Heading_20_2"><a id="a4_7_manifest_key-derivation_"><span style="margin-right:0.127cm;">4.7</span></a><a id="__RefHeading__752839_826425813"/><a id="element-manifest_key-derivation"/>&lt;manifest:key-derivation&gt;</h2><p class="Text_20_body">The <span class="Element">&lt;manifest:key-derivation&gt;</span> element specifies how the encryption key was calculated from the encryption start key.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Element">&lt;manifest:key-derivation&gt;</span> element is usable within the following element: <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a>.</p><p class="Attribute_20_List">The <span class="Element">&lt;manifest:key-derivation&gt;</span> element has the following attributes: <span class="Attribute">manifest:iteration-count</span> <a href="#attribute-manifest_iteration-count">4.8.8</a>, <span class="Attribute">manifest:key-derivation-name</span> <a href="#attribute-manifest_key-derivation-name">4.8.9</a>, <span class="Attribute">manifest:key-size</span> <a href="#attribute-manifest_key-size">4.8.7</a> and <span class="Attribute">manifest:salt</span> <a href="#attribute-manifest_salt">4.8.12</a>.</p><p class="Child_20_Element_20_List_borderEnd">The <span class="Element">&lt;manifest:key-derivation&gt;</span> element has no child elements.</p><h2 class="Heading_20_2"><a id="a4_8Manifest_Attributes"><span style="margin-right:0.127cm;">4.8</span></a><a id="__RefHeading__752841_826425813"/>Manifest Attributes</h2><h3 class="Heading_20_3"><a id="a4_8_1manifest_algorithm-name"><span style="margin-right:0.127cm;">4.8.1</span></a><a id="__RefHeading__752843_826425813"/><a id="attribute-manifest_algorithm-name"/>manifest:algorithm-name</h3><p class="Text_20_body">The <span class="Attribute">manifest:algorithm-name</span> attribute specifies the algorithm and mode used to encrypt a file entry. </p><p class="Text_20_body">The defined values for the <span class="Attribute">manifest:algorithm-name</span> attribute are:</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="T9">An IRI listed in §5.2 of </span><span class="T9"><a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a></span><span class="T9">: The algorithm and mode specified in §5.2 of </span><span class="T9"><a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a></span><span class="T9"> for this IRI.</span><span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">Blowfish CFB</span>: The Blowfish algorithm in 8-bit CFB mode. See <a title="Applied Cryptography (Second Edition)">[Schneier]</a>.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#blowfish</span>: The same algorithm as identified by <span class="Attribute_20_Value">Blowfish CFB</span>.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>The IRI of an alternative algorithm as specified in §5.1 of <a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a>. Alternative algorithms may be specified by extended conforming <span class="T2">package</span>s only. They shall not be specified by conforming <span class="T2">package</span>s.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>Package producers that support encryption shall support the value <span class="Attribute_20_Value">Blowfish CFB</span>. Package consumers that support encryption shall support the values <span class="Attribute_20_Value">Blowfish CFB</span> and <span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#blowfish</span>.<span class="odfLiEnd"/> </p></li></ul><p class="Note"><span class="Note_20_Label">Note</span>: An errata for <a title="Applied Cryptography (Second Edition)">[Schneier]</a> is available at <a title="Applied Cryptography 2nd. Ed. - Errata" href="http://www.schneier.com/book-applied-errata.html">[Schneier-Errata]</a>.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:algorithm-name</span> attribute is usable with the following element: <span class="Element">&lt;manifest:algorithm&gt;</span> <a href="#element-manifest_algorithm">4.5</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The values of the <span class="Attribute">manifest:algorithm-name</span> attribute are <span class="Attribute_20_Value">Blowfish CFB</span> or a value of type <span class="Datatype">anyURI</span> <a href="#datatype-anyURI">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_2manifest_checksum"><span style="margin-right:0.127cm;">4.8.2</span></a><a id="__RefHeading__752845_826425813"/><a id="attribute-manifest_checksum"/>manifest:checksum</h3><p class="Text_20_body">The <span class="Attribute">manifest:checksum</span> attribute specifies a digest in BASE64 encoding that can be used to detect password correctness as specified by a <span class="Attribute">manifest:checksum-type</span> attribute <a href="#attribute-manifest_checksum-type">4.8.3</a> .</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:checksum</span> attribute is usable with the following element: <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:checksum</span> attribute has the data type <span class="Datatype">base64Binary</span> <a href="#datatype-base64Binary">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_3manifest_checksum-type"><span style="margin-right:0.127cm;">4.8.3</span></a><a id="__RefHeading__752847_826425813"/><a id="attribute-manifest_checksum-type"/>manifest:checksum-type</h3><p class="Text_20_body">The <span class="Attribute">manifest:checksum-type</span> attribute specifies the name of a digest algorithm that can be used to check password correctness. The digest is build from the compressed unencrypted file.</p><p class="Text_20_body">The defined values for the <span class="Attribute">manifest:checksum-type</span> attribute are:</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">SHA1/1K</span>: SHA1 algorithm (see <span class="T8"><a title="US Secure Hash Algorithm 1 (SHA1)" href="http://www.ietf.org/rfc/rfc3174.txt">[RFC3174]</a></span>) applied to first 1024 bytes of the compressed unencrypted file.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">SHA1</span>: The same as <span class="Attribute_20_Value">http://www.w3.org/2000/09/xmldsig#sha1</span>.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#sha1-1k</span>: The same as <span class="Attribute_20_Value">SHA1/1K</span>.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#sha256-1k</span>: SHA256 algorithm (see <span class="T8"><a title="US Secure Hash Algorithm 1 (SHA1)" href="http://www.ietf.org/rfc/rfc3174.txt">[RFC3174]</a></span>) applied to first 1024 bytes of the compressed unencrypted file.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>An IRI listed in §5.7 of <a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a>: The algorithm specified in §5.7 of <a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a> for this IRI.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>The IRI of an alternative algorithm as specified in §5.1 of <a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a>. Alternative algorithms may be specified by extended conforming <span class="T2">package</span>s only. They shall not be specified by conforming <span class="T2">package</span>s.<span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">Package producers that support encryption should use the <span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#sha256-1k</span> algorithm, Package consumers that support encryption shall support the values <span class="Attribute_20_Value">SHA1/1K</span>, <span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#sha1</span>-1k and <span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#sha256-1k</span>.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:checksum-type</span> attribute is usable with the following element: <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The values of the <span class="Attribute">manifest:checksum-type</span> attribute are <span class="Attribute_20_Value">SHA1/1K</span> or a value of type <span class="Datatype">anyURI</span> <a href="#datatype-anyURI">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_4manifest_full-path"><span style="margin-right:0.127cm;">4.8.4</span></a><a id="__RefHeading__752849_826425813"/><a id="attribute-manifest_full-path"/>manifest:full-path</h3><p class="Text_20_body">The <span class="Attribute">manifest:full-path</span> attribute describes the location of a file or directory within the package. It's value is the name of a file or folder within the Zip file for which the manifest entry defines additional information, including its relative path in the package. The notation is the same as for the “filename” fields of the Zip file's central directory.</p><p class="Text_20_body">The attribute value "<span class="Attribute_20_Value">/</span>" denotes a manifest entry for the package itself.</p><p class="Text_20_body"><span class="Note_20_Label">Note:</span> The Zip file's central directory and the manifest file may have different text encodings.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:full-path</span> attribute is usable with the following element: <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:full-path</span> attribute has the data type <span class="Datatype">string</span> <a href="#datatype-string">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_5manifest_initialisation-vector"><span style="margin-right:0.127cm;">4.8.5</span></a><a id="__RefHeading__752851_826425813"/><a id="attribute-manifest_initialisation-vector"/>manifest:initialisation-vector</h3><p class="Text_20_body">The <span class="Attribute">manifest:initialisation-vector</span> attribute value provides the byte-sequence for the initialization vector used by the encryption algorithm when delivery of a required initialization vector is not specified as part of the encryption algorithm definition. The initialization vector is a BASE64 encoded binary sequence. The format and length of an initialization vector, in bytes, shall be as required by its encryption algorithm specification.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:initialisation-vector</span> attribute is usable with the following element: <span class="Element">&lt;manifest:algorithm&gt;</span> <a href="#element-manifest_algorithm">4.5</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:initialisation-vector</span> attribute has the data type <span class="Datatype">base64Binary</span> <a href="#datatype-base64Binary">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_6manifest_start-key-generation-name"><span style="margin-right:0.127cm;">4.8.6</span></a><a id="__RefHeading__752853_826425813"/><a id="attribute-manifest_start-key-generation-name"/>manifest:start-key-generation-name</h3><p class="Text_20_body"><span class="T1">The </span><span class="Attribute">manifest:start-key-generation-name</span><span class="T1"> attribute specifies the algorithm used to generate a start key from the user password.</span></p><p class="Text_20_body"><span class="T1">The defined values for the </span><span class="Attribute">manifest:start-key-generation-name</span><span class="T1"> attribute are:</span></p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">SHA1</span><span class="T10">:</span><span class="T1"> The SHA1 algorithm </span><span class="T8">(see </span><span class="T8"><a title="US Secure Hash Algorithm 1 (SHA1)" href="http://www.ietf.org/rfc/rfc3174.txt">[RFC3174]</a></span><span class="T8">)</span><span class="T1">.</span><span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>An IRI listed in §5.7 of <a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a>: The algorithm specified in §5.7 of <a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a> for this IRI.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>The IRI of an alternative algorithm as specified in §5.1 of <a title="XML Encryption Syntax and Processing" href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/">[xmlenc-core]</a> Alternative algorithms may be specified by extended conforming <span class="T2">package</span>s only. They shall not be specified by conforming <span class="T2">package</span>s.<span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">The default value for this attribute is <span class="Attribute_20_Value">SHA1</span>.</p><p class="Text_20_body"><span class="T1">Package producers that support encryption should use the </span><span class="Attribute_20_Value">http://www.w3.org/2000/09/xmldsig#sha256</span><span class="T1"> algorithm</span><span class="T3">.</span><span class="T1"> Package consumers that support encryption shall support the values </span><span class="Attribute_20_Value">SHA1</span><span class="T1">, and</span> <span class="Attribute_20_Value">http://www.w3.org/2000/09/xmldsig#sha1</span> and <span class="Attribute_20_Value">http://www.w3.org/2000/09/xmldsig#sha256</span>.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:start-key-generation-name</span> attribute is usable with the following element: <span class="Element">&lt;manifest:start-key-generation&gt;</span> <a href="#element-manifest_start-key-generation">4.6</a>.</p><p class="Attribute_20_Value_20_List">The values of the <span class="Attribute">manifest:start-key-generation-name</span> attribute are <span class="Attribute_20_Value">SHA1</span> or a value of type <span class="Datatype">anyURI</span> <a href="#datatype-anyURI">7.2</a>.</p><p class="P6_borderEnd"><span class="T8">The </span>manifest:start-key-generation-name<span class="T8"> attribute has the value </span><span class="T4">SHA1</span><span class="T8"> or a value of data type </span><span class="Datatype"><span class="T8">anyURI</span></span><span class="T8">.</span></p><h3 class="Heading_20_3"><a id="a4_8_7manifest_key-size"><span style="margin-right:0.127cm;">4.8.7</span></a><a id="__RefHeading__752855_826425813"/><a id="attribute-manifest_key-size"/>manifest:key-size</h3><p class="Text_20_body"><span class="T1">The</span> <span class="Attribute">manifest:key-size</span> a<span class="T1">ttribute specifies the length </span><span class="T1">in octets </span><span class="T1">of a key</span><span class="T1"> delivered by a key-developing algorithm</span><span class="T1">.</span></p><p class="Text_20_body"><span class="T1">For a </span><span class="Element">&lt;manifest:start-key-generation&gt;</span><span class="T1"> element, the default value for this attribute is </span><span class="Attribute_20_Value"><span class="T1">20</span></span><span class="T1">.</span></p><p class="Note"><span class="Note_20_Label">Note</span><span class="T1">: The value used will need to be compatible with the result obtain from the start-key-generation algorithm and the input requirements of the key derivation algorithm.<br/><br/>For a </span><span class="Element">&lt;manifest:key-derivation&gt;</span><span class="T1"> element, the default value for this attribute is </span><span class="Attribute_20_Value"><span class="T1">16</span></span><span class="T1">.</span></p><p class="Note"><span class="Note_20_Label">Note</span><span class="T1">: The value used will need to be one obtainable from the key-derivation algorithm and acceptable for the encryption algorithm being used.</span></p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:key-size</span> attribute is usable with the following elements: <span class="Element">&lt;manifest:key-derivation&gt;</span> <a href="#element-manifest_key-derivation">4.7</a> and <span class="Element">&lt;manifest:start-key-generation&gt;</span> <a href="#element-manifest_start-key-generation">4.6</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:key-size</span> attribute has the data type <span class="Datatype">nonNegativeInteger</span> <a href="#datatype-nonNegativeInteger">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_8manifest_iteration-count"><span style="margin-right:0.127cm;">4.8.8</span></a><a id="__RefHeading__752857_826425813"/><a id="attribute-manifest_iteration-count"/>manifest:iteration-count</h3><p class="Text_20_body">The <span class="Attribute">manifest:iteration-count</span> attribute specifies the number of iterations used by the key derivation algorithm to derive a key.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:iteration-count</span> attribute is usable with the following element: <span class="Element">&lt;manifest:key-derivation&gt;</span> <a href="#element-manifest_key-derivation">4.7</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:iteration-count</span> attribute has the data type <span class="Datatype">nonNegativeInteger</span> <a href="#datatype-nonNegativeInteger">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_9manifest_key-derivation-name"><span style="margin-right:0.127cm;">4.8.9</span></a><a id="__RefHeading__752859_826425813"/><a id="attribute-manifest_key-derivation-name"/>manifest:key-derivation-name</h3><p class="Text_20_body">The <span class="Attribute">manifest:key-derivation-name</span> attribute specifies the password-based key-derivation algorithm used to derive a cryptographic key for use in encryption and decryption of the file.</p><p class="Text_20_body">The defined values for the <span class="Attribute">manifest:key-derivation-name</span> attribute are:</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">PBKDF2</span>: The PBKDF2 key derivation method with HMAC-SHA-1 for the Pseudo-Random Function(PRF). See <a title="PKCS #5: Password-Based Cryptography Specification Version 2.0" href="http://www.ietf.org/rfc/rfc2898.txt">[RFC2898]</a> sections 5.2 and B.1.1.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#pbkdf2</span>: The same algorithms as identified by <span class="Attribute_20_Value">PBKDF2</span>.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>The IRI of an implementation-defined alternative algorithm. Alternative algorithms may be specified by extended conforming <span class="T2">package</span>s only. They shall not be specified by conforming <span class="T2">package</span>s.<span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">Package producers that support encryption shall support the value <span class="Attribute_20_Value">PBKDF2</span>. <span class="T1">Package consumers that support encryption shall support the values </span><span class="Attribute_20_Value">PBKDF2</span><span class="T1"> and </span><span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#pbkdf2</span>.</p><p class="Text_20_body">If the value of this attribute is <span class="Attribute_20_Value">PBKDF2</span> or <span class="Attribute_20_Value">urn:oasis:names:tc:opendocument:xmlns:</span><span class="Attribute_20_Value">manifest</span><span class="Attribute_20_Value">:1.0</span><span class="Attribute_20_Value">#pbkdf2</span> the <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a> shall contain a <span class="Element">&lt;manifest:start-key-generation&gt;</span> <a href="#element-manifest_start-key-generation">4.6</a> child element that specifies the start key for the PBKDF2 algorithm.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:key-derivation-name</span> attribute is usable with the following element: <span class="Element">&lt;manifest:key-derivation&gt;</span> <a href="#element-manifest_key-derivation">4.7</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The values of the <span class="Attribute">manifest:key-derivation-name</span> attribute are <span class="Attribute_20_Value">PBKDF2</span> or a value of type <span class="Datatype">anyURI</span> <a href="#datatype-anyURI">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_10manifest_media-type"><span style="margin-right:0.127cm;">4.8.10</span></a><a id="__RefHeading__752861_826425813"/><a id="attribute-manifest_media-type"/>manifest:media-type</h3><p class="Text_20_body">The <span class="Attribute">manifest:media-type</span> attribute specifies the MIME media type of a file or directory. See <a title="Media Type Specifications and Registration Procedures" href="http://www.ietf.org/rfc/rfc4288.txt">[RFC4288]</a>.</p><p class="Text_20_body">A <span class="Attribute">manifest:media-type</span> attribute should be present for all files and directories where a MIME media type exists for the content of the file, or the document or sub document contained in a directory.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:media-type</span> attribute is usable with the following element: <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:media-type</span> attribute has the data type <span class="Datatype">string</span> <a href="#datatype-string">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_11manifest_preferred-view-mode"><span style="margin-right:0.127cm;">4.8.11</span></a><a id="__RefHeading__752863_826425813"/><a id="line-141"/><a id="attribute-manifest_preferred-view-mode"/><a id="line-13"/>manifest:preferred-view-mode</h3><p class="Text_20_body">The <span class="Attribute">manifest:preferred-view-mode</span> attribute specifies a preference on how the author of the document would like the document to be presented upon the document being opened. This attribute is only applicable to the root file entry with the <span class="Attribute">manifest:full-path</span> <a href="#attribute-manifest_full-path">4.8.4</a> attribute value of "<span class="Attribute_20_Value">/</span>".</p><p class="Text_20_body">The defined values for the <span class="Attribute">manifest:preferred-view-mode</span> attribute are:</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">edit</span>: The author's preference is to open the document as an editable document.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">presentation-slide-show</span>: The author's preference is to open the document as presentation slide show.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute_20_Value">read-only</span>: The author's preference is to open the document as a read-only document.<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>A namespaced token value: Specifies an implementation defined view.<span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">Preferred view modes are not necessarily generally applicable to all media types. The default preferred view mode is implementation defined. The behavior for cases where the <span class="Attribute">manifest:preferred-view-mode</span> attribute is absent is implementation defined.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:preferred-view-mode</span> attribute is usable with the following element: <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The values of the <span class="Attribute">manifest:preferred-view-mode</span> attribute are <span class="Attribute_20_Value">edit</span>, <span class="Attribute_20_Value">presentation-slide-show</span>, <span class="Attribute_20_Value">read-only</span> or a value of type <span class="Datatype">namespacedToken</span> <a href="#datatype-namespacedToken">7.3.1</a>.</p><h3 class="Heading_20_3"><a id="a4_8_12manifest_salt"><span style="margin-right:0.127cm;">4.8.12</span></a><a id="__RefHeading__752865_826425813"/><a id="attribute-manifest_salt"/>manifest:salt</h3><p class="Text_20_body">The <span class="Attribute">manifest:salt</span> attribute carries the value of a cryptographically-random binary value designed to mitigate certain cryptographic attacks on the password. There is no maximum length to the salt. See <a title="PKCS #5: Password-Based Cryptography Specification Version 2.0" href="http://www.ietf.org/rfc/rfc2898.txt">[RFC2898]</a> for further considerations in the use of salts with key-derivation and other cryptographic functions. The salt is encoded in the attribute value as <span class="Datatype">base64binary</span>.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:salt</span> attribute is usable with the following element: <span class="Element">&lt;manifest:key-derivation&gt;</span> <a href="#element-manifest_key-derivation">4.7</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:salt</span> attribute has the data type <span class="Datatype">base64Binary</span> <a href="#datatype-base64Binary">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_13manifest_size"><span style="margin-right:0.127cm;">4.8.13</span></a><a id="__RefHeading__752867_826425813"/><a id="attribute-manifest_size"/>manifest:size</h3><p class="Text_20_body">The <span class="Attribute">manifest:size</span> attribute shall be present for encrypted files. See <a href="#Encryption">3.4</a>. Its value shall be size of the uncompressed, unencrypted file in bytes.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:size</span> attribute is usable with the following element: <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:size</span> attribute has the data type <span class="Datatype">nonNegativeInteger</span> <a href="#datatype-nonNegativeInteger">7.2</a>.</p><h3 class="Heading_20_3"><a id="a4_8_14manifest_version"><span style="margin-right:0.127cm;">4.8.14</span></a><a id="__RefHeading__752869_826425813"/><a id="attribute-manifest_version"/>manifest:version</h3><h4 class="Heading_20_4"><a id="a4_8_14_1_manifest_file-entry_"><span style="margin-right:0.127cm;">4.8.14.1</span></a><a id="attribute-manifest_version_element-manifest_file-entry"/>&lt;manifest:file-entry&gt;</h4><p class="Text_20_body">The <span class="Attribute">manifest:version</span> attribute specifies the format version of a file entry. For documents that are composed from multiple files, this attribute is specified at the manifest entry that references the folder that contains these files.</p><p class="Text_20_body">The interpretation of the attribute value depends on the MIME media type specified in the <span class="Attribute">manifest:media-type</span> attribute.</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:version</span> attribute is usable with the following element: <span class="Element">&lt;manifest:file-entry&gt;</span> <a href="#element-manifest_file-entry">4.3</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The <span class="Attribute">manifest:version</span> attribute has the data type <span class="Datatype">string</span> <a href="#datatype-string">7.2</a>.</p><h4 class="Heading_20_4"><a id="a4_8_14_2_manifest_manifest_"><span style="margin-right:0.127cm;">4.8.14.2</span></a><a id="attribute-manifest_version_element-manifest_manifest"/>&lt;manifest:manifest&gt;</h4><p class="Text_20_body">The <span class="Attribute">manifest:version</span> attribute identifies the version of OpenDocument specification that defines the schema and interpretation of the package manifest. The value of the <span class="Attribute">manifest:version</span> attribute shall be "<span class="Attribute_20_Value">1.2</span>".</p><p class="Parent_20_Element_20_List_borderStart">The <span class="Attribute">manifest:version</span> attribute is usable with the following element: <span class="Element">&lt;manifest:manifest&gt;</span> <a href="#element-manifest_manifest">4.2</a>.</p><p class="Attribute_20_Value_20_List_borderEnd">The only value of the <span class="Attribute">manifest:version</span> attribute is <span class="Attribute_20_Value">1.2</span>.</p><h1 class="Heading_20_1"><a id="a5Digital_Signatures_File"><span style="margin-right:0.127cm;">5</span></a><a id="__RefHeading__752871_826425813"/><a id="Digital_Signature_File"/>Digital Signatures File</h1><h2 class="Heading_20_2"><a id="a5_1Introduction"><span style="margin-right:0.127cm;">5.1</span></a><a id="__RefHeading__752873_826425813"/>Introduction</h2><p class="Text_20_body">The format of the digital signature files is defined by the OpenDocument digital signature schema Relax-NG <a title="Document Schema Definition Language (DSDL) -- Part 2: Regular-grammar-based validation -- RELAX NG" href="http://oasis-open.org/committees/relax-ng/spec-20011203.html">[RNG]</a> schema. See appendix A. This chapter describes the semantics of the elements and attributes defined by this schema.</p><h2 class="Heading_20_2"><a id="a5_2_dsig_document-signatures_"><span style="margin-right:0.127cm;">5.2</span></a><a id="__RefHeading__752875_826425813"/><a id="element-dsig_document-signatures"/><a id="element2-dsig_document-signatures"/><a id="DDE_LINK"/>&lt;dsig:document-signatures&gt;</h2><p class="Text_20_body">The <span class="Element">&lt;dsig:document-signatures&gt;</span> root element serves as a container for any number of <span class="Alien_20_Element">&lt;ds:Signature&gt;</span> <a href="#element2-xmldsig_Signature">5.3</a> elements. If the <span class="Element">&lt;dsig:document-signatures&gt;</span> element contains multiple <span class="Alien_20_Element">&lt;ds:Signature&gt;</span> elements, then there <span class="ISO_20_Keyword">should</span> be a relation between the digital signatures they define, for instance, they may all apply to the same set of files.</p><p class="Text_20_body">Consumers <span class="ISO_20_Keyword">may </span>require that a digital signature includes a certain set of files. That is, they <span class="ISO_20_Keyword">may </span>consider a digital signature to be valid if, and only if,</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>the digital signature itself is valid, and<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>if the <span class="Alien_20_Element">&lt;</span><span class="Alien_20_Element">ds:</span><span class="Alien_20_Element">Reference&gt;</span> child elements of the <span class="Alien_20_Element">&lt;</span><span class="Alien_20_Element">ds:</span><span class="Alien_20_Element">Signature&gt;</span> element reference a certain set of files.<span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">In particular, consumers <span class="ISO_20_Keyword">may</span> require that a digital signature references all files contained in a package.</p><p class="Text_20_body">If a digital signature file is not encrypted, consumers shall not decrypt files that are referenced by <span class="Alien_20_Element">&lt;</span><span class="Alien_20_Element">ds:</span><span class="Alien_20_Element">Reference&gt;</span> elements and that are encrypted before validating the signature.</p><p class="Text_20_body">If a digital signature file is encrypted, consumers shall decrypt files that are referenced by <span class="Alien_20_Element">&lt;</span><span class="Alien_20_Element">ds:</span><span class="Alien_20_Element">Reference&gt;</span> elements and that are encrypted before validating the signature.</p><p class="Parent_20_Element_20_List2_borderStart">The <span class="Element">&lt;dsig:document-signatures&gt;</span> element is a root element.</p><p class="Attribute_20_List2">The <span class="Element">&lt;dsig:document-signatures&gt;</span> element has the following attribute: <span class="Attribute">dsig:version</span> <a href="#attribute-dsig_version">5.4.1</a>.</p><p class="Child_20_Element_20_List2_borderEnd">The <span class="Element">&lt;dsig:document-signatures&gt;</span> element has the following child element: <span class="Element">&lt;ds:Signature&gt;</span> <a href="#element2-xmldsig_Signature">5.3</a>.</p><h2 class="Heading_20_2"><a id="a5_3_ds_Signature_"><span style="margin-right:0.127cm;">5.3</span></a><a id="__RefHeading__752877_826425813"/><a id="element2-xmldsig_Signature"/><a id="attribute-manifest_version_element-ds_Signature"/>&lt;ds:Signature&gt;</h2><p class="Text_20_body">The <span class="Alien_20_Element">&lt;ds:Signature&gt;</span> element is defined by the <a title=" XML Signature Syntax and Processing (Second Edition)" href="http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/">[xmldsig-core]</a> specification. Each <span class="Alien_20_Element">&lt;ds:Signature&gt;</span> element shall contain an <span class="Alien_20_Attribute">Id</span> attribute specifying a unique value. A producer may use the XAdES extensions as specified in ETSI TS 101 903 v1.4.1 <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a>, or later versions of the XAdES specification.</p><p class="Text_20_body">A <span class="Alien_20_Element">&lt;ds:KeyInfo&gt;</span> element, as specified in <a title=" XML Signature Syntax and Processing (Second Edition)" href="http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/">[xmldsig-core]</a>, section 4.4 shall be included. The <span class="Alien_20_Element">&lt;ds:KeyInfo&gt;</span> element should contain an <span class="Alien_20_Element">&lt;ds:X509Data&gt;</span> element containing an <span class="Alien_20_Element">&lt;ds:X509IssuerSerial&gt;</span> element specifying the issuer and serial number of the signing certificate, and an <span class="Alien_20_Element">&lt;ds:X509Certificate&gt;</span> element specifying the full signing certificate.</p><p class="Text_20_body">Additional <span class="Alien_20_Element">&lt;ds:X509Certificate&gt;</span> elements may be placed in the <span class="Alien_20_Element">&lt;ds:X509Data&gt;</span>, or may be placed in the <span class="Alien_20_Element">&lt;xades:CertificateValues&gt;</span> element of the XAdES <span class="Alien_20_Element">&lt;ds:Object&gt;</span>, as defined in <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a> section 7.6.1. The additional certificates should represent the entire certificate chain used for verification at signing time.</p><p class="Text_20_body"><span class="Alien_20_Element">&lt;ds:Reference&gt;</span> elements contained within a <span class="Alien_20_Element">&lt;ds:SignedInfo&gt;</span> element shall be resolved according to the following specification:</p><ol><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">1.</span>A <span class="Alien_20_Element">&lt;ds:Reference&gt;</span> element which has a Type attribute value of "<span class="Alien_20_Attribute_20_Value">http://docs.oasis-open.org/office/v1.2/OS/OpenDocument-v1.2.odt</span>" shall refer to files in the same package in the accordance with the procedure for resolving IRIs <a href="#Package_IRI">3.7</a>, except that the file entry path shall be the name of the signature file with its relative path omitted. <span class="odfLiEnd"/> </p><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm"><!-- --></span><span class="Note_20_Label">Note:</span> Consequently, an IRI-Reference consisting entirely of "#" followed by an ifragment (§2.2 of [RFC3987]) refers to the ID of an XML element within the same XML document containing this <span class="Alien_20_Element">&lt;ds:signature&gt;</span> element.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">2.</span>A <span class="Alien_20_Element">&lt;ds:Reference&gt;</span> element which has a Type attribute with a value of "<span class="Alien_20_Attribute_20_Value">http://uri.etsi.org/01903/v1.2.2#SignedProperties</span>" refers to an XAdES SignedProperties element.. A <span class="Alien_20_Element">&lt;ds:Reference&gt;</span> element which refers to the XAdES SignedProperties element (if present) shall be as specified in <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a> section 6.3.1.<span class="odfLiEnd"/> </p></li><li><p class="P22" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0.4991cm">3.</span>A <span class="Alien_20_Element">&lt;ds:Reference&gt;</span> element which does not have a Type attribute shall be processed the same a <span class="Alien_20_Element">&lt;ds:Reference&gt;</span> element which has a Type attribute with a value of "<span class="Alien_20_Attribute_20_Value">http://docs.oasis-open.org/office/v1.2/OS/OpenDocument-v1.2.odt</span>".<span class="odfLiEnd"/> </p></li></ol><p class="Text_20_body">The only permitted <span class="Alien_20_Element">&lt;ds:Transform&gt;</span> elements which apply to files contained within the archive shall be canonicalization transforms, as specified in <a title=" XML Signature Syntax and Processing (Second Edition)" href="http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/">[xmldsig-core]</a>, section 6.5.</p><p class="Text_20_body">The signing time should be recorded using one or more of the following approaches:</p><ol><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">1.</span>An <span class="Alien_20_Element">&lt;ds:Object &gt;</span> element containing a <span class="Alien_20_Element">&lt;ds:SignatureProperty&gt;</span> element with:<span class="odfLiEnd"/> </p><ol><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">a.</span>An <span class="Alien_20_Attribute">Id</span> attribute with a value containing a unique identifier.<span class="odfLiEnd"/> </p></li><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">b.</span>A Target attribute corresponding to the <span class="Alien_20_Attribute">Id</span> attribute of the <span class="Alien_20_Element">&lt;ds:Signature&gt;</span> element.<span class="odfLiEnd"/> </p></li><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">c.</span>A <span class="Alien_20_Element">&lt;date&gt;</span> element from the namespace "<span class="Alien_20_Attribute_20_Value">http://purl.org/dc/elements/1.1/</span>" containing the UTC time as <a title="XML Schema Part 2: Datatypes Second Edition" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">[xmlschema-2]</a> dateTime value.<span class="odfLiEnd"/> </p></li></ol></li><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">2.</span>A <span class="Alien_20_Element">&lt;xades:SigningTime&gt;</span> element as specified in <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a> section 7.2.1.<span class="odfLiEnd"/> </p></li></ol><p class="Text_20_body">If an <span class="Alien_20_Element">&lt;ds:Object&gt;</span> containing XAdES elements is present, then a document compliant with this specification uses the following options:</p><ol><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">1.</span>The <span class="Alien_20_Element">&lt;xades:SignedSignatureProperties&gt;</span> element shall contain a <span class="Alien_20_Element">&lt;xades:SigningCertificate&gt;</span> property as specified in <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a> section 7.2.2.<span class="odfLiEnd"/> </p></li><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">2.</span>A &lt;xades:SigningTime&gt; element should be present as specified in <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a> section 7.2.1.<span class="odfLiEnd"/> </p></li><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">3.</span>If any timestamp elements of type XAdESTimeStampType are present, such as the <span class="Alien_20_Element">&lt;xades:SignatureTimeStamp&gt;</span> or <span class="Alien_20_Element">&lt;xades: SigAndRefsTimestamp&gt;</span> elements, the time stamp information shall be specified as an EncapsulatedTimeStamp element containing DER encoded ASN.1. Data.<span class="odfLiEnd"/> </p></li><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">4.</span>If references to validation data are present, the <span class="Alien_20_Element">&lt;xades:SigAndRefsTimestamp&gt;</span> element as specified in <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a> sections 7.5.1 and 7.5.1.1 shall be used.<span class="odfLiEnd"/> </p></li><li><p class="P20" style="margin-left:0cm;"><span class="Numbering_20_Symbols" style="display:block;float:left;min-width:0cm">5.</span>There shall be a <span class="Alien_20_Element">&lt;ds:Reference&gt;</span> element specifying the digest of the SignedProperties element, as specified in <a title="XML Advanced Electronic Signatures (XAdES)" href="http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28064">[XAdES]</a>, section 6.2.1. This <span class="Alien_20_Element">&lt;ds:Reference&gt;</span> element shall be contained within the <span class="Alien_20_Element">&lt;ds:SignedInfo&gt;</span> element of the <span class="Alien_20_Element">&lt;ds:Signature&gt;</span> element.<span class="odfLiEnd"/> </p></li></ol><p class="Parent_20_Element_20_List2">The <span class="Element">&lt;ds:Signature&gt;</span> element is usable with the following element: <span class="Element">&lt;dsig:document-signatures&gt;</span> <a href="#element2-dsig_document-signatures">5.2</a>.</p><h2 class="Heading_20_2"><a id="a5_4Digital_Signatures_Attributes"><span style="margin-right:0.127cm;">5.4</span></a><a id="__RefHeading__752879_826425813"/>Digital Signatures Attributes</h2><h3 class="Heading_20_3"><a id="a5_4_1dsig_version"><span style="margin-right:0.127cm;">5.4.1</span></a><a id="__RefHeading__752881_826425813"/><a id="attribute-dsig_version"/>dsig:version</h3><p class="Text_20_body">The <span class="Attribute">dsig:version</span> attribute identifies the version of OpenDocument specification that defines the schema and interpretation of the digital signature file. The value of the <span class="Attribute">dsig:version</span> attribute shall be "<span class="Attribute_20_Value">1.2</span>".</p><p class="Parent_20_Element_20_List2_borderStart">The <span class="Attribute">dsig:version</span> attribute is usable with the following element: <span class="Element">&lt;dsig:document-signatures&gt;</span> <a href="#element2-dsig_document-signatures">5.2</a>.</p><p class="Parent_20_Element_20_List2_borderEnd">The only value of the <span class="Attribute">dsig:version</span> attribute is <span class="Attribute_20_Value">1.2</span>.</p><h1 class="Heading_20_1"><a id="a6Metadata_Manifest_Files"><span style="margin-right:0.127cm;">6</span></a><a id="__RefHeading__752883_826425813"/><a id="Metadata_Manifest_Files"/>Metadata Manifest Files</h1><h2 class="Heading_20_2"><a id="a6_1General"><span style="margin-right:0.127cm;">6.1</span></a><a id="__RefHeading__752885_826425813"/>General</h2><p class="Text_20_body">Metadata manifest files (see <a href="#Metadata">3.6</a>) have the file name “manifest.rdf”. The metadata manifest file for a document (see <a href="#General">3.1</a>) shall be stored in the root of the package. The metadata manifest file for a sub documents shall be stored in the sub document's directory.</p><p class="Text_20_body">Metadata manifest files enumerate metadata files and their relationships to other files in that document or sub document as defined by this specification.</p><p class="Text_20_body">The relationships are expressed in the metadata manifest files using <a title=" RDF/XML Syntax Specification (Revised)" href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/">[RDF-XML]</a> and the <a title="OWL Web Ontology Language Overview" href="http://www.w3.org/TR/2004/REC-owl-features-20040210/">[OWL]</a> Metadata Manifest Description ontology that is defined in appendix B. The following OWL classes and properties are defined.</p><h2 class="Heading_20_2"><a id="a6_2pkg_Document"><span style="margin-right:0.127cm;">6.2</span></a><a id="__RefHeading__752887_826425813"/><a id="owlclass-pkg_Document"/>pkg:Document</h2><p class="Text_20_body">An instance of the <span class="OWL_20_Class">pkg:Document</span> class in the metadata manifest file represents the document or sub document itself.</p><p class="Text_20_body">The following property is defined for the <span class="OWL_20_Class">pkg:Document</span> class: <span class="OWL_20_Property">pkg:hasPart</span> <a href="#owlproperty-pkg_hasPart">6.6</a>.</p><h2 class="Heading_20_2"><a id="a6_3pkg_File"><span style="margin-right:0.127cm;">6.3</span></a><a id="__RefHeading__752889_826425813"/><a id="owlclass-pkg_File"/>pkg:File</h2><p class="Text_20_body">A file in an OpenDocument package is represented by an instance of class <span class="OWL_20_Class">pkg:File</span> or by one of its subclasses, for example <span class="OWL_20_Class">pkg:MetadataFile</span>.</p><p class="Text_20_body">An instance of the <span class="OWL_20_Class">pkg:File</span> class (or one of its subclasses) is identified by an IRI.</p><p class="Text_20_body">The relationship between a file and a package is expressed using the property <span class="OWL_20_Property">pkg:hasPart</span> <a href="#owlproperty-pkg_hasPart">6.6</a>.</p><p class="Text_20_body">The following property is defined for the <span class="OWL_20_Class">pkg:File</span> class: <span class="OWL_20_Property">pkg:mimeType</span> <a href="#owlproperty-pkg_mimeType">6.7</a>.</p><h2 class="Heading_20_2"><a id="a6_4pkg_MetadataFile"><span style="margin-right:0.127cm;">6.4</span></a><a id="__RefHeading__752891_826425813"/>pkg:MetadataFile</h2><p class="Text_20_body">An instance of the <span class="OWL_20_Class">pkg:MetadataFile</span> class represents a metadata file.</p><p class="Text_20_body">The <span class="OWL_20_Class">pkg:MetadataFile</span> class is a subclass of <span class="OWL_20_Class">pkg:File</span> <a href="#owlclass-pkg_File">6.3</a>.</p><h2 class="Heading_20_2"><a id="a6_5pkg_Element"><span style="margin-right:0.127cm;">6.5</span></a><a id="__RefHeading__752893_826425813"/><a id="owlclass-pkg_Element"/>pkg:Element</h2><p class="Text_20_body">The <span class="OWL_20_Class">pkg:Element</span> class describes an XML element contained in a file within an OpenDocument package.</p><h2 class="Heading_20_2"><a id="a6_6pkg_hasPart"><span style="margin-right:0.127cm;">6.6</span></a><a id="__RefHeading__752895_826425813"/><a id="owlproperty-pkg_hasPart"/>pkg:hasPart</h2><p class="Text_20_body">The <span class="OWL_20_Property">pkg:hasPart</span> property locates a file described by <span class="OWL_20_Class">pkg:File</span> or its subclasses within a document or sub document.</p><p class="Text_20_body">This property can be used with the following class: <span class="OWL_20_Class">pkg:Document</span> <a href="#owlclass-pkg_Document">6.2</a>.</p><h2 class="Heading_20_2"><a id="a6_7pkg_mimeType"><span style="margin-right:0.127cm;">6.7</span></a><a id="__RefHeading__752897_826425813"/><a id="owlproperty-pkg_mimeType"/>pkg:mimeType</h2><p class="Text_20_body">The <span class="OWL_20_Property">pkg:mimeType</span> property is used to specify the MIME media type <a title="Media Type Specifications and Registration Procedures" href="http://www.ietf.org/rfc/rfc4288.txt">[RFC4288]</a> of file described by an <span class="OWL_20_Class">pkg:File</span> class or one of its subclasses.</p><p class="Text_20_body">This property can be used with the following class: <span class="OWL_20_Class">pkg:File</span> <a href="#owlclass-pkg_File">6.3</a>.</p><h1 class="Heading_20_1"><a id="a7Datatypes"><span style="margin-right:0.127cm;">7</span></a><a id="__RefHeading__752899_826425813"/>Datatypes</h1><h2 class="Heading_20_2"><a id="a7_1Introduction"><span style="margin-right:0.127cm;">7.1</span></a><a id="__RefHeading__752901_826425813"/>Introduction</h2><p class="Text_20_body">The values of attributes and elements are often described as having datatypes. These datatypes either are datatypes defined within <a title="XML Schema Part 2: Datatypes Second Edition" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">[xmlschema-2]</a>, or are defined by this specification. Datatypes for which no <a title="XML Schema Part 2: Datatypes Second Edition" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">[xmlschema-2]</a> datatype exists are expressed in the schema by <a title="XML Schema Part 2: Datatypes Second Edition" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">[xmlschema-2]</a> datatypes. Some of these datatypes have additional constraints.</p><h2 class="Heading_20_2"><a id="a7_2W3C_Schema_Datatypes"><span style="margin-right:0.127cm;">7.2</span></a><a id="__RefHeading__752903_826425813"/>W3C Schema Datatypes</h2><p class="Text_20_body">The following <a title="XML Schema Part 2: Datatypes Second Edition" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">[xmlschema-2]</a> datatypes are used in this specification:</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><a id="datatype-anyURI"/>anyURI<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><a id="datatype-base64Binary"/>base64Binary<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><a id="datatype-nonNegativeInteger"/>nonNegativeInteger<span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><a id="datatype-string"/>string<span class="odfLiEnd"/> </p></li></ul><h2 class="Heading_20_2"><a id="a7_3Other_Datatypes"><span style="margin-right:0.127cm;">7.3</span></a><a id="__RefHeading__752905_826425813"/>Other Datatypes</h2><h3 class="Heading_20_3"><a id="a7_3_1namespacedToken"><span style="margin-right:0.127cm;">7.3.1</span></a><a id="__RefHeading__752907_826425813"/><a id="datatype-namespacedToken"/>namespacedToken</h3><p class="Text_20_body">A namespaced token is an <a title="XML Schema Part 2: Datatypes Second Edition" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">[xmlschema-2]</a> QName that matches the definition of PrefixedName in §4 of <a title="Namespaces in XML 1.0 (Second Edition)" href="http://www.w3.org/TR/2006/REC-xml-names-20060816">[xml-names]</a>.</p><ol><li><p class="Appendix_20_Heading_20_1" style="margin-left:0cm;"><span class="Zeichenformat" style="display:block;float:left;min-width:0.762cm">Appendix A.</span><a id="__RefHeading__752909_826425813"/><a id="Appendix_A"/>Schemas<span class="odfLiEnd"/> </p><ol><li><p class="Appendix_20_Heading_20_2" style="margin-left:0cm;"><span class="Zeichenformat" style="display:block;float:left;min-width:1.016cm">A.1.</span><a id="__RefHeading__752911_826425813"/>OpenDocument Manifest Schema<span class="odfLiEnd"/> </p></li></ol></li></ol><p class="Text_20_body">The OpenDocument manifest schema is defined by a separate document, whose location can be found in the <a href="#Related_Work">Related work</a> section on the introductory pages.</p><ol><li><ol><li><p class="Appendix_20_Heading_20_2" style="margin-left:0cm;"><span class="Zeichenformat" style="display:block;float:left;min-width:1.016cm">A.2.</span><a id="__RefHeading__752913_826425813"/>OpenDocument Digital Signature Schema<span class="odfLiEnd"/> </p></li></ol></li></ol><p class="Text_20_body">The OpenDocument digital signature schema is defined by a separate document, whose location can be found in the <a href="#Related_Work">Related work</a> section on the introductory pages.</p><ol><li><p class="Appendix_20_Heading_20_1" style="margin-left:0cm;"><span class="Zeichenformat" style="display:block;float:left;min-width:0.762cm">Appendix B.</span><a id="__RefHeading__752915_826425813"/><a id="Appendix_B"/>OpenDocument Metadata Manifest Ontology<span class="odfLiEnd"/> </p></li></ol><p class="Text_20_body">The OpenDocument metadata manifest ontology is defined by a separate document, whose location can be found in the <a href="#Related_Work">Related work</a> section on the introductory pages.</p><ol><li><p class="Appendix_20_Heading_20_1" style="margin-left:0cm;"><span class="Zeichenformat" style="display:block;float:left;min-width:0.762cm">Appendix C.</span><a id="__RefHeading__752917_826425813"/><a id="Appendix_C"/>Zip File Structure (Non normative)<span class="odfLiEnd"/> </p></li></ol><p class="Text_20_body">A Zip file starts with a sequence of files, each of which can be compressed or stored in raw format. Each file has a local header immediately before its data, which contains most of the information about the file, including time-stamps, compression method and file name. The compressed file contents immediately follow, and are terminated by an optional data descriptor. The data descriptor contains the CRC and compressed size of the file, which are frequently not available when writing the local file header. If these details were included, the data descriptor can be skipped.</p><p class="Text_20_body">Each file in the archive is laid down sequentially in this format, followed by a central directory at the end of the Zip archive. The central directory is a contiguous set of directory entries, each of which contains all the information in the local file header, plus extras such as file comments and attributes. Most importantly, the central directory contains pointers to the position of each file in the archive for navigation of the Zip file.</p><!--Next 'div' was a 'text:p'.--><div class="Figure"> <!--Next 'div' is a draw:frame.--><div style="width:2.9992in; padding:0; " class="fr1" id="Frame8"><!--Next 'div' was a 'draw:text-box'.--><div style="min-height:4.1866in;"><!--Next 'div' was a 'text:p'.--><div class="Figure"> <!--Next 'div' is a draw:frame.--><div style="height:4.1846in;width:3in; padding:0; " class="fr3" id="ZipFileStructure"><img style="height:10.6289cm;width:7.62cm;" alt="" src="./Pictures/10000200000001200000019292DCF9E2.gif"/></div><!--Next 'div' added for floating.--><div style="position:relative; left:0cm;">Figure <a id="refFigure0"/>1 - Zip file structure</div></div><div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;"> </div></div></div></div><div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;"> </div><p class="Text_20_body">For more details about the Zip file format, see <a title="PKWARE Inc. Zip APPNOTE Version 6.2.0" href="available at http://www.pkware.com/support/application-note-archives">[ZIP]</a>.</p><ol><li><p class="Appendix_20_Heading_20_1" style="margin-left:0cm;"><span class="Zeichenformat" style="display:block;float:left;min-width:0.762cm">Appendix D.</span><a id="__RefHeading__752919_826425813"/><a id="Appendix_D"/>Changes From “Open Document Format for Office Applications (OpenDocument) v1.1” (Non Normative)<span class="odfLiEnd"/> </p></li></ol><p class="Text_20_body">The OpenDocument specification has been divided into three parts and has been restructured.</p><p class="Text_20_body">This appendix describes changes that are related to part 3 of this specification.</p><p class="Text_20_body">The following is a list of major features that have been added. For minor features please see the lists of new and changed elements and attributes.</p><ul><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>Digital Signatures <a href="#Digital_Signatures">3.5</a><span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>RDF based metadata <a href="#Metadata">3.6</a><span class="odfLiEnd"/> </p></li><li><p class="P17" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span>Support for additional encryption algorithms <a href="#Encryption">3.4</a><span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">The following element is new for manifest files:</p><ul><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Element">&lt;manifest:start-key-generation&gt;</span> <a href="#element-manifest_start-key-generation">4.6</a><span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">The following attributes are new for manifest files:</p><ul><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute">manifest:key-size</span> <a href="#attribute-manifest_key-size">4.8.7</a><span class="odfLiEnd"/> </p></li><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute">manifest:preferred-view-mode</span> <a href="#attribute-manifest_preferred-view-mode">4.8.11</a><span class="odfLiEnd"/> </p></li><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute">manifest:start-key-generation-name</span> <a href="#attribute-manifest_start-key-generation-name">4.8.6</a><span class="odfLiEnd"/> </p></li><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute">manifest:version</span> <a href="#attribute-manifest_version">4.8.14</a><span class="odfLiEnd"/> </p></li></ul><p class="Text_20_body">The value types of the following attributes changed:</p><ul><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute">manifest:algorithm-name</span> <a href="#attribute-manifest_algorithm-name">4.8.1</a> of <span class="Element">&lt;manifest:algorithm&gt;</span> <a href="#element-manifest_algorithm">4.5</a><span class="odfLiEnd"/> </p></li><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute">manifest:checksum-type</span> <a href="#attribute-manifest_checksum-type">4.8.3</a> of <span class="Element">&lt;manifest:encryption-data&gt;</span> <a href="#element-manifest_encryption-data">4.4</a><span class="odfLiEnd"/> </p></li><li><p class="P21" style="margin-left:0cm;"><span class="Bullet_20_Symbols" style="display:block;float:left;min-width:0.6401cm"></span><span class="Attribute">manifest:key-derivation-name</span> <a href="#attribute-manifest_key-derivation-name">4.8.9</a> of <span class="Element">&lt;manifest:key-derivation&gt;</span> <a href="#element-manifest_key-derivation">4.7</a><span class="odfLiEnd"/> </p></li></ul></body></html>