Skip to content

Commit

Permalink
JSON Format: Conformance
Browse files Browse the repository at this point in the history
  • Loading branch information
ralfhandl committed Jul 21, 2023
1 parent 8064fe3 commit b65b4b7
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 36 deletions.
24 changes: 12 additions & 12 deletions docs/odata-json-format/odata-json-format.html
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ <h1 id="22-extensibility"><a name="Extensibility" href="#Extensibility">22 Exten
<hr />
<h1 id="23-conformance"><a name="Conformance" href="#Conformance">23 Conformance</a></h1>
<p>Conforming clients MUST be prepared to consume a service that uses any or all of the constructs defined in this specification. The exception to this are the constructs defined in Delta Response, which are only required for clients that request changes.</p>
<!--TODO: section references, V4.02 conformance -->
<!--TODO: V4.02 conformance -->

<p>In order to be a conforming consumer of the OData JSON format, a client or service:</p>
<ol type="1">
Expand All @@ -393,9 +393,9 @@ <h1 id="23-conformance"><a name="Conformance" href="#Conformance">23 Conformance
<li>defined in this specification (client)</li>
<li>exposed by the service (service)</li>
</ol></li>
<li>MUST interpret all <code>odata</code> control information defined according to the <code>OData-Version</code> header of the payload ([section ##4.5])</li>
<li>MUST be prepared to receive any annotations and control information not defined in the <code>OData-Version</code> header of the payload ([section ##21.2])</li>
<li>MUST NOT require <code>streaming=true</code> in the <code>Content-Type</code> header ([section ##4.4])</li>
<li>MUST interpret all <code>odata</code> control information defined according to the <code>OData-Version</code> header of the payload (<a href="#ControlInformation">section 4.5</a>)</li>
<li>MUST be prepared to receive any annotations and control information not defined in the <code>OData-Version</code> header of the payload (<a href="#InstanceAnnotations">section 20</a>)</li>
<li>MUST NOT require <code>streaming=true</code> in the <code>Content-Type</code> header (<a href="#PayloadOrderingConstraints">section 4.4</a>)</li>
<li>MUST be a conforming consumer of the OData 4.0 JSON format, for payloads with an <code>OData-Version</code> header value of <code>4.0</code>.
<ol type="1">
<li>MUST accept the <code>odata.</code> prefix, where defined, on format parameters and control information</li>
Expand Down Expand Up @@ -442,16 +442,16 @@ <h1 id="23-conformance"><a name="Conformance" href="#Conformance">23 Conformance
<p>In addition, in order to conform to the OData JSON format, a service:</p>
<ol start="11" type="1">
<li>MUST comply with one of the conformance levels defined in <a href="#ODataProtocol">OData-Protocol</a></li>
<li>MUST support the <code>application/json</code> media type in the <code>Accept</code> header ([section ##3])</li>
<li>MUST support the <code>application/json</code> media type in the <code>Accept</code> header (<a href="#RequestingtheJSONFormat">section 3</a>)</li>
<li>MUST return well-formed JSON payloads</li>
<li>MUST support <code>odata.metadata=full</code> ([section ##3.1.2])</li>
<li>MUST include the <code>odata.nextLink</code> control information in partial results for entity collections ([section ##4.5.5])</li>
<li>MUST support entity instances with external metadata ([section ##4.5.1])</li>
<li>MUST support properties with externally defined data types ([section ##4.5.3])</li>
<li>MUST support <code>odata.metadata=full</code> (<a href="#metadatafullodatametadatafull">section 3.1.2</a>)</li>
<li>MUST include the <code>odata.nextLink</code> control information in partial results for entity collections (<a href="#ControlInformationnextLinkodatanextLink">section 4.5.5</a>)</li>
<li>MUST support entity instances with external metadata (<a href="#ControlInformationcontextodatacontext">section 4.5.1</a>)</li>
<li>MUST support properties with externally defined data types (<a href="#ControlInformationtypeodatatype">section 4.5.3</a>)</li>
<li>MUST NOT violate any other aspects of this OData JSON specification</li>
<li>SHOULD support the <code>$format</code> system query option ([section ##3])</li>
<li>MAY support the <code>odata.streaming=true</code> parameter in the <code>Accept</code> header ([section ##4.4])</li>
<li>MAY return full metadata regardless of <code>odata.metadata</code> ([section ##3.1.2])</li>
<li>SHOULD support the <code>$format</code> system query option (<a href="#RequestingtheJSONFormat">section 3</a>)</li>
<li>MAY support the <code>odata.streaming=true</code> parameter in the <code>Accept</code> header (<a href="#PayloadOrderingConstraints">section 4.4</a>)</li>
<li>MAY return full metadata regardless of <code>odata.metadata</code> (<a href="#metadatafullodatametadatafull">section 3.1.2</a>)</li>
<li>MUST NOT omit null or default values unless the <code>omit-values</code> preference is specified in the <code>Prefer</code> request header and the <code>omit-values</code> preference is included in the <code>Preference-Applied</code> response header</li>
<li>MUST return OData JSON 4.0-compliant responses for requests with an <code>OData-MaxVersion</code> header value of <code>4.0</code></li>
<li>MUST support OData JSON 4.0-compliant payloads in requests with an <code>OData-Version</code> header value of <code>4.0</code></li>
Expand Down
24 changes: 12 additions & 12 deletions docs/odata-json-format/odata-json-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ Constraints](#PayloadOrderingConstraints).

Conforming clients MUST be prepared to consume a service that uses any or all of the constructs defined in this specification. The exception to this are the constructs defined in Delta Response, which are only required for clients that request changes.

<!--TODO: section references, V4.02 conformance -->
<!--TODO: V4.02 conformance -->

In order to be a conforming consumer of the OData JSON format, a client or service:

Expand All @@ -510,9 +510,9 @@ In order to be a conforming consumer of the OData JSON format, a client or servi
3. MUST be prepared to receive all data types ([section 7.1](#PrimitiveValue))
1. defined in this specification (client)
2. exposed by the service (service)
4. MUST interpret all `odata` control information defined according to the `OData-Version` header of the payload ([section ##4.5])
5. MUST be prepared to receive any annotations and control information not defined in the `OData-Version` header of the payload ([section ##21.2])
6. MUST NOT require `streaming=true` in the `Content-Type` header ([section ##4.4])
4. MUST interpret all `odata` control information defined according to the `OData-Version` header of the payload ([section 4.5](#ControlInformation))
5. MUST be prepared to receive any annotations and control information not defined in the `OData-Version` header of the payload ([section 20](#InstanceAnnotations))
6. MUST NOT require `streaming=true` in the `Content-Type` header ([section 4.4](#PayloadOrderingConstraints))
7. MUST be a conforming consumer of the OData 4.0 JSON format, for payloads with an `OData-Version` header value of `4.0`.
1. MUST accept the `odata.` prefix, where defined, on format parameters and control information
2. MUST accept the `#` prefix in `@odata.type` values
Expand Down Expand Up @@ -551,16 +551,16 @@ In order to be a conforming producer of the OData JSON format, a client or servi
In addition, in order to conform to the OData JSON format, a service:

11. MUST comply with one of the conformance levels defined in [OData-Protocol](#ODataProtocol)
12. MUST support the `application/json` media type in the `Accept` header ([section ##3])
12. MUST support the `application/json` media type in the `Accept` header ([section 3](#RequestingtheJSONFormat))
13. MUST return well-formed JSON payloads
14. MUST support `odata.metadata=full` ([section ##3.1.2])
15. MUST include the `odata.nextLink` control information in partial results for entity collections ([section ##4.5.5])
16. MUST support entity instances with external metadata ([section ##4.5.1])
17. MUST support properties with externally defined data types ([section ##4.5.3])
14. MUST support `odata.metadata=full` ([section 3.1.2](#metadatafullodatametadatafull))
15. MUST include the `odata.nextLink` control information in partial results for entity collections ([section 4.5.5](#ControlInformationnextLinkodatanextLink))
16. MUST support entity instances with external metadata ([section 4.5.1](#ControlInformationcontextodatacontext))
17. MUST support properties with externally defined data types ([section 4.5.3](#ControlInformationtypeodatatype))
18. MUST NOT violate any other aspects of this OData JSON specification
19. SHOULD support the `$format` system query option ([section ##3])
20. MAY support the `odata.streaming=true` parameter in the `Accept` header ([section ##4.4])
21. MAY return full metadata regardless of `odata.metadata` ([section ##3.1.2])
19. SHOULD support the `$format` system query option ([section 3](#RequestingtheJSONFormat))
20. MAY support the `odata.streaming=true` parameter in the `Accept` header ([section 4.4](#PayloadOrderingConstraints))
21. MAY return full metadata regardless of `odata.metadata` ([section 3.1.2](#metadatafullodatametadatafull))
22. MUST NOT omit null or default values unless the `omit-values` preference is specified in the `Prefer` request header and the `omit-values` preference is included in the `Preference-Applied` response header
23. MUST return OData JSON 4.0-compliant responses for requests with an `OData-MaxVersion` header value of `4.0`
24. MUST support OData JSON 4.0-compliant payloads in requests with an `OData-Version` header value of `4.0`
Expand Down
24 changes: 12 additions & 12 deletions odata-json-format/23 Conformance.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Conforming clients MUST be prepared to consume a service that uses any or all of the constructs defined in this specification. The exception to this are the constructs defined in Delta Response, which are only required for clients that request changes.

<!--TODO: section references, V4.02 conformance -->
<!--TODO: V4.02 conformance -->

In order to be a conforming consumer of the OData JSON format, a client or service:

Expand All @@ -15,9 +15,9 @@ In order to be a conforming consumer of the OData JSON format, a client or servi
3. MUST be prepared to receive all data types ([section ##PrimitiveValue])
1. defined in this specification (client)
2. exposed by the service (service)
4. MUST interpret all `odata` control information defined according to the `OData-Version` header of the payload ([section ##4.5])
5. MUST be prepared to receive any annotations and control information not defined in the `OData-Version` header of the payload ([section ##21.2])
6. MUST NOT require `streaming=true` in the `Content-Type` header ([section ##4.4])
4. MUST interpret all `odata` control information defined according to the `OData-Version` header of the payload ([section ##ControlInformation])
5. MUST be prepared to receive any annotations and control information not defined in the `OData-Version` header of the payload ([section ##InstanceAnnotations])
6. MUST NOT require `streaming=true` in the `Content-Type` header ([section ##PayloadOrderingConstraints])
7. MUST be a conforming consumer of the OData 4.0 JSON format, for payloads with an `OData-Version` header value of `4.0`.
1. MUST accept the `odata.` prefix, where defined, on format parameters and control information
2. MUST accept the `#` prefix in `@odata.type` values
Expand Down Expand Up @@ -56,16 +56,16 @@ In order to be a conforming producer of the OData JSON format, a client or servi
In addition, in order to conform to the OData JSON format, a service:

11. MUST comply with one of the conformance levels defined in [OData-Protocol](#ODataProtocol)
12. MUST support the `application/json` media type in the `Accept` header ([section ##3])
12. MUST support the `application/json` media type in the `Accept` header ([section ##RequestingtheJSONFormat])
13. MUST return well-formed JSON payloads
14. MUST support `odata.metadata=full` ([section ##3.1.2])
15. MUST include the `odata.nextLink` control information in partial results for entity collections ([section ##4.5.5])
16. MUST support entity instances with external metadata ([section ##4.5.1])
17. MUST support properties with externally defined data types ([section ##4.5.3])
14. MUST support `odata.metadata=full` ([section ##metadatafullodatametadatafull])
15. MUST include the `odata.nextLink` control information in partial results for entity collections ([section ##ControlInformationnextLinkodatanextLink])
16. MUST support entity instances with external metadata ([section ##ControlInformationcontextodatacontext])
17. MUST support properties with externally defined data types ([section ##ControlInformationtypeodatatype])
18. MUST NOT violate any other aspects of this OData JSON specification
19. SHOULD support the `$format` system query option ([section ##3])
20. MAY support the `odata.streaming=true` parameter in the `Accept` header ([section ##4.4])
21. MAY return full metadata regardless of `odata.metadata` ([section ##3.1.2])
19. SHOULD support the `$format` system query option ([section ##RequestingtheJSONFormat])
20. MAY support the `odata.streaming=true` parameter in the `Accept` header ([section ##PayloadOrderingConstraints])
21. MAY return full metadata regardless of `odata.metadata` ([section ##metadatafullodatametadatafull])
22. MUST NOT omit null or default values unless the `omit-values` preference is specified in the `Prefer` request header and the `omit-values` preference is included in the `Preference-Applied` response header
23. MUST return OData JSON 4.0-compliant responses for requests with an `OData-MaxVersion` header value of `4.0`
24. MUST support OData JSON 4.0-compliant payloads in requests with an `OData-Version` header value of `4.0`
Expand Down

0 comments on commit b65b4b7

Please sign in to comment.