forked from sheetjs/sheetjs
		
	- ODS hooks + very basic parser (ods.js) - handle implicit row/col spec (h/t @EarlJS, see http://git.io/2lwOuA)
		
			
				
	
	
		
			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;
 | |
| 	}
 | |
| };
 |