本文件為W3C於2019年05月08日發布之EPUB Open Container Format (OCF) 3.2的翻譯版本。此翻譯版本係由台灣數位出版聯盟(Taiwan Digital Publishing Forum, TDPF)自願翻譯,譯者盡可能維持英文原文本意與翻譯品質,唯翻譯內容仍可能有所錯誤。如有發現錯誤或不妥之處,請透過GitHub與譯者聯繫、修正或建立issue。
本翻譯文件僅供參考,唯一的正式版本請以W3C網站發布之英文原文版為準。
翻譯版本最後更新日期:2022年01月23日
Copyright © 1999-2019 International Digital Publishing Forum™ and W3C® (MIT, ERCIM, Keio, Beihang)
EPUB是國際數位出版論壇(IDPF, International Digital Publishing Forum)的註冊商標。
本規格定義了一個檔案格式與處理模型,以包裝一組相關聯的資源組成一本EPUB®出版品為單一檔案容器,即為EPUB容器。
本規格定義了規則供建構抽象(即為「抽象容器(abstract container)」)的檔案集合,以及規定此抽象容器於ZIP封存檔(即為「ZIP容器」)的呈現。供ZIP容器的規則建構於 [ODF] 所使用的ZIP技術。OCF也定義了一套標準方式供嵌入資源模糊化,例如字體,以提供需要這些功能的EPUB出版品使用。
本規格屬於組成 [EPUB32] 的規格群之一,其為基於XML與Web標準的數位出版品交換與遞送格式。要了解整體EPUB 3規格,需要與其他規格一併閱讀且理解。
可參考 [EPUB32Changes] 以了解本規格與其前版本的差異資訊。
本規格由EPUB 3社群小組所發表。並非W3C標準也不在W3C標準程序上。請注意本規格適用於W3C社群完整規範協議(FSA)。可進一步了解W3C社群與業界小組。
如果你想要對本文件提出意見,請寄送到public-epub3@w3.org(訂閱,存檔)。
專屬於EPUB 3的術語在本文件中以括號(譯注:英文版為首字大寫。範例如「作者」,「閱讀系統」)。術語與定義的完整清單提供於 [EPUB32] 。
每章節術語第一次出現時才會連結至其定義。
此外,以下術語專為本規格所定義使用:
編碼用於具備固有二進位格式特性的內容,例如影片或者聲音媒體類型等已經預先為壓縮做了最佳化設計,或者能提供最佳化的串流相容性。
列於container.xml檔案中的第一個rootfile
元素中的內容釋義。
在OCF抽象容器中任何種類檔案的名稱,不管是檔案夾或者在檔案夾中的檔案。
非編碼用於其內在檔案結構性質能夠得益於壓縮的內容類型,例如基於文字字串的檔案格式(例如,HTML、CSS等)。
一個軟體應用程式用於處理OCF ZIP容器,需符合本規格中的需求。
基於ZIP技術的EPUB出版品包裝與遞送格式,定義於OCF ZIP容器。
OCF ZIP容器與EPUB容器為同義詞。
在OCF抽象容器中所給予的檔案夾,該字串包含以完整路徑顯示的所有檔案夾構成檔案名稱,以一個/
(U+002F
)字元結合起來,並以/
分隔檔案夾與檔案名稱。
根目錄表示OCF抽象容器檔案系統的基底。其檔案夾性質為虛擬:當內容尚未解壓縮時,一個EPUB閱讀系統可或不可產生一個供OCF抽象容器內容的實體根目錄。
除了標註為非規範性的章節,本規格中所有製作指針、圖表、範例與注意事項都為非規範性。其餘本規格中的內容皆為規範性。
關鍵字:可以(MAY)、必需(MUST)、不得(MUST NOT)、選擇性(OPTIONAL)、必要(REQUIRED)、應該(SHOULD)、不應(SHOULD NOT)應該以 [RFC2119] 之記述解釋。
EPUB閱讀系統必需符合以下領域需求:
本章節為非規範性。
OCF抽象容器檔案系統模型,使用單一通用根目錄來置放所有內容。所有供EPUB出版品使用的本地資源都放在由根目錄所開始的目錄樹中,本規格中不對資源做檔案系統結構的指定。
此檔案系統模型也包含一個必要的資料夾META-INF
,為根目錄下直接子目錄,用於置放以下特殊檔案:
container.xml
[必要]
signatures.xml
[選擇性]
包含各種用途的數位簽章。
encryption.xml
[選擇性]
metadata.xml
[選擇性]
用於儲存OCF ZIP容器的詮釋資料。
rights.xml
[選擇性]
用於儲存關於數位權利的資訊。
manifest.xml
[選擇性]
一份容器內容的宣告,開放文件格式 [ODF] 允許使用。
在META-INF
資料夾中各檔案的適用性需求定義於META-INF
資料夾。
供OCF抽象容器使用的虛擬檔案系統必需有單一通用的根目錄置放容器中的所有內容。
OCF抽象容器必需包含一個名為META-INF
的目錄,作為容器根目錄的直接子目錄。對該資料夾中內容的需求在META-INF
資料夾中說明。
根目錄中 mimetype
檔案名稱保存供OCF ZIP容器使用,於OCF ZIP容器中說明。
所有其他在OCF抽象容器中的檔案可以放置於根目錄以下的所有階層位置,但不能置放在META-INF
資料夾中。
在OCF抽象容器中的檔案必需透過相對IRI位置相互參照 ( [RFC3987和 [RFC3986] )。
對相對IRI位置,其基本IRI [RFC3986] 由其給予的檔案格式之相關的語言規格所定義。例如,CSS的相對IRI位置如何運作,定義於CSS樣式表以及特性宣告 [CSSSnapshot] 之脈絡。
不像大多數的語言規格,所有在META-INF
資料夾中的檔案使用OCF抽象容器的根目錄作為預設的基本IRI。
舉個例子,如果META-INF/container.xml
有以下內容:
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="EPUB/Great_Expectations.opf"
media-type="application/oebps-package+xml" />
</rootfiles>
</container>
接著EPUB/Great_Expectations.opf
的路徑相對於該OCF抽象容器的根目錄,不相對於META-INF
目錄。
所有相對IRI位置必需解析到位於OCF抽象容器中的資源(例如,位於或者低於根目錄)。
本章節所說明的檔案名稱限制,設計用於使路徑名稱與檔案名稱在多數常用的作業系統上無需調整即可使用。本規格不指示OCF處理器在無法表現OCF檔案與路徑名時,如何添補其相容性問題的作法。
在一個OCF抽象容器的脈絡下,檔案與路徑名稱在乎大小寫區分,並且必需符合以下領域需求:
檔案名稱必需為UTF-8 [Unicode] 編碼。
檔案名稱不得使用以下 [Unicode] 字元,因為這些字元可能在常用作業系統間支援程度不一:
SOLIDUS: /
(U+002F
)
QUOTATION MARK: "
(U+0022
)
ASTERISK: *
(U+002A
)
FULL STOP as the last character: .
(U+002E
)
COLON: :
(U+003A
)
LESS-THAN SIGN: <
(U+003C
)
GREATER-THAN SIGN: >
(U+003E
)
QUESTION MARK: ?
(U+003F
)
REVERSE SOLIDUS: \
(U+005C
)
VERTICAL LINE: \
(U+007C
)
DEL (U+007F
)
C0 range (U+0000 … U+001F
)
C1 range (U+0080 … U+009F
)
Private Use Area (U+E000 … U+F8FF
)
Non characters in Arabic Presentation Forms-A (U+FDDO … U+FDEF
)
Specials (U+FFF0 … U+FFFF
)
Tags and Variation Selectors Supplement (U+E0000 … U+E0FFF
)
Supplementary Private Use Area-A (U+F0000 … U+FFFFF
)
Supplementary Private Use Area-B (U+100000 … U+10FFFF
)
所有在同一個資料夾中的檔案名稱必需在大小寫正規化後皆為獨特,如3.13章節中 [Unicode] 所解釋。
所有在同一個資料夾中的檔案名稱應該在NFC或NFD正規化 [TR15] 後為獨特。
META-INF
資料夾所有OCF抽象容器必需在其根目錄中包含一個名為META-INF
的資料夾。
此資料夾中的檔案為META-INF保留的檔案。其他未列於本章節的檔案可以被放在META-INF
資料夾中;而OCF處理器當遇到這些檔案時不得視為錯誤。
container.xml
)置放於META-INF
資料夾中的container.xml
為必要,其用於指定在OCF抽象容器中的EPUB包裝。
該檔案的內容必需在移除所有來自其他命名空間的元素以及屬性(包含所有屬性以及有這些元素的內容)後,合乎定義在「供container.xml
使用的綱要」裡提供的綱要。
每一個rootfile
元素必需指定一份包裝文件的位置,以代表EPUB出版品的一份內容釋義。每一份內容釋義必需與其容器的EPUB版本相容。
一個OCF處理器必需將在rootfile
元素中第一個rootfile
元素視為所容納的EPUB出版品中的預設內容釋義。閱讀系統需要呈現預設內容釋義,但可以顯示容器中的其他內容釋義。
儘管EPUB容器具備能包含一個以上內容釋義之內容的能力,閱讀系統對於多重內容釋義的支援依然未受到廣泛支援,僅有相關團體為了其目的與手段提供特定的環境支援。
選擇性的links
元素用來指定處理OCF ZIP容器時所需要的資源。其每一個link
元素必需包含一個href
屬性,其值指定了一個資源的位址。每一個link
元素都必需包含一個rel
屬性,其值指定與資源的關係,以及可以包含一個media-type
屬性,其值必需為一個媒體類型 [RFC2046] ,其指定了該link
參照的資源的類型與格式。
links
元素用於多重內容釋義EPUB時,用以指向內容釋義所映射的文件。
rootfile
元素中full-path
屬性的值與link
元素的href
屬性必需包含一個路徑部件(path component) [RFC3986] 其必需僅使用path-rootless [RFC3986] 形式。其路徑部件與根目錄為相對。
OCF處理器必需忽略container.xml
檔案中的外圍元素與屬性。
encryption.xml
)在META-INF
資料夾中選擇性的encryption.xml
包含所有該容器內容的加密資訊。如果任何容器中的資源有受到加密,encryption.xml
必需用於指出哪一份資源受到加密,以及提供如何解密的資訊。
本檔案是一個XML文件,其根元素為encryption
。encryption
元素包含類型子元素EncryptedKey
及EncryptedData
由 [XMLENC-CORE1] 所定義。EncryptedKey
元素解釋了用於容器的每一個加密密鑰,而EncryptedData
元素解釋了每一個加密檔案。每一個EncryptedData
元素參照一個EncryptedKey
,如在XML加密中所說明。
encryption.xml
檔案之內容必需合乎定義在「供encryption.xml
使用的綱要」裡提供的綱要。
OCF獨立地加密個別檔案,以一些安全性交換效能的提升,允許容器內容能夠被遞增解密。但以這種方式加密會暴露目錄結構與整個包裝的檔案命名。
OCF採用XML加密 [XMLENC-CORE1] 來提供一個加密用的框架,允許使用多種演算法。XML加密指定一個程序供加密任意資料並且以XML表示其結果。儘管OCF抽象容器中可能包含非XML資料,但XML加密可用於加密OCF抽象容器中的所有資料。OCF加密僅支援對在容器中的整個檔案加密,而非檔案的一部分。若encryption.xml
檔案存在,則其自身不得被加密。
在OCF抽象容器中,以加密資料置換未加密的資料。例如,如果一個名為photo.jpeg
的影像為加密,photo.jpeg
資源的內容應該被置換成其加密後的內容。在ZIP資料夾中,應該儲存加密後的檔案而非Deflate壓縮檔。
請注意在一些狀況下,需要模糊儲存被內容釋義參照的嵌入資源,以連接到「母」EPUB出版品並且使它們更難以在非限制的使用下解壓縮(例如,字體)。儘管模糊化並非加密,encryption.xml
檔案用於對應資源模糊化演算法以識別哪些資源需要在使用前去模糊化。
以下檔案不得被加密,無論是使用預設或者特別的加密法:
mimetype
META-INF/container.xml
META-INF/encryption.xml
META-INF/manifest.xml
META-INF/metadata.xml
META-INF/rights.xml
META-INF/signatures.xml
包裝文件
簽署的資源可以之後使用供XML簽章 [XMLENC-DECRYPT] 的解密變形法(Decryption Transform)加密。這項功能使應用程式,例如一個OCF客戶端在從檔案簽署前來辨別資料是否加密。只有在簽署後為加密的檔案必需要在計算其摘要用於查核簽名前解壓縮。
儲存在ZIP容器中,非編碼內容類型的資料流應該在加密前壓縮,必需使用Deflate壓縮。這種做法可確保存放在ZIP容器中的檔案能夠佔較少的空間。
編碼內容類型的資料不應在加密前壓縮。在這些案例中,額外的壓縮會在製作時產生不必要的處理程序(尤其在處理大型資源檔案時),以及在閱讀時將會影響影音播放效率。在某些案例中,某些加密綱要的組合壓縮可能會降低閱讀系統處理部分內容需求的能力(例如,HTTP位元組範圍byte range),由於技術上無法在媒體播放時判斷完整資源的長度(例如,HTTP內容長度檔頭Content-Length header)。
在加密前壓縮的資料流應該提供額外的EncryptionProperties
詮釋資料來指定初始資源的大小(即為,在壓縮與加密前),如同下列每個Compression
XML元素所定義。加密前沒受壓縮的資料流可以提供額外的EncryptionProperties
詮釋資料來指定初始資源的大小(即為,加密前)。
Compression
http://www.idpf.org/2016/encryption#compression
EncryptionProperty
的選擇性子元素。
[必要]
識別所使用的壓縮法。
值需為「0
」(無壓縮)或「8
」(Deflate演算法)。
[必要]
代表資源初始大小(位元組數)。
值為正整數。
空白
manifest.xml
)META-INF
資料夾裡選擇性的manifest.xml
檔案提供了對容器裡檔案的宣告。
OCF規格不強制指定宣告的格式。
請注意在包裝文件中的manifest
元素為唯一用於處理該內容釋義的宣告。包含在ZIP封存中的額外宣告資訊或者選擇性的manifest.xml
不得被用於處理內容釋義。
metadata.xml
)META-INF
資料夾裡若有選擇性的META-INF/metadata.xml
檔案,則必需用於容器層級的詮釋資料。
若有metadata.xml
檔案,其內容應該僅包含命名空間認可的元素 [XML-NAMES] 。該檔案應該包含根元素metadata
,其命名空間為http://www.idpf.org/2013/metadata
,但其他根元素可以用於向後相容目的。閱讀系統應該忽略根元素無法識別之metadata.xml
。
本版本的OCF規格不定義供metadata.xml
檔案使用的詮釋資料格式。容器層級的詮釋資料可以在本規格的未來版本以及EPUB延伸規格中定義。
rights.xml
)META-INF
資料夾裡選擇性的rights.xml
為供數位權利管理(DRM)資訊所保留,目的為讓EPUB出版品能在權利人、中介與使用者間可被信任地傳遞。
本版本的OCF規格不要求特定格式的DRM資訊,但未來版本可能會要求。rights.xml
的內容應該僅包含命名空間認可的元素 [XML-NAMES] ,以避免與未來的格式產生斷裂。
當rights.xml
檔案不存在時,該容器中沒有任何部分在容器層級上受到權利管控。但權利表述可能存在於容納的內容釋義。
如果rights.xml
不存在時,OCF抽象容器沒有任何部分受到權利管控。
signatures.xml
)添加數位簽章並不保證EPUB檔案不受到變更,主要因為閱讀系統不被要求必須確認簽章。
META-INF
資料夾裡選擇性的signatures.xml
包含供容器與其內容的數位簽章。本檔案的內容必需合乎定義在「供signatures.xml
使用的綱要」裡提供的綱要。
signatures.xml
檔案的根元素為signatures
元素。該元素包含類型子元素Signature
如 [XMLDSIG-CORE1] 所定義。簽章可套用於一本EPUB出版品的整體或者其部分,並且可以指定用於簽署任何種類的資料(即為,不只是XML)。
當signatures.xml
不存在時,該容器中沒有任何部分在容器層級上受到數位簽署。但EPUB出版品中可能存在數位簽署。
當資料簽章為該容器所創建,其簽章應該被加到signatures
元素中最後一個子Signature
元素。
每一個在signatures.xml
中的Signature
由IRI所識別其簽章所適用的資料,使用 [XMLDSIG-CORE1] Manifest
元素以及其Reference
子元素。獨立涵蓋的檔案可以被分別或者一起簽署。對每個檔案個別簽署時會創建資源的摘要值以能被獨立驗證。這種方式會讓簽章元素變大。如果檔案被一起簽署,簽署檔案的集合可以被列於單一XML簽章Manifest
元素以讓一或多個Signature
元素參照。
所有位於容器中的檔案都可以被完整簽署,除了自身包含計算過的簽章資訊的signatures.xml
檔案。不管signatures.xml
如何被簽署或者簽署者的目的為何。
當簽署者想要為容器允許加入或者移除簽章,卻沒有無效化簽署者簽章時,signatures.xml
不應被簽署。
如果簽署者想要對添加或者移除簽章以無效化簽署者的簽章時,可應用定義於6.6.4節中 [XMLDSIG-CORE1] 的Enveloped Signature transform以簽署整個預先存在的簽署檔,而非創建Signature
。這種變形手段可以簽署所有之前的簽章,而在後續簽章加入套件時會變成無效。
如果簽署者想要移除既有的簽章使簽署者的簽章無效化,但也希望能夠允許添加簽章,可以適用XPath transform來僅對存在的簽章進行簽署。然而,像這樣變形的細節在本規格的目的之外。
[XMLDSIG-CORE1] 規格與簽章的沒有任何語意關聯,使用者端可以包含語意資訊,例如,在簽章元素加入資訊來說明該簽章。 [XMLDSIG-CORE1] 規格解釋如何為簽章加入額外資訊,例如使用SignatureProperties
元素。
本章節為非規範性。
OCF ZIP容器使用ZIP格式如 [ZIP] 所描述,但有著以下限制與澄清:
OCF ZIP容器的內容必需為合乎規定的OCF抽象容器。
OCF ZIP容器不得使用ZIP應用程式備忘 [ZIP] 中的功能讓ZIP檔案跨多個儲存媒體,或者分割為複數檔案。OCF處理器必需在處理任何OCF檔案時,將指定ZIP檔分割跨多重儲存媒體的狀況視為錯誤。
OCF ZIP容器必需在ZIP封裝中僅包含儲存(無壓縮)及採Deflate演算法壓縮的ZIP內容。OCF處理器必需處理任何使用非Delate演算法的壓縮技術之OCF容器視為錯誤。
OCF ZIP容器可以使用在應用程式備忘 [ZIP] 中第5章G節定義為「Version 1」的ZIP64延伸,以及應該僅在內容需要他們時使用這些延伸。OCF處理器必需支援定義為「version 1」的ZIP64延伸。
OCF ZIP容器不得使用由ZIP格式定義的加密功能;取而代之,加密必需使用加密檔案(encryption.xml
)中所說明的功能來完成。OCF處理器必需處理使用ZIP加密功能的OCF ZIP容器為錯誤。
OCF處理器不需要在讀取與存檔程序中保存來自OCF ZIP容器的資訊,由於在OCF抽象容器中並未定義;詳細說明,OCF處理器不需要保存CRC值、註解欄位或者其他欄位保存系統資訊以呼應特殊作業系統(例如,外部檔案屬性與額外的欄位)。
OCF ZIP容器必需使用UTF-8 [Unicode] 為檔案系統名稱編碼。
以下限制適用於OCF ZIP容器封存的特殊欄位:
OCF ZIP容器中第一個檔案必需為mimetype
檔案,其須符合以下需求:
mimetype
檔案的內容必需為MIME媒體類型 [RFC2046] 字串application/epub+zip
且以US-ASCII編碼 [US-ASCII] 。mimetype
檔案不得包含任何開頭或結尾佔位符號或者空白。mimetype
檔案不得以Unicode位元順序標記U+FEFF開始。mimetype
檔案不得被壓縮或者加密,也不得有額外欄位在其ZIP檔頭。參考附錄C,application/epub+zip
媒體類型以了解關於application/epub+zip
媒體類型的進一步資訊。
本章節為非規範性。
由於OCF ZIP容器基本上是一個ZIP檔案,一般常見的ZIP工具都可以用於從其包裝中解壓縮未加密的內容流。此外,ZIP檔案的特性表示其內容可以如其他原生容器在一些系統上(例如,資料夾)顯示。
ZIP檔案的單純很便於使用,但也產生了一個問題,不加密的副作用是易於提取資源,而這不是期盼的結果。例如,作者想要包含第三方字體時,一般不會希望字體被解壓縮並且被其他人使用。更重要的是,許多商用字體允許被嵌入,但嵌入字體即代表其為EPUB出版品整體的一部分,不只是隨著內容提供其原始字體。
雖然現在作業系統普遍整合了ZIP支援,但只是把字體置放到ZIP封裝並不足以表示其不想被用於其他脈絡的意圖。這種不確定性會損害EPUB出版品中相當有用的嵌入字體能耐。
為了避免字體受到使用,有些字體提供者可能僅會在以某些方法與EPUB出版品連結的狀況下,才允許使用它們的字體於EPUB出版品。即為,當字型檔案不能以預設工具被直接安裝在裝置中供作業系統使用,也不能被其他EPUB出版品所直接使用。
提供數位權利管理或者強制系統供這些資源使用超過本規格的目標。本章節則以定義模糊化的方法取代,其需要花額外的功夫在最終OCF收受端以增加對任何模糊化資源的一般性存取。
請注意,本規格並不將其宣稱為加密,也不能保障資源安全無虞不受侵權。然而,僅希望這項演算法將會符合多數提供者希望為其資源提供一些保障,而不會簡單地透過對容器解壓縮就能取出。
在字體的案例中,主要使用的方法是模糊化,定義的機制將簡單地提供阻擋方式來避免人們沒有注意到授權細節。其將無法避免有意圖的使用者獲得對字體的完整存取權。對該OCF容器而言,則可以套用該定義的演算法來取出原始字型檔案。本模糊手段是否能滿足個別字體的授權,依然還需詢問授權者與被授權者。
所有空白字元,如XML 1.0規格中2.3節 [XML] 所定義,必需由識別碼中移除 — 尤其是Unicode碼點U+0020
、U+0009
、U+000D
與U+000A
。
UTF-8表意的SHA-1摘要結果字串應該被取得以被安全雜湊標準(Secure Hash Standard) [FIPS-180-4] 所指定。其摘要即直接作為演算法密鑰使用。
部署供模糊化資源的演算法固定調整最初檔案的1040位元組(~1KB)。在罕見的狀態下,檔案小於1040位元組時,則整個檔案都會變動。
為了模糊化原始資料,結論上使用邏輯互斥或(logical exclusive or, XOR)於原始檔案的第一個位元組,以及將模糊化密鑰的第一個位元組儲存作為嵌入資源的第一個位元組。
本程序將逐來源檔案和密鑰的位元組重複,持續到所有密鑰的位元組都被使用完畢。此時,處理將會繼續從密鑰的第一個位元組與來源的第21個位元組開始。當1040個位元組以這種方式編碼後(或者到達來源的結束時),任何來源中剩下的資料都將直接複製到結果檔。
資源模糊化必需發生早於壓縮及加入OCF容器前。請注意模糊化不是加密,本需求不會違反加密檔案(encryption.xml
)在加密前先壓縮資源的規則。
為了恢復成原來的字型檔案,程序僅要簡單地反向進行:來源檔案變成模糊化資料,而其結果檔案將包含原始資料。
對字體的模糊化早在EPUB 3.0.1版就已經允許使用,但沒有指定模糊化與壓縮的順序。結果而言,在解壓縮與去模糊化後可能會得到不合規的字體。在這些狀況下,在解壓縮前對資料進行去模糊化可能取得合規的字體。本規格不要求對這種逆向方法的支援,原因是不適用本版本規格,但其可能需要納入對EPUB 3內容的一般支援。
儘管技術上並非對資料加密,所有模糊化資源必需在該EPUB出版品中的encryption.xml
檔案中登錄(請見加密檔案(encryption.xml
))。
EncryptedData
元素必需包含每一個模糊化資源。每一個EncryptedData
元素必需包含一個EncryptionMethod
子元素,其Algorithm
屬性之值設定為http://www.idpf.org/2008/embedding
。這項屬性出現代表使用本規格所闡釋的演算法。對模糊化資源的路徑必需被列於CipherData
元素中的 CipherReference
子元素。
為了避免無意義地複製嵌入資源到其他EPUB出版品,模糊化密鑰不得在encryption.xml
檔案中提供。
container.xml
使用的綱要供container.xml
檔案使用的綱要可於
https://github.com/w3c/epubcheck/tree/master/src/main/resources/com/adobe/epubcheck/schema/30/ocf-container-30.nvdl
取得。
使用本綱要進行驗證需要支援 [RelaxNG-Schema] 及 [XMLSCHEMA-2] 的處理器。
encryption.xml
使用的綱要供encryption.xml
檔案使用的綱要包含在 [XMLSEC-RNGSCHEMA-20130411] 中。
signatures.xml
使用的綱要供signatures.xml
檔案使用的綱要包含在 [XMLSEC-RNGSCHEMA-20130411] 中。
本章節為非規範性。
以下範例示範了使用OCF格式於 OCF ZIP容器中包含簽署及加密的EPUB出版品。
application/epub+zip
媒體類型本章節為非規範性。
本附錄註冊媒體類型application/epub+zip
供EPUB開放容器格式(Open Container Format, OCF)使用。
一個OCF ZIP容器,或EPUB容器,檔案為基於 [ZIP] 封存格式技術的容器。用於包覆EPUB出版品的內容釋義。OCF與其相關標準由World Wide Web Consortium (W3C)所維護並且定義。
application
epub+zip
無。
無。
OCF ZIP容器檔案為以application/zip
媒體類型編碼的二進位檔案。
所有能夠讀取OCF ZIP容器檔案的處理器應該嚴密地對取得的檔案大小以及合規性進行檢查。
此外,因為各種不同內容類型可被嵌入到OCF ZIP容器檔案中,application/epub+zip
可以敘述為擁有超過此處說明含有安全性問題的內容。然而在這些案例中,僅有在處理器辨別並且處理這些額外內容,或者將內容交派到其他處理器進行進一步處理時,才會遇到這些潛在的安全問題。在這些案例中,安全性問題落於本註冊文件的領域之外。
適用於application/zip
的安全性考量也適用於OCF ZIP容器檔案。
無。
本媒體類型註冊供EPUB開放容器格式(Open Container Format, OCF)使用,如EPUB開放容器格式(OCF)3.2規格所敘述,位於https://w3c.github.io/epub-specs/archive/epub32/spec/epub-ocf.html
。
EPUB OCF 3.2規格同時取代RFC 4839以及開放容器格式2.0.1規格,其位於https://www.idpf.org/doc_library/epub/OCF_2.0.1_draft.doc
,其也使用application/epub+zip
媒體類型。
本媒體類型廣泛用於遞送EPUB格式的電子書。以下為非窮舉的應用程式列表:
0: PK 0x03 0x04
, 30: mimetype
, 38:
application/epub+zip
OCF ZIP容器檔案多半可透過副檔名.epub
進行識別。
ZIP
連結綱要註冊維護於https://www.idpf.org/epub/linking/
。這些綱要部分定義了客製化斷片識別碼可解析到application/epub+zip
及application/oebps-package+xml
文件。
public-epub3@w3.org
COMMON
發布的規格是World Wide Web Consortium之EPUB 3社群小組的成果產品。W3C對本規格有變更的管控權。
本章節為非規範性。
EPUB 3由W3C EPUB 3社群小組所開發,並且與出版業界小組相互協力。
EPUB 3.2改版由以下主導:
此外向編輯群致敬,本版本EPUB若缺少以下人物的顯著貢獻,則不可能完成:
特別感謝IDPF的前會員,尤其是Markus Gylling與Bill McCoy,沒有他們EPUB不可能成真。