Subject: RE: Element selection based on different overlapping descendant subsets
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 1 Feb 2006 12:10:53 -0000
|
> I can define a set M of element names and if
> every descendant
> > of a particular <TABLE> is in this set then it is an
> M-TABLE,
> Define each known table type as a key:
>
> <xsl:key name="m-table" match="table[.//ROW][.//CELL][.//A]"
> use="generate-id()"/>
>
The approach using keys is a good idea, but I don't think Andrew's key
definition actually captures the requirement as stated.
In 2.0 it's:
match="TABLE[every $d in .//* satisfies $d[self::ROW or self::CELL or
self::A]]"
which translates into the 1.0
match="TABLE[not(.//*[not(self::ROW or self::CELL or self::A)])]
Michael Kay
http://www.saxonica.com/
|