Subject: Re: [xsl] Namespace conflicts processing Word documents|
From: Peter Flynn <pflynn@xxxxxx>
Date: Mon, 06 Oct 2008 16:52:23 +0100
G. Ken Holman wrote: [...]
Prefixes are cheap and ambiguous ... namespace-aware processing is based on the URI a prefix points to, not the prefix itself. A WordML document using "w:" as a prefix is independent of an OOXML document using "w:" as a prefix.
On the surface, this appears to mean that an XSLT file written to process WordML files' w:* elements cannot be used to process OOXML files' w:* elements -- two parallel versions are needed, one with the WordML w: namespace and one with the OOXML w: namespace.
But XSLT only worries about the namespace URI and prefixes used in XSLT are independent of prefixes used in XML source documents.
Also, prefixes used in *different* XSLT fragments (even when imported or included) are independent of the prefixes used in the importing and including stylesheets.
This is because all of the documents described above are standalone XML documents so each document can have an independent set of prefixes.
What I think you are missing is that an XSLT stylesheet has no obligation to use the same prefix as another XSLT stylesheet or any XML document being used as a source file.