blob: c1f306e3531cdf40b864b7a90b99babe4d20043c [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
<!--
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xalan" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 2001, Sun
* Microsystems., http://www.sun.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
-->
<s1 title="&lt;xsl:comment&gt; / &lt;xsl:message&gt;">
<ul>
<li><link anchor="functionality">Functionality</link></li>
<li><link anchor="implementation">Implementation</link></li>
</ul>
<anchor name="functionality"/>
<s2 title="Functionality">
<p>The <code>&lt;xsl:comment&gt;</code> element is used to insert XML comments
into the result document. The comment is inserted as follows in the XSL
stylesheet:</p>
<source> &lt;element&gt;
&lt;xsl:comment&gt;This is a comment!&lt;/xsl:comment&gt;
&lt;/element&gt;</source>
<p>and it will be output in the result document as follows:</p>
<source> &lt;element&gt;
&lt;!-- This is a comment! --&gt;
&lt;/element&gt;</source>
<p>The <code>&lt;xsl:message&gt;</code> element is used to send messages to
who/whatever is performing the transformation. The message can be displayed
in a terminal, a dialog box, etc. The <code>&lt;xsl:message&gt;</code> element
is used in the same way as the <code>&lt;xsl:comment&gt;</code> element,
however the message is <em>not</em> output in the result document.</p>
<p>The <code>&lt;xsl:message&gt;</code> element has an attribute
<code>"terminate"</code> which can be used to terminate the transformation at any
given stage. This is useful when using message to give information about
illegal values in the input document.</p>
</s2><anchor name="implementation"/>
<s2 title="Implementation">
<p>The output handler class has a method for outputting comments in the
output document and messages to the operator. The code compiled for a
comment gathers all text that goes into the comment in a StringValueHandler
object, retrieves the full text string from this handler, and then finally
sends it to the output handler. Similarly the code compiled for a message
will simply send the message to the output handler in use.</p>
<p>Messages will be output to the terminal (stdout) when a transformation
is run in a terminal. The message will be output before the beginning of the
output document. Messages will be shown in a dialog box if a transformation
is run in an applet.</p>
<p><code>&lt;xsl:message&gt;</code> elements that use the <code>"terminate"</code>
attribute to abort transformations cause an exception to be thrown. A
RuntimeException is used for this, and the exception text is:</p>
<p><code>Termination forced by an xsl:message instruction</code></p>
</s2>
</s1>