W3C home > Mailing lists > Public > public-xml-processing-model-comments@w3.org > April 2009

Re: Default namespaces in XPath

From: mozer <xmlizer@gmail.com>
Date: Mon, 27 Apr 2009 12:54:35 +0200
Message-ID: <21d9ade60904270354w47d24f69x526f3a91b4d9083b@mail.gmail.com>
To: Toman_Vojtech <Toman_Vojtech@emc.com>
Cc: public-xml-processing-model-comments <public-xml-processing-model-comments@w3.org>
Well
I think that if you're talking about an XPath 1.0 implementation that should
behave the same way as if

[[
Default element/type namespace

    The null namespace.
Default function namespace

    The [XPath 2.0] function namespace.
]]

But in XPath 1.0, we didn't have this terminology but we already have

In 2.3 Node Tests

[[
if the QName <http://www.w3.org/TR/REC-xml-names#NT-QName> does not have a
prefix, then the namespace URI is null
]]


But to be fair, we don't have the clarity of that vis à vis FunctionCall to
know if without prefix it is in "null" namespace or something like...

Cheers,

Xmlizer


2009/4/27 Toman_Vojtech <Toman_Vojtech@emc.com>

> Suppose I have a pipeline that looks like this:
>
> <p:pipeline xmlns:p="http://www.w3.org/ns/xproc" xmlns="http://foo.com">
>  <p:choose>
>    <p:when test="... contains(., 'bar') ...">...</p:when>
>    <p:otherwise>...</p:otherwise>
>  </p:choose>
> </p:pipeline>
>
> Does the XPath expression evaluate without errors, or not? I just
> discovered that with our implementation, it does not, because:
>
> 1. The default namespace is "http://foo.com",
> 2. the default namespace is included in the set of in-scope namespaces of
> the processor XPath context (section 2.6.1.1),
> 3. the local function name contains() resolves to {http://foo.com}contains(),
> which of course does not exist
> 4. ... and the XPath expression fails
>
> It came as a sort of surprise to me, but perhaps it is just correct and
> what the XProc specification expects to happen in this case. Or is it a bug
> in our XPath handling?
>
>
> Regards,
> Vojtech
>
>
Received on Monday, 27 April 2009 10:55:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 10:55:17 GMT