博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
epub格式电子书剖析之二:OPF文件构成
阅读量:6229 次
发布时间:2019-06-21

本文共 3938 字,大约阅读时间需要 13 分钟。

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,如需转载请自行联系原作者

你可能感兴趣的文章
c++ 快速排序
查看>>
Linux下删除命令 硬盘空间查看... 常用命令
查看>>
从客户端中检测到有潜在危险的 Request.Form 值
查看>>
Node.js制作爬取简书内容的爬虫
查看>>
编辑器之神-vim
查看>>
highcharts 柱形堆叠图
查看>>
在vue2.x中安装sass并配置
查看>>
密钥分散算法
查看>>
Django ORM字段和字段参数
查看>>
HDU-6170 Two strings
查看>>
URL和URI
查看>>
3.12DAYUP
查看>>
算法10-----分糖果
查看>>
zoj 1009
查看>>
STL之迭代器
查看>>
kubernetes删除pod失败
查看>>
防盗链之URL参数签名 总结
查看>>
中间件和上下文处理器、djangoAdmin
查看>>
grunt入门讲解1:grunt的基本概念和使用
查看>>
网页内连续英文或符号时 强制折行与不折行的解决方案
查看>>