Subject: Re: Element selection based on different overlapping descendant subsets
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 2 Feb 2006 10:03:05 GMT
|
Is there a shortcut for the predicate of $d in the above so
that I could e.g. have a series of sequence variables defined
<xsl:variable name="Mlist" select="'ROW', 'CELL', 'A',..." />
<xsl:when test="every $d in .//* satisfies local-name($d)=$Mlist"
You can also of course replace
<xsl:choose>
<xsl:when test="every $d in .//* satisfies $d[self::ROW or self::CELL or
self::A]">
<xsl:call-template name="Mtable" />
</xsl:when>
...
by
<xsl:apply-templates match="TABLE"
if you replace
<xsl:template name="Mtable"
by
<xsl:template match="TABLE[every $d in .//* satisfies local-name($d)=$Mlist]"
an xsl:choose testing conditions and then calling a template for each
one is essentially an implementation of apply-templates in xslt,and nice
as xslt is, the implementation that Michael has written in Java is
likely to be quicker:-)
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
|