OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Commented: (ODATA-18) There are syntax errors in the core OData grammar


    [ http://tools.oasis-open.org/issues/browse/ODATA-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=30985#action_30985 ] 

Ralf Handl commented on ODATA-18:
---------------------------------

I followed up on my proposal to automatically check the ABNF rules, see:
 - ABNF Checker (https://www.oasis-open.org/apps/org/workgroup/odata/document.php?document_id=46719)
 - OData ABNF Test Cases (https://www.oasis-open.org/apps/org/workgroup/odata/document.php?document_id=46720)

I started with what I considered to be the simplest test possible: checking a service root URL against rule odataUri, and discovered two bugs in the ABNF and one "feature" in APG:

1) odataUri should be

odataUri = scheme "://" host [ ":" port ] serviceRoot [ "$metadata" / "$batch" / odataRelativeUri ]  

The "://" was missing.

2) serviceRoot should be

serviceRoot = *( "/" segment-nz ) "/"

with trailing "/", otherwise we can't just append an odataRelativeUri or one of the two predefined resource names.

3) APG is unable to verify "http://myhost/myPath/myService/$metadata";, because the "$metadata" part gets "eaten" by the serviceRoot rule, which fails because it doesn't find a trailing slash.

I kept the testcases for a $metadata and a $batch URI in the testcases.xml and hope for someone with deeper ABNF knowledge than mine to fix the odataUri rule (or APG :-) so that these test cases pass.

> There are syntax errors in the core OData grammar
> -------------------------------------------------
>
>                 Key: ODATA-18
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-18
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData ABNF Construction Rules v1.0
>    Affects Versions: WD01
>         Environment: ABNF Parser Generator (APG)
> If you download the apg.jar file from http://www.coasttocoastresearch.com/apg/download/gpl
> it can be parsed using this command:
> java -jar .../java-apg/jar/apg.jar /in=odata.abnf
>            Reporter: Ken Baclawski
>            Assignee: Ken Baclawski
>
> There should be an OData grammar that is available as part of the OData standard.  The core OData grammar is OData ABNF.markdown in
> https://www.oasis-open.org/apps/org/workgroup/odata/download.php/46557/ODataV3Core.zip
> However, this grammar has a few minor syntax errors and many terms that are not yet defined.  
> The issues to be resolved are:
> 1. Do my proposed modifications correctly define the OData grammar rules?
> 2. What are the grammar rules for the undefined terms?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]