XSL reference documentation generated from the W3C Recommendation 16 November 1999
<message>
terminate = yes | no
Model: template
</message>
The xsl:message instruction sends a message in a way
that is dependent on the XSLT processor. The content of the
xsl:message instruction is a template. The
xsl:message is instantiated by instantiating the content
to create an XML fragment. This XML fragment is the content of the
message.
Note: An XSLT processor might implement xsl:message by
popping up an alert box or by writing to a log file.
If the terminate attribute has the value
yes, then the XSLT processor should terminate processing
after sending the message. The default value is no.
One convenient way to do localization is to put the localized
information (message text, etc.) in an XML document, which becomes an
additional input file to the stylesheet. For example, suppose
messages for a language L are stored in an XML
file resources/L.xml in the form:
<messages> <message name="problem">A problem was detected.</message> <message name="error">An error was detected.</message> </messages>
Then a stylesheet could use the following approach to localize messages:
<xsl:param name="lang" select="en"/>
<xsl:variable name="messages"
select="document(concat('resources/', $lang, '.xml'))/messages"/>
<xsl:template name="localized-message">
<xsl:param name="name"/>
<xsl:message>
<xsl:value-of select="$messages/message[@name=$name]"/>
</xsl:message>
</xsl:template>
<xsl:template name="problem">
<xsl:call-template name="localized-message"/>
<xsl:with-param name="name">problem</xsl:with-param>
</xsl:call-template>
</xsl:template>