epub-metadata-3.0: Library for parsing and manipulating EPUB files and OPF package data

Safe HaskellSafe-Inferred

Codec.Epub2.Opf.Package

Description

Data types for working with the metadata of ePub documents

These data types were constructed by studying the IDPF OPF specification for ePub documents found here:

http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm

Synopsis

Documentation

data Package Source

package tag

Constructors

Package 

Fields

opVersion :: String

version attr

opUniqueId :: String

unique-identifier attr

opMeta :: Metadata

metadata child element contents

opManifest :: [ManifestItem]

manifest child element contents. One required

opSpine :: Spine

spine child element contents

opGuide :: [GuideRef]

guide child element contents

Instances

data Creator Source

package/metadata/dc:creator tag, opf:role attr, opf:file-as attr, content

Instances

data Date Source

package/metadata/dc:date tag, opf:event attr, content

Constructors

Date (Maybe String) String 

Instances

data Description Source

package/metadata/dc:description tag, xml:lang attr, content

Constructors

Description (Maybe String) String 

data Identifier Source

package/metadata/dc:identifier tag, id attr, opf:scheme attr, content

data Metadata Source

package/metadata tag

Constructors

Metadata 

Fields

metaTitles :: [Title]

at least one required

metaCreators :: [Creator]
 
metaContributors :: [Creator]
 
metaSubjects :: [String]

dc:subject tags

metaDescriptions :: [Description]
 
metaPublishers :: [String]

dc:publisher tags

metaDates :: [Date]
 
metaTypes :: [String]

dc:type tags

metaFormats :: [String]

dc:format tags

metaIds :: [Identifier]

at least one required

metaSources :: [String]

dc:source tags

metaLangs :: [String]

dc:language tags, at least one required

metaRelations :: [String]

dc:relation tags

metaCoverages :: [String]

dc:coverage tags

metaRights :: [String]

dc:rights tags

Instances

data Title Source

package/metadata/dc:title tag, xml:lang attr, content

Constructors

Title (Maybe String) String 

Instances

data ManifestItem Source

package/manifest/item tag

Constructors

ManifestItem 

Fields

mfiId :: MFItemId

id attr

mfiHref :: MFItemHref

href attr

mfiMediaType :: MFItemMediaType

media-type attr

data SpineItemref Source

package/spine/itemref tag

Constructors

SpineItemref 

Fields

siIdRef :: MFItemId

idref attr. Must reference item in manifest

siLinear :: Maybe Bool

linear attr

data Spine Source

package/spine tag

Constructors

Spine 

Fields

spineToc :: MFItemId

toc attr. Must reference the NCX in the manifest

spineItemrefs :: [SpineItemref]
 

Instances

data GuideRef Source

package/guide/reference tag

Constructors

GuideRef 

Fields

grType :: String

type attr. Must follow 13th edition of the Chicago Manual of Style

grTitle :: Maybe String

title attr

grHref :: String

href attr. Must reference item in manifest

Instances

emptyMetadata :: MetadataSource

Note: This isn't valid as-is, some required values are empty lists!