1.软文推荐

2.软文推荐

3.软文推荐

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 files1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.

这个 EPUB 包含很多文件,但其中大部分是内容。要了解 EPUB 文件是如何组合在一起的,请遵循电子书阅读器的流程:

1、电子书阅读器需要验证 EPUB 文件是否真的是 EPUB 文件。他们通过检查 EPUB 存档根目录中的 mimetype 文件来验证文件。该文件仅包含一行描述 EPUB 文件的 MIME 类型:

application/epub+zip1.

2、为了定位内容,电子书阅读器从 META-INF/container.xml 文件开始。这是一个简短的 XML 文档,指示在哪里可以找到内容。对于此 EPUB 文件,container.xml 文件如下所示:

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

为了使 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 数据包含在 块中,该块本身具有 块、 数据和包含电子书目录的 块:

"1.0" encoding="UTF-8"?>
   "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">
     
       "unique-identifier">osdc002
       Tips and Tricks <span class="hljs-keyword" style="color: #333;font-weight: bold;line-height: 26px">for</span> C Programming
       Jim Hall
       English
       "dcterms:modified">2022-06-23T12:09:13Z
       "LibreOffice/7.3.0.3$Linux_X86_64 LibreOffice_project/0f246aa12d0eee4a0f7adcefbf7c878fc2238db3 (libepubgen/0.1.1)" name="generator"/>
     
     
       ...
       "sections/section0001.xhtml" id="section0001" media-type="application/xhtml+xml"/>
       "images/image0003.png" id="image0003" media-type="image/png"/>
       "styles/stylesheet.css" id="stylesheet.css" media-type="text/css"/>
       "toc.ncx" id="toc.ncx" media-type="application/x-dtbncx+xml"/>
       ...
     
     "toc.ncx">
       "section0001"/>
       "section0002"/>
       "section0003"/>
       ...
     
   1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.

你可以把数据匹配起来,看看在哪里可以找到每个部分。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 文件。

本文来源:www.lxlinux.net/11002.html,若引用不当,请联系修改。

相关文章 8

1

关于优化网站带www还是不带的信息 2分钟前

目录:1、网站带www的域名和比不带www域名,哪个更适合做seo优化?2、seo,域名解析是加www好还是不加好啊,还是没有区别3、域名解析是加ww...

4

详解HTTP协议和HTTPS协议异同 6分钟前

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密。为了解决...

5

Linux中查看命令使用方法技巧 8分钟前

Linux系统中命令非常多,要想把每一个命令都记住那是一件非常困难的事情,幸好Linux中提供了查看命令使用方法的方法,本篇文章将为大家...

6

服务器批量管理工具(服务器批量管理工具在哪) 8分钟前

目录:1、云服务器管理工具有哪些?2、有没有那种可以集中批量管理服务器的软件,提高服务器管理效率的?3、有什么软件可以批量管理...

7

Linux 使用lsmod命令列出内核模块信息 11分钟前

lsmod是一个命令行实用程序,用于显示有关已加载的Linux内核模块的信息。 1)语法:lsmod 2)功能: lsmod命令可以美观地显示/prco/module中的内...

8

关于github和gitlab区别的信息 12分钟前

目录:1、选择使用github 还是 gitlab?2、git github gitlib gitlab分别是什么,有什么区别3、git,github,gitlab之间是什么关系?4、gitblit 与github有什...