/* Part 3 Section 4 Manifest File */ var CT_ODS = "application/vnd.oasis.opendocument.spreadsheet"; var parse_manifest = function(d, opts) { var str = xlml_normalize(d); var Rn; var FEtag; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { case 'manifest': break; // 4.2 <manifest:manifest> case 'file-entry': // 4.3 <manifest:file-entry> FEtag = parsexmltag(Rn[0]); if(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error("This OpenDocument is not a spreadsheet"); break; case 'encryption-data': // 4.4 <manifest:encryption-data> case 'algorithm': // 4.5 <manifest:algorithm> case 'start-key-generation': // 4.6 <manifest:start-key-generation> case 'key-derivation': // 4.7 <manifest:key-derivation> throw new Error("Unsupported ODS Encryption"); default: throw Rn; } };