View Single Post
Old 12-05-2014, 12:25 PM   #22
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,815
Karma: 6000000
Join Date: Nov 2009
Device: many
Hi,

I just read that section again, and I disagree with your interpretation.

The spec says under exceptions:

Quote:
"content Description: Pointer into SMIL file to beginning of the item referenced by the navPoint or navTarget. Note: In the OPF application of the NCX the pointer is to an XML element and not a SMIL location."
This says nothing about SMIL time references. Just that the links in Talking Books are links to a SMIL doc where as links in ebooks are to separate xml elements in xhtml files.

More clearly the spec states:

Quote:
"playOrder attributes are not required. Although playOrder attributes are not used to sequence SMIL content, if present, they should contain valid values that reflect the linear document reading order."
As far as I can tell, your use case would in fact directly violate the "linear document reading order" You are trying to force a later link to effectively go backwards and show something that an earlier link has already referenced. So any link that says "Section 1" should *not* take you to something earlier in the document already referenced (for example your pre-amble) as that would violate the "linear document reading order".

Again I feel you are trying to simply "trick" the ncx to always show something that has already been shown (ie. the preamble part) and that doing so without the proper id tags in the right order violates the "linear document reading order" rule completely. And according to the spec, the playOrder's are actually meaningless in the ebook context as long as they follow the "linear document reading order".

So by my reading, the only way to legally do this is to have separate id points in proper linear order:

1. top of file
2. body tag with id
3. id in first paragraph tag of the preamble

You can call them anything you like but they should appear in that order to keep the linear reading order since the top of file comes first, the body comes second, and the first paragraph of the preamble would come third. To the reader, all 3 locations will show the same text on the screen but are clearly separate locations in the file in the proper linear reading order

KevinH

Quote:
Originally Posted by Peter Ahlstrom View Post
Since the spec relies on the Talking Book spec, I don't see how we can ignore it.
Section 2.4.2 of the epub 2.0.1 OPF spec spells out all the exceptions to the Talking Book spec definition of the NCX. And there's nothing in that list of exceptions that says two navPoints cannot point to the same target in an epub's NCX.

2.4.2 says that the NCX spec's references to links to SMIL locations should be read as referring to links to XML elements instead.

Last edited by KevinH; 12-05-2014 at 12:40 PM.
KevinH is online now   Reply With Quote