emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] ePub construction


From: Alan L Tyree
Subject: Re: [O] ePub construction
Date: Wed, 14 Dec 2011 14:14:02 +1100

On 14/12/11 12:42:38, Nick Dokos wrote:
> Alan L Tyree <address@hidden> wrote:
> 
> > G'day,
> > 
> > Here are the modifications that I needed to make to the exported
> html 
> > file (using the standard exporter) in order to get a valid ePub 
> > document. http://threepress.org/document/epub-validate provides an 
> > on-line validation service.
> > 
> > My document is relatively simple, but does have footnotes, 
> citations
> 
> > and formatting commands.
> > 
> > I will be happy to add a fuller description to worg if someone will 
> > point me to some instructions.
> > 
> > 
> > 1. Make the html file have utf-8 encoding; there are probably
> several 
> > ways to do this, but I used the emacs23 menu MULE options on the 
> org
> 
> > document.
> > 
> > 2 Change the language statement by removing the "lang=" attribute:
> > 
> > From: <html xmlns="http://www.w3.org/1999/xhtml"; lang="en" 
> > xml:lang="en">
> > 
> > To: <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
> > 
> > 3 Change anchor descriptions associated with section headings by
> >    removing "name=" entries, for example,
> > 
> > From: <a name="sec-1" id="sec-1"></a>
> > 
> > To: <a id="sec-1"></a>
> > 
> > NOTE: this can now be done by customising org-export-html-headline-
> > anchor-format (Thanks Bastien!!)
> > 
> > 4. Change anchor class="footref" by replacing "name=" with "id=".
> For
> >    example:
> > 
> > from: <a class="footref" name="fnr.2" href="#fn.2">
> > 
> > to: <a class="footref" id="fnr.2" href="#fn.2">
> > 
> > 5. Change anchor class="footnum" by replacing "name=" with "id=".
> For
> >    example:
> > 
> > from: <a class="footnum" name="fn.1" href="#fnr.1">1</a>
> > 
> > to: <a class="footnum" id="fn.1" href="#fnr.1">1</a>
> > 
> 
> Interesting - I downloaded the epub validator, ran Calibre on a silly
> little org-produced HTML file and duplicated your "lang" problem.
> 
> AFAICT, all of the problems you mention above are legal HTML4, so
> either
> the epub spec (which I have not looked at: do you have a pointer?) is
> made to trip people up by enforcing restrictions that they dreamed 
> up,
> or the validator is not quite as smart as it should be.

Yes, the org export file validates at w3c as a valid XHTML1.0 file. The 
ePub spec is here: http://idpf.org/epub but I admit fatigue in trying 
to wade through it, so I don't know what XHTML1.0 constructions it 
objects to. It seems like the kind of document that nobody has ever 
read: sort of like EULAs and express warranties.

I just made the changes in response to the validation errors.

> 
> Just for kicks, I ran it against the Calibre Quick Start Guide (the
> only
> "real" ebook I had access to) and it gave me an error :-)
> 
> ,----
> | Epubcheck Version 3.0b3
> | 
> | ERROR: Calibre Quick Start Guide - John
> Schember.epub/OEBPS/content.opf(5,57): attribute "file-as" not 
> allowed
> here; expected attribute "id", "opf:file-as", "opf:role" or 
> "xml:lang"
> | 
> | Check finished with warnings or errors!
> `----
> 
> so, presuming that the ebook is "fine", I'm not sure how seriously to
> take the validator.

There is something to that. Calibre explicitly disclaims any intent to 
produce an epub file that validates. In fact, the FAQ seems to suggest 
that a Calibre produced file is *better* than one that validates:

http://manual.calibre-ebook.com/faq.html#the-epub-i-produced-with-app-is-not-valid

The problem is that some marketing sites require validation, although I 
am not sure how much that is enforced.


> 
> Nick
> 
> PS In case it's not obvious, all I know about ebooks is what is
>    contained in this email. Caveat emptor.

Ahhh, what about statutory warranties :-).

Cheers,
Alan

> 



-- 
Alan L Tyree                    http://www2.austlii.edu.au/~alan
Tel:  04 2748 6206





reply via email to

[Prev in Thread] Current Thread [Next in Thread]