forked from sheetjs/sheetjs
21 lines
809 B
JavaScript
21 lines
809 B
JavaScript
|
/* 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;
|
||
|
}
|
||
|
};
|