[摘要]回顧EPUB開放式電子書標準的發展歷程;重點分析EPUB 3.0標準的結構,并通過EPUB3.0格式的電子書《白鯨記》加以展示;最后概括EPUB3.0在國內外的應用情況及特點。
[關鍵詞]電子書標準 EPUB 3.0 數字出版 開放電子書論壇
[中圖分類號]G237 [文獻標識碼] A [文章編號] 1009-5853 (2013) 02-0089-06
1 EPUB發展歷程
近一二十年,國內外電子書產業迅猛發展。作為一種新型出版物形態,電子書的內容、格式、質量、平臺、版權等方面都需要相關標準支持。目前,與電子書有關的標準可大致分為電子文檔結構定義和描述標準、多媒體格式標準、編碼標準、元數據標準、版權標準等。其中,EPUB(Electronic publication的縮寫,電子出版)是一個免費開放的電子書格式標準,由1999年9月發布的開放電子書結構(Open eBook Publication Structure,OEBPS)標準不斷改進演變而來。提出OEBPS標準的開放電子書論壇(Open eBook Forum,OeBF)也隨著EPUB電子書標準的發展更名為國際數字出版論壇(The International Digital Publishing Forum,IDPF)。EPUB標準從OEBPS 1.0到EPUB 3經歷了將近14年時間,根據標準名稱的變化可劃分為三個發展階段。
1.1 第一階段 OEBPS 1.*
OEBPS 1.*階段包括三個版本的標準:1999年9月,OeBF發布OEBPS 1.0版本。在隨后的應用中,發現該規范存在含糊、錯誤、不足等地方,于是OeBF于2001年6月發布了1.0.1版本,修復1.0版本存在的問題。2002年8月,OEBPS 1.2版本發布,新功能的增加和格式、顯示等方面功能的增強使開放式電子書標準得到進一步完善。
但是,OEBPS 1.2標準也存在缺點。如其元數據(metadata)部分基于都柏林核心集(Dublin Core,DC),主要是描述性元數據,雖然可以采用x-metadata方式進行擴展,但是能力有限,在管理性元數據方面比較欠缺[1]。又如OEBPS1.2不支持數學公式,也沒有解決數字權利管理(Digital Rights Managem,DRM)問題[2]。
1.2 第二階段 EPUB 2.*
2006年10月,IDPF發布開放容器格式(Open Container Format,OCF)1.0版本。次年9月,發布開放出版物結構(Open Publication Structure,OPS) 2.0版和開放包裹格式(Open Packaging Format,OPF) 2.0版。OPS 2.0、OPF 2.0以及OCF 1.0共同構成EPUB 2.0電子書標準,并取代OEBPS 1.2成為IDPF的正式標準。EPUB 2.0使用XHTML或DTBook 2005來展現文字,并以zip壓縮格式來包裹檔案內容;在版權處理方面,支持對OCF容器中的內容文件進行加密;在文件布局和顯示方面,出版商可以通過樣式表來控制布局,打破固定的行和頁,從而呈現流動的文本[3]。
但是,EPUB 2.0依舊不能支持數學公式,并需要進一步在出版商的控制性和用戶的方便性之間尋找平衡。2010年7月2日,IDPF發布EPUB 2.0.1版本,組成部分分別升級為OPS 2.0.1、OPF 2.0.1和OCF 2.0.1。然而,該標準只是糾正前一版本中的錯誤和不一致,并沒有從根本上改變功能。如新標準依然不能完美支持多媒體內容,無法支持讀者和電子書互動,不支持標準注釋功能,也無法實現精確排版。
1.3 第三階段 EPUB 3.0
2011年10月11日,IDPF宣布完成EPUB 3.0版本的制定。與EPUB 2.0.1相比,新版本在很多方面進行了修正、改進和刪除,使得開放式電子書標準更加完善。以下將詳細分析EPUB3的結構和應用實例。
2 EPUB 3.0結構及實例
EPUB 3.0標準在文件結構上有很大改動,將復雜重復的內容進行了整合修改,并且為了更好地體現電子書在多媒體文件方面的運用,新增了多媒體方面的規范。
2.1 標準結構
從標準結構來看, EPUB 3.0主要由4個規范組成:Publication 3.0、Content Documents 3.0、Open Container Format 3.0和Media Overlays 3.0。
2.1.1 EPUB Publications 3.0
EPUB Publications 3.0規范取代了之前的OPF 2.0.1,定義了EPUB 3格式出版物的層次和符合性要求。它的主要內容是關于包裹文件(Package Document)的,包含電子出版物的目錄順序和相關結構性資料,是電子閱讀器如何處理及顯示EPUB電子書的主要信息來源。包裹文件將出版物的信息資料有效地集中在一起,并配上詳細說明,使閱讀器能準確識別整本電子書的結構以及閱讀順序。包裹文件主要內容有:①元數據(metadata),用于描述電子書相關信息;②資源清單(manifest),將電子書的所有資源進行描述定義;③結構順序(spine),預設電子書的閱讀順序[4]。
2.1.2 EPUB Content Documents 3.0
EPUB Content Documents 3.0規范取代了OPS 2.0.1,但是所規定的內容并沒有改變,即對電子書的內容進行定義:首先,整個電子書內容必須為基于HTML 5的XHTML文件,每章內容的定義語句均要符合XHTML的語法規則;其次,該規范定義了CSS層疊樣式表,對電子書的布局排版進行了說明;再次,圖像的嵌入、導航文件的定義、對MathML標記的支持等都在該規范中進行了介紹。
2.1.3 EPUB Open Container Format(OCF)3.0
OCF 3.0是EPUB 2.0中惟一沒有被替代的規范,只是對版本進行了升級。它定義EPUB文件格式和處理模型,將文件中所包含的相關內容打包封裝在單一的文檔容器中。OCF是EPUB電子書必要的容器技術,包括OCF抽象容器和OCF ZIP容器。OCF抽象容器針對容器的內容定義了一種檔案系統模型,使用單一共通的根目錄,將所有出版物資源均放入其中,并生成名為META-INF的文件。另一個名為mimetype的文件保留給OCF ZIP容器所使用。
META-INF中必須包含container.xml文件,其中指明了EPUB電子書根目錄的媒體類型和文件路徑,除此之外還可以選擇性地使用encryption.xml對內容進行加密、用manifest.xml列舉內容清單、用metadata.xml描寫電子書相關信息、用rights.xml設置文檔管理的權限,以及signatures.xml對文件進行數字簽名[5]。
OCF ZIP容器使用ZIP格式。最終EPUB格式文件就相當于是一個壓縮包,可將后綴名.epub改為.zip并解壓縮后查看電子書的具體組成內容。
2.1.4 EPUB Media Overlays 3.0
EPUB Media Overlays 3.0規范是EPUB 3.0標準中新添加的內容,包含對媒體層文件的定義、如何建立媒體層,以及對播放行為的描述。
EPUB 3.0格式電子書添加了文字和語音同步功能,可利用媒體層文件描述來建立同步朗讀型書籍。其中SMIL標記是主要內容,媒體層通過對SMIL標記的運用將結構化的音頻旁白加到對應文字上,從而解決文字和語音同步的問題。另外,該規范還定義了音頻和視頻嵌入、片段播放的順序等內容。
2.2 實例分析
IDPF官方網站給出了由谷歌代碼(Google Code)主辦的EPUB 3發展論壇“EPUB修訂”(epub-revision)。該論壇允許公開訪問、注冊登記、上傳下載EPUB 3.0文件。本文從該網站下載了未經加密的EPUB 3格式《白鯨記》(Moby Dick),用來具體演示EPUB 3.0電子書標準的結構。《白鯨記》文件名為moby-dick-mo-20120206.epub,將后綴“.epub”重命名為“.zip”后變成壓縮包,解壓后得到同名文件夾,其中包括META-INF、OPS和mimetype(見圖1)。
2.2.1 mimetype文件
每一本EPUB格式電子書中必須包含一個“mimetype”文件。這個文件內容十分簡單,只有一條語句“application/epub+zip”,不能包含新行或者回車且必須作為ZIP壓縮包中的第一個文件。其作用是規定電子書能通過EPUB閱讀設備和ZIP壓縮軟件打開。這也是把《白鯨記》后綴名.epub改為.zip并解壓縮后可以看到詳細內容的原因。
2.2.2 META-INF文件夾
META-INF是OCF抽象容器的必要目錄。該目錄主要描述電子書的位置、打開方式、信息加密、目錄、書籍資料、權限管理等信息。其中必須要有container.xml容器文件,在這個文檔中必須清楚指明容器所包含的EPUB電子書根文件的媒體類別與路徑。實例《白鯨記》的container.xml文件打開后如圖2所示,它的主要功能在于告訴閱讀設備該從何處找到且如何打開該內容文件。container.xml文件是不能加密的。
其中,<?xml version=“1.0”encoding=“UTF-8”?>語句聲明了XML的版本和編碼方式。
2.2.3 OPS文件夾
OPS文件夾存放了電子書的全部內容。《白鯨記》電子書每一個章節的內容、圖片、音頻、視頻,它在閱讀器上顯示的字體、樣式以及該電子書的內部結構.opf文件都在OPS中。
2.2.3.1 .opf文件
.opf文件指定了所有內容的位置并描述所有具體內容,是EPUB規范中最復雜的部分。將《白鯨記》的package.opf文件打開后,根據規范中各個元件分別顯示其內容語句。
(1)
這是包裹文件的根容器。version="3.0"指出該電子書符合EPUB 3.0版本規范標準。unique-identifier=“pub-id”用以識別
(2)
該元件沒有定義屬性,是
由圖4可以了解EPUB 3.0格式《白鯨記》仍采用DC元數據集。其中,書名為“Moby-Dick”,作者是“Herman Melville”,“Dave Cramer”為創作本書的次要作者。 ISBN號為“9780316000000”,該書是英文內容,由Harper & Brothers出版社出版。
(3)
EPUB電子書的詳細資源清單由
其中
① 電子書字體為常規、斜體、粗體和粗斜體;
② 目錄“toc.xhtml”;
③ 版權頁“copyright.xhtml”;
④ 書名頁“titlepage.xhtml”;
⑤ 定義封面和封面圖片路徑的“cover.xhtml”“cover-image”;
⑥ 電子書排版的CSS樣式位置“css/stylesheet.css”;
⑦ 書名頁圖片“aMoby-Dick_FE_title_image”的讀取地址;
⑧ 前言“preface_001.xhtml”;
⑨ 簡介“introduction_001.xhtml”;
⑩ 評論和引語“epigraph_001.xhtml”;
分別將第一二章文字及其多媒體語音同步在一起的“chapter_001.xhtml”“chapter_001_overlay.smil”“chapter_002.xhtml”和“chapter_002_overlay.smil”;
第三章“chapter_003.xhtml”;
第一章音頻“audio/mobydick__001_002_melville.mp4”;
簡要目錄“toc-short.xhtml”。
(4)
該元件指定EPUB 3.0電子書內容的預設閱讀順序(見圖6)。
2.2.3.2 .smil音頻文件
《白鯨記》解壓后的OPS文件夾中有兩個.smil文件,分別是第一二章的同步音頻。將.smil音頻文件連接到相應的文本內容上,可實現文字和語音同步播放。
將名為“chapter_001_overlay.smil”的第一章音頻通過網頁打開,查看其語句定義如圖7所示。