Open eBook

From MobileRead
Jump to: navigation, search

Open eBook (OEB) is an open format defined by the Open eBook Forum of the International Digital Publishing Forum (<idpf>). It is based on HTML and XML along with optional style sheets. It is the predecessor to the ePUB standard. Specifications have been removed from the idpf web site but are available at archive sites.

Contents

[edit] Usage

While most eBook readers do not directly read files in this format it is used to create the source eBook files which are then translated into the native format for the Reader. The native format encapsulates the various files specified in the manifest. The files themselves may or may not continue to exist in the encapsulating file.

Today the Open eBook format is used to create Microsoft Reader files in the LIT format, eBookwise-1150 files in the IMP format, and MobiPocket Reader files in the MOBI format. Note that the Amazon Kindle format AZW is really a MOBI format with different DRM.

The Open eBook specification standard, comprising of Publication Structure 1.0 and OEB File Format, was developed by the two principal eBook systems vendors -NuvoMedia Inc. and SoftBook Press Inc for their REB 1100 and SoftBook Reader respectively.

[edit] Overview

The basic OEB source files, also referred to as OEBPS, includes one or more HTML files and a OPF (Open eBook Package File) file in XML format. The OPF file includes the list of files in the build and the metadata used to define the file contents. The HTML files sometimes have a .ODF (Open eBook Document File) extension to indicate that they are not pure HTML files. They are generally expected to be "well formed" meaning that they include the optional closing tags. This makes them similar to XHTML and the 1.2 version update made this even closer as they were a compliant subset of XHTML 1.1.

[edit] Open eBook Package File

Here is a sample Package File from an actual eBook. Originally this source file was created in eBook Publisher and used to generate a eBookwise IMP file but the same package file was also used to successfully generate a MobiPocket MOBI file using MobiPocket Creator, however many of the MobiPocket specific package items are missing from the file.

<?xml version="1.0"?>
<!DOCTYPE package PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.0 Package//EN" 
   "oebpkg1.dtd">
