Congratuations on your customization!
Regarding the para selection, your select statement is not selecting the first para,
it is selecting all child para elements in the annotation. To get only the first
para, use select="annotation/para[1]".
Regarding the footnoteref, the addressing is easy. A footnoteref requires a linkend
attribute to point to the footnote. Since elements with id values are indexed in
DocBook XSL's 'id' key, you can use this to get the footnote element, from which you
can derive the role and annotation:
<xsl:variable name="footnote" select="key('id', @linkend)"/>
Bob Stayton
Sagehill Enterprises
b...@sagehill.net
----- Original Message -----
From: "Jennifer Moore" <jenni...@uncharted-worlds.org>
To: "DocBook Apps" <docbook-apps@lists.oasis-open.org>
Sent: Saturday, June 19, 2010 8:49 AM
Subject: Re: [docbook-apps] Footnote title tags / visual classification
Hello Bob & everyone
If you are using DocBook 5, you could use an <annotation> element to contain the
hover title. You would need to write the XSL customization to process the
annotation, of course. See this reference for more info:
http://www.sagehill.net/docbookxsl/Db5Tools.html#Db5Annotations
Thanks for that helpful clue (and indeed for your book :-) ). Somewhat to my
surprise (given I've not done much of this stuff), I've managed to make it do what I
wanted! in what I think is probably a fairly un-robust way, but OK for me since I'm
the only one using this setup.
In case it's useful to anyone else, this is what I did...
In the XML document, I have
<footnote xml:id="whatever" role="ref">
<annotation>
<para>
My title tag to appear on hover
</para>
</annotation>
<para>
... footnote text ...
</para>
</footnote>
Within <xsl:template match="footnote">, I have a new variable
<xsl:variable name="annotitle">
<xsl:value-of select="child::annotation/para"/>
</xsl:variable>
And then when it gets to what would have been
<a name="{$name}" href="{$href}">
it's now
<a name="{$name}" href="{$href}" title="{$annotitle}">
so that's the hoverable title.
Then to toggle the bold & non bold, I'm using <footnote role="">, which can be
either "material" or "ref" (for completeness/clarity, though in fact at the moment
I'm only testing for the former and the latter is ignored.)
In the template I've doubled up one existing bit and used <xml:choose> to pick which
one to use.
<xsl:choose>
<xsl:when test="@role='material'"> <!-- bolded if footnote has additional
material -->
<sup>
<b> <!-- new bit -->
<xsl:text></xsl:text>
<a name="{$name}" href="{$href}" title="{$annotitle}">
<xsl:apply-templates select="." mode="class.attribute"/>
<xsl:apply-templates select="." mode="footnote.number"/>
</a>
<xsl:text></xsl:text>
</b> <!-- other new bit -->
</sup>
</xsl:when>
<xsl:otherwise> <!-- no discussion, just a ref -->
... continues with same thing except without the bold tags.
What's unrobust about it that I already know:
1. It ignores everything in the <annotation> except the first paragraph. A title
tag in HTML would only be one line anyway, so if there _were_ a load of other stuff
in the annotation, ignoring it would be a fairly sensible course - but in an ideal
world the editor would prevent me having other unusable stuff there, which it
doesn't know to do.
2. It doesn't use <annotation>'s identity linking - it knows which one goes with
what only because it's inside <footnote>. Which is OK given how I plan to use it.
If I've stored up other problems for myself doing it that way then feel free to tell
me :-)
I haven't done anything about <footnoteref>s yet. It would be nice to give those
titles too, but then (i.i.u.c.) I'd have to work out addressing by id, as they don't
have content where I could stick the <annotation>.
Jennifer
--
www.uncharted-worlds.org/blog/
---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-apps-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-h...@lists.oasis-open.org
---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-apps-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-h...@lists.oasis-open.org