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

ODATA-1583 #204

Merged
merged 13 commits into from
May 22, 2024
7 changes: 6 additions & 1 deletion docs/odata-json-format/odata-json-format.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,11 @@ <h2 id="11-changes-from-earlier-versions"><a name="ChangesfromEarlierVersions" h
</thead>
<tbody>
<tr class="odd">
<td><a href="#ControlInformationcontextodatacontext">Section 4.5.1</a></td>
<td>Fragment portion of Context URL is not percent-encoded</td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/368">368</a></td>
</tr>
<tr class="even">
<td><a href="#ControlInformationmediaodatamedia">Section 4.5.12</a></td>
<td><code>mediaContentType</code> can be <code>null</code></td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/536">536</a></td>
Expand Down Expand Up @@ -504,7 +509,7 @@ <h2 id="45-control-information"><a name="ControlInformation" href="#ControlInfor
<p>In some cases, control information is required in request payloads; this is called out in the following subsections.</p>
<p>Receivers that encounter unknown annotations in any namespace or unknown control information MUST NOT stop processing and MUST NOT signal an error.</p>
<h3 id="451-control-information-context-odatacontext"><a name="ControlInformationcontextodatacontext" href="#ControlInformationcontextodatacontext">4.5.1 Control Information: <code>context</code> (<code>odata.context</code>)</a></h3>
<p>The <code>context</code> control information returns the context URL (see <a href="#ODataProtocol">OData-Protocol</a>) for the payload. This URL can be absolute or <a href="#RelativeURLs">relative</a>.</p>
<p>The <code>context</code> control information returns the context URL (see <a href="#ODataProtocol">OData-Protocol</a>) for the payload. This URL can be absolute or <a href="#RelativeURLs">relative</a>. The fragment portion of the context URL MUST NOT be percent-encoded.</p>
<p>The <code>context</code> control information is not returned if <a href="#metadatanoneodatametadatanone"><code>metadata=none</code></a> is requested. Otherwise it MUST be the first property of any JSON response that allows this control information (this excludes for example <a href="#ErrorResponse">error responses</a>).</p>
<p>The <code>context</code> control information MUST also be included in requests and responses for entities whose entity set cannot be determined from the context URL of the collection.</p>
<p>For more information on the format of the context URL, see <a href="#ODataProtocol">OData-Protocol</a>.</p>
Expand Down
2 changes: 2 additions & 0 deletions docs/odata-json-format/odata-json-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ An OData JSON payload may represent:

