W3C home > Mailing lists > Public > www-xpath-comments@w3.org > January to March 2000

Re: Request for clarification, possible spec defect

From: James Clark <jjc@jclark.com>
Date: Fri, 24 Mar 2000 12:05:27 +0700
Message-ID: <38DAF797.E86EF796@jclark.com>
To: gmarcy@us.ibm.com
CC: www-xpath-comments@w3.org
A FunctionName is a QName and can contain a colon.

I think it would be clearest to add a sentence saying "If the character
following a QName (possibly after any intervening ExprWhitespace) is (,
then the token must be recognized as a FunctionName."

The current wording is almost defensible because the grammar for QName
in the Namespaces Rec ends with NCName, thus any occurrence of a QName
followed by a ( is also an instance of an NCName followed by (.

gmarcy@us.ibm.com wrote:
> 
> I have run across the following inconsistency in the spec:
> 
> In section "3.7 Lexical Structure", it says the following:
> 
>         "If the character following an NCName (possibly after intervening
> ExprWhitespace) is (, then the token
>         must be recognized as a NodeType or a FunctionName."
> 
> and
> 
>         "Otherwise, the token must not be recognized as a MultiplyOperator,
>  an OperatorName, a NodeType, a
>         FunctionName, or an AxisName."
> 
> However, the production for FunctionName reads:
> 
>     [35] FunctionName ::= QName - NodeType
> 
> So the question is "Can a FunctionName contain a ':' character?"  If it
> can, then the earlier prose needs to
> say that the '(' can follow a QName, not just an NCName.  If not, then the
> production for FunctionName
> should be "FunctionName ::= NCName - NodeType".
> 
> Comments?
> 
> Glenn Marcy
> Technical Consultant
> XML Technology Group, IBM
Received on Friday, 24 March 2000 00:06:23 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 3 October 2007 16:05:53 GMT