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: Re: [docbook-apps] Footnote title tags / visual classification

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

----- Original Message ----- 
From: "Jennifer Moore" <jennifer@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-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org

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