Hi Jason,
You will want to copy the template named 'toc.line' from html/autotoc.xsl to your customization layer and modify it to add author. This line of XSL generates the title:
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
The context node for that template is the element for that line in a TOC (chapter, section, etc.). So you would want to add an xsl:if statement after the title to include the author, something like this for DocBook 5 (remove the d: namespace prefix if DocBook 4):
<xsl:if test="(self::d:chapter or self::d:article) and d:info/d:author">
<xsl:text> </xsl:text>
<xsl:variable name="author">
<xsl:apply-templates select="d:info/d:author[1]" mode="titlepage.mode"/>
</xsl:variable>
<xsl:value-of select="$author"/>
</xsl:if>
The $author variable is used to strip any formatting that would be applied by titlepage.mode using xsl:value-of, which returns only text.
You can add a CSS selector matching on class 'tocauthor' to format the author name in the TOC.
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net ----- Original Message -----
From: Jason Zech
To:
docbook-apps@lists.oasis-open.org Sent: Wednesday, June 01, 2011 9:20 AM
Subject: [docbook-apps] Adding author name to TOC
Hi,
Is there a relatively simple way to customize the TOC generation so that the author name is included with the chapter/article title in the TOC for HTML output? I am working a on book of pieces by dozens of authors and would like to include the author names in the TOC without having to manually generate the TOC (if possible).
Thanks,
Jason Zech | Project Manager, Digital Workflow | New Product Development
[ph] 773-281-1818 x212 [fax] 773-281-4129 |
zech@loyolapress.com LoyolaPress. | A Jesuit Ministry
3441 N. Ashland Ave. | Chicago, IL 60657 |
www.loyolapress.com Join our online community of advisors:
www.SpiritedTalk.org