成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入了解 EPUB 文件

系統 Linux
EPUB 文件是使用開放格式發布內容的好方法。EPUB 文件格式基于 XHTML 內容和 XML 元數據的開放標準,包含在 zip 存檔中。

電子書提供了一種隨時隨地閱讀書籍、雜志和其他內容的好方法。讀者可以在長途飛行和乘坐火車時享受電子書打發時間。最流行的電子書文件格式是 EPUB 文件,它是“電子出版物electronic publication”的縮寫。 EPUB 文件受到各種電子閱讀器的支持,并且是當今電子書出版的有效標準。

EPUB 文件格式基于 XHTML 內容和 XML 元數據的開放標準,包含在 zip 存檔中。由于一切都基于開放標準,我們可以使用通用工具來創建或檢查 EPUB 文件。讓我們探索一個 EPUB 文件以了解更多信息。《??C 編程技巧和竅門指南???》,于今年早些時候在 ??Opensource.com?? 上發布,提供 PDF 或 EPUB 格式。

因為 EPUB 文件是放在 zip 文件中的 XHTML 內容和 XML 元數據,所以你可以用 ??unzip?? 命令在命令行檢查 EPUB:

$ unzip -l osdc_Jim-Hall_C-Programming-Tips.epub 
Archive: osdc_Jim-Hall_C-Programming-Tips.epub
Length Date Time Name
--------- ---------- ----- ----
20 06-23-2022 00:20 mimetype
8259 06-23-2022 00:20 OEBPS/styles/stylesheet.css
1659 06-23-2022 00:20 OEBPS/toc.xhtml
4460 06-23-2022 00:20 OEBPS/content.opf
44157 06-23-2022 00:20 OEBPS/sections/section0018.xhtml
1242 06-23-2022 00:20 OEBPS/sections/section0002.xhtml
22429 06-23-2022 00:20 OEBPS/sections/section0008.xhtml
[...]
9628 06-23-2022 00:20 OEBPS/sections/section0016.xhtml
748 06-23-2022 00:20 OEBPS/sections/section0001.xhtml
3370 06-23-2022 00:20 OEBPS/toc.ncx
8308 06-23-2022 00:21 OEBPS/images/image0011.png
6598 06-23-2022 00:21 OEBPS/images/image0009.png
[...]
14492 06-23-2022 00:21 OEBPS/images/image0005.png
239 06-23-2022 00:20 META-INF/container.xml
--------- -------
959201 41 files

這個 EPUB 包含很多文件,但其中大部分是內容。要了解 EPUB 文件是如何組合在一起的,請遵循電子書閱讀器的流程:

1、電子書閱讀器需要驗證 EPUB 文件是否真的是 EPUB 文件。他們通過檢查 EPUB 存檔根目錄中的 ??mimetype?? 文件來驗證文件。該文件僅包含一行描述 EPUB 文件的 MIME 類型:

application/epub+zip

2、為了定位內容,電子書閱讀器從 ??META-INF/container.xml??? 文件開始。這是一個簡短的 XML 文檔,指示在哪里可以找到內容。對于此 EPUB 文件,??container.xml?? 文件如下所示:

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

為了使 ??container.xml?? 文件更易于閱讀,我將單行拆分為多行,并添加了一些間距來縮進每行。XML 文件并不關心新行和空格等額外的空白,因此這種額外的間距不會影響 XML 文件。

3、??container.xml??? 文件表示 EPUB 的根從 ??OEBPS??? 目錄中的 ??content.opf??? 文件開始。OPF 擴展名是因為 EPUB 基于 “開放打包格式Open Packaging Format”,但 ??content.opf?? 文件實際上只是另一個 XML 文件。

4、??content.opf??? 文件包含一個完整的 EPUB 內容清單,以及一個有序的目錄,以及查找每一章或每一節的引用。這個 EPUB 的 ??content.opf?? 文件很長,因此我將在此僅展示一小部分作為示例。

XML 數據包含在 ??<package>??? 塊中,該塊本身具有 ??<metadata>??? 塊、??<manifest>??? 數據和包含電子書目錄的 ??<spine>?? 塊:

