-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.0_CSD01
-
Fix Version/s: V4.0_CSD02
-
Component/s: ATOM Format, CSDL XML, JSON Format, Protocol, URL Conventions
-
Labels:None
-
Environment:
[Applied]
-
Proposal:
-
Resolution:
section 1 of odata-v4.0-csprd01-part1-protocol (the first sentence) provides:
****
All text is normative unless otherwise labeled.
****
But, section 3 says:
****
Some sections of this specification are illustrated with non-normative example OData request and response payloads. However, the text of this specification provides the definition of conformance.
All code examples in this document are non-normative.
****
So when I read under 8.2.6.3
****
The following Prefer header requests that the annotation with the term name subject within the display namespace be returned if applied:
Prefer: odata.include-annotations="display.subject"
In the case that the client has specified the odata.include-annotations preference in the request, the service MAY include a Preference-Applied response header containing the odata.include-annotations preference to specify the annotations that MAY have been included in the response. This value MAY differ from the annotations requested in the Prefer header of the request.
****
Is the code block "Prefer: odata.include-annotations="display.subject"" non-normative followed by a normative interpretation of the example?
That seems risky at best if examples are truly non-normative and divorced from the normative portions of the text.
One strategy would be to label the code blocks as "Example" and simply have it follow normative text. And the normative text doesn't say anything about the example, they just appear as appropriate in the text. What a reader makes of them is on their watch.
A partial example from 8.2.6.3:
Accepting the normative text above: "For example, the following Prefer header requests" for the moment, it would then be followed by a typographically distinct region:
Example:
Ex.1 Prefer header requests all annotations within a metadata document to be returned:
Prefer: odata.include-annotations="*"
Ex.2 Prefer header requests that no annotations are returned:
Prefer: odata.include-annotations="-*"
and so on.
I have inserted numbers to avoid the ambiguity of following/previous, which I will list as a separate issue.