Section | Feature / Change | Issue
--------|------------------|------
[Section 4.5.1](#ControlInformationcontextodatacontext)| Fragment portion of Context URL is not percent-encoded| [368](https://github.com/oasis-tcs/odata-specs/issues/368)
[Section 4.5.12](#ControlInformationmediaodatamedia)| `mediaContentType` can be `null`| [536](https://github.com/oasis-tcs/odata-specs/issues/536)

## <a name="Glossary" href="#Glossary">1.2 Glossary</a>
Expand Down Expand Up @@ -748,6 +749,7 @@ stop processing and MUST NOT signal an error.
The `context` control information
returns the context URL (see [OData-Protocol](#ODataProtocol)) for the
payload. This URL can be absolute or [relative](#RelativeURLs).
The fragment portion of the context URL MUST NOT be percent-encoded.

The `context` control information is not returned if
[`metadata=none`](#metadatanoneodatametadatanone) is requested. Otherwise it MUST be the
Expand Down
15 changes: 10 additions & 5 deletions docs/odata-protocol/odata-protocol.html
Original file line number Diff line number Diff line change
Expand Up @@ -497,26 +497,31 @@ <h2 id="11-changes-from-earlier-versions"><a name="ChangesfromEarlierVersions" h
</thead>
<tbody>
<tr class="odd">
<td><a href="#CollectionofEntities">Section 10.2</a></td>
<td>Context URLs use parentheses-style keys without percent-encoding</td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/368">368</a></td>
</tr>
<tr class="even">
<td><a href="#DataModification">Section 11.4</a></td>
<td>Response code <code>204 No Content</code> after successful data modification if requested response could not be constructed</td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/443">443</a></td>
</tr>
<tr class="even">
<tr class="odd">
<td><a href="#UpsertanEntity">Section 11.4.4</a></td>
<td>Upserts to single-valued non-containment navigation properties</td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/455">455</a></td>
</tr>
<tr class="odd">
<tr class="even">
<td><a href="#UpdateaComplexProperty">Section 11.4.9.3</a></td>
<td>Setting a complex property to a different type</td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/534">534</a></td>
</tr>
<tr class="even">
<tr class="odd">
<td><a href="#Conformance">Section 12</a></td>
<td>Allow <code>400 Bad Request</code> in addition to <code>501 Not Implemented</code> for unsupported functionality</td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/391">391</a></td>
</tr>
<tr class="odd">
<tr class="even">
<td><a href="#InteroperableODataClients">Section 12.3</a></td>
<td>Encoding of plus character in URLs</td>
<td><a href="https://github.com/oasis-tcs/odata-specs/issues/485">485</a></td>
Expand Down Expand Up @@ -1002,7 +1007,7 @@ <h2 id="102-collection-of-entities"><a name="CollectionofEntities" href="#Collec
<pre><code>http://host/service/Customers
http://host/service/$metadata#Customers</code></pre>
</div>
<p>If the entities are contained, then <code>entity-set</code> is the top-level entity set or singleton followed by the path to the containment navigation property of the containing entity.</p>
<p>If the entities are contained, then <code>entity-set</code> is the top-level entity set or singleton followed by the canonical path to the containment navigation property of the containing entity. Key values in that path are represented in canonical form (parentheses-style) without percent-encoding.</p>
<div class="example">
<p>Example 12: resource URL and corresponding context URL for contained entities</p>
<pre><code>http://host/service/Orders(4711)/Items
Expand Down
6 changes: 4 additions & 2 deletions docs/odata-protocol/odata-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -351,8 +351,9 @@ resource representations that are exchanged using OData.

Section | Feature / Change | Issue
--------|------------------|------
[Section 10.2](#CollectionofEntities)| Context URLs use parentheses-style keys without percent-encoding| [368](https://github.com/oasis-tcs/odata-specs/issues/368)
[Section 11.4](#DataModification)| Response code `204 No Content` after successful data modification if requested response could not be constructed| [443](https://github.com/oasis-tcs/odata-specs/issues/443)
[Section 11.4.4](#UpsertanEntity)| Upserts to single-valued non-containment navigation properties| [455](https://github.com/oasis-tcs/odata-specs/issues/455)
[Section 11.4.4](#UpsertanEntity)| Upserts to single-valued non-containment navigation properties| [455](https://github.com/oasis-tcs/odata-specs/issues/455)
[Section 11.4.9.3](#UpdateaComplexProperty)| Setting a complex property to a different type| [534](https://github.com/oasis-tcs/odata-specs/issues/534)
[Section 12](#Conformance) | Allow `400 Bad Request` in addition to `501 Not Implemented` for unsupported functionality| [391](https://github.com/oasis-tcs/odata-specs/issues/391)
[Section 12.3](#InteroperableODataClients) | Encoding of plus character in URLs | [485](https://github.com/oasis-tcs/odata-specs/issues/485)
Expand Down Expand Up @@ -2044,8 +2045,9 @@ http://host/service/$metadata#Customers
:::

If the entities are contained, then `entity-set` is the top-level entity
set or singleton followed by the path to the containment navigation
set or singleton followed by the canonical path to the containment navigation
property of the containing entity.
Key values in that path are represented in canonical form (parentheses-style) without percent-encoding.

::: example
Example 12: resource URL and corresponding context URL for contained
Expand Down
3 changes: 3 additions & 0 deletions odata-json-format/1 Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ An OData JSON payload may represent:

Section | Feature / Change | Issue
--------|------------------|------
[Section ##ControlInformationcontextodatacontext]|
Fragment portion of Context URL is not percent-encoded|
[368](https://github.com/oasis-tcs/odata-specs/issues/368)
[Section ##ControlInformationmediaodatamedia]|
`mediaContentType` can be `null`|
[536](https://github.com/oasis-tcs/odata-specs/issues/536)
Expand Down
1 change: 1 addition & 0 deletions odata-json-format/4 Common Characteristics.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ stop processing and MUST NOT signal an error.
The `context` control information
returns the context URL (see [OData-Protocol](#ODataProtocol)) for the
payload. This URL can be absolute or [relative](#RelativeURLs).
The fragment portion of the context URL MUST NOT be percent-encoded.

The `context` control information is not returned if
[`metadata=none`](#metadatanoneodatametadatanone) is requested. Otherwise it MUST be the
Expand Down
5 changes: 4 additions & 1 deletion odata-protocol/1 Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@ resource representations that are exchanged using OData.

Section | Feature / Change | Issue
--------|------------------|------
[Section ##CollectionofEntities]|
Context URLs use parentheses-style keys without percent-encoding|
[368](https://github.com/oasis-tcs/odata-specs/issues/368)
[Section ##DataModification]|
Response code `204 No Content` after successful data modification if requested response could not be constructed|
[443](https://github.com/oasis-tcs/odata-specs/issues/443)
[Section ##UpsertanEntity]|
Upserts to single-valued non-containment navigation properties|
Upserts to single-valued non-containment navigation properties|
[455](https://github.com/oasis-tcs/odata-specs/issues/455)
[Section ##UpdateaComplexProperty]|
Setting a complex property to a different type|
Expand Down
3 changes: 2 additions & 1 deletion odata-protocol/10 Context URL.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,9 @@ http://host/service/$metadata#Customers
:::

If the entities are contained, then `entity-set` is the top-level entity
set or singleton followed by the path to the containment navigation
set or singleton followed by the canonical path to the containment navigation
property of the containing entity.
Key values in that path are represented in canonical form (parentheses-style) without percent-encoding.

::: example
Example ##ex: resource URL and corresponding context URL for contained
Expand Down