| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 | 
							- DocBook stylesheets for EPUB 3 output 
 
- =============================================
 
- This directory contains XSL stylesheets
 
- for generating EPUB3 output from DocBook content.
 
- For more information on EPUB3, see:
 
- http://idpf.org/epub/30
 
- These EPUB3 stylesheets are a customization layer on
 
- top of the xhtml5/ stylesheets in this distribution, which
 
- are in turn a customization layer on top of the 
 
- xhtml/ stylesheets in this distribution. 
 
- Using a customization layer enables the EPUB3
 
- stylesheets to inherit all the features of the
 
- XHTML stylesheets while making the minimum changes
 
- for them to produce valid EPUB3.
 
- Usage
 
- -----------
 
- The general process for creating an EPUB3 ebook is:
 
- 1.  Generate chunked XHTML5 content that validates against
 
- the EPUB3 schemas, and generate the EPUB3 package
 
- files.
 
- 2.  Copy any image files into the output directory.
 
- 3.  Run a zip command to create an .epub file.
 
- 4.  Validate the .epub file.
 
- Following are the steps in more detail.
 
- 1.  Create the XHTML5 files.
 
- -----------------------------
 
- The first step is handled by these stylesheets.
 
- To generate EPUB3-compatible XHTML5 files,
 
- use one of the following stylesheets as you would any
 
- other DocBook XSL stylesheet:
 
- epub3/chunk.xsl           - Chunked output.
 
- epub3/profile-chunk.xsl   - Profiled chunk output.
 
- Although the stylesheet directory contains a docbook.xsl
 
- stylesheet for single file output, that is not useful for
 
- generated EPUB3.  
 
- You should set the $base.dir stylesheet param to the 
 
- subdirectory that will contain the .xhtml files and
 
- the epub package files.  Here is an example using xsltproc:
 
- xsltproc \
 
-   --stringparam base.dir ebook1/OEBPS/  \
 
-   epub3/chunk.xsl \
 
-   mybook.xml
 
- After processing a document with this setting, you should find
 
- the following output:
 
- ebook1/mimetype                - required mimetype file.
 
- ebook1/META-INF/container.xml  - required container file
 
- ebook1/OEBPS/package.opf       - required package file
 
- ebook1/OEBPS/toc.ncx           - optional NCX file for backwards compatibility
 
- ebook1/OEBPS/docbook-epub.css  - CSS file
 
