|
From: | Monroe, Will |
Subject: | Re: [O] Missing org-mode manual page: Validating OpenDocument XML |
Date: | Wed, 04 Mar 2015 15:13:53 -0600 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
Removing undo-tree was all it took. The export to ODT works without
any problems now. Huzzah! I take your point regarding care with repositories. FWIW, the org-mode Lisp I'm using is the one that arrives "built-in" to Emacs. I removed the MELPA and marmalade repositories and just have the "gnu" and "org" (http://orgmode.org/elpa/) repositories now. The bigger lesson from this for me as a beginner is to take greater care with my init.el settings and to be cautious about the packages that I install. Thanks so much for your help! Will On 3/4/15 10:00 AM, Vaidheeswaran C
wrote:
In your init.el search for undo-tree and remove it (temporarily) Or do M-x list-packages and uninstall the undo-tree elpa package. loext:contextual-spacing comes from your styles file. Find out where the style file comes from. If you are using Org package from non-GNU repositories, I would strongly recommend that you install from official GNU repositories. i.e., C-h v package-archives and remove all the non-GNU or non-Orgmode repos. On Wednesday 04 March 2015 07:07 PM, Will Monroe wrote:Thanks so much for your reply! I think I'm getting closer to understanding what's happening. On 03/03/2015 10:27 PM, Vaidheeswaran C wrote:I am not sure what is happening. Some suggestions: 1. C-h v temporary-file-directory. Check this variable, particularly if your are on Windows machine. 2. Load Emacs without your custom settings. a) emacs -Q -L /path/to/org/library (`-L' option not needed if org comes from your Emacs installation.) b) Once Emacs is loaded, do M-x load-library ox-odt Note where the styles and schema files come from.After following these instructions, I got the following results in Message: ,---- | For information about GNU Emacs and the GNU system, type C-h C-a. | Loading ox-odt... | Debug (ox-odt): Searching for OpenDocument styles files... | Debug (ox-odt): Trying /usr/share/emacs/etc/org/styles/... [2 times] | Debug (ox-odt): Trying /home/will/.emacs.d/etc/styles/... | Debug (ox-odt): Trying /home/will/.emacs.d/elpa/org-20150223/etc/styles/... | Debug (ox-odt): Using styles under /home/will/.emacs.d/elpa/org-20150223/etc/styles/ | Debug (ox-odt): Searching for OpenDocument schema files... | Debug (ox-odt): Trying /usr/share/emacs/etc/org/schema/... [2 times] | Debug (ox-odt): No OpenDocument schema files installed | Loading ox-odt...done `---- These style files are the same ones I've used in prior exports in which I've seen the errors that I reported in my earlier emails. I note the absence of OpenDocument schema files. As I understand it, they're aren't essential for the export to ODT process but are used for troubleshooting instead. Perhaps I've misunderstood that though.c) Proceed with exportI opened the same .org file that I'd had trouble exporting and used `C-c o O' to invoke export to ODT and then to prompt the file to be opened in LibreOffice Writer 4.2.7.2. It opened without any of the problems I'd seen previously. The Messages output is below. ,---- | LaTeX to MathML converter not available. | Formatting LaTeX using verbatim | Embedding /home/will/Dropbox/org/panopto-create-recording.png as Images/0001.png... | Wrote /tmp/odt-3818xsy/meta.xml | Using vacuous schema [2 times] | Saving file /tmp/odt-3818xsy/styles.xml... | Wrote /tmp/odt-3818xsy/styles.xml | Using vacuous schema | Wrote /tmp/odt-3818xsy/mimetype | Using vacuous schema | Saving file /tmp/odt-3818xsy/META-INF/manifest.xml... | Wrote /tmp/odt-3818xsy/META-INF/manifest.xml | Saving file /tmp/odt-3818xsy/content.xml... | Wrote /tmp/odt-3818xsy/content.xml | (No changes need to be saved) | Creating ODT file... | Running zip -mX0 work.odt mimetype | Running zip -rmTq work.odt . | Created /home/will/Dropbox/org/work.odt | Parsing archive file...done. | Running soffice --nologo --writer /home/will/Dropbox/org/work.odt...done `---- I noted that none of the "undo-tree" duplicate xml files that were cited as errors in the OpenDocument validator showed up.3. I will focus on XML errors like "loext:contextual-spacing" etc. The style file used by the exporter comes from `OrgOdtStyles.xml' (Check messages buffer for where this file comes from). This file has no such attributes. Which version of LibreOffice you are using? Where did you get style files from? Are you using #+ODT_STYLES_FILE option etc....I'm using LibreOffice 4.2.7.2. Although I've used style options--I think I just had them listed as #+OPTIONS--I removed them in earlier tests to see if they were causing problems. After running this test, I tried it out again with my usual configuration. I got the same LibreOffice "input/output" errors and saw this in Messages: ,---- | Formatting LaTeX using verbatim | Embedding /home/will/Dropbox/org/panopto-create-recording.png as Images/0001.png... | Wrote /tmp/odt-37886-H/meta.xml | Using vacuous schema | Local Ispell dictionary set to american | Using vacuous schema | Local Ispell dictionary set to american | Saving file /tmp/odt-37886-H/styles.xml... | Wrote /tmp/odt-37886-H/.styles.xml.~undo-tree~ | Wrote /tmp/odt-37886-H/styles.xml | Using vacuous schema | Local Ispell dictionary set to american | Wrote /tmp/odt-37886-H/mimetype | Using vacuous schema | Local Ispell dictionary set to american | Saving file /tmp/odt-37886-H/META-INF/manifest.xml... | Wrote /tmp/odt-37886-H/META-INF/.manifest.xml.~undo-tree~ | Wrote /tmp/odt-37886-H/META-INF/manifest.xml | Saving file /tmp/odt-37886-H/content.xml... | Wrote /tmp/odt-37886-H/.content.xml.~undo-tree~ | Wrote /tmp/odt-37886-H/content.xml | (No changes need to be saved) | Creating ODT file... | Running zip -mX0 work.odt mimetype | Running zip -rmTq work.odt . | Created /home/will/Dropbox/org/work.odt | Parsing archive file...done. | Running soffice --nologo --writer /home/will/Dropbox/org/work.odt...done `---- Just as i have with every other attempt using my normal configuration from my custom init.el, these messages about "undo-tree" xml files appear. After testing all of this, I've learned that my existing version of LibreOffice is working, my Emacs and org-mode Lisp files are fine, and that the *.org file that I want to export to ODT can be exported successfully. So what is causing the "undo-tree" error and what is causing the "loext:contextual-spacing" errors? With regard to the "undo-tree" errors, since I've been able to overcome them by eliminating my init.el, I am under the impression that the problem lies there and that I need to scrutinize my config to find out what's going wrong. The approach that comes to mind is to remove all my org-mode settings, see if exporting works and then to slowly add the settings back. But the other error, "loext:contextual-spacing", is something I have no idea about. Your replies have been immensely helpful. I'm still very much a beginner and it helps to have a dialogue with someone about problems like these that are ambiguous, at least to me. If you have any other suggestions for how to proceed, please don't hold back. I'm learning a lot this way. All the best, Will---------------------------------------------------------------- On Wednesday 04 March 2015 03:19 AM, Monroe, Will wrote:On 3/3/15 2:26 PM, Vaidheeswaran C wrote:On Tuesday 03 March 2015 08:41 PM, Monroe, Will wrote:Hello, I'm trying to troubleshoot a corrupt ODT file that I've exported from org-mode. The org-mode manual provides some guidance for this process on the "Validating OpenDocument XML" page (see http://orgmode.org/manual/Validating-OpenDocument-XML.html#Validating-OpenDocument-XML). It mentions validation of an ODT document against the "OpenDocument RELAX NG Compact Syntax (RNC) schema". I have obtained the xml and RNC files from the org-mode Github site but I'm unsure how to use them. The org-mode manual page mentions general help in the Introduction (see http://orgmode.org/nxml-mode/Introduction.html#Introduction) but I get a 404 error when I attempt to load the page. Does anyone know where I can read this guide?You can avoid the cross-manual link errors, by using the manuals at gnu.org site: https://www.gnu.org/software/emacs/manual/html_node/org/Validating-OpenDocument-XML.html For verification, this is roughly what you need to do: 1. Copy over schema file. 2. Reload Emacs. 3. C-x C-f file.odt 4. Press ENTER on content.xml 5. C-c C-n (M-x rng-next-error) Or You can try an online validator:http://odf-validator.rhcloud.com/ Based on my own experience, your *.org file is NOT in utf-8 and uses non-English characters (whatever they are called). Just switch the file to utf-8 encoding and you will be all set.Hello, Thanks for your reply. I checked the text formatting of the .org document and it was utf-8 (confirmed by Emacs "U" in the modeline). I also tried exporting it again and looking at the Messages--can't believe I didn't do that to begin with--and I saw this: ,---- | LaTeX to MathML converter not available. | Formatting LaTeX using verbatim | Embedding /Users/wmonro1/Dropbox/org/panopto-create-recording.png as Images/0001.png... | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/meta.xml | Using schema ~/Dropbox/emacs/org-odt-schema/schema/od-schema-v1.2-os.rnc [2 times] | Saving file /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/styles.xml... | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/.styles.xml.~undo-tree~ | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/styles.xml | Using vacuous schema | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/mimetype | Using vacuous schema | Saving file /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/META-INF/manifest.xml... | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/META-INF/.manifest.xml.~undo-tree~ | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/META-INF/manifest.xml | Saving file /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/content.xml... | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/.content.xml.~undo-tree~ | Wrote /var/folders/_r/333b9wt92kncthm2ph8wpp59b0ccdd/T/odt-66242t3k/content.xml | (No changes need to be saved) | Creating ODT file... | Running zip -mX0 work.odt mimetype | Running zip -rmTq work.odt . | Created /Users/wmonro1/Dropbox/org/work.odt | Parsing archive file...done. | Running open /Users/wmonro1/Dropbox/org/work.odt...done | Parsing archive file...done. `---- The presence of the /.content.xml.~undo-tree~, /.manifest.xml.~undo-tree~, and /.styles.xml.~undo-tree~ got my attention. After submitting the document to the online validator (default settings used), these files, undoubtedly created by my personal inspection in Emacs, showed up again: ,---- | Details: | work.odt: Info: ODF version of root document: 1.2 | work.odt/META-INF/manifest.xml: Error: The file '.content.xml.~undo-tree~' shall be listed in the 'META-INF/manifest.xml' file as it exists in the ODF package 'work.odt'! | work.odt/META-INF/manifest.xml: Error: The file '.styles.xml.~undo-tree~' shall be listed in the 'META-INF/manifest.xml' file as it exists in the ODF package 'work.odt'! | work.odt/META-INF/manifest.xml: Error: The file 'META-INF/.manifest.xml.~undo-tree~' shall be listed in the 'META-INF/manifest.xml' file as it exists in the ODF package 'work.odt'! | work.odt/META-INF/manifest.xml: Warning: The directory 'Images/' is not a sub-document and should not be listed in the 'META-INF/manifest.xml' file of ODF package 'work.odt'! | internal:/schema/odf1.2/OpenDocument-v1.2-cos01-manifest-schema.rng: Info: parsed. | work.odt/META-INF/manifest.xml: Info: 3 errors, 1 warnings | work.odt/mimetype: Info: no errors, no warnings | work.odt: Info: Media Type: application/vnd.oasis.opendocument.text | internal:/schema/odf1.2/OpenDocument-v1.2-cos01-schema.rng: Info: parsed. | work.odt/meta.xml: Info: Generator: | work.odt/meta.xml: Info: no errors, no warnings | work.odt/styles.xml[2,6289]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,7187]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,7885]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,15357]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,16222]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,25655]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,26198]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,26482]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,27530]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,28689]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,29340]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,34718]: Error: unexpected attribute "loext:contextual-spacing" | work.odt/styles.xml[2,43716]: Error: unexpected attribute "loext:rel-width-rel" | work.odt/styles.xml: Info: 13 errors, no warnings | work.odt/content.xml: Info: no errors, no warnings | internal:/schema/odf1.2/OpenDocument-v1.2-cos01-dsig-schema.rng: Info: parsed. | work.odt: Info: 16 errors, 1 warnings `---- So my best guess is that I need to remove ~undo-tree files to generate an ODT file that is valid. Although I'm at a loss as to where these files might be. I've checked in .emacs.d/elpa/org, where my org-mode is installed and in the default `org-odt-data-dir' that I set. Am I on the right track? If so, is there another place where the style files might reside? Will |
[Prev in Thread] | Current Thread | [Next in Thread] |