xsl-list
[Top] [All Lists]

RE: Selecting other than certain children

2003-01-01 23:17:02
Gregory Murphy wrote:

Assuming an element 'n' with children elements 'c', and some number of
other, unknown, children elements, the only way that I know
to test for the
presence of elements other than 'c' is:

<xsl:template match="n">
  <xsl:if test="*[name() != 'c']">
    <!-- Do stuff -->
  </xsl:if>
</xsl:template>

This strikes me as somewhat awkward. Is there a more direct test?

It seems OK to me. But you could put the test into the match attribute of
your template, of course.

I have used stuff like this:

<xsl:template match="n[*[not(self::c)]]">
    <!-- Do stuff -->
</xsl:template>

I don't really know if "not(self::c)" is more efficient than "name()!='c'"
but I prefer it for some reason, maybe because there's no function call?

Con


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>