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; | ||
|  | 	} | ||
|  | }; |