Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
A question on how users are using <xsl:message >

A question on how users are using <xsl:message >

2006-12-12       - By Mike Brown
Reply:     1     2     3     4     5     6  

Brian Minchau wrote:
> I know that Xalan has some extension attributes for xsl:output ... but now
> that I think about it ... where in XSLT 1.0 recommendation does it say that
> this is OK?

XSLT section 2.1:

"An element from the XSLT namespace may have any attribute not from the XSLT
namespace, provided that the expanded-name of the attribute has a non-null
namespace URI. The presence of such attributes must not change the behavior of
XSLT elements and functions defined in this document. Thus, an XSLT processor
is always free to ignore such attributes, and must ignore such attributes
without giving an error if it does not recognize the namespace URI. Such
attributes can provide, for example, unique identifiers, optimization hints,
or documentation."

So, you can add extension attributes as long as they don't change the
specified behavior of the element. So for example it is wrong (even though
Saxon does it) to have an extension attribute on a non-empty XSLT 1.0
xsl:variable element that causes it to create a node-set instead of a result
tree fragment. But having xalan:location-info="no" on xsl:message wouldn't be
harmful or against spec.

I agree though that it'd likely be something people would want to control
globally, as well as per-message.


As for what I use xsl:message for:
- debugging: often doing copy-of on a variable to see what it is
- tracing: "got here"/"now doing X" kinds of messages that I want to be logged
- validation: abort processing if crucial info missing; warn re: other issues

Also in the debugging and validation veins, I often write stylesheets that
walk a tree and process whatever is found. I'll set up templates to handle
certain nodes, and a generic template that handles anything I forgot to create
a more explicit template for. In that generic template will be an xsl:message
saying something to the effect of "FIXME". A top-level param might be used to
control whether the xsl:message is actually invoked.

Mike