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"xmlnspf="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>

.OPF文件剖析的更多相关文章

  1. inittab文件剖析[CentOS 5.X](第二版)

    inittab文件剖析[CentOS 5.X] grep -v "^#" /etc/inittab | more #过滤掉以#开头的行 inittab文件格式 id:runleve ...

  2. 架构师成长之路2.4-Kickstart文件剖析

    点击返回架构师成长之路 架构师成长之路2.4-Kickstart文件剖析 kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别. 创建kickstart文件注意 ...

  3. Linux下的压缩文件剖析 (tar/gzip的区别)

    Linux下的压缩文件剖析 对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是, ...

  4. 「2.0」一个人开发一个App,小程序从0到1,文件剖析

    不知你是不是见到“文件剖析”这4个大字,才点进来看一看的?如果真是的话,那我可以坦诚.真心.负责任地告诉你:你上当了,你上了贼船啦,如果你现在想跳的话,还来得及,反正茫茫大海中,鲨鱼正缺搞程序的人.说 ...

  5. mk文件剖析

    一个Android.mk file用来向编译系统描述你的源代码.具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次.你可以在每一个Android.mk file中定义一个 ...

  6. 003.android资源文件剖析(Resources)

    android的资源文件使用的重要性,不言而喻.让我们从潜到深逐渐来了解吧. 一:android的基本资源: 1.字符串资源 android的资源文件保存在:res\values\ 2.布局资源 an ...

  7. Maven setting.xml 文件剖析

    全局配置: ${M2_HOME}/conf/settings.xml (配置环境变量  新建 M2_HOME    安装目录到版本名那里(D:\apache-maven-3.0.2) 编辑path 环 ...

  8. Android SAX、DOM、Pull解析xml文件剖析与案例讲解

    XML介绍 XML(Extensible Markup Language) 即可扩展标记语言,与HTML一样,都是SGML(Standard Generalized Markup Language,标 ...

  9. .ncx文件剖析

    ncx文件是epub电子书的又一个核心文件,用于制作电子书的目录,其文件的命名通常为toc.ncx. ncx文件是一个XML文件,该标准由DAISY Consortium发布(参见http://www ...

随机推荐

  1. linux定时任务php

    1. 在需要定时执行的PHP文件的第一行加 #! /usr/local/php/bin/php          服务器php.exe的位置 2. 上传要定时执行的php文件到一个位置,可以通过/pa ...

  2. jquery阻止冒泡和阻止默认事件

    event.stopPropagation(); event.preventDefault(); http://www.cnblogs.com/qixuejia/archive/2013/10/10/ ...

  3. Oracle归档的开启和关闭

    --1.开启归档 [步骤] a.一致性关闭数据库(shutdown [immediate | transactional |normal]) b.启动到mount阶段(startup mount) c ...

  4. VMWare虚拟机网络配置

    Bridged(桥接模式) 桥接模式相当于虚拟机和主机在同一个真实网段,VMWare充当一个集线器功能(一根网线连到主机相连的路由器上),所以如果电脑换了内网,静态分配的ip要更改.图如下: NAT( ...

  5. 【Error】IOError: [Errno 22] invalid mode

    使用python打开或写入文件时会报以下错误IOError: [Errno 22] invalid mode,比如打开f:\nnpm.txt时,可以在地址前面加上r或R,即r'f:\nnpm.txt' ...

  6. 实现Callable接口创建线程

    创建执行线程有四种方式: 实现implements接口创建线程 继承Thread类创建线程 实现Callable接口,通过FutureTask包装器来创建线程 使用线程池创建线程 下面介绍通过实现Ca ...

  7. NPOI:初次操作(新建Excel)

    1. 由于在某些电脑上没有安装office,或者有权限限制,使用COM组件进行读写Excel的话会出现问题, 为此,NPOI是一个很好的选择,NPOI可以在上述环境中满足Office的操作需求,并且功 ...

  8. 轮播图插件 SuperSlide2.1滑动门jQuery插件

    http://down.admin5.com/demo/code_pop/18/562/ SuperSlide2.1滑动门jQuery插件

  9. ElementTree之Xml文档处理

    ElementTree: 表示整个XML层级结构 Element: 表示树形结构中所有的父节点 SubElement: 表示树形结构中所有的子节点 有些节点既是父节点,又是子节点 下面来看下这两个类的 ...

  10. AOP的Advice

    @Before 方法执行之前执行 @AfterReturning 方法正常执行完成后执行 @AfterThrowing 抛出任何异常之后执行 @After  就是相当于finally,它会将你的方法t ...