- From: Benito van der Zander <benito@benibela.de>
- Date: Thu, 05 May 2016 22:27:13 +0200
- To: Public Joint XSLT XQuery XPath <public-xsl-query@w3.org>
Hi,
just got reminded of this xqts test:
declare union <union>for gibberish { for $for in for return
<for>***div div</for> }</union>, if(if) then then else else- +-++-**-*
instance of element(*)* * * **---++div- div -div
Clarity did not seem to have been so important in the past
Cheers,
Benito
On 05/02/2016 03:56 AM, Michael Dyck wrote:
> On 16-04-25 06:04 PM, Michael Dyck wrote:
>>> ACTION A-640-02a: Mdyck to implemented proposal in the appendix A of
>>> the
>>> XPath and XQuery specs as described in 2b. See:
>>> https://lists.w3.org/Archives/Public/public-xsl-query/2016Mar/0035.html
>>
>> I've committed this change to the spec source. It'll show up in the
>> rendered
>> docs next time Jonathan commits a build.
>>
>> Specifically, I said that one or more 'symbol separators' are
>> required when
>> the colon of a MapConstructorEntry is followed by a QName, an NCName,
>> or "*".
>
> I just noticed an interesting effect of this rule.
>
> Consider the expressions:
> map { "a": array }
> map { "a": array{} }
> In the first, the 'array' token is the QName of a NameTest; in the
> second, it's a keyword in an ArrayConstructor.
>
> Due to this distinction, they react differently to deleting the space
> after the colon:
> map { "a":array }
> is disallowed by the above rule, but
> map { "a":array{} }
> is allowed.
>
> So, to enforce the rule, it's not enough for a lexer to detect that a
> ":" token is immediately followed by an "array" token. You have to do
> some parsing before you can say whether the "array" is a QName (or
> NCName) and thus the expression is illegal.
>
> To make the rule easier to enforce, we might wish to generalize it so
> that
> map { "a":array{} }
> is also disallowed.
>
> -Michael
>
Received on Friday, 6 May 2016 00:20:59 UTC