OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Generating multiple metadata elements in user.head.content

I have two book author names marked up in <authorgroup>:

<authorgroup role="leadauthor">
<contrib>Lead author contribution</contrib>
<shortaffil>Short affil.</shortaffil>
<jobtitle>Job title</jobtitle>
<orgname>Organisational affiliation</orgname>
<orgdiv>Org div</orgdiv>
<address>Org address</address>
<personname>Name of second lead author</personname>


My first issue is trying to generate both <author> names in separate meta elements in HTML5 using 1.78.1-ns. This is all I get:

<meta name="dcterms:creator" content="Smith, John" />

I have a customization that generates only the first author’s names (firstname and surname) – I don’t get the second author, nor do I get any content inside only <personname> (so far I need both <firstname> and <surname> to generate content):

<xsl:template name="user.head.content">
<xsl:param name="node" select="."/>
<xsl:variable name="info" select="(d:info)[1]"/>

<xsl:if test="$info and $info//d:author[ancestor::d:authorgroup[@role='leadauthor']]">     
<meta name="dcterms:creator">
<xsl:attribute name="content">
<!--<xsl:call-template name="person.name.last-first">
            <xsl:with-param name="node" select="."/>
<xsl:when test="descendant::d:surname">
<xsl:value-of select="normalize-space(string($info/d:authorgroup[@role='leadauthor']/d:author/d:personname/d:surname))"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="normalize-space(string($info/d:authorgroup[@role='leadauthor']/d:author/d:personname/d:firstname))"/>
<xsl:value-of select="normalize-space(string($info/d:authorgroup[@role='leadauthor']/d:author/d:personname))"/>   



I tried using xsl:for-each around the <meta> coding, and then again inside <meta>, but that generates the first author’s name multiple times in one <meta> element. I can’t see any clues from the EPUB metadata stylesheets either.

So: (1) How do I generate one meta element *for each author*, and (2) What coding works to generate content marked up in <personname> only (i.e. no child elements)?

Dave Gardiner

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]