• 沒有找到結果。

OeBPS Package File(OeBPS 包裹檔)

第三章 OeBPS 電子書規範

第三節 OeBPS Package File(OeBPS 包裹檔)

OeBPS 到底敘述了電子書哪些資訊呢?OeBPS 1.2 標準主要包含三大部份:OeBPS Package、OeBPS Document 及 OeBPS Style Sheets,也就是以這三部份來記載電子書的 相關資訊。在這三部份中,OeBPS Package 是主要核心關聯檔案,記載著出版品的重要 資訊。每一個OeBPS 出版品必須包含唯一的 OeBPS Package File。OeBPS Package File 用XML 來描述 OeBPS Document、圖片及其他相關組成出版品的物件,並標記彼此的 關聯性。OeBPS Document 為電子書主要的書籍文字內容,同樣也是以 XML 語言敘述,

它所包含的元素與屬性主要來自HTML 4.0 的子集,因此其內容與 HTML 網頁內容結構 相當類似。此外OeBPS Style Sheets 主要功能是書籍內容的排版設定,用以在不同的閱 讀軟體及閱讀機上顯示正確的排版方式[36]。本節先針對 OeBPS Package File 加以說明,

OeBPS Document 及 OeBPS Style Sheets 則在下二節分別介紹。

每一個符合OeBPS規範的電子書,必須包含唯一的OeBPS Package File,用以明確說 明OeBPS文件、圖像和組成OeBPS出版品的其他物件彼此之間的關聯性。OeBPS Package File以<package>為根元素,元素屬性<unique-identifier>為識別符號,與Metadata 的

<dc:identifier>元素值相同且相互對應。為了在組成出版品的眾多檔案中容易被辨認,

Package File的命名使用延伸檔名“opf ”, MIME媒體類型是“text/xml”。OeBPS Package DTD 沒有需要包含在每個出版品中,如果包含,它應該從<manifest >被參用[38]。OeBPS Package檔的主要組成部分如表9所示。

的及讀者的專業等級差異,產生不同的閱讀次序,

3.3.1 包裹識別符號(Package Unique-Identifier)

<package>是包裹文件中的根元素,該元素在最外層,所有其他元素都嵌在其內。

圖9 中<package>屬性 unique-identifier 的值與詮釋資料的<dc:identifier>值相同,均 為NCTULIB_FA_001_007_01。

<package unique-identifier="NCTULIB_FA_001_007_01"

xmlns="http://openebook.org/namespaces/oeb-package/1.0/">

<metadata>

<worksType>漫畫作品</worksType>

</dc:type>

……..

<dc:identifier id= "NCTULIB_FA_001_007_01" > </dc:identifier>

……..

</dc-metadata>

</metadata>

</package>

圖9 Package Unique-Identifier 範例

3.3.2 出版品的詮釋資料(Publication Metadata)

出版品的詮釋資料包含都柏林核心集欄位的<dc-metadata>及其他補充詮釋資料的

<x-metadata>。<dc-metadata>包含都柏林核心集定義的電子書詮釋資料,提供電子書的 整體資訊,其命名方式是以dc:開頭。為了與上層保持互通相容,<dc-metadata>元素包 含"xmlns:dc=http://purl.org/dc/elements/1.0/"及

"xmlns:oebpackage=http://openebook.org/namespaces/oeb-package/1.0/"兩個屬性[39]。

另外<x-metadata>元素主要是允許內容提供者描述超出都柏林核心集範圍外的詮釋 資料,也就是自行定義的詮釋資料。例如圖10 範例中“price”及“background_music”均不 是都柏林核心集的詮釋資料,而是自行定義的詮釋資料。

<metadata>

<dc-metadata xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:oebpackage="http://openebook.org/namespaces/oeb-package/1.0/">

</dc-metadata>

<x-metadata>

<meta name = "background_music" content = "no"/>

<meta name="price" content="NT 36.5" />

</x-metadata>

</metadata>

圖 10 x-metadata 範例

<dc-metadata>元素必須至少包含<dc:Title>,<dc:Identifier>及<dc:Language>。都柏 林核心元素像OeBPS Package File 中的任何其他元素一樣,要指定一個標識符號屬性(id attribute),其<dc:Identifier>是引用 OeBPS Package File 中<package>的“unique-identifier ” 屬性。

都柏林核心詮釋資料元素,由15 個欄位以任意順序組成,表 10 簡單說明這十五個 欄位的意義,出版品詮釋資料的範例如圖11 所示[40]。

表 10 都柏林核心詮釋資料元素

元 素 名 稱 說 明

