Re: [xsl] Namespace-alias using #default with no default namespace in scope

Subject: Re: [xsl] Namespace-alias using #default with no default namespace in scope
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 12 May 2006 10:57:30 +0100
  Ah! Is a more recent version of the XSLT 2.0 spec available
  somewhere? I'm currently reading http://www.w3.org/TR/xslt20,
  which says: "W3C Candidate Recommendation 3 November 2005".


as it says at the top of (all) w3c working drafts the "undated" URI such
as http://www.w3.org/TR/xslt20 is always the most recent version (and
updated in place) when newer versions are published. The URI for a
particular draft is always of the form

http://www.w3.org/TR/2005/CR-xslt20-20051103/

which will always refer to the CR draft even if a later draft is
published.


> I already searched the spec for something like "#none" to be
> specified if one wants to move elements from/to no namespace.
> Using a "#none" would be clearer in my opinion; additionally
> safer, since, if stylesheets are generated by e.g. multiple
> transformation steps, one might not know at the end if a
> transformation step hasn't decided to generate a default
> namespace declaration on a relevant element like xsl:stylesheet;
> thus a "#default", originally intended to refer to no namespace,
> might incorrectly refer to an existing default namespace in the end.
> 

It's only the bindings that are in scope on the xsl:namespace-alias
element that matter to namespace-alias (as far as resolving which
namespace #default refers to).

> Couldn't there be a rule, or at least a suggestion in XSLT 2.0 to use
> either the literal namespace prefix or the target namespace prefix?

xslt2 is a more explict here. the rules imply (and the following note
makes explict) that the stylesheet-prefix is not used in the result.

   These rules achieve the effect that the element generated from the
   literal result element will have an in-scope namespace node that binds
   the result-prefix to the target namespace URI, provided that the
   namespace declaration associating this prefix with this URI is in scope
   for both the xsl:namespace-alias instruction and for the literal result
   element. Conversely, the stylesheet-prefix and the literal namespace URI
   will not normally appear in the result tree. 

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread