docbook-apps

generating meta attributes for epub

  • 1.  generating meta attributes for epub

    Posted 01-07-2011 09:49
    When transforming using DocBook 1.76.1-ns stylesheets
    to epub, I need to generate meta tags for DC.identifier.



    The XML book file has, immediately inside an info
    element:


    <biblioidclass="isbn">9780643096059</biblioid><biblioidclass="doi"/>



    I need to generate a separate meta element for each and
    every biblioid using a variation of Dublin Core, such that for the ISBN I
    want
    the meta element to appear with an additional “scheme” attribute within
    the
    XHTML as:


    content="9780643096059">


    The scheme attribute is derived from the biblioid
    class attribute.


    I’ve tried to modify the head.content template with
    this code (which sits inside the code beginning with
    <xsl:iftest="$generate.meta.abstract != 0">):


    <xsl:iftest="$info and
    $info/d:biblioid"><metaname="DCTERMS.identifier"><xsl:iftest="@class='doi'"><xsl:attributename="scheme"><xsl:text>DCTERMS.DOI</xsl:text></xsl:attribute><xsl:attributename="content"><xsl:for-eachselect="$info/d:biblioid[@class='doi']"><xsl:value-ofselect="normalize-space(.)"/><xsl:iftest="position()
    <
    last()"><xsl:text></xsl:text></xsl:if></xsl:for-each></xsl:attribute></xsl:if><xsl:iftest="@class='isbn'"><xsl:attributename="scheme"><xsl:text>DCTERMS.ISBN</xsl:text></xsl:attribute><xsl:attributename="content"><xsl:for-eachselect="$info/d:biblioid[@class='isbn']"><xsl:value-ofselect="normalize-space(.)"/><xsl:iftest="position()
    <
    last()"><xsl:text></xsl:text></xsl:if></xsl:for-each></xsl:attribute></xsl:if><xsl:iftest="@class='issn'"><xsl:attributename="scheme"><xsl:text>DCTERMS.ISSN</xsl:text></xsl:attribute><xsl:attributename="content"><xsl:for-eachselect="$info/d:biblioid[@class='issn']"><xsl:value-ofselect="normalize-space(.)"/><xsl:iftest="position()
    <
    last()"><xsl:text></xsl:text></xsl:if></xsl:for-each></xsl:attribute></xsl:if></xsl:if>





    All I get is a meta tag with nothing
    after the meta name:






    Can you please suggest better logic.


    Thanks,



    Dave Gardiner