This is a continuation from Part 1 of my analysis on EPUB 3.
The Content Documents (continued)
This is one of the biggest changes in EPUB 3. What used to be a .ncx file in EPUB 2 is now gone and was replaced by an XHTML document that uses the nav element. The XHTML document also has restrictions in the use of certain HTML tags and uses mostly the
li tags. This new feature will require a fallback in case an ereader doesn’t support the new navigation system.
Basically, linking is as simple as using an a tag in EPUB 2 and this can still be used in EPUB 3. But the IDPF has established a new registry of linking schemes and one in particular (and the only available as of this writing) seems to be complex to implement. They call it EPUBCFI or the EPUB Canonical Fragment Identifier. The EPUBCFI closely resembles a Regular Expression pattern.
Scripting and Interactivity
Styling and Layout
EPUB 3 uses CSS2.1 with added CSS3 features. EPUB 2 used CSS2. The major change is the required embedding of fonts which uses either an OpenType font or a WOFF (Web Open Font Format). The
@font-face is used in the CSS for embedding fonts in EPUB. Font-embed also needs a fallback font in case the ereader doesn’t support font-embedding.
EPUB 3 now boasts audio and video. But wait, weren’t we able to play audio and video in EPUB 2? Well, actually that depended on the ereader and Apple was ahead of the game by supporting the audio and video tags which are HTML5 tags. The others, like Barnes and Noble’s Nook, only recently implemented them.
The EPUB 3 Specification on audio and video requires devices to support MP3 and MP4 format audio. Codecs H.264 and VP8 are required for video. Rich media needs a fallback mechanism.
According to the EPUB 2 Specification, the required metadata for an EPUB file are
dc:language. The rest are optional. EPUB 3 metadata specification is much the same, with an added meta property
dcterms:modified which defines when the EPUB file was changed.
The Text-to-Speech feature was not in EPUB 2, though iBooks seem to have supported it using VoiceOver. With EPUB 3 there is now Pronunciation Lexicons, SSML, and CSS3 Speech Module.
When an ereader can’t support HTML5 tags such as audio, video, object, and canvass, an EPUB 3 file will need a fallback mechanism to help the reader identify what a certain misrepresented eBook element is all about. Though setting up a fallback mechanism seems tedious, it is required, especially since EPUB 3 is still a young technology and not all ereaders will be able to support most of the features yet.
There’s an issue here as to what the IDPF meant when they said, “There are new restrictions on references to remote resources”. I’ll see if I can dig something out of it. The visible change in this part is the extended list of disallowed characters in the OCF file name.
XML and Unicode
IDPF said in EPUB 3, all XML documents must be conformant to XML 1.0. EPUB 2, with the XML declaration
<?xml version="1.0" encoding="UTF-8"?">, is XML 1.0 as far as I know. But the
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> declaration is now replaced by
<!DOCTYPE html>. I’ll also dig into that a little sooner.
These are all the new and changed functionalities in EPUB 3. I’ll tackle them in depth in more coming posts and perhaps make a table form.