<package unique-identifier="Package-ID">
 <metadata>
  <dc-metadata xmlns:dc="http://purl.org/dc/elements/1.0/" 
      xmlns:oebpackage="http://openebook.org/namespaces/oeb-package/1.0/">
  <dc:Identifier 
      id="Package-ID">ebook:guid-247227fa06de46968904ac30fc50a639
  </dc:Identifier>
  <dc:Identifier scheme="guid">
      ebook:guid-96a53085330643ee954eae931594450b</dc:Identifier>
  <dc:Title>Last of the great scouts: The life story of Col. William F. Cody 
      ("Buffalo Bill"</dc:Title>
  <dc:Creator role="aut">Helen Cody Wetmore</dc:Creator>
  <dc:Language>en</dc:Language>
  <dc:Publisher></dc:Publisher>
  <dc:Date event="copyright">1899</dc:Date>
  <dc:Date event="publication"></dc:Date>
  <dc:Identifier scheme="ISBN"></dc:Identifier>
  <dc:Subject></dc:Subject>
  <dc:Type></dc:Type>
  </dc-metadata>
 <x-metadata>
  <meta name="x-SBP-logging" content="on"/>
  <meta name="x-SBP-encrypt" content="off"/>
  <meta name="x-SBP-compress" content="on"/>
  <meta name="x-SBP-widow" content="0"/>
  <meta name="x-SBP-orphan" content="0"/>
  <meta name="x-SBP-zoomstate" content="both"/>
  <meta name="x-SBP-undlinks" content="on"/>
  <meta name="x-SBP-csssupport" content="2"/>
  <meta name="x-SBP-projectversion" content="1"/>
  <meta name="x-SBP-RLEtrigger" content="25"/>
  <meta name="x-SBP-devicemodel" content="gs"/>
  <meta name="x-Gemstar-Initial-Content" content="false"/>
  <meta name="x-Gemstar-Require-ISBN" content="false"/>
  <meta name="x-Gemstar-KeepAnchorLinks" content="false"/>
  <meta name="x-Gemstar-PreScaleImages" content="true"/>
  <meta name="x-Gemstar-ColorDepth" content="0"/>
  <meta name="x-Gemstar-Grayscale" content="false"/>
  <meta name="x-Gemstar-ConvertToJPEG" content="true"/>
  <meta name="x-Gemstar-CreatedBy" content="2.2.4.5"/>
  <meta name="x-SBPNuvo-Build-ID" 
      content="ebook:guid-4ce947a71d9c43bb9754d0b2a8f104f6"/>
  <meta name="x-SBPNuvo-Timestamp" content="107-09-01T22:31:28Z"/>
  <meta name="x-SBP-destdir" content="E:\EBOOKS"/>
  <meta name="x-SBP-category" content="Biography"/>
  <meta name="x-Gemstar-ModifiedBy" content="2.2.4.5"/>
  <meta name="x-SBP-filesettings" content="4942:1"/>
  </x-metadata>
 </metadata>
 <manifest>
  <item id="4942" href="BuffaloBill.htm" media-type="text/x-oeb1-document"/>
 </manifest>
 <spine>
  <itemref idref="4942"/>
 </spine>
</package>

The file content will vary with the target book type and the need for optional content. While MobiPocket Creator can read the eBook Publisher file the reverse is not true. MobiPocket builds a UTF-8 file by default which will not be recognized by eBook Publisher. A solution to this problem is to edit the .opf and insert the eBook Publisher specific text into a new section bounded by <x-metadata> ... </x-metadata> as discussed in the forum thread TIP: Loading Mobipocket created .opf files. Also, you must ensure the media type of all '.html' items within the <manifest> block is the following:

media-type="text/x-oeb1-document"

Then you can save the .opf and load it (successfully) in eBook Publisher. Voila!

More complicated books than the one shown above can include a <guide> section to control the order of the entries in the book. Here is a manifest and matching guide section from a LIT eBook.

<manifest>
 <item id="Trollope-Clerks" href="Trollope-Clerks.htm" 
       media-type="text/html" />
 <item id="cr-Trollope-Clerks" href="cr-Trollope-Clerks.htm" 
       media-type="text/html" />
 <item id="RW_~cov0007" href="~cov0007.jpg" media-type="image/jpeg" />
 <item id="big_fwclassic-cover" href="big_fwclassic-cover.jpg" 
       media-type="image/jpeg" />
 <item id="AboutTitle" href="AboutTitle.htm" media-type="text/html" />
 <item id="CoverPageImage" href="CoverPageImage.GIF" media-type="image/gif" />
 <item id="LibraryImage" href="LibraryImage.GIF" media-type="image/gif" />
 <item id="fwLIT_cover240x480" href="fwLIT_cover240x480.jpg" 
        media-type="image/jpeg" />
</manifest>
<spine>
 <itemref idref="Trollope-Clerks" />
</spine>
<guide>
 <reference type="copyright-page" title="Copyright link" 
        href="cr-Trollope-Clerks.htm" />
 <reference type="other.ms-thumbimage" title="Pocket PC library image" 
        href="~cov0007.jpg" />
 <reference type="other.ms-coverimage-standard" title="Cover image" 
        href="big_fwclassic-cover.jpg" />
 <reference type="title-page" title="About this title link" 
        href="AboutTitle.htm" />
 <reference type="other.ms-titleimage-standard" title="Cover page image" 
        href="CoverPageImage.GIF" />
 <reference type="other.ms-thumbimage-standard" title="Library image" 
        href="LibraryImage.GIF" />
 <reference type="other.ms-coverimage" title="Pocket PC cover image" 
        href="fwLIT_cover240x480.jpg" />
</guide>

MobiPocket guide items include:

<guide> 
   <reference type="toc" title="Table of Contents" href="mytoc.html"/>
   <reference type="start" title="Start here" href="starthere.html"/>
</guide>

These are optional but the toc item is recommended.

  • toc: if the "toc" type of subitem is present, the Table of Contents icon in the Reader links to the position defined in the href or onclick attribute.
  • start: if the "start" type of subitem is present, the action defined in the onclick is performed whenever the ebook is opened.

[edit] Style Sheets

Style Sheets are optionally supported in this format. The preferred format is CSS which may be a separate file or a style section in the HTML file.

MobiPocket does not support the CSS format. The Mobipocket Creator supports XML in the sense that it is capable of applying XSL stylesheets to transform XML into XHTML before building the publication. Therefore, creating a Mobipocket eBook file from XML requires knowledge of XSL and HTML.

[edit] HTML (ODF) Files

Most HTML constructs will work in this format. There are special extensions to the HTML format to do eBook specific items like supporting a TOC, headers, footers, footnotes, page breaks and other items not normally encountered in a web page.

[edit] Image Files

Image Files are also supported by this format. They can be used as cover pages and for illustrations appearing in the document itself. They will always be referenced from an HTML page but it some cases that may be the only thing in the document.

MobiPocket wants the cover page in a file by itself and not referenced on an HTML page. The cover page is special in that it may be extracted separately and used in a library browser to show the book like it would appear in a book store. The OPF format was extended to provide support for this special cover page.

[edit] Specifications

There are two specifications that are applicable to this format:

The idpf site has version 2 documents which refer to the ePUB standard.

Personal tools
Namespaces

Variants
Actions
Navigation
MobileRead Networks
Toolbox