From: <bob...@us...> - 2012-05-01 06:22:40
|
Revision: 9311 http://docbook.svn.sourceforge.net/docbook/?rev=9311&view=rev Author: bobstayton Date: 2012-05-01 06:22:34 +0000 (Tue, 01 May 2012) Log Message: ----------- Add support for <meta name="cover"> to support conversion with KindleGen. Modified Paths: -------------- trunk/xsl/epub3/epub3-element-mods.xsl Modified: trunk/xsl/epub3/epub3-element-mods.xsl =================================================================== --- trunk/xsl/epub3/epub3-element-mods.xsl 2012-04-30 17:38:48 UTC (rev 9310) +++ trunk/xsl/epub3/epub3-element-mods.xsl 2012-05-01 06:22:34 UTC (rev 9311) @@ -149,6 +149,8 @@ <xsl:param name="epub.mimetype.pathname" select="concat($epub.package.dir, $epub.mimetype.filename)"/> +<xsl:param name="kindle.extensions" select="0"/> + <!--==============================================================--> <!-- Internal variables used for computing certain metadata --> <!--==============================================================--> @@ -298,6 +300,7 @@ <xsl:call-template name="metadata.title"/> <xsl:call-template name="metadata.language"/> <xsl:call-template name="metadata.modified"/> + <xsl:call-template name="metadata.cover"/> <xsl:call-template name="metadata.other.info"/> </xsl:element> @@ -377,9 +380,11 @@ <xsl:if test="$epub.include.metadata.dc.elements != 0"> <dc:language> - <xsl:attribute name="id"> - <xsl:value-of select="$epub.dc.language.id"/> - </xsl:attribute> + <xsl:if test="$kindle.extensions = 0"> + <xsl:attribute name="id"> + <xsl:value-of select="$epub.dc.language.id"/> + </xsl:attribute> + </xsl:if> <xsl:value-of select="$lang"/> </dc:language> </xsl:if> @@ -433,6 +438,22 @@ <xsl:value-of select="concat(substring($date,1,19), 'Z')"/> </xsl:template> +<!-- This cover meta element used by kindlegen, at least --> +<xsl:template name="metadata.cover"> + <xsl:variable name="info" select="./*[contains(local-name(.), 'info')][1]"/> + <xsl:variable name="cover.image" + select="$info//mediaobject[@role='cover' or ancestor::cover]"/> + + <xsl:if test="$cover.image"> + <xsl:element name="meta" namespace="{$opf.namespace}"> + <xsl:attribute name="content"> + <xsl:value-of select="$epub.cover.image.id"/> + </xsl:attribute> + <xsl:attribute name="name">cover</xsl:attribute> + </xsl:element> + </xsl:if> +</xsl:template> + <xsl:template name="metadata.other.info"> <!-- Take info relative to selected root element --> <xsl:variable name="info" select="./*[contains(local-name(.), 'info')][1]"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |