This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Error trapping in xsl
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Error trapping in xsl
- From: "Michael Kay" <mhkay at iclway dot co dot uk>
- Date: Thu, 12 Jul 2001 09:27:07 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
> 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