Another small note, since I just walked down the ePUB path: you'll be very sad to find out that a lot of rendering engines for popular readers are not consistent, won't render standard XHTML markup correctly (nest an ordered list within an unordered list and then look at it in adobe digital editions and several other readers). "But it is just XHML + CSS!" you'll cry, "How can they not render it correctly?" I don't know, but it was an extremely frustrating process. I even contacted adobe to try and report this nested list bug to them... their suggestion was that I could *pay* them to work with "content experts" who would help me "correct" my source so that it would render "correctly."  

The best reader imho is iBooks on the iPad, nothing else, from what I've seen, comes close. But that is one expensive eReader. :(


On Thu, Sep 5, 2013 at 3:00 PM, Thangalin <thangalin@gmail.com> wrote:
Hi,

handle XML+CSS well. However, most (all?) EPUB readers don't. So, the question is asking if instead ConTeXt could generate a XHTML

Precisely.
 
If you need both EPUB and PDF, start with a semantically rich XML
vocabulary, e.g. DocBook. In this case you can relatively easy transfrom

My database doesn't generate DocBook. It generates a custom XML document from which I generate a web page, and a LaTeX document (though soon to be ConTeXt!). There is no reason, technically, why I cannot convert the source XML to either DocBook or directly to EPUB. There are, however, problems doing that, which Aditya correctly surmises:
 
- Automatic section numbering taking care of different conversions.
- Automatic index generation and sorting
- Inserting hyphenation points at the appropriate place in the generated output (so that the browser can effectively rely on TeX's hyphenation algorithm to do line-breaking).

- Convert TeX math to MathML.

The current ConTeXT XML source can translate a well formed ConTeXt document into a XML document with the above features.

Those are exactly the issues that I would love to resolve using ConTeXt for generating an EPUB. (The MathML isn't as important to me, but I can see other people wanting such a feature.)

What about accessibility? I expect that visually impaired people would
depend on document structure rather than its visualisation.

That is a good point. The current XML structure produced by ConTeXt (Hans correct me here if I'm mistaken) is not accessible, as it doesn't adhere to strict XHTML. I suspect that <div> tags would not be accessible -- the only way to provide true accessibility in EPUB format would be by using the strict XHTML tags.

for instance, we have more levels than H1..H6, so how to do H7? if someone has to deal with that, he/she can as well transform all into H1 with some class which is a local solution then

I realize there is not going to be a one-to-one map of all possible ConTeXt macros to XHTML. For someone who has 7 levels of nested sections they would either have to rewrite some Lua or perform some post-processing (e.g., with XSLT). I would posit that a document with 7 levels of nested sections is not going to be a common occurrence.

When I talk about strict XHTML, I'm proposing that a _simple_ ConTeXt document (up to 6 header levels, numbered and unnumbered lists, images, text emphasis, etc.) should generate a simple, validating XHTML document. Trying to attain 100% coverage of ConTeXt transmogrification to XHTML is ridiculous when, I suspect, 80% coverage would meet most needs. :-)

It is definitely possible to translate the ConTeXt EPUB output to XHTML. However, there are practical realities that hinder such an approach. Architecturally, if anyone is going to translate an XML document to EPUB format, it certainly won't be this way:

XML + XSLT -> ConTeXT File -> ConTeXt EPUB XML + XSLT -> EPUB + CSS

It'll be this way, which is less time-consuming, less complex, and less susceptible to err:

XML + XSLT (or API) -> EPUB + CSS

However, it does not, as we all know, produce as feature rich output as leveraging the ConTeXt abilities that Aditya mentioned, which was the point:

XML + XSLT -> ConTeXT TeX -> EPUB + CSS

Kindest regards.

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________