Clarification: The quote re
"I'm not sure whether this should be marked as LATER,
or as WONTFIX since we expect that XSLT2 will actually
make what we're doing legitimate."
refers specifically to the fact that Xalan does not replicate the Namespace
Node onto every child node -- it does support the namespaces axis, but does
so by returning the Namespace Node at the point where the namespace was
declared. This difference is essentially invisible unless you absolutely
insist on counting the Namespace Nodes present in a subtree or asking for
their parents -- both of which are _EXTREMELY_ rare operations in
real-world stylesheets and XPaths.
Xalan does put a heavy emphasis on standards compliance. But my best
information at this time suggests that the XSLT committee has recognized
that this concept of replicating the Namespace Nodes onto all the
descendents was a Bad Idea in the first place, and that they are planning
to remove the ability to ask the questions which expose this difference. If
they do so, Xalan will probably be fully compliant as it stands.
I'm not sure why this affects anyone writing a canonicalizer. Ideally, you
shouldn't care where the namespace was actually declared. Since that
doesn't affect the semantics of the document, I would expect
canonicalization to suppress that information...?
______________________________________
Joe Kesselman / IBM Research