[xsl] String sequence as key match

Subject: [xsl] String sequence as key match
From: Martynas Jusevicius <martynas.jusevicius@xxxxxxxxx>
Date: Mon, 22 Mar 2010 15:10:40 +0100
Hey list,

I used to use a key declaration like this
<xsl:key name="element-by-class" match="h:*" use="@class"/>
to match XHTML elements like <p class="Quote"> by supplying a classname:
key('element-by-class', 'Quote')

But now I have changed my XHTML input so that the class attribute can
actually include multiple classnames, for example:
<p class="Quote Text_body">

I managed to fix my template matches by using h:p[@class/tokenize(., '
') = 'Quote'] instead of simply h:p[@class = 'Quote'].

But what about that key declaration, can I change it in the same way
to take into account every classname from the @class attribute? Maybe
using contains() or tokenize() somehow? So that
key('element-by-class', 'Quote') would still match an element if one
of its classnames is 'Quote'.

Thanks,

Martynas
odt2epub.com

Current Thread