- ebook1/OEBPS/*.xhtml           - The chunked content files.
 
- 2.  Copy image files
 
- ---------------------------
 
- Manually copy any image files used in the document
 
- into the corresponding locations in the $base.dir
 
- directory.  For example, if your document contains:
 
-   <imagedata fileref="images/caution.png"/>
 
- In this example base.dir, you would copy the file to:
 
-   ebook1/OEBPS/images/caution.png
 
- You can get a list of image files from the manifest file
 
- named ebook1/OEBPS/package.opf that is created by the
 
- stylesheet.  It includes references to image files for
 
- callouts and admonitions if they are used in the output.
 
- Note that the header and footer images are turned off for
 
- EPUB3 output.
 
- 3.  Create the epub3 file.
 
- -----------------------------
 
- Change to the directory containing the base.dir (ebook1
 
- in this example), and run the following zip command to
 
- create the epub file:
 
- zip -r -X mybook.epub mimetype META-INF OEBPS 
 
- The -r option means recursively include all directories.
 
- The -X option excludes extra file attributes (required by epub3).
 
- The "mybook.epub" in this example is the output file.
 
- The other three arguments must appear in this order.
 
- 4.  Validating with epubcheck 3
 
- -----------------------------------
 
- There is a java program that can be used to check an
 
- epub3 file for conformance.  It is currently available 
 
- from this website:
 
-   http://code.google.com/p/epubcheck/wiki/EPUBCheck30
 
- That website provides a download link, and information on
 
- how to run the command.
 
- Testing with EPUB readers
 
- ----------------------------
 
- The EPUB3 standard is not yet widely supported.  The output of
 
- these stylesheets has been tested in the following readers:
 
- Apple iBooks on an iPod and iPad.
 
-    - Handles videodata and audiodata.
 
-    - Does not format MathML yet.
 
-    - Handles SVG.
 
- Firefox browser with the EPUBReader version 1.4.10 add-on.
 
-    - Formats MathML nicely.
 
-    - Does not handle videodata or audiodata yet.
 
-    - Handles SVG.
 
- Ibis EPUB3 preview version
 
-    - Does not format MathML yet.
 
-    - Does not handle videodata or audiodata yet.
 
-    - Handles SVG with external viewer.
 
- EPUB metadata
 
- ========================
 
- The info child of the document's root element is used
 
- by the stylesheet to create EPUB metadata.  Note that
 
- metadata is plain text, so element content is converted
 
- to text using the XSL normalize-space() function.
 
- Here is the current mapping of info elements to EPUB
 
- metadata.  Any others are ignored for metadata, but
 
- may appear on the EPUB HTML titlepage, depending on the
 
- titlepage customization.
 
- NOTE: the <dc:*> elements (not attributes of meta) duplicate
 
- the meta elements for backwards compatibility, per the
 
- EPUB3 specification.  They can be turned off with the 
 
- $epub.include.optional.metadata.dc.elements parameter.
 
- abstract
 
- ---------
 
- The content must be converted to a text string for the
 
- OPF metadata. The stylesheet converts only title, para,
 
- formalpara, and simpara children in an abstract.  All other
 
- child elements are ignored.  It puts any title first.
 
- The OPF output appears as:
 
- <meta property="dcterms:description">title: abstract text</meta>
 
- <dc:description>title: abstract text</dc:description>
 
- author
 
- -------
 
- If uses a personname child, then it applies the
 
- DocBook XSL person.name template to arrange the name.
 
- Otherwise processes org or orgname into the content.
 
- Then it outputs:
 
- <meta id="meta-creator1" property="dcterms:creator">Firstname Surname</meta>
 
- <dc:creator id="pub-creator1">Firstname Surname</dc:creator>
 
- If there are multiple authors, the number in the id attribute
 
- is incremented each time.
 
- authorgroup
 
- -------------
 
- Applies templates to all of its children.
 
- bibliocoverage
 
- ---------------
 
- <meta property="dcterms:coverage">bibliocoverage text</meta>
 
- <dc:coverage>bibliocoverage text</dc:coverage>
 
- biblioid
 
- --------------
 
- This usually has @class="isbn" for the ISBN number.  It is used
 
- as the EPUB3 unique-identifier.  That isbn value
 
- is also output as follows:
 
- <meta id="meta-identifier" property="dcterms:identifier">urn:isbn:value</meta>
 
- <dc:identifier id="pub-identifier">urn:isbn:value</dc:identifier>
 
- A biblioid element with other class names are converted in a similar manner.
 
- bibliorelation
 
- ----------------
 
- <meta property="dcterms:relation">bibliorelation text</meta>
 
- <dc:relation>bibliorelation text</dc:relation>
 
- bibliosource
 
- ----------------
 
- <meta property="dcterms:source">bibliosource text</meta>
 
- <dc:source>bibliosource text</dc:source>
 
- collab
 
- ------------
 
- If a personname child is used, then it calls the
 
- person.name template, otherwise is uses the orgname or
 
- collabname text.
 
- <meta property="dcterms:contributor">collab text</meta>
 
- <dc:contributor>collab text</dc:contributor>
 
- copyright
 
- -------------
 
- Arranges the copyright elements into a text string with
 
- copyright symbol, dates, and holder, and then
 
- generates:
 
- <meta property="dcterms:right">Copyright text</meta>
 
- <dc:right>Copyright text</dc:right>
 
- Also, if there is no info/date element, then the copyright
 
- year is used to generate:
 
- <meta property="dcterms:date">year</meta>
 
- <dc:date>year</dc:date>
 
- corpauthor
 
- ------------
 
- <meta id="meta-creator1" property="dcterms:creator">corpauthor text</meta>
 
- <dc:creator id="pub-creator1">corpauthor text</dc:creator>
 
- corpcredit
 
- ------------
 
- <meta property="dcterms:contributor">corpcredit text</meta>
 
- <dc:contributor>corpcredit text</dc:contributor>
 
- date
 
- -------------
 
- <meta property="dcterms:date">date text</meta>
 
- <dc:date>date text</dc:date>
 
- See also: copyright.
 
- editor
 
- --------------
 
- If a personname child is used, then it calls the
 
- person.name template, otherwise is uses the orgname text.
 
- An editor can be considered as either a creator (when there
 
- is no author) or a contributor.  The stylesheet parameter
 
- 'editor.property' can be set to either 'creator' or
 
- 'contributor' (default) at runtime.  So the output is either:
 
- <meta property="dcterms:contributor">editor text</meta>
 
- <dc:contributor>editor text</dc:contributor>
 
- or
 
- <meta property="dcterms:creator">editor text</meta>
 
- <dc:creator>editor text</dc:creator>
 
- isbn, issn, etc.
 
- -----------------
 
- Handled like biblioid @class="isbn".
 
- keyword
 
- -----------
 
- <meta property="dcterms:subject">keyword text</meta>
 
- <dc:subject>keyword text</dc:subject>
 
- keywordset
 
- ------------
 
- Applies templates to its children.
 
- othercredit
 
- ------------
 
- Handled like collab.
 
- pubdate 
 
- ------------
 
- Handled like date.
 
- publisher
 
- --------------
 
- Applies templates only to publishername.
 
- publishername
 
- ---------------
 
- <meta property="dcterms:publisher">publishername text</meta>
 
- <dc:publisher>publishername text</dc:publisher>
 
- subjectset
 
- --------------
 
- Applies templates to subject/subjecterm descendants.
 
- subjectterm
 
- ------------------
 
- <meta property="dcterms:subject">subjecterm text</meta>
 
- <dc:subject>subjecterm text</dc:subject>
 
 
  |