epub:create-ocf create-ocf
epubtools/modules/create-ocf/xpl/create-ocf.xpl
Import URI: ../modules/create-ocf/xpl/create-ocf.xpl
This step is used to create the directory structure of the OCF Abstract Container. It is required to provide as option the path to the source html file.
Input Ports
Name | Documentation | Connections |
---|---|---|
meta | an epub-config document, see epub:convert |
Output Ports
Name | Documentation | Connections |
---|---|---|
resultⓅⓈ | ||
files |
Options
Name | Documentation | Default |
---|---|---|
base-uriⓇ | ||
debug | 'no' | |
debug-dir-uri | 'debug' |
Subpipeline
Step | Inputs | Outputs | Options | |||||
---|---|---|---|---|---|---|---|---|
p:variable variant | meta on create-ocf | (/epub-config/@variant, '')[1] | ||||||
p:variable layout | meta on create-ocf | (/epub-config/@layout, 'reflowable')[1] | ||||||
p:group basic-files | ||||||||
p:choose which-files | ||||||||
not(tokenize($variant, '\s+') = ('FIXED-Apple', 'ORIGINAL-CSS')) | ||||||||
p:identity basic-files-1 |
| result | ||||||
p:otherwise | ||||||||
p:identity basic-files-2 |
| result | ||||||
p:sink d252e82 |
| |||||||
p:group apple-display | ||||||||
p:choose load-options | ||||||||
tokenize($variant, '\s+') = 'ORIGINAL-CSS' | ||||||||
p:identity d252e100 |
| result | ||||||
p:sink d252e102 | ||||||||
p:otherwise | ||||||||
p:identity d252e112 |
| result | ||||||
p:sink d252e114 | ||||||||
p:sink d252e119 |
| |||||||
p:delete right-options |
| result | match = '*:option[@name ne 'specified-fonts']' | |||||
p:sink d252e127 |
| |||||||
p:group create | ||||||||
p:variable workdir | replace($base-uri, '^(.*[/])+(.*)', '$1') | |||||||
p:identity report |
| result | ||||||
cxf:delete del | recursive = 'true' fail-on-error = 'false' href = concat($workdir, 'epub') | |||||||
cxf:mkdir mkdir1 | href = concat($workdir, 'epub') | |||||||
cxf:mkdir mkdir2 | href = concat($workdir, 'epub/META-INF') | |||||||
cxf:mkdir mkdir3 | href = concat($workdir, 'epub/OEBPS') | |||||||
p:store store1 |
| result | method = 'xml' media-type = 'text/xml' omit-xml-declaration = 'false' href = concat($workdir, 'epub/META-INF/container.xml') | |||||
p:store store2 |
| result | method = 'text' media-type = 'text/plain' encoding = 'US-ASCII' href = concat($workdir, 'epub/mimetype') | |||||
p:choose fixed | ||||||||
$layout = 'fixed' or tokenize($variant, '\s+') = 'ORIGINAL-CSS' | ||||||||
p:try try-fixed | ||||||||
p:group d252e201 | ||||||||
cxf:info d252e210 | fail-on-error = 'true' href = concat($workdir, 'com.apple.ibooks.display-options.xml') | |||||||
p:load load-applemetadata | result | href = concat($workdir, 'com.apple.ibooks.display-options.xml') | ||||||
p:store apple-meta |
| result | method = 'xml' media-type = 'text/xml' omit-xml-declaration = 'false' href = concat($workdir, 'epub/META-INF/com.apple.ibooks.display-options.xml') | |||||
p:catch d252e231 | error | |||||||
p:store otherwise |
| result | method = 'xml' media-type = 'text/xml' omit-xml-declaration = 'false' href = concat($workdir, 'epub/META-INF/com.apple.ibooks.display-options.xml') | |||||
p:otherwise | ||||||||
p:sink sink |
| |||||||
p:sink d252e269 |
|