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