Just to make sure we're on the same page: Stylesheet elements in the xsl: 
namespace (OK, you know what I mean!) can carry attributes not defined by 
the XSLT Recommendation, as long as those attributes aren't in the xsl: or 
default namespaces (to keep them from colliding with names reserved for 
XSLT's use). Those additional attributes should have no effect on XSLT 
processing per se. From XSLT's point of view, they will be  ignored. But 
they *MAY* have effects which do not affect compliance with XSLT's 
definition. "Such attributes can provide, for example, [...] optimization 
hints [...]"

As Henry noted, Xalan takes advantage of that flexibility to support a few 
custom features 
(http://xml.apache.org/xalan-j/usagepatterns.html#outputprops). These 
aren't "optimizations", but I think one can argue that they fall in the 
same category.

Some of them *may* be departures from the Recommendation. 

BUT:
* Having them available on <xsl:output> as "extensions attributes" is 
certainly no worse a departure than having them, and the other 
configuration features, available at the processor configuration level via 
the Properties file.
* And they *ONLY* take effect on stylesheets which have explicitly 
requested them, unlike the Properties change.
* And they really don't break the world any worse than any other Extension 
can and does.

MOVED: 
1) That we document these as Built-In Extension Attributes, with all the 
same issues as other Extensions
2) And that we admit that the concept of Extension Attribute, while 
architected in the XSLT Recommendation, is not well-defined there.
3) And that we send a formal request to the XSLT Working Group that this 
concept be nailed down more explicitly in XSLT 2.0.

______________________________________
Joe Kesselman  / IBM Research

Reply via email to