Re: [xsl] Element selection based on different overlapping descendant subsets

Subject: Re: [xsl] 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
________________________________________________________________________

Current Thread