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
