Compliance Summary
The following table summaries the compliance levels for SData providers:
| 
 Feature  | 
 Compliance  | 
 Comments  | 
|---|---|---|
| Collection URL | 
 MUST  | 
 There is a tolerance on the /sdata segment, which applies to all sdata URLs.
  | 
| 
 MUST/SHOULD  | 
 Selector with resource ID MUST be supported.  | 
|
| 
 SHOULD  | 
||
| 
 MAY  | 
||
| 
 MAY  | 
||
| 
 MUST/MAY  | 
 Template URL MUST be supported on resource kind flagged with
sme:canPost.   | 
|
| 
 MUST  | 
||
| 
 MAY  | 
||
| 
 SHOULD  | 
||
| 
 MUST/SHOULD/MAY  | 
  | 
|
| 
 MUST/MAY  | 
 Basic level MUST be supported.  | 
|
| 
 MUST  | 
||
| 
 MAY  | 
||
| 
 SHOULD  | 
||
| 
 MUST  | 
||
| 
 MUST  | 
 Compliance for feed elements: 
 Paging links are a MUST if paging is supported. totalResults, startIndex and itemsPerPage are a MUST if indexed paging is supported.  | 
|
| 
 MUST  | 
 Compliance for entry elements: 
 Post and template links are a MUST if POST is supported and entry is not inside a feed.  | 
|
| 
 MUST  | 
 Compliance for SData attributes: 
 Null values MUST be flagged with xsi:nil="true".  | 
|
| 
 MUST  | 
||
| 
 MUST  | 
||
| 
 MAY  | 
 Asynchronous operations MUST use the tracking payload.  | 
|
| 
 SHOULD  | 
||
| 
 MUST  | 
 Compliance for schema attributes: 
 
 
 
 
  | 
|
| 
 MUST  | 
||
| 
 MAY  | 
 MUST use SData structure if present.  | 
|
| 
 MAY  | 
||
| 
 MAY  | 
||
| 
 MAY  | 
||
| 
 SHOULD  | 
||
| 
 SHOULD, unless more secure option  | 
 Basic mode SHOULD NOT be used over HTTP connections, only over HTTPS.  | 
|
| 
 SHOULD  | 
 When available  | 
|
| 
 MUST (if sme:canGet is true)  | 
||
| 
 MUST (with sme:canFilter properties)  | 
 Basic query language MUST be supported.  | 
|
| 
 MUST (with sme:canSort properties)  | 
 Multiple criteria SHOULD be supported.  | 
|
| 
 MUST  | 
 Forwards paging MUST be supported (unless collection is guaranteed to always
be small).  | 
|
| 
 MUST  | 
||
| 
 MAY  | 
||
| 
 SHOULD  | 
 MUST when property element is flagged with sme:canGet.  | 
|
| 
 SHOULD  | 
||
| 
 Error Handling (all operations)  | 
 MUST  | 
|
| 
 MUST (if sme:canPost is true)  | 
||
| 
 MUST (if sme:canPost is true)  | 
||
| 
 MAY  | 
 MUST when property element is flagged with sme:canPost.  | 
|
| 
 MAY  | 
||
| 
 MUST (if sme:canPut is true)  | 
||
| 
 MUST (on all properties with maxOccurs = 0)  | 
||
| 
 MUST  | 
 Limited to properties marked with sme:relationship="child"  | 
|
| 
 MAY  | 
 .  | 
|
| 
 MAY  | 
 MUST when property element is flagged with sme:canPut.  | 
|
| 
 MUST (if sme:canDelete is true)  | 
||
| 
 MAY  | 
 MUST on resource kinds flagged with sme:supportsETag.  | 
|
| 
 MAY  | 
 MUST when property element is flagged with sme:canDelete.  | 
|
| 
 SHOULD  | 
||
| 
 MAY  | 
 MUST follow the SData specifications if used.  | 
|
| 
 MAY  | 
 MUST follow the SData specifications if used (resource kind marked with sme:batchingMode).  | 
|
| 
 MAY  | 
 MUST comply with the SData registry contract if supported.  | 