<dc:Title> 描述出版品的名稱

<dc:Creator> 出版品主要的創作者或作者

<dc:Subject> 描述出版品的內容主題與關鍵詞等

<dc:Description> 描述出版品的摘要、內容目次、備註、評析等

<dc:Publisher> 出版品的出版者

<dc:Contributor> 其他貢獻者名稱的控制詞彙

<dc:Date> 出版品的日期,形式為YYYY-MM[-DD]

<dc:Type> 描述出版品的類型

<dc:Identifier> 為一個字串或者數字用來表示唯一的識別資源

<dc:Format> 描述出版品的媒體類型、資源特點、檔案類型等

<dc:Source> 關於從出版品衍生而出的資訊來源

<dc:Language> 描述出版品內容所使用的語言

<dc:Relation> 描述出版品輔助資源的標識符號和它之間的關係

<dc:Coverage> 描述出版品的內容程度或範圍

<dc:Rights> 描述出版品的著作權授權狀態、使用限制、典藏單位等

<package unique-identifier=" 6B885A63-EBD3-4390-9140-BD51B76D2486">

<metadata>

<dc-metadata xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:oebpackage="http://openebook.org/namespaces/oeb-package/1.0/">

<dc:Title>雙木蘭(一)</dc:Title>

<dc:Creator>葉宏甲</dc:Creator>

<dc:Format>JPG XML</dc:Format>

<dc:Identifier>6B885A63-EBD3-4390-9140-BD51B76D2486</dc:Identifier>

加了一個可選擇的角色(Role)屬性,圖 12 為 role 屬性範例。

規範中對<dc:Identifier>元素也增加一個“scheme ”屬性,並提供一個結構化機制,將 標識符號值和指定該識符號值的系統分開。同時,<dc:Date>元素增加了一個“event”屬 性,使內容提供者能夠識別各種出版品的特別日期。

<metadata>

<dc-metadata xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:oebpackage="http://openebook.org/namespaces/oeb-package/1.0/">

<dc:Title>雙木蘭(一) </dc:Title>

<dc:Language>中文 </dc:Language>

<dc:Identifier id="6B885A63-EBD3-4390-9140-BD51B76D2486"

scheme="ISBN">123456789X</dc:Identifier>

<dc:Creator file-as=" Yeh, Hong-chia "role="aut">

葉宏甲 </dc:Creator>

</dc-metadata>

</metadata>

圖 12 role 屬性範例

<dc:Contributor>元素係用來著錄出版品的貢獻次於<dc:Creator>元素的貢獻者。除 了 貢 獻 的 重 要 性 不 同 之 外 , 這 個 元 素 的 語 義 與<dc:Creator> 是 相 同 的 。 該 規 格 對

<dc:Contributor>及<dc:Creator>元素增加兩個可任意選擇的屬性:role 及 file-as。對

<dc:Contributor>元素而言, file-as的屬性與<dc:Creator>元素定義是相同的,即其他貢 獻者名稱的控制詞彙。role屬性值由MARC敘述者代碼表(MARC Relator Code Llist)所定 義。當role被指定,且於MARC敘述者代碼表中(三個字符)有適合用的,即可加以引用;

若所需的屬性值未在定義中,則屬性值以oth開頭加以辦識。例如:<dc:Contributor role="edt">編輯:國立交通大學</dc:Contributor>。茲將較常用的role屬性值,整理如表 11:

表 11 MARC 敘述者代碼表中較常用的 role 屬性值 (Author in quotations or text extracts)

一個人在著作大量被引證或者摘錄其未直 接貢獻的作品,特別是展覽會目錄中引文,

照片的收集等等。

aft 後記、版權頁標記的作

者(Author of afterword) 個人或者公司負責後記、刊後語、版權頁標 記等等的作家,但不是作品的主要作家。

aui 引言的作者(Author of

introduction) 個人或團體負責引言、序言、前言或者其他 的評論事情, 但是不是首席作家。

cmm 評註者(Commentator)

不是出版作品的本人,主要闡明本文,增加

pht 攝影師(Photographer)

印刷本文的人或者組織, 不論是打字或者 prt 印刷業者(Printer) 印版。

負責書、電影、表演等等評論的人或組織團 rev 評論家(Reviewer) 體。

trc 抄 寫 員 , 謄 寫 員

(Transcriber) 從原始材料拷貝準備手寫或者打字的人,包 括口頭的記錄材料

把本文從一種語言翻譯成另一種語言,或從 老舊形式的語言轉換到現代形式語言的人。

trl 譯者(Translator)

3.3.3 檔案清單(Manifest )