<?xml version="1.0" encoding="UTF-8"?>
<package unique-identifier="unique-identifier" version="3.0" xmlns="http://www.idpf.org/2007/opf" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:opf="http://www.idpf.org/2007/opf">
<metadata>
<dc:identifier id="unique-identifier">osdc002</dc:identifier>
<dc:title>Tips and Tricks for C Programming</dc:title>
<dc:creator>Jim Hall</dc:creator>
<dc:language>English</dc:language>
<meta property="dcterms:modified">2022-06-23T12:09:13Z</meta>
<meta content="LibreOffice/7.3.0.3$Linux_X86_64 LibreOffice_project/0f246aa12d0eee4a0f7adcefbf7c878fc2238db3 (libepubgen/0.1.1)" name="generator"/>
</metadata>
<manifest>
...
<item href="sections/section0001.xhtml" id="section0001" media-type="application/xhtml+xml"/>
<item href="images/image0003.png" id="image0003" media-type="image/png"/>
<item href="styles/stylesheet.css" id="stylesheet.css" media-type="text/css"/>
<item href="toc.ncx" id="toc.ncx" media-type="application/x-dtbncx+xml"/>
...
</manifest>
<spine toc="toc.ncx">
<itemref idref="section0001"/>
<itemref idref="section0002"/>
<itemref idref="section0003"/>
...
</spine>
</package>

你可以把數據匹配起來,看看在哪里可以找到每個部分。EPUB 閱讀器就是這樣做的。例如,目錄中的第一項引用了 ??section0001???,它在清單中被定義為位于 ??sections/section0001.xhtml??? 文件中。該文件的名稱不需要與 ??idref?? 條目相同,但 LibreOffice Writer 的自動程序就是這樣創建該文件的。(你可以在元數據中看到,這個 EPUB 是在 Linux 上用 LibreOffice 7.3.0.3 版本創建的,它可以將內容導出為 EPUB 文件。)

EPUB 格式

EPUB 文件是一種使用開放格式發布內容的好方法。EPUB 文件格式是 XML 元數據與 XHTML 內容,包含在一個 zip

文件內。雖然大多數技術作家使用工具來創建 EPUB 文件,因為 EPUB 是基于開放標準,意味著你可以使用其他方式創建自己的 EPUB 文件。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2013-10-09 11:07:31

日志文件系統

2010-06-23 20:31:54

2010-07-13 09:36:25

2010-11-19 16:22:14

Oracle事務

2009-08-25 16:27:10

Mscomm控件

2020-09-21 09:53:04

FlexCSS開發

2020-07-20 06:35:55

BashLinux

2011-07-18 15:08:34

2022-06-03 10:09:32

威脅檢測軟件

2010-11-15 11:40:44

Oracle表空間

2018-06-22 13:05:02

前端JavaScript引擎

2021-01-19 12:00:39

前端監控代碼

2010-09-27 09:31:42

JVM內存結構

2021-04-28 10:13:58

zookeeperZNode核心原理

2010-11-08 13:54:49

Sqlserver運行

2013-04-16 10:20:21

云存儲服務云存儲SLA服務水平協議

2019-08-02 08:59:21

Token認證服務器

2009-09-24 16:22:50

Hibernate自動

2010-09-28 09:14:36

HTML DOMJavascript
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 操久久| 一级片视频免费 | 男女一区二区三区 | 国产一区中文字幕 | 国产一级片久久久 | 久久精品一 | 在线男人天堂 | 国色天香成人网 | 中文字幕日韩欧美一区二区三区 | 精品国产免费一区二区三区五区 | 精品一二三区视频 | 中文二区| 日本精品在线观看 | 国产精品欧美一区喷水 | 国产精品日韩欧美 | www.五月天婷婷 | 国产激情在线 | 日韩在线视频免费观看 | 亚洲视频在线一区 | 精品1区 | 国产精品免费小视频 | 欧美日韩综合一区 | 人人干在线| 国产精品久久久久久久7电影 | 欧美一级在线免费 | 一区二区三区视频在线观看 | 在线亚洲电影 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 97人澡人人添人人爽欧美 | 99re66在线观看精品热 | 欧美色综合一区二区三区 | av永久 | 国产日产精品一区二区三区四区 | 中文字幕日韩欧美一区二区三区 | 精品国产青草久久久久96 | 成人在线精品视频 | 欧美日韩久久久 | 久久亚洲一区 | 阿v视频在线观看 | 狠狠色综合久久婷婷 | 午夜合集 |