Re: [xsl] XSLT 3.0: Questions about the Statically-known namespaces and default element/ type namespace for the evaluation context of the target expression of <xsl:evaluate>

Subject: Re: [xsl] XSLT 3.0: Questions about the Statically-known namespaces and default element/ type namespace for the evaluation context of the target expression of <xsl:evaluate>
From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Feb 2015 16:50:27 -0000
> So the default namespace in the stylesheet is not used,
> and if there is no xpath-default-namespace attribute,
> then there will be no default namespace for elements and types,
> which means that "no prefix means no namespace".
> The rules are exactly the same as for static XPath expressions in the
stylesheet.

Thank you for making this clear.

Cheers,
Dimitre

On Fri, Feb 13, 2015 at 8:39 AM, Michael Kay mike@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> The spec says:
>
>         b" if the namespace-context attribute is absent, then the in-scope
namespaces of the xsl:evaluate instruction (with the exception of any binding
for the default namespace) are used as the statically known namespaces for the
target expression, and the value of the innermost
[xsl:]xpath-default-namespace attribute, if any, is used as the default
namespace for elements and types in the target expression.
>
> So the default namespace in the stylesheet is not used, and if there is no
xpath-default-namespace attribute, then there will be no default namespace for
elements and types, which means that "no prefix means no namespace". The rules
are exactly the same as for static XPath expressions in the stylesheet.
>
>>
>> I believe that in case 2, the default-namespace binding of the
>> <xsl:evaluate> instruction should become the the default-namespace
>> binding in the evaluation context (the alternative is to ignore this
>> and nave no default-namespace binding for the evaluation case -- as
>> obviously should be done in case 1.)
>>
>
> No, this isn't what happens.
>
> The rules for handling of the default namespace cause enormous problems for
XSLT beginners, and I would love to change them if I could, but it's too late
for that. And I think it's right that the rules for xsl:evaluate, in the
absence of a namespace-context attribute, should be exactly the same as for
static XPath expressions.
>
> Michael Kay
> Saxonica
>



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they
write all patents, too? :)
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

Current Thread