View Full Version : Fragment Identifier missing, but looks OK


flypig
09-02-2011, 02:24 PM
I've searched on this topic but am not finding solutions. Sometimes people just write back and say "fixed it" without saying how! :-)

Here is my error from epubcheck online (http://threepress.org/document/epub-validate) and the relevant code. This repeats for what looks to be every TOC entry in the toc.ncx:

ERROR: Apples_to_Apples.epub/OEBPS/toc.ncx(3): 'toc-anchor-5': fragment identifier is not defined in 'OEBPS/Apples_to_Apples.xhtml'


xhtml file:

<h2 class="chapter-title" xml:lang="en-us" id="toc-anchor-5">Chapter 1. <br/>Introduction</h2>

toc.ncx file:

<navPoint id="navpoint-5" playOrder="6"><navLabel><text>Chapter 1. Introduction</text></navLabel><content src="Apples_to_Apples.xhtml#toc-anchor-5"/>

So what exactly is the fragment identifier and what does not defined really mean? The id of id="toc-anchor-5 is there in the xhtml file, is there some other specific syntax I need to use to satisfy the "defined" this error refers to? Do I have to have a parallel id="toc-anchor-5 somewhere in that toc.ncx code? Or do I need to use an <a name="toc-anchor-5"> like I would if I were making internal page links in an html file?

This code comes directly from the InDesign Export to ePUB process, unedited by me, using a TOC style in InDesign. This is truly an error because Adobe Digital Editions shows the TOC structure in the nav area but the links are not clickable.

Any solutions would be much appreciated. I hate hate hate TOCs, esp with ePUB and Kindle being so different!

Carol

Jellby
09-03-2011, 05:32 AM
Having the id with the name is enough to define the fragment identifier. Are you sure the filename is correct (the piece of XHTML code is in Apples_to_Apples.xhtml)? Also, make sure the two names "toc-anchor-5" are exactly the same, that there are no no-break hyphens, for instance, or something weird.

st_albert
09-04-2011, 09:19 PM
Just for the heck of it, make a copy of the epub, open it in Sigil, and have Sigil regenerate the toc.ncx. (It will do so based on <hx> header tags.)

InDesign exports usually need some tweaking.

mknepper
05-22-2012, 01:08 PM
I'm having the same problem as Carol, and can't seem to find a solution anywhere! Just for the sake of fresh info:

toc.ncx:
...
<navPoint id="section3.4.1" playOrder="18"><navLabel><text>Wilf Carter</text></navLabel><content src="volume3chapter4.xhtml#section3.4.1"/></navPoint>
...

volume3chapter4.xhtml:
...
<div class="section" id="section3.4.1">
...

I seem to have a ton of trouble with anchor tags and "fragment identifier not defined" errors both in EPUB files themselves and when converting them to Mobi files with Kindlegen. The only theory I have left is that it has to do with nesting a TOC, but I'm pretty certain I've encountered this issue with single-level, non-nested TOCs before.

Sigil is a great tool, but I don't want to rely on it auto-correcting something if I don't know what exactly it is doing/changing.

Any ideas out there? Thanks!

DiapDealer
05-22-2012, 02:22 PM
Is "volume3chapter4.xhtml" in the exact same folder as the toc.ncx file (since that's where the <content src="" /> indicates it is)? That doesn't really have anything to do with the fragment identifier but you never know about some of the actual error messages from some of the validators.

I would also avoid using periods in my element IDs/fragment identifiers.