Re: [XPath30] question about URIQualifiedName

The reason was to allow XPath expressions to be written without any dependency on an externally-defined namespace context.

For example it allows the new fn:path() function to generate a path that is context-independent.

Of course the syntax is more suited to software-generated XPath expressions than to human-written ones. But even with hand-written XPath, I find that if I'm only going to use a namespace once it's often convenient to use the new syntax, for example in a function call

<xsl:message>Processing element {name()} on line {Q{http://saxon.sf.net/}line-number}</xsl:message>

Michael Kay
Saxonica

> On 25 Jun 2018, at 06:56, Mukul Gandhi <gandhi.mukul@gmail.com> wrote:
> 
> Hi all,
>     XPath 3.0 seems to have introduced the following new "XML name" syntax,
> 
> EQName	                 ::=    QName | URIQualifiedName
> URIQualifiedName   ::=    BracedURILiteral NCName
> BracedURILiteral      ::=    "Q" "{" [^{}]* "}"
> 
> The URIQualifiedName seems to be new in XPath 3.0. What was the reason of introducing this? I feel, that QName is all that is needed.
> 
> 
> 
> -- 
> Regards,
> Mukul Gandhi

Received on Monday, 25 June 2018 07:58:08 UTC