xsl-list
[Top] [All Lists]

Re: Element selection based on different overlapping descendant subsets

2006-02-01 05:02:36
Define each known table type as a key:

<xsl:key name="m-table" match="table[.//ROW][.//CELL][.//A]"
use="generate-id()"/>

<xsl:key name="n-table" match="table[.//TYPING][.//CODE]" 
use="generate-id()"/>

The m-table key then contains all the tables that fit the description
of an "M table", as so on.

Then when you process each <TABLE> element, you can easily check what
type of table it is:

<xsl:template match="TABLE">
  <xsl:choose>
    <xsl:when test="key(m-table, generate-id())">
      I'm an m-table
    </xsk:when>
    <xsl:when test="key(n-table, generate-id())">
      I'm an n-table
    </xsk:when>

I've used a mixture of cases there, make sure you the correct one in
the real thing :)

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--