RE: [xsl] Error trapping in xsl

Subject: RE: [xsl] Error trapping in xsl
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Thu, 12 Jul 2001 09:27:07 +0100
> I'm trying to error trap for empty elements in the xml document
> using xsl:choose & I can't work out the syntax.

First thing is to decide what you mean by "empty" (e.g. is an element empty
if it contains only a comment? Only whitespace text?) A typical meaning is
"has no child nodes", and you can test for that as <xsl:when
test="not(child::node())">.

> Is there a way of error trapping for empty elements globally
> using xsl?


Yes, write a high-priority template rule for them:

<xsl:template match="*[not(child::node())]" priority="10">
  <xsl:message terminate="yes">Element is empty</xsl:message>
</xsl:template>

Of course this will only match an element if it is processed using
<xsl:apply-templates/>

Mike Kay
Software AG


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


Current Thread