This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 22760 - EBNF Production of override of ItemType and MapType
Summary: EBNF Production of override of ItemType and MapType
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Member-only Editors Drafts
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-22 22:28 UTC by Abel Braaksma
Modified: 2013-08-01 15:11 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2013-07-22 22:28:25 UTC
Currently, the following is written in the working draft:

[101] ItemType ::= ... | MapType
[102] MapType  ::= 'map' '(' ( '*' | (AtomicOrUnionType ',' SequenceType) ')'

[69] ItemType ::= ...
[109] MapType ::= ...

(rationale: [69] is the current number for ItemType, [109] is the first available free number).

In addition (1), I think it is better to repeat the current definition for ItemType to avoid potential confusion:

[69] ItemType ::= KindTest 
                  | ("item" "(" ")") 
                  | FunctionTest 
                  | AtomicOrUnionType 
                  | ParenthesizedItemType
                  | MapType

In addition (2), perhaps it is better to split MapType into GenericMapType and TypedMapType, which I think aligns better with current practice for EBNF, and it works for better reference and easier parsing of the EBNF:

[109] MapType        ::= 'map' '(' (GenericMapDecl | TypedMapDecl) ')'
[110] GenericMapDecl ::= '*'
[111] TypedMapDecl   ::= AtomicOrUnionType ',' SequenceType
Comment 1 Michael Kay 2013-07-31 19:51:09 UTC
I have tidied up the production rules, subject to constraints imposed by the technology.

I'm reluctant to do any substantial refactoring of the syntax as these rules are about to be absorbed into the XPath grammar.