Manifest 為組成電子書的所有檔案列表,在 OeBPS 中用<manifest>表示,例如 OeBPS 文件檔、樣式表、圖片檔、聲音檔等,有關該出版品的檔案名稱、代號、型態均在此描 述。它必須包含一個以上的item 元素, item 元素用以描述一個文件檔、圖像檔、樣式 表或出版品的其他組成部份。每個item 元素必須包含 id、href 及 media-type 等三個屬性。

Manifest 中 item 元素之 href 屬性中的 URIs 不能使用片斷(Fragment)的標識符號,

media-type 屬性用以指定 MIME 媒體類型。Manifest 所組成之檔案列表其排列順序不具 有任何意義。圖13 是一個範例,在圖 13 中 id 屬性名稱 temmanifest1 為網頁檔案,其媒 體類型為 text/x-oeb1-document; id 屬性名稱 temmanifest2 為圖片檔,其媒體類型為 image/jpeg;及 id 屬性名稱 temmanifest3 為樣式表,其媒體類型為 text/x-oeb1-css 等,組 成出版品的所有不同類型檔案均在Manifest 中描述。

<manifest>

<!-- OeBPS Documents (Content) -->

<item id=" temmanifest1 "

href=" ./html/NCTULIB_FA_001_007_01001.html "

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

<item id=" temmanifest2"

href="NCTULIB_ FA_001_007_ 01001_t.jpg"

media-type="image/jpeg" />

<item id=" temmanifest3"

href=" ./html/style.css"

media-type="text/x-oeb1-css" />

....

</manifest>

圖13 manifest 範例

所有的電子書閱讀系統都必須支援 OeBPS 定義的核心媒體類型。一般而言,出版 品僅使用這些媒體類型,並經由manifest 把組成出版品檔案全部表列出來。然而,部分 出版品可能需要參用附加媒體類型(非 OeBPS 定義的核心媒體類型)以建構電子書,因此 必須提供選擇的撤退項(Fallback items),對於不是 OeBPS 核心媒體類型的 item,至少要 有一個相關聯的fall back items 是從 OeBPS 核心媒體類型中取得。

<manifest>

<item id=" temmenifest20"

href=" ./html/NCTULIB_FA_001_007_01001.txt "

media-type="text/plain"

fallback="fallitem1" />

<item id="fallitem1" fallback="fallitem2"

href=" ./html/NCTULIB_FA_001_007_01008.html "

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

<item id="fallitem2"

href=" NCTULIB_ FA_001_007_ 01001_t.jpg "

media-type=" image/jpeg " />

<item ...>

</manifest>

圖 14 Fallback Items 範例

例如圖14,如果 fallback 屬性指到一個也有 fallback 屬性的 item,閱讀系統必須往 上層的 fallback 路徑繼續找尋,直到參考到能夠顯示的媒體類型。Fallback 路徑必須要 終止,不允許環形(Loop)參考。然而,如果遇到這樣的環(迴)路,閱讀系統不應該錯誤 終止,應該仍能正常執行[38]。

3.3.4 閱覽順序(Spine)

電子書必須指定一個<spine>元素,提供主要的線性閱覽順序。<spine>緊接在

<manifest>之後,它透過<itemref>,自<manifest>中取出一個或更多的 OeBPS 文件檔組 成順序列表。<itemref>的 idref 需對應到<manifest> 下<item>的 id 屬性值。電子書閱讀 系統將<spine>中第一個<itemref>元素指定的文件視為第一個顯示的文件,透過電子書閱 讀系統的下頁(Next-Page)功能,可以依次呈現其餘的<itemref>元素指定的文件。

<spine>不必包含<manifest>中的每個<item>元素,因為除了<spine>外,電子書存取 文件還有其他的方式,例如,外部超聯結、<tours>、<guides>等。<spine>必須僅引用媒 體類型text/x-oeb1-document 的 item 元素,其他媒體類型的內容可經由 OeBPS 文件被引 用,它應該提供本文替代和其他的資訊,以適當提升可讀性。

圖15 是一個範例,假設讀者目前正在閱讀<manifest>中 id 屬性為 forward 的文件,

當閱讀到文件的末尾時,依線性次序下一個閱讀的文件將是id 屬性為 title 的文件。另 外,文件forward 可能有超連結指到另一個文件其他位置,例如 footnotes,這些文件皆

當閱讀到文件的末尾時,依線性次序下一個閱讀的文件將是id 屬性為 title 的文件。另 外,文件forward 可能有超連結指到另一個文件其他位置,例如 footnotes,這些文件皆