epub格式电子书剖析之二:OPF文件构成

简介:

OPF文档是epub电子书的核心文件,且是一个标准的XML文件,依据OPF规范,主要由五个部分组成:

1、<metadata>,元数据信息,由两个子元素组成:

  • <dc-metadata>,其元素构成采用dubline core(DC)的15项核心元素,包括:
    • <title>:题名
    • <creator>:责任者
    • <subject>:主题词或关键词
    • <description>:内容描述
    • <contributor>:贡献者或其它次要责任者
    • <date>:日期
    • <type>:类型
    • <format>:格式
    • <identifier>:标识符
    • <source>:来源
    • <language>:语种
    • <relation>:相关信息
    • <coverage>:履盖范围
    • <rights>:权限描述
  • <x-metadata>,即扩展元素。如果有些信息在上述元素中无法描述,则在此元素中进行扩展。

2、<menifest>,文件列表,由于列出OEBPS文档及相关的文档,有一个子元素构成,

  • <item id="" href="" media-type="">,该元素由三个属性构成:
    • id:表示文件的ID号
    • href:文件的相对路径
    • media-type:文件的媒体类型
    • 例如:<item id="page01" href="page01.xhtml" media-type="application/xhtml+xml"/>
    • <item id="img000"href="001.png"media-type="image/png" />
    • <item id="img001"href="002.jpg"media-type="image/jpeg" />

3、<spine toc="ncx">,脊骨,其主要功能是提供书籍的线性阅读次序。由一个子元素构成:

  • <itemref idref="">,由一个属性构成:
    • idref:即参照menifest列出的ID
    • 例如:<itemref idref="page01"/>

4、<guide>,指南,依次列出电子书的特定页面, 例如封面、目录、序言等, 属性值指向文件保存地址。一般情况下,epub电子书可以不用该元素。

5、<tour>,导读。可以根据不同的读者水平或者阅读目的, 按一定次序, 选择电子书中的部分页面组成导读。一般情况下,epub电子书可以不用该元素。

 content.opf实例

<?xml version= "1.0"  encoding= "utf-8" ?>
<!DOCTYPE package PUBLIC "+//ISBN 978-7-308-05831-5//DTD OEB 1.2 Package//EN"  "http://openebook.org/dtds/oeb-1.2/oebpkg12.dtd" >
<package unique-identifier= "bookid"  xmlns:opf= "http://www.idpf.org/2007/opf"  xmlns= "http://www.idpf.org/2007/opf"  version= "2.0" >
  <metadata>
   <dc-metadata xmlns:dc= "http://purl.org/dc/elements/1.1/"  xmlns:dcterms= "http://purl.org/dc/terms/"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" >
    <dc:title>数字档案馆理论与技术研究</dc:title>
    <dc:creator>金更达</dc:creator>
    <dc:subject>数字档案馆</dc:subject>
    <dc:subject>电子文件管理</dc:subject>
    <dc:subject>元数据</dc:subject>
    <dc:subject>数字化</dc:subject>
    <dc:subject>档案化</dc:subject>
    <dc:description>当……<dc:description>
    <dc:publisher>机械工业出版社</dc:publisher>
    <dc:contributor/>
    <dc:date>2007-09</dc:date>
    <dc:type>普通图书</dc:type>
    <dc:format>Text/html(.html,.htm)</dc:format>
    <dc:identifier id= "bookid"  opf:scheme= "ISBN" >isbn:978-7-111-04961-6</dc:identifier>
    <dc:source/>
    <dc:language>chi</dc:language>
    <dc:relation/>
    <dc:coverage/>
    <dc:rights>机械工业出版社版权所有</dc:rights>
   </dc-metadata>
   <x-metadata/>
  </metadata>
  <manifest>
   <item id= "ncx"  href= "toc.ncx"  media-type= "application/x-dtbncx+xml" />
   <item id= "style"  href= "style.css"  media-type= "text/css" />
   <item id= "cover"  href= "cover.htm"  media-type= "text/html" />
   <item id= "tableofc"  href= "toc.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "forword"  href= "forword.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap01"  href= "chap01.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap02"  href= "chap02.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap03"  href= "chap03.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap04"  href= "chap04.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap05"  href= "chap05.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap06"  href= "chap06.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap07"  href= "chap07.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap08"  href= "chap08.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap09"  href= "chap09.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "chap10"  href= "chap10.xhtml"  media-type= "application/xhtml+xml" />
   <item id= "reference"  href= "reference.xhtml"  media-type= "application/xhtml+xml" />
  </manifest>
  <spine toc= "ncx" >
   <itemref idref= "cover" />
   <itemref idref= "tableofc" />
   <itemref idref= "forword" />
   <itemref idref= "chap01" />
   <itemref idref= "chap02" />
   <itemref idref= "chap03" />
   <itemref idref= "chap04" />
   <itemref idref= "chap05" />
   <itemref idref= "chap06" />
   <itemref idref= "chap07" />
   <itemref idref= "chap08" />
   <itemref idref= "chap09" />
   <itemref idref= "chap10" />
   <itemref idref= "reference" />
  </spine>
  <guide/>
</package>

  

 原文地址



本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2011/12/13/2285983.html,如需转载请自行联系原作者

目录
相关文章
|
缓存 API 定位技术
.tpk格式文件简介
1、.tpk格式的文件是什么?       tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包,tpk可以在ArcGIS Runtime或者ArcGIS for Android/iOS中作为切片底图被加载。
3493 0
|
3月前
|
存储 自然语言处理 前端开发
Star 6.9k!开源的全能Markdown格式文件提取器:MinerU
总的来说,MinerU是一款非常实用且强大的数据提取工具。无论你是开发者、互联网从业者,还是有具体需求的新人小白,MinerU都能极大地提升你的工作效率,让你专注于更有价值的工作。 最后,如果你对MinerU感兴趣,不妨亲自尝试一下,相信你会爱上这款全能的Markdown格式文件提取器。
|
5月前
|
JSON API 开发工具
|
6月前
|
存储 Docker 容器
Star 8.3k!强烈推荐这款强大的 PDF 文件处理工具,PDF处理它全包了!
Star 8.3k!强烈推荐这款强大的 PDF 文件处理工具,PDF处理它全包了!
134 1
|
6月前
|
数据安全/隐私保护 Python
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(下)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
75 1
|
6月前
|
数据安全/隐私保护 Python Windows
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(上)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
116 0
|
Linux iOS开发 MacOS
一步搞定enex格式文件转换成markdown格式文件(印象笔记)
一步搞定enex格式文件转换成markdown格式文件(印象笔记)
197 0
wkhtmltopdf:wkhtmltopdf(将html转换成pdf的利器)简介、安装、使用方法详细攻略
wkhtmltopdf:wkhtmltopdf(将html转换成pdf的利器)简介、安装、使用方法详细攻略
wkhtmltopdf:wkhtmltopdf(将html转换成pdf的利器)简介、安装、使用方法详细攻略