Subject: RE: Selecting other than certain children
From: "Conal Tuohy" <conalt@xxxxxxxxxxxxxxx>
Date: Thu, 2 Jan 2003 19:17:02 +1300
|
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
|