Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bound actions and function overloads via container and structured type #233

Open
wants to merge 24 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
9c937e0
Bound actions and function overloads via container
HeikoTheissen Jan 11, 2024
8ab36ad
@ralfhandl's suggestions
HeikoTheissen Jan 11, 2024
1680d8e
Actions/Functions bound to a property via structured type
HeikoTheissen Jan 13, 2024
edaf880
Rephrased
HeikoTheissen Jan 15, 2024
c858774
style
HeikoTheissen Jan 15, 2024
cbd551c
@ralfhandl's suggestions
HeikoTheissen Jan 15, 2024
419986c
Action/Function via complex or entity type
HeikoTheissen Jan 15, 2024
584f5fd
Rephrased
HeikoTheissen Jan 15, 2024
8ab0389
Rephrased again
HeikoTheissen Jan 15, 2024
728c907
Fine-tuning
HeikoTheissen Jan 15, 2024
ffb1079
Parameters and return types
HeikoTheissen Jan 15, 2024
48dc875
Merge branch 'main' into ODATA-1626
HeikoTheissen Jan 18, 2024
d522e99
Explain "addressed via resource path"
HeikoTheissen Jan 18, 2024
2c63eb7
Rephrased
HeikoTheissen Jan 18, 2024
99fa5de
Fine-tuning
HeikoTheissen Jan 18, 2024
36ce19c
Redefine the "Property via structured type" case
HeikoTheissen Jan 19, 2024
3a76fca
Merge branch 'main' into ODATA-1626
ralfhandl Jan 26, 2024
fcfd147
Merge branch 'main' into ODATA-1626
ralfhandl Feb 1, 2024
dda4091
Merge branch 'main' into ODATA-1626
ralfhandl Feb 5, 2024
ca3bdea
Merge branch 'main' into ODATA-1626
ralfhandl Feb 15, 2024
528b59e
Merge branch 'main' into ODATA-1626
ralfhandl Feb 22, 2024
21159e2
Merge branch 'main' into ODATA-1626
ralfhandl Feb 29, 2024
6061f24
Merge remote-tracking branch 'origin/main' into ODATA-1626
HeikoTheissen Jul 11, 2024
e405cda
Merge branch 'ODATA-1626' of [email protected]:oasis-tcs/odata-specs.git
HeikoTheissen Jul 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Explain "addressed via resource path"
  • Loading branch information
HeikoTheissen committed Jan 18, 2024
commit d522e997432eb29e53a6fec8304d396d237b34e4
15 changes: 8 additions & 7 deletions docs/odata-csdl-json/odata-csdl-json.html
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ <h2 id="11-changes-from-earlier-versions"><a name="ChangesfromEarlierVersions" h
<td>New path evaluation rules for annotations targeting annotations and external targeting via container</td>
<td><a href="https://issues.oasis-open.org/browse/ODATA-1420">ODATA-1420</a></td>
</tr>
<tr class="even">
<tr class="odd">
<td><a href="#PrimitiveTypes">Section 3.3</a></td>
<td>Allow stream-valued non-binding parameters</td>
<td><a href="https://issues.oasis-open.org/browse/ODATA-1481">ODATA-1481</a></td>
Expand Down Expand Up @@ -2399,7 +2399,7 @@ <h3 id="1422-target"><a name="Target" href="#Target">14.2.2 Target</a></h3>
</table>
<p>All <a href="#QualifiedName">qualified names</a> used in a target path MUST be in scope.</p>
<p>External targeting is possible for properties and navigation properties of singletons or entities in a particular entity set. These annotations override annotations on the properties or navigation properties targeted via the declaring structured type.</p>
<p>External targeting is also possible for bound action and function overloads whose binding parameter is addressed via a certain path or has a certain type, as well as for parameters and return types thereof. The target path then consists of two path expressions from the table above separated by a forward slash. The first path expression references one of the following model elements:</p>
<p>External targeting is also possible for bound action and function overloads whose binding parameter is addressed via a certain path or has a certain type, as well as for parameters and return types thereof. The targeting expression then consists of two path expressions from the table above separated by a forward slash. The first path expression references one of the following model elements:</p>
<table>
<thead>
<tr class="header">
Expand All @@ -2418,19 +2418,19 @@ <h3 id="1422-target"><a name="Target" href="#Target">14.2.2 Target</a></h3>
</tr>
<tr class="odd">
<td>Navigation Property via container</td>
<td>addressed via the path</td>
<td>addressed via the resource path to the navigation property</td>
</tr>
<tr class="even">
<td>Property via container</td>
<td>addressed via the path</td>
<td>addressed via the resource path to the property</td>
</tr>
<tr class="odd">
<td>Navigation Property via structured type</td>
<td>addressed via the structured type</td>
<td>addressed by a path that traverses the structured type</td>
</tr>
<tr class="even">
<td>Property via structured type</td>
<td>addressed via the structured type</td>
<td>addressed by a path that traverses the structured type</td>
</tr>
<tr class="odd">
<td>Complex Type</td>
Expand All @@ -2442,7 +2442,8 @@ <h3 id="1422-target"><a name="Target" href="#Target">14.2.2 Target</a></h3>
</tr>
</tbody>
</table>
<p>and the second path expression references one of the following model elements:</p>
<p>A binding parameter is “addressed via a resource path” if the path expression addressing the binding parameter starts with the resource path, it may then continue with segments described in <a href="#ODataURL">OData-URL</a>, sections 4.6 through 4.12. If the given path addresses a collection, the binding parameter can also be a single instance of that collection (see <a href="#ODataURL">OData-URL</a>, sections 4.9 and 4.10).</p>
<p>The second path expression references one of the following model elements:</p>
<ul>
<li>Action overload</li>
<li>all overloads of an Action</li>
Expand Down
18 changes: 12 additions & 6 deletions docs/odata-csdl-json/odata-csdl-json.md
Original file line number Diff line number Diff line change
Expand Up @@ -3875,7 +3875,7 @@ properties targeted via the declaring structured type.

