Browsable Open Document Format (ODF) Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: doc/odf/v1.2/manifest/extracted
Source used for this grammar: OASIS, Rob Weir, Open Format Document v1.2, Manifest Schema, 29 September 2011 [RelaxNG]

Summary

Syntax

manifest ::=
	[manifest:manifest]::(manifest-attlist file-entry+)
manifest-attlist ::=
	[manifest:version]::"1.2"
file-entry ::=
	[manifest:file-entry]::(file-entry-attlist encryption-data?)
file-entry-attlist ::=
	[manifest:full-path]::string [manifest:size]::nonNegativeInteger? [manifest:media-type]::string [manifest:preferred-view-mode]::("edit" | "presentation-slide-show" | "read-only" | namespacedToken)? [manifest:version]::string?
encryption-data ::=
	[manifest:encryption-data]::(encryption-data-attlist algorithm start-key-generation? key-derivation)
encryption-data-attlist ::=
	[manifest:checksum-type]::("SHA1/1K" | anyURI) [manifest:checksum]::base64Binary
algorithm ::=
	[manifest:algorithm]::(algorithm-attlist anyElements)
algorithm-attlist ::=
	[manifest:algorithm-name]::("Blowfish CFB" | anyURI) [manifest:initialisation-vector]::base64Binary
anyAttListOrElements ::=
	string* anyElements
anyElements ::=
	(string? anyAttListOrElements string?)*
key-derivation ::=
	[manifest:key-derivation]::key-derivation-attlist
key-derivation-attlist ::=
	[manifest:key-derivation-name]::("PBKDF2" | anyURI) [manifest:salt]::base64Binary [manifest:iteration-count]::nonNegativeInteger [manifest:key-size]::nonNegativeInteger?
start-key-generation ::=
	[manifest:start-key-generation]::start-key-generation-attlist
start-key-generation-attlist ::=
	[manifest:start-key-generation-name]::("SHA1" | anyURI) [manifest:key-size]::nonNegativeInteger?
base64Binary ::=
	string
namespacedToken ::=
	string
nonNegativeInteger ::=
	integer
string ::=
	string
anyURI ::=
	string

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []