Originally Posted by Hitch
For example: epub's reference the toc as "ncx," with a pointer to "toc.ncx." Not Kindle; it has to have it specfied as "item id="toc" even with a pointer to the selfsame toc.ncx.
Actually, you can skip a lot of that stuff. I do it all the time when I tidy up my Fictionwise purchases to have a TOC, chapter marks, and page breaks when I convert them to Mobi. Mind you, I'm not submitting stuff to Amazon's DTP, which for all I know may have actual rules about it.
But for the NCX, all it matters is that its <item id=""> matches whatever you use for the <spine toc="">. I call them both "ncx" for ease of distinguishing them from the HTML table of contents, which I just call "toc".
Also, if you have the slightest structural error in your NCX, like say, an orphaned closing tag, KindleGen will merrily build the rest of the book but ignore your NCX and not even warn you despite having the -verbose option turned on.
But aside from that, you can completely skip the various classes they use in the Guidelines example. I never bother, and it still "reads" my 2nd-level NCX entries just fine, for typical Kindle display values of "doesn't display extra nav marks below the first level in the location bar and makes you skip from invisible point to invisible point" fine.
And for attaching an HTML TOC, all you really need is to have it listed in both <manifest> and <spine> as whatever you like, and entered into the <guide> using the exact same terminology that Amazon uses in their Guidelines example.