| 
					
				 | 
			
			
				@@ -72,22 +72,41 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Regular expressions for special string conversion.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defconst org-odt-lib-dir (file-name-directory load-file-name)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defconst org-odt-data-dir 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (let ((dir1 (expand-file-name "../odt" org-odt-lib-dir))	   ; git 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(dir2 (expand-file-name "./" org-odt-lib-dir)))		   ; elpa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     ((file-directory-p dir1) dir1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     ((file-directory-p dir2) dir2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (t (error "Cannot find factory styles file. Check package dir layout")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "Directory that holds auxiliary files used by the ODT exporter. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-The 'styles' subdir contains the following xml files - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 'OrgOdtStyles.xml' and 'OrgOdtContentTemplate.xml' - which are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- used as factory settings of `org-export-odt-styles-file' and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- `org-export-odt-content-template-file'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-The 'etc/schema' subdir contains rnc files for validating of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-OpenDocument xml files.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defconst org-odt-styles-dir 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((styles-dir (expand-file-name "../etc/styles/" org-odt-lib-dir))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (prog1 styles-dir 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (unless (and (file-readable-p (expand-file-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				     "OrgOdtContentTemplate.xml" styles-dir)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (file-readable-p (expand-file-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				     "OrgOdtStyles.xml" styles-dir))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(error "Cannot find factory styles file. Check package dir layout")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Directory that holds auxiliary XML files used by the ODT exporter. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+This directory contains the following XML files - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ \"OrgOdtStyles.xml\" and \"OrgOdtContentTemplate.xml\".  These 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ XML files are used as the default values of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ `org-export-odt-styles-file' and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ `org-export-odt-content-template-file'.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defconst org-export-odt-schema-dir 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((schema-dir (expand-file-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		     "../contrib/odt/etc/schema/" org-odt-lib-dir))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (if (and (file-readable-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (expand-file-name "od-manifest-schema-v1.2-cs01.rnc" schema-dir)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (file-readable-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (expand-file-name "od-schema-v1.2-cs01.rnc" schema-dir)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (file-readable-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (expand-file-name "schemas.xml" schema-dir))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	schema-dir 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (prog1 nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(message "Unable to locate OpenDocument schema files.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(message "These files may be needed for enhanced debugging.")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Directory that contains OpenDocument schema files. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+This directory contains rnc files for OpenDocument schema.  It 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+also contains a \"schemas.xml\" that can be added to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+`rng-schema-locating-files' for auto validation of OpenDocument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+XML files.  See also `rng-nxml-auto-validate-flag'.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defvar org-odt-file-extensions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   '(("odt" . "OpenDocument Text") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,11 +138,14 @@ OpenDocument xml files.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; RelaxNG validation of OpenDocument xml files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (eval-after-load 'rng-nxml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  '(setq rng-nxml-auto-validate-flag t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  '(when org-export-odt-schema-dir 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (setq rng-nxml-auto-validate-flag t))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (eval-after-load 'rng-loc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  '(add-to-list 'rng-schema-locating-files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(expand-file-name "etc/schema/schemas.xml" org-odt-data-dir))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  '(when org-export-odt-schema-dir 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (add-to-list 'rng-schema-locating-files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (expand-file-name "schemas.xml" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				    org-export-odt-schema-dir)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (mapc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  (lambda (desc) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -160,7 +182,7 @@ The exporter embeds the exported content just before 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 \"</office:text>\" element. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 If unspecified, the file named \"OrgOdtContentTemplate.xml\" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-under `org-odt-data-dir' is used." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+under `org-odt-styles-dir' is used." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   :type 'file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   :group 'org-export-odt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,7 +196,7 @@ Valid values are one of: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ...)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 In case of option 1, an in-built styles.xml is used. See 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-`org-odt-data-dir' for more information. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+`org-odt-styles-dir' for more information. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 In case of option 3, the specified file is unzipped and the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 styles.xml embedded therein is used. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -431,8 +453,8 @@ PUB-DIR is set, use this as the publishing directory." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ;; automatic styles 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (insert-file-contents 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    (or org-export-odt-content-template-file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (expand-file-name "styles/OrgOdtContentTemplate.xml" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 org-odt-data-dir))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (expand-file-name "OrgOdtContentTemplate.xml" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 org-odt-styles-dir))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (goto-char (point-min)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (re-search-forward "</office:text>" nil nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (delete-region (match-beginning 0) (point-max))) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2323,8 +2345,8 @@ Do this when translation to MathML fails." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ;; throw an error purely for aesthetic reasons. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (setq styles-file (or styles-file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			org-export-odt-styles-file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			(expand-file-name "styles/OrgOdtStyles.xml" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					  org-odt-data-dir) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(expand-file-name "OrgOdtStyles.xml" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					  org-odt-styles-dir) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			(error "org-odt: Missing styles file?"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    ((listp styles-file) 
			 |