diff --git a/abnf/odata-abnf-construction-rules.txt b/abnf/odata-abnf-construction-rules.txt index 81b98f8..eeae755 100644 --- a/abnf/odata-abnf-construction-rules.txt +++ b/abnf/odata-abnf-construction-rules.txt @@ -525,6 +525,8 @@ rootExpr = %s"$root/" ( entitySetName [ collectionNavigationExpr ] firstMemberExpr = memberExpr / inscopeVariableExpr [ "/" memberExpr ] + / "$" request-id [ "/" memberExpr ] ; reference to single-valued response of earlier request + / "$" request-id [ collectionNavigationExpr ] ; reference to collection-valued response of earlier request memberExpr = directMemberExpr / ( optionallyQualifiedEntityTypeName / optionallyQualifiedComplexTypeName ) "/" directMemberExpr @@ -558,7 +560,6 @@ inscopeVariableExpr = implicitVariableExpr / lambdaVariableExpr ; only allowed inside a lambdaPredicateExpr implicitVariableExpr = %s"$it" ; the current instance of the resource identified by the resource path / %s"$this" ; the instance on which the query option is evaluated - / "$" request-id lambdaVariableExpr = odataIdentifier collectionNavigationExpr = collectionNavNoCastExpr diff --git a/abnf/odata-abnf-testcases.yaml b/abnf/odata-abnf-testcases.yaml index f34e3e1..6f97bf0 100644 --- a/abnf/odata-abnf-testcases.yaml +++ b/abnf/odata-abnf-testcases.yaml @@ -2276,7 +2276,8 @@ TestCases: Rule: commonExpr Input: Customer eq $1 Expect: - - implicitVariableExpr:$1 + - firstMemberExpr:Customer + - firstMemberExpr:$1 - Name: 5.1.1.15 Path expressions Rule: commonExpr