Displaying Messages While Processing XSLT StylesheetsHere's another useful XSLT elementyou can use the <xsl:message> element to make the XSLT processor display a message, and, optionally , end processing a stylesheet. The <xsl:message> element has one attribute: terminate , which is optional. You set this attribute to "yes" to terminate processing. The default is "no". Here's an example. In this case, we'll terminate XSLT processing when the XSLT processor tries to transform a <radius> element in ch05_01.xml , displaying the message "Sorry, planetary radius data is restricted." You can see how this works in ch05_14.xsl in Listing 5.13. Listing 5.13 Using <xsl:choose> ( ch05_14.xsl )<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/planets"> <HTML> <HEAD> <TITLE> The Planets Table </TITLE> </HEAD> <BODY> <H1> The Planets Table </H1> <TABLE BORDER="2"> <TD>Name</TD> <TD>Mass</TD> <TD>Radius</TD> <TD>Day</TD> <xsl:apply-templates/> </TABLE> </BODY> </HTML> </xsl:template> <xsl:template match="planet"> <TR> <TD><xsl:value-of select="name"/></TD> <TD><xsl:apply-templates select="mass"/></TD> <TD><xsl:apply-templates select="radius"/></TD> <TD><xsl:apply-templates select="day"/></TD> </TR> </xsl:template> <xsl:template match="mass"> <xsl:value-of select="."/> <xsl:text> </xsl:text> <xsl:value-of select="@units"/> </xsl:template> <xsl:template match="radius"> <xsl:message terminate="yes"> Sorry, planetary radius data is restricted. </xsl:message terminate="yes"> </xsl:template> <xsl:template match="day"> <xsl:value-of select="."/> <xsl:text> </xsl:text> <xsl:value-of select="@units"/> </xsl:template> </xsl:stylesheet> Here's what you see when you use this stylesheetthe XSLT processor will display this message and quit (note that not all XSLT processors will honor the terminate attribute): Sorry, planetary radius data is restricted. |