External targeting is also possible for bound action and function overloads
whose binding parameter is addressed via a certain path or has a certain type,
as well as for parameters and return types thereof. The target path then
as well as for parameters and return types thereof. The targeting expression then
consists of two path expressions from the table above separated by a forward
slash. The first path expression references one of the following model
elements:
Expand All @@ -3884,14 +3884,20 @@ Model element|means the binding parameter must be
-------------|-----------------------------------
Entity Set|an instance or collection of instances from the entity set
Singleton|the singleton
Navigation Property via container|addressed via the path
Property via container|addressed via the path
Navigation Property via structured type|addressed via the structured type
Property via structured type|addressed via the structured type
Navigation Property via container|addressed via the resource path to the navigation property
Property via container|addressed via the resource path to the property
Navigation Property via structured type|addressed by a path that traverses the structured type
Property via structured type|addressed by a path that traverses the structured type
Complex Type|an instance or collection of the type or a subtype thereof
Entity Type|an instance or collection of the type or a subtype thereof

and the second path expression references one of the following model elements:
A binding parameter is "addressed via a resource path" if the path expression addressing the
binding parameter starts with the resource path, it may then continue with segments
described in [OData-URL](#ODataURL), sections 4.6 through 4.12. If the given path
addresses a collection, the binding parameter can also be a single instance of that
collection (see [OData-URL](#ODataURL), sections 4.9 and 4.10).

The second path expression references one of the following model elements:
- Action overload
- all overloads of an Action
- Function overload
Expand Down
15 changes: 8 additions & 7 deletions docs/odata-csdl-xml/odata-csdl-xml.html
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ <h2 id="11-changes-from-earlier-versions"><a name="ChangesfromEarlierVersions" h
<td>New path evaluation rules for annotations targeting annotations and external targeting via container</td>
<td><a href="https://issues.oasis-open.org/browse/ODATA-1420">ODATA-1420</a></td>
</tr>
<tr class="odd">
<tr class="even">
<td><a href="#PrimitiveTypes">Section 3.3</a></td>
<td>Allow stream-valued non-binding parameters</td>
<td><a href="https://issues.oasis-open.org/browse/ODATA-1481">ODATA-1481</a></td>
Expand Down Expand Up @@ -2215,7 +2215,7 @@ <h3 id="1422-target"><a name="Target" href="#Target">14.2.2 Target</a></h3>
</table>
<p>All <a href="#QualifiedName">qualified names</a> used in a target path MUST be in scope.</p>
<p>External targeting is possible for properties and navigation properties of singletons or entities in a particular entity set. These annotations override annotations on the properties or navigation properties targeted via the declaring structured type.</p>
<p>External targeting is also possible for bound action and function overloads whose binding parameter is addressed via a certain path or has a certain type, as well as for parameters and return types thereof. The target path then consists of two path expressions from the table above separated by a forward slash. The first path expression references one of the following model elements:</p>
<p>External targeting is also possible for bound action and function overloads whose binding parameter is addressed via a certain path or has a certain type, as well as for parameters and return types thereof. The targeting expression then consists of two path expressions from the table above separated by a forward slash. The first path expression references one of the following model elements:</p>
<table>
<thead>
<tr class="header">
Expand All @@ -2234,19 +2234,19 @@ <h3 id="1422-target"><a name="Target" href="#Target">14.2.2 Target</a></h3>
</tr>
<tr class="odd">
<td>Navigation Property via container</td>
<td>addressed via the path</td>
<td>addressed via the resource path to the navigation property</td>
</tr>
<tr class="even">
<td>Property via container</td>
<td>addressed via the path</td>
<td>addressed via the resource path to the property</td>
</tr>
<tr class="odd">
<td>Navigation Property via structured type</td>
<td>addressed via the structured type</td>
<td>addressed by a path that traverses the structured type</td>
</tr>
<tr class="even">
<td>Property via structured type</td>
<td>addressed via the structured type</td>
<td>addressed by a path that traverses the structured type</td>
</tr>
<tr class="odd">
<td>Complex Type</td>
Expand All @@ -2258,7 +2258,8 @@ <h3 id="1422-target"><a name="Target" href="#Target">14.2.2 Target</a></h3>
</tr>
</tbody>
</table>
<p>and the second path expression references one of the following model elements:</p>
<p>A binding parameter is “addressed via a resource path” if the path expression addressing the binding parameter starts with the resource path, it may then continue with segments described in <a href="#ODataURL">OData-URL</a>, sections 4.6 through 4.12. If the given path addresses a collection, the binding parameter can also be a single instance of that collection (see <a href="#ODataURL">OData-URL</a>, sections 4.9 and 4.10).</p>
<p>The second path expression references one of the following model elements:</p>
<ul>
<li>Action overload</li>
<li>all overloads of an Action</li>
Expand Down
18 changes: 12 additions & 6 deletions docs/odata-csdl-xml/odata-csdl-xml.md
Original file line number Diff line number Diff line change
Expand Up @@ -3688,7 +3688,7 @@ properties targeted via the declaring structured type.

External targeting is also possible for bound action and function overloads
whose binding parameter is addressed via a certain path or has a certain type,
as well as for parameters and return types thereof. The target path then
as well as for parameters and return types thereof. The targeting expression then
consists of two path expressions from the table above separated by a forward
slash. The first path expression references one of the following model
elements:
Expand All @@ -3697,14 +3697,20 @@ Model element|means the binding parameter must be
-------------|-----------------------------------
Entity Set|an instance or collection of instances from the entity set
Singleton|the singleton
Navigation Property via container|addressed via the path
Property via container|addressed via the path
Navigation Property via structured type|addressed via the structured type
Property via structured type|addressed via the structured type
Navigation Property via container|addressed via the resource path to the navigation property
Property via container|addressed via the resource path to the property
Navigation Property via structured type|addressed by a path that traverses the structured type
Property via structured type|addressed by a path that traverses the structured type
Complex Type|an instance or collection of the type or a subtype thereof
Entity Type|an instance or collection of the type or a subtype thereof

and the second path expression references one of the following model elements:
A binding parameter is "addressed via a resource path" if the path expression addressing the
binding parameter starts with the resource path, it may then continue with segments
described in [OData-URL](#ODataURL), sections 4.6 through 4.12. If the given path
addresses a collection, the binding parameter can also be a single instance of that
collection (see [OData-URL](#ODataURL), sections 4.9 and 4.10).

The second path expression references one of the following model elements:
- Action overload
- all overloads of an Action
- Function overload
Expand Down
18 changes: 12 additions & 6 deletions odata-csdl/14 Vocabulary and Annotation.md
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ properties targeted via the declaring structured type.

External targeting is also possible for bound action and function overloads
whose binding parameter is addressed via a certain path or has a certain type,
as well as for parameters and return types thereof. The target path then
as well as for parameters and return types thereof. The targeting expression then
consists of two path expressions from the table above separated by a forward
slash. The first path expression references one of the following model
elements:
Expand All @@ -685,14 +685,20 @@ Model element|means the binding parameter must be
-------------|-----------------------------------
Entity Set|an instance or collection of instances from the entity set
Singleton|the singleton
Navigation Property via container|addressed via the path
Property via container|addressed via the path
Navigation Property via structured type|addressed via the structured type
Property via structured type|addressed via the structured type
Navigation Property via container|addressed via the resource path to the navigation property
Property via container|addressed via the resource path to the property
Navigation Property via structured type|addressed by a path that traverses the structured type
Property via structured type|addressed by a path that traverses the structured type
Complex Type|an instance or collection of the type or a subtype thereof
Entity Type|an instance or collection of the type or a subtype thereof

and the second path expression references one of the following model elements:
A binding parameter is "addressed via a resource path" if the path expression addressing the
binding parameter starts with the resource path, it may then continue with segments
described in [OData-URL](#ODataURL), sections 4.6 through 4.12. If the given path
addresses a collection, the binding parameter can also be a single instance of that
collection (see [OData-URL](#ODataURL), sections 4.9 and 4.10).

The second path expression references one of the following model elements:
- Action overload
- all overloads of an Action
- Function overload
Expand Down