NCX Generator

This form will take an EPUB 3 Navigation Document and output an NCX file:

Note: No information is tracked from this form; it is provided as-is, for your convenience, with no warranty of the usability of any output.

If you prefer not to load your files to someone else’s server, here’s the NCX conversion XSLT style sheet.

The downloadable version is slightly more sophisticated, as it’s not limited by XSLT 1.0 support and it will also inspect your package file to determine the unique identifier to use in the dtb:uid field, if you pass the path.

A few things to note about this transform:

  • When creating the text labels, a simple value-of is taken of the current a element. If a title attribute has been set, it is used in place. This may or may not be what you want, as the assumption is that title has been used because the element contains non-text content.
  • The playOrder attributes are not generated.
  • A list of tables and/or figures will be generated if present in the navigation document.

For more information about how to make EPUB 3s that will render reasonably well on EPUB 2 reading systems, check out this ongoing thread in the IDPF forums.

Update: fixed the xpaths to not expcet the nav elements to be children of the body. They can be nested at any level now.