You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Added descriptive alt text to diagram images
* Separated image descriptions into alt and figcaption
* Removed unnecessary links
* Added screen reader labels for PDF links
Copy file name to clipboardExpand all lines: pages/documentation/documentation.html
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -8,15 +8,15 @@ <h2>OData Version 4.01</h2>
8
8
<p>OData has been <ahref="https://www.oasis-open.org/news/pr/oasis-approves-odata-4-0-standards-for-an-open-programmable-web">standardized by OASIS</a> and <ahref="https://jtc1info.org/isoiec-jtc-1-approves-oasis-odata-standard-for-open-data-exchange/">approved as an ISO/IEC International Standard</a>.</p>
9
9
<p>The OASIS OData Technical Committee has published the latest OData 4.01 draft as a <ahref="/blog/OData-401-Committee-Spec-Published">Committee Specification.</a> The following references the latest published Committee Specification documents.</p>
10
10
<ul>
11
-
<li><ahref="http://docs.oasis-open.org/odata/new-in-odata/v4.01/new-in-odata-v4.01.html">What’s New in OData Version 4.01</a> | <ahref="http://docs.oasis-open.org/odata/new-in-odata/v4.01/new-in-odata-v4.01.pdf">PDF</a></li>
<li><ahref="http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html">OData Common Schema Language (CSDL) XML Representation</a> | <ahref="http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.pdf">PDF</a></li>
16
-
<li><ahref="http://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.html">OData Common Schema Language (CSDL) JSON Representation</a> | <ahref="http://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.pdf">PDF</a></li>
11
+
<li><ahref="http://docs.oasis-open.org/odata/new-in-odata/v4.01/new-in-odata-v4.01.html">What’s New in OData Version 4.01</a> | <ahref="http://docs.oasis-open.org/odata/new-in-odata/v4.01/new-in-odata-v4.01.pdf"aria-label="'What's new in ODATA version 4.01 PDF'">PDF</a></li>
<li><ahref="http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html">OData Common Schema Language (CSDL) XML Representation</a> | <ahref="http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.pdf"aria-label="'OData Common Schema Language (CSDL) XML Representation' PDF">PDF</a></li>
16
+
<li><ahref="http://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.html">OData Common Schema Language (CSDL) JSON Representation</a> | <ahref="http://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.pdf"aria-label="'OData Common Schema Language (CSDL) JSON Representation' PDF">PDF</a></li>
Copy file name to clipboardExpand all lines: pages/documentation/odata-version-3-0.html
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,8 @@ <h5 class="alert alert-success">OData Version 4.0 is the current recommended ver
9
9
<br><br>
10
10
<ahref="/documentation/" class="alert-link" title=""><spanclass="glyphicon glyphicon-arrow-right"></span> Go to OData Version 4.0</a></h5>
11
11
<ul>
12
-
<li><ahref="/documentation/odata-version-3-0/odata-version-3-0-core-protocol">OData Version 3.0 Core Protocol</a> | <ahref="http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MS-ODATA].pdf">PDF</a></li>
13
-
<li><ahref="/documentation/odata-version-3-0/common-schema-definition-language-csdl">OData Version 3.0 Common Schema Definition Language (CSDL)</a> | <ahref="http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MC-CSDL].pdf">PDF</a></li>
12
+
<li><ahref="/documentation/odata-version-3-0/odata-version-3-0-core-protocol">OData Version 3.0 Core Protocol</a> | <ahref="http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MS-ODATA].pdf"aria-label="'OData Version 3.0 Core Protocol' PDF">PDF</a></li>
13
+
<li><ahref="/documentation/odata-version-3-0/common-schema-definition-language-csdl">OData Version 3.0 Common Schema Definition Language (CSDL)</a> | <ahref="http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MC-CSDL].pdf"aria-label="'OData Version 3.0 Common Schema Definition Language (CSDL)' PDF">PDF</a></li>
14
14
<li><ahref="/documentation/odata-version-3-0/url-conventions">OData Version 3.0 Url Conventions</a></li>
15
15
<li><ahref="/documentation/odata-version-3-0/abnf">OData Version 3.0 ABNF</a></li>
16
16
<li><ahref="/documentation/odata-version-3-0/batch-processing">OData Version 3.0 Batch Processing</a></li>
Copy file name to clipboardExpand all lines: pages/documentation/uri-conventions.html
+20-5Lines changed: 20 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,10 @@ <h2>Introduction</h2>
14
14
<p>The terms used in this document are defined in the <ahref="../terminology">[OData:Terms]</a> document.</p>
15
15
<h2>1. URI Components</h2>
16
16
<p>A URI used by an OData service has up to three significant parts: the <ahref="../uri-conventions#ServiceRootUri"> service root URI</a>, <ahref="../uri-conventions#ResourcePath">resource path</a> and <ahref="../uri-conventions#QueryStringOptions"> query string options</a>. Additional URI constructs (such as a fragment) MAY be present in a URI used by an OData service; however, this specification applies no further meaning to such additional constructs.</p>
<imgsrc="/assets/ODataUri.png" alt="Diagram of the structure of an OData URI." width="714" height="32" class="aligncenter size-full wp-image-1831" />
19
+
<figcaptionclass="visually-hidden">Structure of an OData URI, which consists of a scheme, host, optional colon and port, service root, optional resource path, and optional question mark followed by query options.</figcaption>
20
+
</figure>
18
21
<p>The following are two example URIs broken down into their component parts:</p>
<p>The basic rules for addressing a Collection (of Entries), a single Entry within a Collection, as well as a property of an Entry are illustrated in the figure below.</p>
<imgclass="wp-image-9621" alt="Diagram of the structure of a resource path." src="/assets/ResourcePath.png" width="1154" height="101" />
56
+
<figcaptionclass="visually-hidden">Structure of a resource path, showing multiple structure options as follows. To address an entry, one must first address a specific collection. A Collection may optionally be followed by a forward slash and $count. Alternatively, it may be followed by a KeyPredicate. After this KeyPredicate is one or more forward slash and navigation property, one or more forward slash and ComplexType, optional one or more forward slash and Property, and optional one or more forward slash and $value. The navigation property may be either a NavPropSingle or a NavPropCollection. If the collection is chosen, it is directly followed by either a KeyPredicate or an optional forward slash and $count. If the latter option is chosen, this must be the last navigation property in the sequence.</figcaption>
57
+
</figure>
52
58
<ul>
53
59
<li><strong>Collection</strong>: The name of a Collection or Service Operation (which returns a Collection of Entries) exposed by the service.</li>
54
60
<li><strong>KeyPredicate</strong>: A predicate that identifies the value(s) of the key Properties of an Entry. If the Entry has a single key Property the predicate may include only the value of the key Property. If the key is made up of two or more Properties, then its value must be stated using name/value pairs. More precisely, the syntax for a KeyPredicate is shown by the following figure.</li>
<imgsrc="/assets/keyPredicate.png" alt="Diagram of the structure of a KeyPredicate." width="356" height="83" class="aligncenter size-full wp-image-1821" />
64
+
<figcaptionclass="visually-hidden">Structure of a KeyPredicate, which starts and ends with an opening and closing parenthesis, respectively. Between the parentheses may be either a single KeyValue or a three-piece portion containing a Property, equals sign, and KeyValue. There may be more than one three-piece portion if these portions are separated by commas.</figcaption>
65
+
</figure>
57
66
<ul>
58
67
<li><strong>NavPropSingle</strong>: The name of a Navigation Property defined by the Entry associated with the prior path segment. The Navigation Property must identify a single entity (that is, have a "to 1" relationship).</li>
59
68
<li><strong>NavPropCollection</strong>: Same as NavPropSingle except it must identify a Collection of Entries (that is, have a "to many" relationship).</li>
@@ -101,7 +110,10 @@ <h3> 3.2. Addressing Links between Entries</h3>
101
110
<hr/>
102
111
<p>Much like the use of links on Web pages, the data model used by OData services supports relationships as a first class construct. For example, an OData service could expose a Collection of Products Entries each of which are related to a Category Entry.</p>
103
112
<p>Associations between Entries are addressable in OData just like Entries themselves are (as described above). The basic rules for addressing relationships are shown in the following figure.</p>
<imgclass="size-full wp-image-10141" alt="Diagram of the structure for addressing relationships." src="/assets/addressingRelationships.png" width="510" height="29" />
115
+
<figcaptionclass="visually-hidden">Structure for addressing relationships, which consists of a URI identifying a single entry, forward slash, $links, forward slash, and NavigationProperty.</figcaption>
116
+
</figure>
105
117
<ul>
106
118
<li><strong>NavigationProperty</strong>: The name of a Navigation Property that is declared on the Entry associated with the path segment prior to the "$links" segment.</li>
107
119
</ul>
@@ -120,7 +132,10 @@ <h3> 3.2. Addressing Links between Entries</h3>
120
132
<h3> 3.3. Addressing Service Operations</h3>
121
133
<hr/>
122
134
<p>OData services can expose Service Operations which, like Entries, are identified using a URI. Service Operations are simple functions exposed by an OData service whose semantics are defined by the author of the function. A Service Operation can accept primitive type input parameters and can be defined to return a single primitive, single complex type, collection of primitives, collection of complex types, a single Entry, a Collection of Entries, or void. The basic rules for constructing URIs to address Service Operations and to pass parameters to them are illustrated in the following figure.</p>
<imgclass="wp-image-9871" alt="Diagram of the structure of a URI addressing a service operation." src="/assets/addressingServiceOperations.png" width="644" height="48" />
137
+
<figcaptionclass="visually-hidden">Structure of a URI addressing a service operation, starting with a ServiceRootUri and ServiceOperation. These may optionally be followed by a question mark and one or more three-piece portion containing a ParamName, equals symbol, and ParamValue.</figcaption>
138
+
</figure>
124
139
<ul>
125
140
<li><strong>ServiceRootUri</strong>: The <ahref="../uri-conventions#ServiceRootUri">service root URI</a> identifies the root of the OData service.</li>
126
141
<li><strong>ServiceOperation</strong>: The name of a Service Operation exposed by an OData service.</li>
0 commit comments