epub3 in action: epub3文件格式簡介

  epub3文件就是一個符合epub3標準,以epub爲擴展名的zip壓縮文件。epub3標準則是基於html五、css三、svg等web標準以及mathML等來展現內容。下圖就是一個簡單epub3文件的大體結構。css

  在此輸入圖片描述

  epub3規範使用OCF(open container format)標準規定的文件結構,根目錄當中__必須__有一個mimetype文件和一個META-INF文件夾。其中,mimetype文件中只有一個行內容<code>application/epub+zip</code>,而META-INF中存放的則是表述整個文檔的元數據。在META-INF文件夾內必須有一個container.xml文件(除該文件之後,標準還定義了一些可選文件,用於處理加密、混淆字體等問題)用來描述文檔內容。container.xml的內容比較簡單,下面是一個container.xml文件的例子:html

<?xml version="1.0"?> 
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
    <rootfiles>
        <rootfile full-path="OEBPS/package.opf"
            media-type="application/oebps-package+xml" />
    </rootfiles>
</container>

  在epub3標準當中,rootfile的full-path所指定的opf文件,是一個xml文件,用於描述文檔內容(默認的閱讀順序,出版物信息,做者、標題等,資源文件信息等)。這裏已經涉及到了兩處用來描述文檔內容的文件,須要明確的是META-INF/container.xml文件使是用來描述一個符合open container format規範的文件的具體內容的,任何採用該規範的文件都必須包含這個xml文件,而一個符合epub3標註的文件除了該文件之外還須要一個opf文件來描述關於epub3文檔的具體內容。下面是一個opf文件的例子:html5

<?xml version="1.0" encoding="UTF-8"?>

<package xmlns="http://www.idpf.org/2007/opf" version="3.0" unique-identifier="id">
    <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
    ...        
    </metadata>
    <manifest>
        <item href="css/epub.css" id="css01" media-type="text/css"/>
       ...
    </manifest>
    <spine toc="ncx">
    ...
    </spine>
</package>

  其中的metadata標籤用來描述一些文檔的基本信息,如做者、標題等。manifest節點則用來陳列文檔的相關的資源,spine的節點用來設置默認的閱讀順序。css3

  以上描述的就是一個epub3文件的大體結構,一個真正的epub3文件要比以上所描述的內容複雜的多。web

相關文章
相關標籤/搜索