ࡱ>    bjbj p8ccv''E6E6E6E6E6$i6i6i6P6;i6u3i=n ]d;^;^;^o_33| 2222222$i69T3E6oo_o_oo3E6E6;^;^4/3+++ofE6;^E6;^2+o2++*$);^CV (R2E30u3^(Ns:s:))s:E6,Loo+ooooo33+ooou3oooos:ooooooooo' 5:  HYPERLINK "https://www.oasis-open.org/"  OData JSON Format Version 4.0 Plus Errata 03 OASIS Standard incorporating Approved Errata 03 02 June 2016 Specification URIs This version:  HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.doc" http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.doc (Authoritative)  HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.html" http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.html  HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.pdf" http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.pdf Previous version: HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.doc"http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.doc (Authoritative) HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.html"http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.html HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.pdf"http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.pdf Latest version: HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.doc"http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.doc (Authoritative) HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html"http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.pdf"http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.pdf Technical Committee: HYPERLINK "https://www.oasis-open.org/committees/odata/"OASIS Open Data Protocol (OData) TC Chairs: Ralf Handl ( HYPERLINK "mailto:ralf.handl@sap.com" ralf.handl@sap.com), HYPERLINK "http://www.sap.com/"SAP SE Ram Jeyaraman ( HYPERLINK "mailto:Ram.Jeyaraman@microsoft.com" Ram.Jeyaraman@microsoft.com),  HYPERLINK "http://www.microsoft.com/" Microsoft Editors: Ralf Handl ( HYPERLINK "mailto:ralf.handl@sap.com" ralf.handl@sap.com), HYPERLINK "http://www.sap.com/"SAP SE Michael Pizzo ( HYPERLINK "mailto:mikep@microsoft.com" mikep@microsoft.com),  HYPERLINK "http://www.microsoft.com/" Microsoft Mark Biamonte ( HYPERLINK "mailto:mark.biamonte@progress.com" mark.biamonte@progress.com),  HYPERLINK "http://www.progress.com/" Progress Software Additional artifacts: This prose specification is one component of a Work Product that also includes: OData JSON Format Version 4.0 Errata 03. Edited by Ralf Handl, Michael Pizzo, and Martin Zurmuehl. 02 June 2016. OASIS Approved Errata.  HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os.html" http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os.html. OData JSON Format Version 4.0 Plus Errata 03 (redlined). Edited by Ralf Handl, Michael Pizzo, and Mark Biamonte. 02 June 2016. OASIS Standard incorporating Approved Errata 03.  HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-redlined.html" http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-redlined.html. Related work: This specification is related to: OData Version 4.0, a multi-part Work Product which includes: OData Version 4.0. Part 1: Protocol Plus Errata 03. Edited by Michael Pizzo, Ralf Handl, and Martin Zurmuehl. 02 June 2016. OASIS Standard incorporating Approved Errata 03.  HYPERLINK "http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html" http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html. OData Version 4.0. Part 2: URL Conventions Plus Errata 03. Edited by Michael Pizzo, Ralf Handl, and Martin Zurmuehl. 02 June 2016. OASIS Standard incorporating Approved Errata 03.  HYPERLINK "http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.html" http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.html. OData Version 4.0. Part 3: Common Schema Definition Language (CSDL) Plus Errata 03. Edited by Michael Pizzo, Ralf Handl, and Martin Zurmuehl. 02 June 2016. OASIS Standard incorporating Approved Errata 03.  HYPERLINK "http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part3-csdl/odata-v4.0-errata03-os-part3-csdl-complete.html" http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part3-csdl/odata-v4.0-errata03-os-part3-csdl-complete.html. ABNF components: OData ABNF Construction Rules Version 4.0 and OData ABNF Test Cases.  HYPERLINK "http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/abnf/" http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/abnf/. Vocabulary components: OData Core Vocabulary, OData Measures Vocabulary and OData Capabilities Vocabulary.  HYPERLINK "http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/vocabularies/" http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/vocabularies/. XML schemas: OData EDMX XML Schema and OData EDM XML Schema.  HYPERLINK "http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/schemas/" http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/schemas/. OData Metadata Service Entity Model:  HYPERLINK "http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/models/" http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/models/. OData Atom Format Version 4.0. Edited by Martin Zurmuehl, Michael Pizzo, and Ralf Handl. Latest version:  HYPERLINK "http://docs.oasis-open.org/odata/odata-atom-format/v4.0/odata-atom-format-v4.0.html" http://docs.oasis-open.org/odata/odata-atom-format/v4.0/odata-atom-format-v4.0.html. Abstract: The Open Data Protocol (OData) for representing and interacting with structured content is comprised of a set of specifications. The core specification for the protocol is in OData Version 4.0 Part 1: Protocol; this document extends the former by defining representations for OData requests and responses using a JSON format. Status: This document was last revised or approved by the OASIS Open Data Protocol (OData) TC on the above date. The level of approval is also listed above. Check the Latest version location noted above for possible later revisions of this document. Any other numbered Versions and other technical work produced by the Technical Committee (TC) are listed at HYPERLINK "https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata" \l "technical"https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata#technical. TC members should send comments on this specification to the TCs email list. Others should send comments to the TCs public comment list, after subscribing to it by following the instructions at the HYPERLINK "https://www.oasis-open.org/committees/comments/index.php?wg_abbrev=odata"Send A Comment button on the TCs web page at HYPERLINK "https://www.oasis-open.org/committees/odata/"https://www.oasis-open.org/committees/odata/. For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the TCs web page (HYPERLINK "https://www.oasis-open.org/committees/odata/ipr.php"https://www.oasis-open.org/committees/odata/ipr.php). Citation format: When referencing this specification the following citation format should be used: [OData-JSON-Format-v4.0] OData JSON Format Version 4.0 Plus Errata 03. Edited by Ralf Handl, Michael Pizzo, and Mark Biamonte. 02 June 2016. OASIS Standard incorporating Approved Errata 03.  HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.html" http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.html. Latest version: HYPERLINK "http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html"http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html. Notices Copyright OASIS Open 2016. All Rights Reserved. All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full  HYPERLINK "https://www.oasis-open.org/policies-guidelines/ipr" Policy may be found at the OASIS website. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so. OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims. The name "OASIS" is a trademark of  HYPERLINK "https://www.oasis-open.org/" OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see  HYPERLINK "https://www.oasis-open.org/policies-guidelines/trademark" https://www.oasis-open.org/policies-guidelines/trademark for above guidance. Table of Contents  TOC \o "1-3" \h \z \u  HYPERLINK \l "_Toc453766611" 1 Introduction  PAGEREF _Toc453766611 \h 7  HYPERLINK \l "_Toc453766612" 1.1 Terminology  PAGEREF _Toc453766612 \h 7  HYPERLINK \l "_Toc453766613" 1.2 Normative References  PAGEREF _Toc453766613 \h 7  HYPERLINK \l "_Toc453766614" 1.3 Typographical Conventions  PAGEREF _Toc453766614 \h 8  HYPERLINK \l "_Toc453766615" 2 JSON Format Design  PAGEREF _Toc453766615 \h 9  HYPERLINK \l "_Toc453766616" 3 Requesting the JSON Format  PAGEREF _Toc453766616 \h 10  HYPERLINK \l "_Toc453766617" 3.1 Controlling the Amount of Control Information in Responses  PAGEREF _Toc453766617 \h 10  HYPERLINK \l "_Toc453766618" 3.1.1 odata.metadata=minimal  PAGEREF _Toc453766618 \h 10  HYPERLINK \l "_Toc453766619" 3.1.2 odata.metadata=full  PAGEREF _Toc453766619 \h 11  HYPERLINK \l "_Toc453766620" 3.1.3 odata.metadata=none  PAGEREF _Toc453766620 \h 11  HYPERLINK \l "_Toc453766621" 3.2 Controlling the Representation of Numbers  PAGEREF _Toc453766621 \h 11  HYPERLINK \l "_Toc453766622" 4 Common Characteristics  PAGEREF _Toc453766622 \h 13  HYPERLINK \l "_Toc453766623" 4.1 Header Content-Type  PAGEREF _Toc453766623 \h 13  HYPERLINK \l "_Toc453766624" 4.2 Message Body  PAGEREF _Toc453766624 \h 13  HYPERLINK \l "_Toc453766625" 4.3 Relative URLs  PAGEREF _Toc453766625 \h 13  HYPERLINK \l "_Toc453766626" 4.4 Payload Ordering Constraints  PAGEREF _Toc453766626 \h 14  HYPERLINK \l "_Toc453766627" 4.5 Control Information  PAGEREF _Toc453766627 \h 15  HYPERLINK \l "_Toc453766628" 4.5.1 Annotation odata.context  PAGEREF _Toc453766628 \h 15  HYPERLINK \l "_Toc453766629" 4.5.2 Annotation odata.metadataEtag  PAGEREF _Toc453766629 \h 15  HYPERLINK \l "_Toc453766630" 4.5.3 Annotation odata.type  PAGEREF _Toc453766630 \h 15  HYPERLINK \l "_Toc453766631" 4.5.4 Annotation odata.count  PAGEREF _Toc453766631 \h 16  HYPERLINK \l "_Toc453766632" 4.5.5 Annotation odata.nextLink  PAGEREF _Toc453766632 \h 16  HYPERLINK \l "_Toc453766633" 4.5.6 Annotation odata.deltaLink  PAGEREF _Toc453766633 \h 16  HYPERLINK \l "_Toc453766634" 4.5.7 Annotation odata.id  PAGEREF _Toc453766634 \h 17  HYPERLINK \l "_Toc453766635" 4.5.8 Annotation odata.editLink and odata.readLink  PAGEREF _Toc453766635 \h 17  HYPERLINK \l "_Toc453766636" 4.5.9 Annotation odata.etag  PAGEREF _Toc453766636 \h 18  HYPERLINK \l "_Toc453766637" 4.5.10 Annotation odata.navigationLink and odata.associationLink  PAGEREF _Toc453766637 \h 18  HYPERLINK \l "_Toc453766638" 4.5.11 Annotation odata.media*  PAGEREF _Toc453766638 \h 18  HYPERLINK \l "_Toc453766639" 5 Service Document  PAGEREF _Toc453766639 \h 20  HYPERLINK \l "_Toc453766640" 6 Entity  PAGEREF _Toc453766640 \h 22  HYPERLINK \l "_Toc453766641" 7 Structural Property  PAGEREF _Toc453766641 \h 23  HYPERLINK \l "_Toc453766642" 7.1 Primitive Value  PAGEREF _Toc453766642 \h 23  HYPERLINK \l "_Toc453766643" 7.2 Complex Value  PAGEREF _Toc453766643 \h 24  HYPERLINK \l "_Toc453766644" 7.3 Collection of Primitive Values  PAGEREF _Toc453766644 \h 24  HYPERLINK \l "_Toc453766645" 7.4 Collection of Complex Values  PAGEREF _Toc453766645 \h 24  HYPERLINK \l "_Toc453766646" 8 Navigation Property  PAGEREF _Toc453766646 \h 26  HYPERLINK \l "_Toc453766647" 8.1 Navigation Link  PAGEREF _Toc453766647 \h 26  HYPERLINK \l "_Toc453766648" 8.2 Association Link  PAGEREF _Toc453766648 \h 26  HYPERLINK \l "_Toc453766649" 8.3 Expanded Navigation Property  PAGEREF _Toc453766649 \h 26  HYPERLINK \l "_Toc453766650" 8.4 Deep Insert  PAGEREF _Toc453766650 \h 27  HYPERLINK \l "_Toc453766651" 8.5 Bind Operation  PAGEREF _Toc453766651 \h 27  HYPERLINK \l "_Toc453766652" 9 Stream Property  PAGEREF _Toc453766652 \h 29  HYPERLINK \l "_Toc453766653" 10 Media Entity  PAGEREF _Toc453766653 \h 30  HYPERLINK \l "_Toc453766654" 11 Individual Property or Operation Response  PAGEREF _Toc453766654 \h 31  HYPERLINK \l "_Toc453766655" 12 Collection of Entities  PAGEREF _Toc453766655 \h 32  HYPERLINK \l "_Toc453766656" 13 Entity Reference  PAGEREF _Toc453766656 \h 33  HYPERLINK \l "_Toc453766657" 14 Delta Response  PAGEREF _Toc453766657 \h 34  HYPERLINK \l "_Toc453766658" 14.1 Added/Changed Entity  PAGEREF _Toc453766658 \h 35  HYPERLINK \l "_Toc453766659" 14.2 Deleted Entity  PAGEREF _Toc453766659 \h 35  HYPERLINK \l "_Toc453766660" 14.3 Added Link  PAGEREF _Toc453766660 \h 35  HYPERLINK \l "_Toc453766661" 14.4 Deleted Link  PAGEREF _Toc453766661 \h 36  HYPERLINK \l "_Toc453766662" 15 Bound Function  PAGEREF _Toc453766662 \h 37  HYPERLINK \l "_Toc453766663" 16 Bound Action  PAGEREF _Toc453766663 \h 38  HYPERLINK \l "_Toc453766664" 17 Action Invocation  PAGEREF _Toc453766664 \h 39  HYPERLINK \l "_Toc453766665" 18 Instance Annotations  PAGEREF _Toc453766665 \h 40  HYPERLINK \l "_Toc453766666" 18.1 Annotate a JSON Object  PAGEREF _Toc453766666 \h 40  HYPERLINK \l "_Toc453766667" 18.2 Annotate a JSON Array or Primitive  PAGEREF _Toc453766667 \h 40  HYPERLINK \l "_Toc453766668" 19 Error Response  PAGEREF _Toc453766668 \h 41  HYPERLINK \l "_Toc453766669" 20 Extensibility  PAGEREF _Toc453766669 \h 42  HYPERLINK \l "_Toc453766670" 21 Security Considerations  PAGEREF _Toc453766670 \h 43  HYPERLINK \l "_Toc453766671" 22 Conformance  PAGEREF _Toc453766671 \h 44  HYPERLINK \l "_Toc453766672" Appendix A. Acknowledgments  PAGEREF _Toc453766672 \h 45  HYPERLINK \l "_Toc453766673" Appendix B. Revision History  PAGEREF _Toc453766673 \h 46  Introduction The OData protocol is comprised of a set of specifications for representing and interacting with structured content. The core specification for the protocol is in  HYPERLINK \l "odata" [OData-Protocol]; this document is an extension of the core protocol. This document defines representations for the OData requests and responses using the JavaScript Object Notation (JSON), see  HYPERLINK \l "rfc7159" [RFC7159]. An OData JSON payload may represent: a  HYPERLINK \l "_Primitive_Value" single primitive value a  HYPERLINK \l "CollectionOfPrimitive" collection of primitive values a  HYPERLINK \l "ComplexValue" single complex type value a  HYPERLINK \l "_Collection_of_Complex" collection of complex type values a  HYPERLINK \l "_Entity" single entity or  HYPERLINK \l "ResourceReference" entity reference a  HYPERLINK \l "CollectionOfEntities" collection of entities or  HYPERLINK \l "_Entity_Reference" entity references a  HYPERLINK \l "DeltaResponse" collection of changes a  HYPERLINK \l "_Representing_the_Service" service document describing the top-level resources exposed by the service an  HYPERLINK \l "_Representing_Errors_in" error. Terminology The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in  HYPERLINK \l "rfc2119" [RFC2119]. Normative References [GeoJSON] Howard Butler, Martin Daly, Alan Doyle, Sean Gillies, Tim Schaub and Stefan Drees, "The GeoJSON Format" draft-butler-geojson-04, 05 August 2014.  HYPERLINK "http://tools.ietf.org/html/draft-butler-geojson-04" http://tools.ietf.org/html/draft-butler-geojson-04. [I-JSON] Bray, T., Ed., "The I-JSON Message Format", RFC7493, March 2015.  HYPERLINK "https://tools.ietf.org/html/rfc7493" https://tools.ietf.org/html/rfc7493. [OData-ABNF] OData ABNF Construction Rules Version 4.0. See link in Related work section on cover page. [OData-CSDL] OData Version 4.0 Part 3: Common Schema Definition Language (CSDL). See link in Related work section on cover page. [OData-Protocol] OData Version 4.0 Part 1: Protocol. See link in Related work section on cover page. [OData-URL] OData Version 4.0 Part 2: URL Conventions. See link in "Related work" section on cover page. [OData-VocCap] OData Capabilities Vocabulary. See link in "Related work" section on cover page. [RFC2119] Bradner, S., Key words for use in RFCs to Indicate Requirement Levels, BCP 14, RFC 2119, March 1997.  HYPERLINK "http://www.ietf.org/rfc/rfc2119.txt" http://www.ietf.org/rfc/rfc2119.txt. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, Uniform Resource Identifier (URI): Generic Syntax, IETF RFC3986, January 2005.  HYPERLINK "http://www.ietf.org/rfc/rfc3986.txt" http://www.ietf.org/rfc/rfc3986.txt. [RFC3987] Duerst, M. and, M. Suignard, Internationalized Resource Identifiers (IRIs), RFC 3987, January 2005.  HYPERLINK "http://www.ietf.org/rfc/rfc3987.txt" http://www.ietf.org/rfc/rfc3987.txt. [RFC7159] Bray, T., Ed., The JavaScript Object Notation (JSON) Data Interchange Format, RFC 7159, March 2014.  HYPERLINK "http://tools.ietf.org/html/rfc7159" http://tools.ietf.org/html/rfc7159. [RFC5646] Phillips, A., Ed., and M. Davis, Ed., Tags for Identifying Languages, BCP 47, RFC 5646, September 2009.  HYPERLINK "http://tools.ietf.org/html/rfc5646" http://tools.ietf.org/html/rfc5646. [ECMAScript] ECMAScript Language Specification Edition 5,1. June 2011. Standard ECMA-262.  HYPERLINK "http://www.ecma-international.org/publications/standards/Ecma-262.htm" http://www.ecma-international.org/publications/standards/Ecma-262.htm. Typographical Conventions Keywords defined by this specification use this monospaced font. Normative source code uses this paragraph style. Some sections of this specification are illustrated with non-normative examples. Example  SEQ Example \* ARABIC 1: text describing an example uses this paragraph style Non-normative examples use this paragraph style. All examples in this document are non-normative and informative only. All other text is normative unless otherwise labeled. JSON Format Design JSON, as described in  HYPERLINK \l "rfc7159" [RFC7159], defines a text format for serializing structured data. Objects are serialized as an unordered collection of name/value pairs. JSON does not define any semantics around the name/value pairs that make up an object, nor does it define an extensibility mechanism for adding control information to a payload. ODatas JSON format extends JSON by defining general conventions for name/value pairs that annotate a JSON object, property or array. OData defines a set of canonical annotations for control information such as ids, types, and links, and custom annotations MAY be used to add domain-specific information to the payload. A key feature of ODatas JSON format is to allow omitting predictable parts of the wire format from the actual payload. To reconstitute this data on the receiving end, expressions are used to compute missing links, type information, and other control data. These expressions (together with the data on the wire) can be used by the client to compute predictable payload pieces as if they had been included on the wire directly. Annotations are used in JSON to capture control information that cannot be predicted (e.g., the next link of a collection) as well as a mechanism to provide values where a computed value would be wrong (e.g., if the media read link of one particular entity does not follow the standard URL conventions). Computing values from metadata expressions is compute intensive and some clients might opt for a larger payload size to avoid computational complexity; to accommodate for this the Accept header allows the client to control the amount of control information added to the response. To optimize streaming scenarios, there are a few restrictions that MAY be imposed on the sequence in which name/value pairs appear within JSON objects. For details on the ordering requirements see  HYPERLINK \l "_Payload_Ordering_Constraints_1" Payload Ordering Constraints. Requesting the JSON Format The OData JSON format can be requested using the $format query option in the request URL with the MIME type application/json, optionally followed by format parameters, or the case-insensitive abbreviation json which MUST NOT be followed by format parameters. Alternatively, this format can be requested using the Accept header with the MIME type application/json, optionally followed by format parameters. If specified, $format overrides any value specified in the Accept header. Possible format parameters are:  HYPERLINK \l "_Controlling_the_Amount" odata.metadata  HYPERLINK \l "_Controlling_the_Representation" IEEE754Compatible  HYPERLINK \l "_Controlling_the_Representation" ExponentialDecimals  HYPERLINK \l "_Payload_Ordering_Constraints_1" odata.streaming The names and values of these format parameters are case-insensitive. Services SHOULD advertise the supported MIME types by annotating the entity container with the term Capabilities.SupportedFormats defined in  HYPERLINK \l "VocCapabilities" [OData-VocCap], listing all available formats and combinations of supported format parameters. Controlling the Amount of Control Information in Responses The amount of  HYPERLINK \l "_Control_Information" control information needed (or desired) in the payload depends on the client application and device. The odata.metadata parameter can be applied to the Accept header of an OData request to influence how much control information will be included in the response. Other Accept header parameters (e.g., odata.streaming) are orthogonal to the odata.metadata parameter and are therefore not mentioned in this section. If a client prefers a very small wire size and is intelligent enough to compute data using metadata expressions, the Accept header should include  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal. If computation is more critical than wire size or the client is incapable of computing control information,  HYPERLINK \l "_odata.metadata=full" odata.metadata=full directs the service to inline the control information that normally would be computed from metadata expressions in the payload.  HYPERLINK \l "_odata=nometadata" odata.metadata=none is an option for clients that have out-of-band knowledge or don't require control information. In addition the client may use the odata.include-annotations preference in the Prefer header to request additional control information. Services supporting this MUST NOT omit control information required by the chosen odata.metadata parameter, and services MUST NOT exclude the  HYPERLINK \l "odataNext" odata.nextLink,  HYPERLINK \l "odataDelta" odata.deltaLink, and  HYPERLINK \l "odataCount" odata.count if they are required by the response type. odata.metadata=minimal The odata.metadata=minimal format parameter indicates that the service SHOULD remove computable control information from the payload wherever possible. This is the default value for the odata.metadata parameter and will be assumed if no other value is specified in the Accept header or $format query option. The response payload MUST contain at least the following common  HYPERLINK \l "_Instance_Annotations" annotations:  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context: the root context URL of the payload and the context URL for any deleted entries or added or deleted links in a delta response, or for entities or entity collections whose set cannot be determined from the root context URL  HYPERLINK \l "odataEtag" odata.etag: the ETag of the entity, as appropriate  HYPERLINK \l "odataCount" odata.count: the total count of a collection of entities or collection of entity references, if requested  HYPERLINK \l "odataNext" odata.nextLink: the next link of a collection with partial results  HYPERLINK \l "odataDelta" odata.deltaLink: the delta link for obtaining changes to the result, if requested In addition, odata annotations MUST appear in the payload for cases where actual values are not the same as the computed values and MAY appear otherwise. When odata annotations appear in the payload, they are treated as exceptions to the computed values. Media entities and stream properties MAY in addition contain the following annotations:  HYPERLINK \l "_Annotation_odata.media*_1" odata.mediaEtag: the ETag of the stream, as appropriate  HYPERLINK \l "_Annotation_odata.media*_1" odata.mediaContentType: the content type of the stream odata.metadata=full The odata.metadata=full format parameter indicates that the service MUST include all control information explicitly in the payload. The full list of annotations that may appear in an odata.metadata=full response is as follows:  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context: the context URL for a collection, entity, primitive value, or service document.  HYPERLINK \l "odataCount" odata.count: the total count of a collection of entities or collection of entity references, if requested.  HYPERLINK \l "odataNext" odata.nextLink: the next link of a collection with partial results  HYPERLINK \l "odataDelta" odata.deltaLink: the delta link for obtaining changes to the result, if requested  HYPERLINK \l "_The_odata.id_Annotation_1" odata.id: the ID of the entity  HYPERLINK \l "odataEtag" odata.etag: the ETag of the entity  HYPERLINK \l "_Annotation_odata.editLink_and" odata.readLink: the link used to read the entity, if the edit link cannot be used to read the entity  HYPERLINK \l "_Annotation_odata.editLink_and" odata.editLink: the link used to edit/update the entity, if the entity is updatable and the odata.id does not represent a URL that can be used to edit the entity  HYPERLINK \l "_Annotation_odata.navigationLink_and_1" odata.navigationLink: the link used to retrieve the values of a navigation property  HYPERLINK \l "_Annotation_odata.navigationLink_and_1" odata.associationLink: the link used to describe the relationship between this entity and related entities  HYPERLINK \l "odataType" odata.type: the type of the containing object or targeted property if the type of the object or targeted property cannot be heuristically determined Media entities and stream properties may in addition contain the following annotations:  HYPERLINK \l "_Annotation_odata.media*_1" odata.mediaReadLink: the link used to read the stream  HYPERLINK \l "_Annotation_odata.media*_1" odata.mediaEditLink: the link used to edit/update the stream  HYPERLINK \l "_Annotation_odata.media*_1" odata.mediaEtag: the ETag of the stream, as appropriate  HYPERLINK \l "_Annotation_odata.media*_1" odata.mediaContentType: the content type of the stream odata.metadata=none The odata.metadata=none format parameter indicates that the service SHOULD omit control information other than  HYPERLINK \l "odataNext" odata.nextLink and  HYPERLINK \l "odataCount" odata.count. These annotations MUST continue to be included, as applicable, even in the odata.metadata=none case. It is not valid to specify odata.metadata=none on a  HYPERLINK \l "_Delta_Response" delta request. Controlling the Representation of Numbers The IEEE754Compatible=true format parameter indicates that the service MUST serialize Edm.Int64 and Edm.Decimal numbers (including the  HYPERLINK \l "_Annotation_odata.count" odata.count, if requested) as strings. This is in conformance with  HYPERLINK \l "ijson" [I-JSON]. If not specified, or specified as IEEE754Compatible=false, all numbers MUST be serialized as JSON numbers. This enables support for JavaScript numbers that are defined to be 64-bit binary format IEEE 754 values  HYPERLINK \l "ECMAScript" [ECMAScript] (see  HYPERLINK "http://www.ecma-international.org/ecma-262/5.1/" \l "sec-4.3.19" section 4.3.1.9) resulting in integers losing precision past 15 digits, and decimals losing precision due to the conversion from base 10 to base 2. OData JSON payloads that format Edm.Int64 and Edm.Decimal values as strings MUST specify this format parameter in the media type returned in the  HYPERLINK \l "_Header_Content-Type" Content-Type header. The ExponentialDecimals=true format parameter indicates that the service MAY serialize Edm.Decimal numbers (including the  HYPERLINK \l "_Annotation_odata.count" odata.count, if requested) in exponential notation (e.g. 1e-6 instead of 0.000001). The sender of a request MUST specify ExponentialDecimals=true in the Content-Type header if the request body contains Edm.Decimal values in exponential notation. If not specified, or specified as ExponentialDecimals=false, all Edm.Decimal values MUST be serialized in long notation, using only an optional sign, digits, and an optional decimal point followed by digits. Common Characteristics This section describes common characteristics of the representation for OData values in JSON. A request or response body consists of several parts. It contains OData values as part of a larger document. Requests and responses are structured almost identical; the few existing differences will be explicitly called out in the respective subsections. Header Content-Type Requests and responses with a JSON message body MUST have a Content-Type header value of application/json. Requests MAY add the charset parameter to the content type. Allowed values are UTF-8, UTF-16, and UTF-32. If no charset parameter is present, UTF-8 MUST be assumed. Responses MUST include the  HYPERLINK \l "_Controlling_the_Amount" odata.metadata parameter to specify the amount of metadata included in the response. Responses MUST include the  HYPERLINK \l "_Controlling_the_Representation" IEEE754Compatible parameter if Edm.Int64 and Edm.Decimal numbers are represented as strings. Requests and responses MAY add the odata.streaming parameter with a value of true or false, see section  HYPERLINK \l "_Payload_Ordering_Constraints_1" Payload Ordering Constraints. Message Body Each message body is represented as a single JSON object. This object is either the representation of an  HYPERLINK \l "Entitiy" entity, an  HYPERLINK \l "ResourceReference" entity reference or a  HYPERLINK \l "_Representing_a_Complex" complex type instance, or it contains a name/value pair whose name MUST be value and whose value is the correct representation for a  HYPERLINK \l "_Primitive_Value" primitive value, a  HYPERLINK \l "CollectionOfPrimitive" collection of primitive values, a  HYPERLINK \l "_Collection_of_Complex" collection of complex values, a  HYPERLINK \l "CollectionOfEntities" collection of entities, or a collection of objects that represent  HYPERLINK \l "DeltaResponse" changes to a previous result. Client libraries MUST retain the order of objects within an array in JSON responses. Relative URLs URLs present in a payload (whether request or response) MAY be represented as relative URLs. Relative URLs, other than those in odata.type, are relative to their base URL, which is the  HYPERLINK \l "_Annotation_odata.metadata" context URL of the same JSON object, if one exists, otherwise the context URL of the enclosing object, if one exists, otherwise the context URL of the next enclosing object, if one exists, etc. until the document root, otherwise the request URL. For context URLs these rules apply starting with the second bullet point. Within the  HYPERLINK \l "_Annotation_odata.type" odata.type annotation, relative URLs are relative to the base type URL, which is the odata.type of the enclosing object, if one exists, otherwise the odata.type of the next enclosing object, if one exists, etc. until the document root, otherwise the context URL of the document root, if one exists, otherwise the request URL. Processors expanding the URLs MUST use normal URL expansion rules as defined in  REF RFC3986 \h RFC3986. This means that if the base URL is a context URL, the part starting with $metadata# is ignored when resolving the relative URL. Clients that receive relative URLs in response payloads SHOULD use the same relative URLs, where appropriate, in request payloads (such as  HYPERLINK \l "_Bind_Operation" bind operations and batch requests) and in system query options (such as $id). Example  SEQ Example \* ARABIC 2: { "@odata.context": "http://host/service/$metadata#Customers/$entity", ... "@odata.editLink": "Customers('ALFKI')", ... "Orders@odata.navigationLink": "Customers('ALFKI')/Orders", ... } The resulting absolute URLs are http://host/service/Customers('ALFKI') and http://host/service/Customers('ALFKI')/Orders. Payload Ordering Constraints Ordering constraints MAY be imposed on the JSON payload in order to support streaming scenarios. These ordering constraints MUST only be assumed if explicitly specified as some clients (and services) might not be able to control, or might not care about, the order of the JSON properties in the payload. Clients can request that a JSON response conform to these ordering constraints by specifying a media type of application/json with the odata.streaming=true parameter in the Accept header or $format query option. Services MUST return 406 Not Acceptable if the client only requests streaming and the service does not support it. Clients may specify the odata.streaming=true parameter in the Content-Type header of requests to indicate that the request body follows the payload ordering constraints. In the absence of this parameter, the service must assume that the JSON properties in the request are unordered. Processors MUST only assume streaming support if it is explicitly indicated in the Content-Type header via the odata.streaming=true parameter. Example  SEQ Example \* ARABIC 3: a payload with Content-Type: application/json;odata.metadata=minimal;odata.streaming=true can be assumed to support streaming, whereas a payload with Content-Type: application/json;odata.metadata=minimal cannot be assumed to support streaming. JSON producers are encouraged to follow the payload ordering constraints whenever possible (and include the odata.streaming=true content type parameter) to support the maximum set of client scenarios. To support streaming scenarios the following payload ordering constraints have to be met: If present, the odata.context annotation MUST be the first property in the JSON object. The odata.type annotation, if present, MUST appear next in the JSON object. The odata.id and odata.etag annotations MUST appear before any property or property annotation. All annotations for a structural or navigation property MUST appear as a group immediately before the property they annotate. The one exception is the odata.nextLink annotation of an expanded collection which MAY appear after the navigation property it annotates. All other odata annotations can appear anywhere in the payload as long as they do not violate any of the above rules. Annotations for navigation properties MUST appear after all structural properties. Control Information In addition to the pure data a message body MAY contain control information that is represented as  HYPERLINK \l "_Instance_Annotations" annotations whose names start with odata followed by a dot. In some cases control information is required in request payloads; this is called out in the following subsections. Receivers that encounter unknown annotations in any namespace, including the odata namespace, MUST NOT stop processing and MUST NOT signal an error. Annotation odata.context The odata.context annotation returns the context URL (see  HYPERLINK \l "odata" [OData-Protocol]) for the payload. This URL can be absolute or  HYPERLINK \l "_Relative_URLs" relative. The odata.context annotation is not returned if  HYPERLINK \l "_odata.metadata=none" odata.metadata=none is requested. Otherwise it MUST be the first property of any JSON response. The odata.context annotation MUST also be included in requests and responses for entities whose entity set cannot be determined from the context URL of the collection. For more information on the format of the context URL, see  HYPERLINK \l "odata" [OData-Protocol]. Request payloads MAY include a context URL as a base URL for  HYPERLINK \l "_Relative_URLs" relative URLs in the request payload. Example  SEQ Example \* ARABIC 4: { "@odata.context": "http://host/service/$metadata#Customers/$entity", "@odata.metadataEtag": "W/\"A1FF3E230954908F\"", ... } Annotation odata.metadataEtag The odata.metadataEtag annotation MAY appear in a response in order to specify the entity tag (ETag) that can be used to determine the version of the metadata of the response. If an ETag is returned when requesting the metadata document, then the service SHOULD set the odata.metadataEtag annotation to the metadata document's ETag in all responses when using  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal or  HYPERLINK \l "_odata.metadata=full" odata.metadata=full. If no ETag is returned when requesting the metadata document, then the service SHOULD NOT set the odata.metadataEtag annotation in any responses. For details on how ETags are used, see  HYPERLINK \l "odata" [OData-Protocol]. Annotation odata.type The odata.type annotation specifies the type of a JSON object or name/value pair. Its value is a URI that identifies the type of the property or object. For built-in primitive types the value is the unqualified name of the primitive type, specified as a URI fragment. For all other types, the URI may be absolute or relative to the odata.type of the containing object. The root odata.type may be absolute or relative to the root  HYPERLINK \l "_Annotation_odata.context" context URL. For non-built in primitive types, the URI contains the namespace-qualified or alias-qualified type, specified as a URI fragment. For properties that represent a collection of values, the fragment is the namespace-qualified or alias-qualified element type enclosed in parentheses and prefixed with Collection. The namespace or alias MUST be defined or the namespace referenced in the metadata document of the service, see  HYPERLINK \l "odataCSDL" [OData-CSDL]. The odata.type annotation MUST appear in requests and in responses with  HYPERLINK \l "_odata=minimalmetadata" minimal or  HYPERLINK \l "_odata.metadata=full" full metadata, if the type cannot be heuristically determined, as described below, and one of the following is true: The type is derived from the type specified for the (collection of) entities or (collection of) complex type instances, or The type is for a property whose type is not declared in $metadata. The following heuristics are used to determine the primitive type of a dynamic property in the absence of the odata.type annotation: Boolean values have a first-class representation in JSON and do not need any additional annotations. Numeric values have a first-class representation in JSON but are not further distinguished, so they include an  HYPERLINK \l "_Annotation_odata.type" odata.type annotation unless their type is Double. The special floating-point values NaN, INF, and -INF are serialized as strings and MUST have an  HYPERLINK \l "_Annotation_odata.type" odata.type annotation to specify the numeric type. String values do have a first class representation in JSON, but there is an obvious collision: OData also encodes a number of other primitive types as strings, e.g. DateTimeOffset, Int64 in the presence of the  HYPERLINK \l "_Controlling_the_Representation" IEEE754Compatible format parameter etc. If a property appears in JSON string format, it should be treated as a string value unless the property is known (from the metadata document) to have a different type. For more information on namespace- and alias-qualified names, see  HYPERLINK \l "odataCSDL" [OData-CSDL]. Example  SEQ Example \* ARABIC 5: entity of type Model.VipCustomer defined in the metadata document of the same service with a dynamic property of type Edm.Double and a value of positive infinity { "@odata.context": "http://host/service/$metadata#Customers/$entity", "@odata.type": "#Model.VipCustomer", "ID": 2, "DynamicLimit": "INF", "DynamicLimit@odata.type": "#Double", ... } Example  SEQ Example \* ARABIC 6: entity of type Model.VipCustomer defined in the metadata document of a different service { "@odata.context": "http://host/service/$metadata#Customers/$entity", "@odata.type": "http://host/alternate/$metadata#Model.VipCustomer", "ID": 2, ... } Annotation odata.count The odata.count annotation occurs only in responses and can annotate any collection, see  HYPERLINK \l "odata" [OData-Protocol] section 11.2.5.5 System Query Option $count. Its value is an Edm.Int64 value corresponding to the total count of members in the collection represented by the request. Annotation odata.nextLink The odata.nextLink annotation indicates that a response is only a subset of the requested collection. It contains a URL that allows retrieving the next subset of the requested collection. This annotation can also be applied to  HYPERLINK \l "_Expanded_Navigation_Property" expanded to-many navigation properties. Annotation odata.deltaLink The odata.deltaLink annotation contains a URL that can be used to retrieve changes to the current set of results. The odata.deltaLink annotation MUST only appear on the last page of results. A page of results MUST NOT have both an odata.deltaLink annotation and an odata.nextLink annotation. Annotation odata.id The odata.id annotation contains the entity-id; see  HYPERLINK \l "odata" [OData-Protocol]. By convention the entity-id is identical to the canonical URL of the entity, as defined in  HYPERLINK \l "ODataURLRef" [OData-URL]. The odata.id annotation MUST appear in responses if  HYPERLINK \l "_odata.metadata=full" odata.metadata=full is requested, or if  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal is requested and any of the entity's key fields are omitted from the response or the entity-id is not identical to the canonical URL of the entity after IRI-to-URI conversion as defined in  HYPERLINK \l "RFC3987" [RFC3987], relative resolution as defined in section 5.2 of  HYPERLINK \l "RFC3986" [RFC3986], and percent-encoding normalization as defined in section 6 of  HYPERLINK \l "RFC3986" [RFC3986]. Note that the entity-id MUST be invariant across languages, so if key values are language dependent then the odata.id MUST be included if it does not match convention for the localized key values. If the odata.id is represented, it MAY be a  HYPERLINK \l "_Relative_URLs" relative URL. If the entity is transient (i.e. cannot be read or updated), the odata.id annotation MUST appear and have the null value. The odata.id annotation MUST NOT appear for a collection. Its meaning in this context is reserved for future versions of this specification. Entities with odata.id equal to null cannot be compared to other entities, reread, or updated. If  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal is specified and the odata.id is not present in the entity then the canonical URL MUST be used as the entity-id. Annotation odata.editLink and odata.readLink The odata.editLink annotation contains the edit URL of the entity; see  HYPERLINK \l "odata" [OData-Protocol]. The odata.readLink annotation contains the read URL of the entity or collection; see  HYPERLINK \l "odata" [OData-Protocol]. The odata.editLink and odata.readLink annotations are ignored in request payloads and not written in responses if  HYPERLINK \l "_odata=nometadata" odata.metadata=none is requested. The default value of both the edit URL and read URL is the entity's  HYPERLINK \l "_The_odata.id_Annotation_1" entity-id appended with a cast segment to the type of the entity if its type is derived from the declared type of the entity set. If neither the odata.editLink nor the odata.readLink annotation is present in an entity, the client uses this default value for the edit URL. For updatable entities: The odata.editLink annotation is written if  HYPERLINK \l "_odata.metadata=full" odata.metadata=full is requested or if  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal is requested and the edit URL differs from the default value of the edit URL. The odata.readLink annotation is written if the read URL is different from the edit URL. If no odata.readLink annotation is present, the read URL is identical to the edit URL. For read-only entities: The odata.readLink annotation is written if  HYPERLINK \l "_odata.metadata=full" odata.metadata=full is requested or if  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal is requested and its value differs from the default value of the read URL. The odata.readLink annotation may also be written if  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal is specified in order to signal that an individual entity is read-only. For collections: The odata.readLink annotation, if written, MUST be the request URL that produced the collection. The odata.editLink annotation MUST NOT be written as its meaning in this context is reserved for future versions of this specification. Annotation odata.etag The odata.etag annotation MAY be applied to an  HYPERLINK \l "_Entity" entity in a response. The value of the annotation is an entity tag (ETag) which is an opaque string value that can be used in a subsequent request to determine if the value of the entity has changed. For details on how ETags are used, see  HYPERLINK \l "odata" [OData-Protocol]. The odata.etag annotation is ignored in request payloads and not written in responses if  HYPERLINK \l "_odata=nometadata" odata.metadata=none is requested. Annotation odata.navigationLink and odata.associationLink The odata.navigationLink annotation in a response contains a navigation URL that can be used to retrieve an entity or collection of entities related to the current entity via a  HYPERLINK \l "_Navigation_Property" navigation property. The default computed value of a navigation URL is the value of the  HYPERLINK \l "_Annotation_odata.editLink_and" read URL appended with a segment containing the name of the navigation property. The service MAY omit the odata.navigationLink annotation if  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal has been specified on the request and the navigation link matches this computed value. The odata.associationLink annotation in a response contains an association URL that can be used to retrieve a reference to an entity or a collection of references to entities related to the current entity via a navigation property. The default computed value of an association URL is the value of the navigation URL appended with /$ref. The service MAY omit the odata.associationLink annotation if the association link matches this computed value. The odata.navigationLink and odata.associationLink annotations are ignored in request payloads and not written in responses if  HYPERLINK \l "_odata=nometadata" odata.metadata=none is requested. Annotation odata.media* For  HYPERLINK \l "_Media_Entity" media entities and  HYPERLINK \l "_Stream_Property" stream properties at least one of the annotations odata.mediaEditLink and odata.mediaReadLink MUST be included in responses if they don't follow standard URL conventions as defined in  HYPERLINK \l "ODataURLRef"  REF ODataURLRef \h OData-URL or if  HYPERLINK \l "_odata.metadata=full" odata.metadata=full is requested. The odata.mediaEditLink annotation contains a URL that can be used to update the binary stream associated with the media entity or stream property. It MUST be included for updatable media entities if it differs from the value of the odata.id, and for updatable stream properties if it differs from standard URL conventions. The odata.mediaReadLink annotation contains a URL that can be used to read the binary stream associated with the media entity or stream property. It MUST be included if its value differs from the value of the associated odata.mediaEditLink, if present, or the value of the odata.id for media entities if the associated odata.mediaEditLink is not present. The odata.mediaContentType annotation MAY be included; its value SHOULD match the content type of the binary stream represented by the odata.mediaReadLink URL. This is only a hint; the actual content type will be included in a header when the resource is requested. The odata.mediaEtag annotation MAY be included; its value is the ETag of the binary stream represented by this media entity or stream property. The odata.media* annotations are ignored in request payloads and not written in responses if  HYPERLINK \l "_odata=nometadata" odata.metadata=none is requested. Example  SEQ Example \* ARABIC 7: { "@odata.context": "http://host/service/$metadata#Employees/$entity", "@odata.mediaReadLink": "Employees(1)/$value", "@odata.mediaContentType": "image/jpeg", "EmployeeID": 1, ... } Service Document A service document in JSON is represented as a single JSON object with at least two properties; odata.context and value. The value of the odata.context property MUST be the URL of the metadata document, without any fragment part. The value of the value property MUST be a JSON Array containing one element for each entity set and function import with an explicit or default value of true for the attribute IncludeInServiceDocument and each singleton exposed by the service, see  HYPERLINK \l "odataCSDL" [OData-CSDL]. Each element MUST be a JSON object with at least two name/value pairs, one with name name containing the name of the entity set, function import, or singleton, and one with name url containing the URL of the entity set, which may be an absolute or a  HYPERLINK \l "_Relative_URLs" relative URL. It MAY contain a name/value pair with name title containing a human-readable, language-dependent title for the object. JSON objects representing an entity set MAY contain an additional name/value pair with name kind and a value of EntitySet. If the kind name/value pair is not present, the object MUST represent an entity set. JSON objects representing a function import MUST contain the kind name/value pair with a value of FunctionImport. JSON objects representing a singleton MUST contain the kind name/value pair with a value of Singleton. JSON objects representing a related service document MUST contain the kind name/value pair with a value of ServiceDocument. Clients that encounter unknown values of the kind name/value pair not defined in this version of the specification MUST NOT stop processing and MUST NOT signal an error. Service documents MAY contain  HYPERLINK \l "_Instance_Annotations" annotations in any of its JSON objects. Services MUST NOT produce name/value pairs other than the ones explicitly defined in this section, and clients MUST ignore unknown name/value pairs. Example  SEQ Example \* ARABIC 8: { "@odata.context": "http://host/service/$metadata", "value": [ { "name": "Orders", "kind": "EntitySet", "url": "Orders" }, { "name": "OrderItems", "title": "Order Details", "url": "OrderItems" }, { "name": "TopProducts", "title": "Best-Selling Products", "kind": "FunctionImport", "url": "TopProducts" }, { "name": "MainSupplier", "title": "Main Supplier", "kind": "Singleton", "url": "MainSupplier" }, { "name": "Human Resources", "kind": "ServiceDocument", "url": "http://host/HR/" } ] } Entity An entity is serialized as a JSON object. Each  HYPERLINK \l "_Structural_Property" property to be transmitted is represented as a name/value pair within the object. The order properties appear within the object is considered insignificant. An entity in a payload may be a complete entity, a projected entity (see System Query Option $select  HYPERLINK \l "odata" [OData-Protocol]), or a partial entity update (see Update an Entity in  HYPERLINK \l "odata" [OData-Protocol]). An entity representation can be (modified and) round-tripped to the service directly. The  HYPERLINK \l "_The_odata.metadata_Annotation_1" context URL is used in requests only as a base for  HYPERLINK \l "_Relative_URLs" relative URLs. Example  SEQ Example \* ARABIC 9: entity with odata.metadata=minimal { "@odata.context": "http://host/service/$metadata#Customers/$entity", "ID": "ALFKI", "CompanyName": "Alfreds Futterkiste", "ContactName": "Maria Anders", "ContactTitle": "Sales Representative", "Phone": "030-0074321", "Fax": "030-0076545", "Address": { "Street": "Obere Str. 57", "City": "Berlin", "Region": null, "PostalCode": "D-12209" } } Example  SEQ Example \* ARABIC 10: entity with odata.metadata=full { "@odata.context": "http://host/service/$metadata#Customers/$entity", "@odata.id": "Customers('ALFKI')", "@odata.etag": "W/\"MjAxMy0wNS0yN1QxMTo1OFo=\"", "@odata.editLink": "Customers('ALFKI')", "ID": "ALFKI", "CompanyName": "Alfreds Futterkiste", "ContactName": "Maria Anders", "ContactTitle": "Sales Representative", "Phone": "030-0074321", "Fax": "030-0076545", "Address": { "Street": "Obere Str. 57", "City": "Berlin", "Region": null, "PostalCode": "D-12209", "Country@odata.associationLink":"Customers('ALFKI')/Address/Country/$ref", "Country@odata.navigationLink": "Customers('ALFKI')/Address/Country" }, "Orders@odata.associationLink": "Customers('ALFKI')/Orders/$ref", "Orders@odata.navigationLink": "Customers('ALFKI')/Orders" } Structural Property A property within an entity or complex type instance is represented as a name/value pair. The name MUST be the name of the property; the value is represented depending on its type as a  HYPERLINK \l "_Primitive_Value" primitive value, a  HYPERLINK \l "_Complex_Value" complex value, a  HYPERLINK \l "CollectionOfPrimitive" collection of primitive values, or a  HYPERLINK \l "_Collection_of_Complex" collection of complex values. Primitive Value Primitive values are represented following the rules of  HYPERLINK \l "rfc7159" [RFC7159]. Null values are represented as the JSON literal null. Values of type Edm.Boolean are represented as the JSON literals true and false Values of types Edm.Byte, Edm.SByte, Edm.Int16, Edm.Int32, Edm.Int64, Edm.Single, Edm.Double, and Edm.Decimal are represented as JSON numbers, except for NaN, INF, and INF which are represented as strings. Values of type Edm.String are represented as JSON strings, using the JSON string escaping rules. Values of type Edm.Binary, Edm.Date, Edm.DateTimeOffset, Edm.Duration, Edm.Guid, and Edm.TimeOfDay are represented as JSON strings whose content satisfies the rules binaryValue, dateValue, dateTimeOffsetValue, durationValue, guidValue, and timeOfDayValue respectively, in  HYPERLINK \l "abnf" [OData-ABNF]. Enumeration values are represented as JSON strings whose content satisfies the rule enumValue in  HYPERLINK \l "abnf" [OData-ABNF]. The preferred representation is the enumerationMember. If no enumerationMember (or combination of named enumeration members) is available, the enumMemberValue representation may be used. Geography and geometry values are represented as geometry types as defined in  HYPERLINK \l "GeoJSON" [GeoJSON], with the following modifications: Keys SHOULD be ordered with type first, then coordinates, then any other keys The coordinates member of a LineString can have zero or more positions If the optional CRS object is present, it MUST be of type name, where the value of the name member of the contained properties object is an EPSG SRID legacy identifier. Geography and geometry types have the same representation in a JSON payload. Whether the value represents a geography type or geometry type is inferred from its usage or specified using the  HYPERLINK \l "_Annotation_odata.type" odata.type annotation. Example  SEQ Example \* ARABIC 11: { "NullValue": null, "TrueValue": true, "FalseValue": false, "BinaryValue": "T0RhdGE", "IntegerValue": -128, "DoubleValue": 3.1415926535897931, "SingleValue": "INF", "DecimalValue": 34.95, "StringValue": "Say \"Hello\",\nthen go", "DateValue": "2012-12-03", "DateTimeOffsetValue": "2012-12-03T07:16:23Z", "DurationValue": "P12DT23H59M59.999999999999S", "TimeOfDayValue": "07:59:59.999", "GuidValue": "01234567-89ab-cdef-0123-456789abcdef", "Int64Value": 0, "ColorEnumValue": "Yellow", "GeographyPoint": {"type": "Point","coordinates":[142.1,64.1]} } Complex Value A complex value is represented as a single JSON object containing one name/value pair for each property that makes up the complex type. Each property value is formatted as appropriate for the type of the property. It MAY have name/value pairs for instance annotations, including odata annotations. Example  SEQ Example \* ARABIC 12: { "@odata.context": "http://host/service/$metadata#Customers/$entity", ... "Address": { "Street": "Obere Str. 57", "City": "Berlin", "Region": null, "PostalCode": "D-12209" } } A complex value with no selected properties, or no defined properties (such as an empty open complex type or complex type with no structural properties) is represented as an empty JSON object. Collection of Primitive Values A collection of primitive values is represented as a JSON array; each element in the array is the representation of a  HYPERLINK \l "_Primitive_Value" primitive value. A JSON literal null represents a null value within the collection. An empty collection is represented as an empty array. Example  SEQ Example \* ARABIC 13: partial collection of strings with next link { "@odata.context": "http://host/service/$metadata#Customers/$entity", ... "EmailAddresses": [ "Julie@Swansworth.com", "Julie.Swansworth@work.com" ], "EmailAddresses@odata.nextLink": "..." } Collection of Complex Values A collection of complex values is represented as a JSON array; each element in the array is the representation of a  HYPERLINK \l "_Representing_a_Complex" complex value. A JSON literal null represents a null value within the collection. An empty collection is represented as an empty array. Example  SEQ Example \* ARABIC 14: partial collection of complex values with next link { "PhoneNumbers": [ { "Number": "425-555-1212", "Type": "Home" }, { "@odata.type": "#Model.CellPhoneNumber", "Number": "425-555-0178", "Type": "Cell", "Carrier": "Sprint" } ], "PhoneNumbers@odata.nextLink": "..." } Navigation Property A navigation property is a reference from a source entity to zero or more related entities. Navigation Link The navigation link for a navigation property is represented as a name/value pair. The name is the name of the property, followed by @odata.navigationLink. The value is an absolute or  HYPERLINK \l "_Relative_URLs" relative URL that allows retrieving the related entity or collection of entities. The navigation link for a navigation property is only represented if the client requests odata.metadata=full or the navigation link cannot be computed, e.g. if it is within a collection of complex type instances. If it is represented it MUST immediately precede the expanded navigation property if the latter is represented. Example  SEQ Example \* ARABIC 15: { "@odata.context": "http://host/service/$metadata#Customers/$entity", ... "Orders@odata.navigationLink": "Customers('ALFKI')/Orders", ... } Association Link The association link for a navigation property is represented as a name/value pair. The name is the name of the property, followed by @odata.associationLink. The value is an absolute or  HYPERLINK \l "_Relative_URLs" relative URL that can be used to retrieve the reference or collection of references to the related entity or entities. The association link for a navigation property is only represented if the client requests odata.metadata=full or the association link cannot be computed by appending /$ref to the navigation link. If it is represented, it MUST immediately precede the navigation link if the latter is represented, otherwise it MUST immediately precede the expanded navigation property if it is represented. Example  SEQ Example \* ARABIC 16: { "@odata.context": "http://host/service/$metadata#Customers/$entity", ... "Orders@odata.associationLink": "Customers('ALFKI')/Orders/$ref", ... } Expanded Navigation Property An expanded navigation property is represented as a name/value pair where the name is the name of the navigation property, and the value is the representation of the related entity or collection of entities. If at most one entity can be related, the value is the representation of the related entity, or null if no entity is currently related. If a collection of entities can be related, it is represented as a JSON array. Each element is the  HYPERLINK \l "_Entity" representation of an entity or the  HYPERLINK \l "ResourceReference" representation of an entity reference. An empty collection of entities (one that contains no entities) is represented as an empty JSON array. The navigation property MAY be annotated with  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context,  HYPERLINK \l "_Annotation_odata.count" odata.count or odata.nextLink. If a navigation property is expanded with the suffix /$count, only the  HYPERLINK \l "_Annotation_odata.count" odata.count annotation is represented. Example  SEQ Example \* ARABIC 17: { "@odata.context": "http://host/service/$metadata#Customers/$entity", ... "Orders@odata.count": 42, "Orders": [ ... ], "Orders@odata.nextLink": "...", ... } Deep Insert When inserting a new entity with a POST request, related new entities MAY be specified using the same representation as for an  HYPERLINK \l "_Expanded_Navigation_Property" expanded navigation property. Deep inserts are not allowed in update operations using PUT or PATCH requests. Example  SEQ Example \* ARABIC 18: inserting a new order for a new customer with order items related to existing products: { "ID": 11643, "Amount": 100, ..., "Customer": { "ID": "ANEWONE", ... }, "Items": [ { "Product@odata.bind": "Products(28)", "Quantity": 1, ... }, { "Product@odata.bind": "Products(39)", "Quantity": 5, ... } ] } Bind Operation When inserting or updating an entity, relationships of navigation properties MAY be inserted or updated via bind operations. A bind operation is encoded as a property annotation odata.bind on the navigation property it belongs to and has a single value for single-valued navigation properties or an array of values for collection navigation properties. For nullable single-valued navigation properties the value null may be used to remove the relationship. The values are the  HYPERLINK \l "_Annotation_odata.id" ids of the related entities. They MAY be absolute or  HYPERLINK \l "_Relative_URLs" relative URLs. For insert operations collection navigation property bind operations and deep insert operations can be combined. In this case, the bind operations MUST appear before the deep insert operations in the payload. For update operations a bind operation on a collection navigation property adds additional relationships, it does not replace existing relationships, while bind operations on an entity navigation property update the relationship. Example  SEQ Example \* ARABIC 19: assign an existing product to an existing category with a partial update request PATCH http://host/service/Products(42) HTTP/1.1 { "Category@odata.bind": "Categories(6)" } Stream Property An entity or complex type instance can have one or more stream properties. The actual stream data is not contained in the representation. Instead stream property data is read and edited via URLs. The value for a stream property contains the URLs for reading and editing the stream data along with other metadata for the stream. The value of a stream property is represented as a set of  HYPERLINK \l "_Annotation_odata.media*" odata.media* annotations. Example  SEQ Example \* ARABIC 20: { "@odata.context": "http://host/service/$metadata#Products/$entity", ... "Thumbnail@odata.mediaReadLink": "http://server/Thumbnail546.jpg", "Thumbnail@odata.mediaEditLink": "http://server/uploads/Thumbnail546.jpg", "Thumbnail@odata.mediaContentType": "image/jpeg", "Thumbnail@odata.mediaEtag": "W/\"####\"", ... } Media Entity Media entities are entities that describe a media resource, for example a photo. They are represented as entities that contain additional  HYPERLINK \l "_Annotation_odata.media*" odata.media* annotations. Example  SEQ Example \* ARABIC 21: { "@odata.context": "http://host/service/$metadata#Employees/$entity", "@odata.mediaReadLink": "Employees(1)/$value", "@odata.mediaContentType": "image/jpeg", "ID": 1, ... } Individual Property or Operation Response An individual property or operation response is represented as a JSON object. A single-valued property or operation response that has the null value does not have a representation; see  HYPERLINK \l "odata" [OData-Protocol]. A property or operation response that is of a primitive type is represented as an object with a single name/value pair, whose name is value and whose value is a  HYPERLINK \l "_Primitive_Value" primitive value. A property or operation response that is of complex type is represented as a  HYPERLINK \l "_Representing_a_Complex" complex value. A property or operation response that is of a collection type is represented as an object with a single name/value pair whose name is value. Its value is the JSON representation of a  HYPERLINK \l "_Collection_of_Complex" collection of complex type values or  HYPERLINK \l "_Collection_of_Primitive" collection of primitive values. Example  SEQ Example \* ARABIC 22: primitive value { "@odata.context": "http://host/service/$metadata#Edm.String", "value": "Pilar Ackerman" } Example  SEQ Example \* ARABIC 23: collection of primitive values { "@odata.context": "http://host/service/$metadata#Collection(Edm.String)", "value": ["small", "medium", "extra large"] } Example  SEQ Example \* ARABIC 24: empty collection of primitive values { "@odata.context": "http://host/service/$metadata#Collection(Edm.String)", "value": [] } Example  SEQ Example \* ARABIC 25: complex value { "@odata.context": "http://host/service/$metadata#Model.Address", "Street": "12345 Grant Street", "City": "Taft", "Region": "Ohio", "PostalCode": "OH 98052", "Country@odata.navigationLink": "Countries('US')" } Example  SEQ Example \* ARABIC 26: empty collection of complex values { "@odata.context":"http://host/service/$metadata#Collection(Model.Address)", "value": [] } Note: the context URL is optional in requests. Collection of Entities A collection of entities is represented as a JSON object containing a name/value pair named value. It MAY contain  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context,  HYPERLINK \l "_Annotation_odata.count" odata.count,  HYPERLINK \l "odataNext" odata.nextLink, or  HYPERLINK \l "odataDelta" odata.deltaLink annotations. If present, the odata.context annotation MUST be the first name/value pair in the response. The odata.count name/value pair represents the number of entities in the collection. If present and the odata.streaming=true content type parameter is set, it MUST come before the value name/value pair. If the response represents a partial result, the odata.count name/value pair MUST appear in the first partial response, and it MAY appear in subsequent partial responses (in which case it may vary from response to response). The value of the value name/value pair is a JSON array where each element is  HYPERLINK \l "_Entity" representation of an entity or a  HYPERLINK \l ResourceReference representation of an entity reference. An empty collection is represented as an empty JSON array. Functions or actions that are bound to this collection of entities are advertised in the wrapper object in the same way as  HYPERLINK \l "_Bound_Function" functions or  HYPERLINK \l "_Bound_Action" actions are advertised in the object representing a single entity. The  HYPERLINK \l "_Annotation_odata.nextLink" odata.nextLink annotation MUST be included in a response that represents a partial result. Example  SEQ Example \* ARABIC 27: { "@odata.context": "...", "@odata.count": 37, "value": [ { ... }, { ... }, { ... } ], "@odata.nextLink": "...?$skiptoken=342r89" } Entity Reference An entity reference (see  HYPERLINK \l "odata" [OData-Protocol]) MAY take the place of an entity instance in a JSON payload, based on the client request. It is serialized as a JSON object that MUST contain the  HYPERLINK \l "_The_odata.id_Annotation_1" id of the referenced entity and MAY contain the  HYPERLINK \l "odataType" odata.type. A collection of entity references is represented as a  HYPERLINK \l "_Collection_of_Entities" collection of entities, with entity reference representations instead of entity representations as items in the array value of the value name/value pair. The outermost JSON object MUST contain an  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context annotation and MAY contain  HYPERLINK \l "_Annotation_odata.count" odata.count,  HYPERLINK \l "odataNext" odata.nextLink, or  HYPERLINK \l "odataDelta" odata.deltaLink annotations. Example  SEQ Example \* ARABIC 28: entity reference to order 10643 { "@odata.context": "http://host/service/$metadata#$ref", "@odata.id": "Orders(10643)" } Example  SEQ Example \* ARABIC 29: collection of entity references { "@odata.context": "http://host/service/$metadata#Collection($ref)", "value": [ { "@odata.id": "Orders(10643)" }, { "@odata.id": "Orders(10759)" } ] } Delta Response The non-format specific aspects of the delta handling are described in the section Requesting Changes in  HYPERLINK \l "odata" [OData-Protocol]. Responses from a delta request are returned as a JSON object. The JSON object MUST contain an array-valued property named value containing all  HYPERLINK \l "_Added/Changed_Entity" added,  HYPERLINK \l "_Representing_Added/Changed_Entities_1" changed, or  HYPERLINK \l "_Deleted_Entity" deleted entities, as well as  HYPERLINK \l "_Added_Link" added or  HYPERLINK \l "_Deleted_Link" deleted links between entities, and MAY contain additional, unchanged entities. If the delta response contains a partial list of changes, it MUST include a  HYPERLINK \l "_Annotation_odata.nextLink" next link for the client to retrieve the next set of changes. The last page of a delta response SHOULD contain a  HYPERLINK \l "_Annotation_odata.deltaLink" delta link for retrieving subsequent changes once the current set of changes has been applied to the initial set. If the response from the delta link contains an  HYPERLINK \l "_Annotation_odata.count" odata.count annotation, the returned number MUST include all added, changed, or deleted entities to be returned, as well as added or deleted links. Example  SEQ Example \* ARABIC 30: delta response with five changes, in order of occurrence ContactName for customer 'BOTTM' was changed to "Susan Halvenstern" Order 10643 was removed from customer 'ALFKI' Order 10645 was added to customer 'BOTTM' The shipping information for order 10643 was updated Customer 'ANTON' was deleted { "@odata.context":"http://host/service/$metadata#Customers/$delta", "@odata.count":5, "value": [ { "@odata.id":"Customers('BOTTM')'", "ContactName":"Susan Halvenstern" }, { "@odata.context":"#Customers/$deletedLink", "source":"Customers('ALFKI')'", "relationship":"Orders", "target":"Orders(10643)" }, { "@odata.context":"#Customers/$link", "source":"Customers('BOTTM')", "relationship":"Orders", "target":"Orders(10645)" }, { "@odata.context":"#Orders/$entity", "@odata.id":"Orders(10643)", "ShippingAddress":{ "Street":"23 Tsawassen Blvd.", "City":"Tsawassen", "Region":"BC", "PostalCode":"T2F 8M4" }, }, { "@odata.context":"#Customers/$deletedEntity", "id":"Customers('ANTON')", "reason":"deleted" } ], "@odata.deltaLink": "Customers?$expand=Orders&$deltatoken=8015" } Added/Changed Entity Added or changed entities within a delta response are represented as  HYPERLINK \l "_Entity" entities. Added entities MUST include all available selected properties and MAY include additional, unselected properties. Collection-valued properties are treated as atomic values; any collection-valued properties returned from a delta request MUST contain all current values for that collection. Changed entities MUST include all available selected properties that have changed and MAY include additional properties. If a property of an entity is dependent upon the property of another entity within the expanded set of entities being tracked, then both the change to the dependent property as well as the change to the principle property or  HYPERLINK \l "_Added_Link" added/ HYPERLINK \l "_Representing_Deleted_Links_1" deleted link corresponding to the change to the dependent property are returned in the delta response. Entities that are not part of the entity set specified by the context URL MUST include the  HYPERLINK \l "_Annotation_odata.metadata" odata.context annotation to specify the entity set of the entity, regardless of the specified  HYPERLINK \l "_Controlling_the_Amount" odata.metadata value. Entities include annotations for selected navigation links based on  HYPERLINK \l "_Controlling_the_Amount" odata.metadata but MUST NOT include expanded navigation properties inline. Deleted Entity Deleted entities in JSON are returned as deleted-entity objects. Delta responses MUST contain a deleted-entity object for each deleted entity, including deleted expanded entities that are not related through a containment navigation property. The service MAY additionally include expanded entities related through a containment navigation property in which case it MUST include those in any returned count of enumerated changes. The deleted-entity object MUST include the following properties, regardless of the specified  HYPERLINK \l "_Controlling_the_Amount" odata.metadata value:  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context the context URL fragment MUST be #{entity-set}/$deletedEntity, where {entity-set} is the entity set of the deleted entity id The  HYPERLINK \l "_The_odata.id_Annotation_1" id of the deleted entity (same as the  HYPERLINK \l "_The_odata.id_Annotation_1" odata.id returned or computed when calling GET on resource), which may be absolute or  HYPERLINK \l "_Relative_URLs" relative The deleted-entity object MAY include the following optional property, regardless of the specified  HYPERLINK \l "_Controlling_the_Amount" odata.metadata value: reason either deleted, if the entity was deleted (destroyed), or changed if the entity was removed from membership in the result (i.e., due to a data change). Added Link Links within a delta response are represented as link objects. Delta responses MUST contain a link object for each added link that corresponds to a $expand path in the initial request. The link object MUST include the following properties, regardless of the specified  HYPERLINK \l "_Controlling_the_Amount" odata.metadata value:  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context the context URL fragment MUST be #{entity-set}/$link, where {entity-set} is the entity set containing the source entity source The  HYPERLINK \l "_The_odata.id_Annotation_1" id of the entity from which the relationship is defined, which may be absolute or  HYPERLINK \l "_Relative_URLs" relative relationship The name of the navigation property on the source object target The  HYPERLINK \l "_The_odata.id_Annotation_1" id of the related entity, which may be absolute or  HYPERLINK \l "_Relative_URLs" relative Deleted Link Deleted links within a delta response are represented as deleted-link objects. Delta responses MUST contain a deleted-link object for each deleted link that corresponds to a $expand path in the initial request, unless either of the following is true: The source or target entity has been deleted The maximum cardinality of the related entity is one and there is a subsequent  HYPERLINK \l "_Added_Link" link object that specifies the same source and relationship. The deleted-link object MUST include the following properties, regardless of the specified  HYPERLINK \l "_Controlling_the_Amount" odata.metadata value  HYPERLINK \l "_The_odata.metadata_Annotation_1" odata.context the context URL fragment MUST be #{entity-set}/$deletedLink, where {entity-set} is the entity set containing the source entity source The  HYPERLINK \l "_The_odata.id_Annotation_1" id of the entity from which the relationship is defined, which may be absolute or  HYPERLINK \l "_Relative_URLs" relative relationship The name of the navigation property on the source object target The  HYPERLINK \l "_The_odata.id_Annotation_1" id of the related entity, which may be absolute or  HYPERLINK \l "_Relative_URLs" relative Note: target is only necessary for multi-valued navigation properties, for single-valued navigation properties source and relationship are sufficient to describe the change. Clients should not require a value for target for single-valued navigation properties as it will become optional in future versions of this specification. Bound Function A function that is bound to the current entity is advertised via a name/value pair where the name is a hash (#) character followed by the namespace- or alias-qualified name of the function. The namespace or alias MUST be defined or the namespace referenced in the metadata document of the service, see  HYPERLINK \l "odataCSDL" [OData-CSDL]. Functions that are bound to a collection of entities are advertised in representations of that collection. A function may have multiple overloads with different parameters. If function overloads exist that cannot be bound to the current entity type, the name SHOULD address a specific function overload by appending the parentheses-enclosed, comma-separated list of non-binding parameter names, see rule qualifiedFunctionName in  HYPERLINK \l "abnf" [OData-ABNF]. If  HYPERLINK \l "_odata.metadata=full" odata.metadata=full is requested, each value object MUST have at least the two name/value pairs title and target. It MAY contain  HYPERLINK \l "_Instance_Annotations" annotations. The order of the name/value pairs MUST be considered insignificant. The target name/value pair contains a bound function or action URL. If the URL in the  HYPERLINK \l "_Attribute_target" target name/value pair cannot be used to invoke all overloads for the function, then the function name MUST be distinguished by appending the parentheses-enclosed, comma-separated list of non-binding parameter names. The title name/value pair contains the function or action title as a string. If  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal is requested, the target name/value pair MUST be included if its value differs from the canonical function or action URL. Example  SEQ Example \* ARABIC 31: minimal representation of a function where all overloads are applicable { "@odata.context": "http://host/service/$metadata#Employees/$entity", "#Model.RemainingVacation": {}, ... } Example  SEQ Example \* ARABIC 32: full representation of a specific overload { "@odata.context": "http://host/service/$metadata#Employees/$entity", "#Model.RemainingVacation(Year)": { "title": "Remaining vacation from year...", "target": "Employees(2)/RemainingVacation(Year=@Year)" }, ... } Example  SEQ Example \* ARABIC 33: full representation in a collection { "@odata.context": "http://host/service/$metadata#Employees", "#Model.RemainingVacation": { "title": "Remaining Vacation", "target": "Managers(22)/Employees/RemainingVacation" }, "value": [ ... ] } Bound Action An action that is bound to the current entity is advertised via a name/value pair where the name is a hash (#) character followed by the namespace- or alias-qualified name of the action. The namespace or alias MUST be defined or the namespace referenced in the metadata document of the service, see  HYPERLINK \l "odataCSDL" [OData-CSDL]. Actions that are bound to a collection of entities are advertised in representations of that collection. If  HYPERLINK \l "_odata.metadata=full" odata.metadata=full is requested, each value object MUST have at least the two name/value pairs title and target. It MAY contain  HYPERLINK \l "_Instance_Annotations" annotations. The order of these name/value pairs MUST be considered insignificant. The target name/value pair contains a bound function or action URL. The title name/value pair contains the function or action title as a string. If  HYPERLINK \l "_odata=minimalmetadata" odata.metadata=minimal is requested, the target name/value pair MUST be included if its value differs from the canonical function or action URL. Example  SEQ Example \* ARABIC 34: minimal representation in an entity { "@odata.context": "http://host/service/$metadata#LeaveRequests/$entity", "#Model.Approval": {}, ... } Example  SEQ Example \* ARABIC 35: full representation in an entity: { "@odata.context": "http://host/service/$metadata#LeaveRequests/$entity", "#Model.Approval": { "title": "Approve Leave Request", "target": "LeaveRequests(2)/Approval" }, ... } Example  SEQ Example \* ARABIC 36: full representation in a collection { "@odata.context": "http://host/service/$metadata#LeaveRequests", "#Model.Approval": { "title": "Approve All Leave Requests", "target": "Managers(22)/Inbox/Approval" }, "value": [ ... ] } Action Invocation Action parameter values are encoded in a single JSON object in the request body. Each non-binding parameter value is encoded as a separate name/value pair in this JSON object. The name is the name of the parameter. The value is the parameter value in the JSON representation appropriate for its type. Any parameter values not specified in the JSON object are assumed to have the null value. Example  SEQ Example \* ARABIC 37: { "param1": 42, "param2": { "Street": "One Microsoft Way", "Zip": 98052 }, "param3": [ 1, 42, 99 ], "param4": null } In order to invoke an action with no non-binding parameters, the client passes an empty JSON object in the body of the request. Services SHOULD also support clients passing an empty request body for this case. Instance Annotations Annotations are an extensibility mechanism that allows services and clients to include information other than the raw data in the request or response. Annotations are used to include control information in many payloads. Annotations are name/value pairs that have an at (@) and a dot (.) as part of the name. The part after the "at" sign (@) is the annotation identifier. It consists of the namespace or alias of the schema that defines the term, followed by a dot (.), followed by the name of the term, optionally followed by a hash (#) and a qualifier. The namespace or alias MUST be defined in the metadata document, see  HYPERLINK \l "odataCSDL" [OData-CSDL]. The namespace or alias odata is reserved for future extensions of the protocol and format. Custom annotations are annotations that have a namespace or alias that is different from odata. Annotations can be applied to any name/value pair in a JSON payload that represents a value of any type from the entity data model (see  HYPERLINK \l "odataCSDL" [OData-CSDL]). Annotations are always expressed as name/value pairs. For entity data model constructs represented as JSON objects the annotation name/value pairs are placed within the object; for constructs represented as JSON arrays or primitives they are placed next to the annotated model construct. Example  SEQ Example \* ARABIC 38: { "@odata.context": "http://host/service/$metadata#Customers", "@com.example.customer.setkind": "VIPs", "value": [ { "@com.example.display.highlight": true, "ID": "ALFKI", "CompanyName@com.example.display.style": { "title": true, "order": 1 }, "CompanyName": "Alfreds Futterkiste", "Orders@com.example.display.style#simple": { "order": 2 } } ] } Annotate a JSON Object When annotating a name/value pair for which the value is represented as a JSON object, each annotation is placed within the object and represented as a single name/value pair. The name always starts with the "at" sign (@), followed by the annotation identifier. The value MUST be an appropriate value for the annotation. Annotate a JSON Array or Primitive When annotating a name/value pair for which the value is represented as a JSON array or primitive value, each annotation that applies to this name/value pair MUST be placed next to the annotated name/value pair and represented as a single name/value pair. The name is the same as the name of the property or name/value pair being annotated, followed by the at sign (@), followed by the annotation identifier. The value MUST be an appropriate value for the annotation. Error Response The error response MUST be a single JSON object. This object MUST have a single name/value pair named error. The value must be a JSON object. This object MUST contain name/value pairs with the names code and message, and it MAY contain name/value pairs with the names target, details and innererror. The value for the code name/value pair is a language-independent string. Its value is a service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response. The value for the message name/value pair MUST be a human-readable, language-dependent representation of the error. The Content-Language header MUST contain the language code from  HYPERLINK \l "rfc5646" [RFC5646] corresponding to the language in which the value for message is written. The value for the target name/value pair is the target of the particular error (for example, the name of the property in error). The value for the details name/value pair MUST be an array of JSON objects that MUST contain name/value pairs for code and message, and MAY contain a name/value pair for target, as described above. The value for the innererror name/value pair MUST be an object. The contents of this object are service-defined. Usually this object contains information that will help debug the service. The innererror name/value pair SHOULD only be used in development environments in order to guard against potential security concerns around information disclosure. Error responses MAY contain  HYPERLINK \l "_Instance_Annotations" annotations in any of its JSON objects. Example  SEQ Example \* ARABIC 39: { "error": { "code": "501", "message": "Unsupported functionality", "target": "query", "details": [ { "code": "301", "target": "$search", "message": "$search query option not supported" } ], "innererror": { "trace": [...], "context": {...} } } } Extensibility Implementations can add  HYPERLINK \l "_Instance_Annotations" custom annotations of the form @namespace.termname or  HYPERLINK "mailto:property@namespace.termname" property@namespace.termname to any JSON object, where property MAY or MAY NOT match the name of a name/value pair within the JSON object. However, the namespace MUST NOT start with odata and SHOULD NOT be required to be understood by the receiving party in order to correctly interpret the rest of the payload as the receiving party MUST ignore unknown annotations not defined in this version of the OData JSON Specification. Security Considerations This specification raises no security issues. This section is provided as a service to the application developers, information providers, and users of OData version 4.0 giving some references to starting points for securing OData services as specified. OData is a REST-full multi-format service that depends on other services and thus inherits both sides of the coin, security enhancements and concerns alike from the latter. For JSON-relevant security implications please cf. at least the relevant subsections of  HYPERLINK \l "rfc7159" [RFC7159] as starting point. Conformance 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  HYPERLINK \l "_Delta_Response" Delta Response, which are only required for clients that request changes. In order to be a conforming consumer of the OData JSON format, a client or service: MUST either: understand odata.metadata=minimal (section  REF _Ref359603569 \r \h 3.1.1) or explicitly specify odata.metadata=none (section  REF _Ref356829825 \r \h 3.1.3) or odata.metadata=full (section  REF _Ref356829837 \r \h 3.1.2) in the request (client) MUST be prepared to consume a response with full metadata MUST be prepared to receive all data types (section  REF _Ref356829873 \r \h 7.1) defined in this specification (client) exposed by the service (service) MUST interpret all odata annotations defined according to the OData-Version header of the payload (section  REF _Ref356829936 \r \h 4.5) MUST be prepared to receive any annotations, including custom annotations and odata annotations not defined in the OData-Version header of the payload (section  REF _Ref356829963 \r \h 20) MUST NOT require odata.streaming=true in the Content-Type header (section  REF _Ref354567725 \r \h 4.4) In addition, in order to conform to the OData JSON format, a service: MUST comply with one of the conformance levels defined in  HYPERLINK \l "odata" [OData-Protocol] MUST support the application/json media type in the Accept header (section  REF _Ref356829677 \r \h 3) MUST return well-formed JSON payloads MUST support odata.metadata=full (section  REF _Ref356829691 \r \h \* MERGEFORMAT 3.1.2) MUST include the odata.nextLink annotation in partial results for entity collections (section  REF odataNext \r \h 4.5.5) MUST support entity instances with external metadata (section  REF _Ref356921125 \r \h 4.5.1) MUST support properties with externally defined data types (section  REF odataType \r \h 4.5.3) MUST NOT violate any other aspects of this OData JSON specification SHOULD support the $format system query option (section  REF _Ref356829731 \r \h \* MERGEFORMAT 3) MAY support the odata.streaming=true parameter in the Accept header (section  REF _Ref354567725 \r \h 4.4) MAY return full metadata regardless of odata.metadata (section  REF _Ref356829691 \r \h \* MERGEFORMAT 3.1.2) Acknowledgments The contributions of the OASIS OData Technical Committee members, enumerated in  HYPERLINK \l "odata" [OData-Protocol], are gratefully acknowledged. Revision History RevisionDateEditorChanges MadeWorking Draft 012012-08-22Michael PizzoTranslated Contribution to OASIS format/templateWorking Draft 01.12013-1-31Ralf HandlAdopted new, more concise JSON format Committee Specification Draft 012013-04-26Ralf Handl Michael PizzoExpanded error information Added enumerations Fleshed out descriptions and examples and addressed numerous editorial and technical issues through processed through the TC Added Conformance sectionCommittee Specification Draft 022013-07-01Ralf Handl Michael PizzoImproved rules for odata.id, odata.editLink, and odata.readLink Improved action/function advertisement Improved entity references Improved rules for relative URLs Simplified delta responses GeoJSON for Geo types Improved description of primitive value representation Improved examples, aligned with Atom format specification Aligned terms across specificationsCommittee Specification 012013-07-30Ralf Handl Michael PizzoNon-Material ChangesCommittee Specification Draft 032013-10-03Ralf Handl Michael PizzoAnnotations start with @ Next link for collections of primitive and complex type Null values in collections of primitive and complex type Improved description of relative URL resolutionCommittee Specification 022013-11-04Michael Pizzo, Ralf Handl, Martin ZurmuehlNon-Material ChangesOASIS Specification2014-02-24Michael Pizzo, Ralf Handl, Martin ZurmuehlNon-Material ChangesErrata 012014-07-24Michael Pizzo, Ralf Handl, Martin ZurmuehlMinor changes and improvementsErrata 022014-10-29Michael Pizzo, Ralf Handl, Martin ZurmuehlRepaired mechanical error in the editable sourceErrata 032016-03-02Michael Pizzo, Ralf Handl, Martin ZurmuehlMinor changes and clarifications     odata-json-format-v4.0-errata03-os-complete 02 June 2016 Standards Track Work Product Copyright OASIS Open 2016. All Rights Reserved. Page  PAGE 1 of  NUMPAGES 47  MACROBUTTON NoMacro [document identifier]   MACROBUTTON NoMacro [specification date]  Copyright OASIS Open 2004.All Rights Reserved. Page  PAGE 5 of  NUMPAGES 47 *+,-.Z[x * , 9 ; <   2 4 B D {nh7h1D0JB*phhY&0JB*phhH/h 0J h7Vh h jh Uh1Dh]Qh7;h.h)CJaJhWCJaJhn(hoh)h7V hQWmhQWm hohohI jhJh=`UmHnHuh=`j"h=`U+.[ Hrzgde gd+gd gd@gdgdpScgd7;gdbgd1Dgd1Dgd)gd gd )gd D E , . ; = > E F G M N O EFGȼ䐼{伌p{j h?U h?0Jjh?Uh?hY&hpSc0JB*phjhU0JU hSR0JjNhSRUhSRjhUUh]Qh7;hhb0JB*ph h7Vh h h0JB*phhH/h 0Jjh U(+,-FGHIKLMpqѿ۹Ѭњ۹ш۹|xm|dZjh+0JUh=oEh+0Jjh eUh ejh+UhCL"j h@0JB*Uph"j h@0JB*Uphh7h@0JB*ph h@0J"j[ h@0JB*Uphh@0JB*phjh@0JB*Uphh]Qh7;hh0JB*ph!qrxz012MNQRyz{Ϳ宿~s~oh hE"he hxjhe Ujhe 0JUhMhe 0Jj he U hMhe hTKhe B*ph he 0Jjrhe Ujhe 0JUmHsHhTKhe 0Jjhe Uhe jhe U hTKhe h}h.h+'&< ^!"" = 8^gd+?=gd+?gd gd =gd~| = & F^gdVgd7;gd'gd gde =>?RSVW~ʿծʣ칙ʎ칙{pg]jh'0JUhWh'0Jjh'Uh'jh'U hWh'jLhe Ujhe 0JUjhe UhE"he B*ph he 0Jj he Uhe hE"he jhe 0JUmHsHhE"he 0Jjhe Ujghe U$$%&0<x|!bd4nuz{ .0Ǵyyy h7Vh|ujh|uUh|uhhH/hhO0J h7VhhOhhOjhhOUh}h7Vh'h'6hG : hVhVhVh hWh'jh'0JUh]h'0Jjh'Ujh'Uh'/01 G35RTUV  0234˼˴˭˭˭ˢˊ˴˭˭˭wjh+?Uhh+?6hw<h+?0JB*^Jphhfh+?0JjIh+?U hTh+?jh+?Uh_mh+?6 hVh+?h+?h~h+?6 h|MLh hNIh h'h|uhH/h|u0Jjh|uU. !"9;JLMNDF]_`a1 3 E G H I jh+?Ujh+?Ujh+?Uhfh+?0JjWh+?U hTh+?h8<h+?6hw<h+?0JB*^Jphh+?jh+?U? !!!![!\!]!^!{!!!)"*"}"~""""8#9##### $-$m$w$$$$$$$$$%%$%*%-%.%4%¾~zvrvrzrnhBhc1hhZhECh $hh,hih1hc5hq#o h` hih` h}hzh}@0Jh}@jh}@Uhh}@h6hw<h+?0JB*^Jphhfh+?0Jjh+?Ujh+?Uh+? hTh+?+"##%'))i))++$,4-Z00"2359;<m<< $  $ gdlgd.?gd >gd[>gdIgdI>gd $>gd@gd >gd 4%8%9%%%%%%%%% &&#&$&O&Q&W&Z&[&a&&&&&&'''''$'&'5'6'n'o'p'''''((ɽɽɹՃvo hihih@hi0JB*phh1hi0JB*ph h3)0Jj h3)Uh0hi0Jjh3)Uh3)hO_hYehthc5hihZh}jhU0JU h*S0Jjh*SUh*SjhUUhc1+(((((((()))))))-):)Q)X)g)h)i))))))**'*(*4*u*w******~z~rngngngnr h7Vh0ch0cjh0cUh[h7V h[h[h[h[6h[h[5h^hc5hQhIh $hB*phh1h+x0JB*phh1ha0JB*phjhU0JU hc%0Jj!hc%Uhc%jhUUh/ hihi&*+ +"+2+3++++++++++,, , , , ,,,- ----9999:: :˹ճկ{ukgc_[Wh.hmhhHYzh1YjhU0JU h1Y0JhUjhUU h.h.h hVUhhYhshwhs3~ h[6h[ h@0J"j"h@0JB*Uphh@0JB*phjh@0JB*Uph h[h[h0cjh0cUhH/h0c0J" : :5:6:;:<:A:[;\;;;;;;;<<<<<<<:<;<<<=<><?<K<L<p\QhK=mHnHu'hhK=CJOJQJaJmHnHu*j#hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHuh jh Uhwh} h:`h.h:` h&+0J h.h.h.jhU0JUh*Kh.0JhUjhUUL<M<g<h<i<j<k<l<m<n<o<<<<<<<<<<<<<<<<<<<<𵡵tb𵡵L*j%hZ9chK=0JUmHnHu#j2%hK=UmHnHu*j$hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuhx mHnHu#j8$hK=UmHnHuhK=mHnHujhK=UmHnHu<<<<<=========8=9=:=;=X=Y=Z=t=u=v=w=x=y=z={=|===ԳŨߋucŨߋ#j&'hK=UmHnHu*j&hZ9chK=0JUmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHuhx mHnHu#j,&hK=UmHnHujhK=UmHnHuhK=mHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHu<=z==1>>?p??>@@@IAAB]BB&CCCHDD EEEbFFG $  $  $ =======================>>>*>+>,>.>/>ɵɪ~׵u_ɵɪM~#j)hK=UmHnHu*j(hZ9chK=0JUmHnHuhK=mHnHuhx mHnHu#j (hK=UmHnHujhK=UmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHu*j'hZ9chK=0JUmHnHu/>0>1>2>3>O>P>Q>R>>>>>>>>>>>>>>>>>>>>> ?ˬˡu_M#hZ9chK=0JOJQJmHnHu*j*hZ9chK=0JUmHnHuhx mHnHu#j*hK=UmHnHujhK=UmHnHuhK=mHnHu*j)hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHu ? ????????1?2?3?4?9?M?N?O?i?j?k?m?n?o?p?q?r???mbbP#j,hK=UmHnHuhK=mHnHu#hZ9chK=0JOJQJmHnHu*j+hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuhx mHnHujhK=UmHnHu#j+hK=UmHnHu????????????????????@@@7@ɷlcMɬ*j-hZ9chK=0JUmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHuhx mHnHu#j-hK=UmHnHujhK=UmHnHuhK=mHnHu#hZ9chK=0JOJQJmHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHu*j,hZ9chK=0JUmHnHu7@8@9@;@<@=@>@?@@@\@]@^@_@`@a@w@x@y@@@@@@@@@@@@@ttbL*js/hZ9chK=0JUmHnHu#j.hK=UmHnHuhK=mHnHu*jy.hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuhx mHnHujhK=UmHnHu#j-hK=UmHnHu@@@@@@@@@@@@@@@AAAA&A'A(ABACADAFAGAHAIAJAKAgA³¡yc³Qy#j0hK=UmHnHu*jm0hZ9chK=0JUmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHuhx mHnHu#j/hK=UmHnHujhK=UmHnHuhK=mHnHu#hZ9chK=0JOJQJmHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHugAhAiAjA{A|A}AAAAAAAAAAAAAAAAAAAAABBB񽮽}t^񽮽L}#j2hK=UmHnHu*ja2hZ9chK=0JUmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHuhx mHnHu#j1hK=UmHnHujhK=UmHnHuhK=mHnHu$jhZ9chK=0JUmHnHu*jg1hZ9chK=0JUmHnHuhZ9chK=0JmHnHuBBB B!B"B#B:B;BhK=UmHnHuhK=mHnHu#hZ9chK=0JOJQJmHnHu*j>hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuhx mHnHujhK=UmHnHu#j=hK=UmHnHuFFFFFFFFGGGGGGGGG8G9G:G;GJ?J[J\J]J^J~JJJJJJJJJJJJɾ~u_ɾM~#jTIhK=UmHnHu*jHhZ9chK=0JUmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHuhx mHnHu#jZHhK=UmHnHujhK=UmHnHuhK=mHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHu*jGhZ9chK=0JUmHnHuJJJJJJJJJJJJJJJJJKKKK'K(K)KCKDKEKGKHKIKҿ败t^败L#jHKhK=UmHnHu*jJhZ9chK=0JUmHnHu'hhK=CJOJQJaJmHnHuhx mHnHu#jNJhK=UmHnHujhK=UmHnHuhK=mHnHu$jhZ9chK=0JUmHnHu*jIhZ9chK=0JUmHnHuhZ9chK=0JmHnHuhK=mHnHuIKJKKKLKhKiKjKkKlKmK|K}K~KKKKKKKKKKKKKKKKKKKKʫʠt^ʠ*jLhZ9chK=0JUmHnHuhx mHnHu#jBLhK=UmHnHujhK=UmHnHuhK=mHnHu*jKhZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHu'hhK=CJOJQJaJmHnHuKKKKKKKKKLLLLLL?L@LAL[L\L]L_L`LaLbLcLdLLLLttbL*jNhZ9chK=0JUmHnHu#j6NhK=UmHnHuhK=mHnHu*jMhZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuhx mHnHujhK=UmHnHu#jN?N@NONPNQNkNlNmNoNpNߵu_ߵM#jThK=UmHnHu*jShZ9chK=0JUmHnHu'hhK=CJOJQJaJmHnHuhx mHnHu#jShK=UmHnHujhK=UmHnHuhK=mHnHu*jRhZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHupNqNrNsNtNNNNNNNNNNNNNNNNNNNNNNNNNNOˬˡu_ˡ*jUhZ9chK=0JUmHnHuhx mHnHu#j UhK=UmHnHujhK=UmHnHuhK=mHnHu*jThZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuOOOOOOOOO:O;OQ?Q@QAQBQCQ_Q`QaQbQdQeQrQsQtQQQҿ蠑t^蠑L#j\hK=UmHnHu*j_\hZ9chK=0JUmHnHuhx mHnHu#j[hK=UmHnHujhK=UmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHu*je[hZ9chK=0JUmHnHuhZ9chK=0JmHnHuhK=mHnHuPAQQQERRSSSSSTTUkUUU^VVWWWW  & F gd_[d & F gd_[gd_[ & F Q^`Qgd_[@gd  $  $ QQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRR"R#R$R>RҾҰҰtҾҰ^Ұ*jS^hZ9chK=0JUmHnHu#j]hK=UmHnHuhK=mHnHu*jY]hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuhx mHnHujhK=UmHnHu#>R?R@RBRCRDRERFRGRcRdReRfRqRrRRRRRRRRRRRRRRRRttbL*jG`hZ9chK=0JUmHnHu#j_hK=UmHnHuhK=mHnHu*jM_hZ9chK=0JUmHnHuhK=mHnHuhZ9chK=0JmHnHu'hhK=CJOJQJaJmHnHu$jhZ9chK=0JUmHnHuhx mHnHujhK=UmHnHu#j^hK=UmHnHuRRRRRRRRRRSSSSSSSSSSSSSSSSTTTˌ}v}n}cnYM}n}jh_[0J5Uheh_[0J5jAah_[Ujh_[U h.h_[h_[ h}h}h}jh Uhx mHnHu#j`hK=UmHnHujhK=UmHnHuhK=mHnHu'hhK=CJOJQJaJmHnHuhZ9chK=0JmHnHu$jhZ9chK=0JUmHnHuTTTTTTTUUUUU!U"UHUIUJUTUhUiUmUnUUUUUUUUUUUUUUUUUUVVV"V#V'V쾴ҩ죚ҏ솴{죚p운j9dh_[Ujch_[Uh{/h_[0Jj/ch_[Uh Uh_[0J h_[0Jjbh_[Ujh_[0JUhNh_[0Jjbh_[Uh_[jh_[0J5Uhkg!h_[0J5jh_[Ujah_[U,'V(VJVKVLV\V]V`VaVVVVVVVVVVVVVVVVVVVVVWWWWWBWCWDWTWUWWWWWWWWWWWWWWսՊ hDh_[ heh_[jQgh_[Ujfh_[Uj?fh_[Ujeh_[U h:h_[ h_[0Jj/eh_[Ujh_[0JUh Uh_[0Jjdh_[Uh_[jh_[U3WWWWWWXXXX X X XXXXXX X"X#X-X.X0X1X h_[0J-5 h_[0J-h_[B*ph"""jh_[0JU2[[[[[[[[[[[\\*\C\N\P\Q\R\X\d\q\\\\\]]G]H]I]l]m]o]p]½wnd] hw7h_[jh_[0JUhw7h_[0Jjih_[Ujh_[U h9h_[h9h_[0J- hIh_[hnOh_[6 hnOh_[ h_[5hnOh_[5 h_[6hMzh_[6h_[5B*phh]rh_[5B*phh#h_[5h_[B*^JaJph"""h_[ h4xh_["p]x]y]z]]]]]]]]]]]]]]]]]]]]]]]]]-^.^/^R^S^T^U^V^_^`^n^o^p^{^|^}^^^^^^^^^^__!_߾ɵߡߚߏɵjUkh_[U hQrh_[h$nkh_[hpfjh_[0JUh4ch_[0Jjjh_[Ujh_[U hw7h_[ hUh_[h_[ h$nkh_[ hEth_[hEth_[0J- h_[0J-7!_%_)_*_+_/_1_2_4_9_;_`_x_____________________``H`L`[`\`^`_``````````мО旎h& h_[0J-5h!Dh_[0J- hWh_[hhch_[0Jjlh_[Ujh_[0JUh5h_[0Jjlh_[Ujh_[U hcZh_[ hh_[h_[ h9h_[ h_[0J-h9h_[0J-1``aaeafagaaaaabbbbbbbbbbbbc_cccicucccccccccc˽礖}sgjh_[0J5Uhkg!h_[0J5jynh_[U h<h_[ hTbh_[jh_[UmHnHuhx mHnHu h?h_[hzh_[0Jjh_[0JU^JaJh.h_[0J^JaJj|mh_[Uh_[jh_[U h& h_[h& h_[6]$cccdeUfhHj_kzk}lm[m{mmmDnnnopWqqt  & F gd_[d & F^`gd_[d & Fgd_[gd_[ & F Q^`Qgd_[ccii kk>k?k@k\k]k^k_kkkkkkkGlKlRlil{lllllm&mLmRm{m|mmmmmm|njh_[0JOJQJUhz h_[0JOJQJjoh_[U h [h_[hh_[0J h<h_[ h$h_[h h_[0J h$h_[jh_[0JUhjh_[0Jjnh_[Ujh_[Uh'5h_[0Jh_[h"{h_[0J-5&mmmmmmmmmm-n.n/nBnCnDnEnunvnwnnn2o>o?oOo[o\o|o}o~oooo燁xmcWjh_[0J5Uh'1#h_[0J5jqh_[Uhh_[0J h_[0Jh3h_[OJQJ^Jj^qh_[Uh_[0JOJQJjph_[Uhz h_[0JB*phjh_[0JOJQJUhz h_[0JOJQJjph_[Uh_[jh_[UhMh_[0JOJQJ!oo'p(pMpNpOpbpcpppppp]qcq}qqqqqqcrirrrrrrrrrr/s0sUsVsWs\sesjskssstퟕ|ퟕjsh_[Ujh_[0JOJQJUh_[0JOJQJhjh_[0JOJQJj sh_[Uh2FGh_[0J h_[0JhGh_[0Jjh_[0JUhIah_[0Jjrh_[Ujh_[Uh_[ haWkh_[,ttt$t%tttttPuWu^u_umuwuuuuuuuuuuuuuuuuuvvv&v'vSvTvXvavivnvͽͽĽͲ͚͂|s|shMh_[0J h_[0Jjuh_[UhJ$Lh_[0JOJQJjuh_[Uh`h_[0JOJQJjth_[U hs5sh_[hs5sh_[0Jh_[jh_[0JOJQJUhPh_[0JOJQJjh_[Uj%th_[U)tSvjvx7yyzszz{;||}}}~~>{!ԃ$gd_[d & F gd_[  & F gd_[gd_[nvsv|v}vv$w)w2www}wwwwwxxxxxxxxGxHxIxOxVxWx7y8yRySyTy^y_yyyyӿӗtgh h_[0JOJQJj=wh_[Ujh_[0JOJQJUh_[0JOJQJh`h_[0JOJQJjvh_[U h_[0Jjh_[0JUh=h_[0Jj vh_[Ujh_[Uh^h_[0JhMh_[0Jh_[ h_[0Jh\h_[0J%yyyyyzz-z.z/z=z>zsztzzzzzzzz{{;|<|g|h|i|x|y||||||||} }}} }%}.}3}}ͷ͖͡͡~͡x͡x h_[0Jjyh_[Uh9.h_[0JOJQJjyh_[Uh\h_[0JhJ$Lh_[0JOJQJjxh_[Uj)xh_[Uh_[jh_[0JOJQJUh`h_[0JOJQJjh_[Ujwh_[U-}}}}~~2~3~4~:~A~B~~~~~~~~9:;IJ&'>?Yõ͵͵凵|oh h_[0JOJQJjI|h_[UhJ$Lh_[0JOJQJj{h_[Uj]{h_[Ujzh_[Ujh_[0JOJQJUh_[0JOJQJh`h_[0JOJQJjCzh_[Ujh_[Uh_[ h_[0Jhrh_[0J*YZ[efGHIWX$%&:;{|ʂ˂!"<=>HIԃ,-ͷͰ͚ͥ͏{{{ h"oh_[h"oh_[0JOJQJjh_[UjBh_[Uj~h_[U h)h_[j}h_[UjU}h_[Uh_[jh_[0JOJQJUh h_[0JOJQJjh_[Uj|h_[U0ԃ,dʅޅv%smߍSgӏx & F Q^`Qgd_[  & F gd_[  & F gd_[d & F gd_[gd_[-XYZmn҄ӄ)*+:;deʅυ؅ۅ݅MNhijxy~tj7h_[U hh_[hWNh_[0JOJQJj‚h_[U h_[0JhOh_[0Jj+h_[Ujh_[Ujh_[Ujh_[0JOJQJUh9.h_[0JOJQJjh_[Ujfh_[Uh_[-*=CDdefstڇ߇'(PQR]^nyصؙؒؒ؇xhؒjh_[0JOJQJU^Jh^h_[0JOJQJ^Jj/h_[U hh_[hZh_[0Jjh_[0JUh}h_[0Jjh_[Uh}h_[0J h_[0JhOh_[0Jh_[jh_[0JOJQJUhWNh_[0JOJQJjh_[U&܈=>I -9<UĊ͊Ҋ݊56[\]ҼҪҟ얌ҵҵ҅||qjh_[UhpLh_[0J hpLh_[jh_[0JUh.h_[0Jjh_[Uj-h_[U h+>h_[ h4h_[ h_[0JhZh_[0Jh_[jh_[0J5Uh]3h_[0J5jh_[Ujh_[U']ijkqwʋՋދ#$RTUVbdij1JP[ލߍ 'Z᮹щщwwpp h0h_[hA/h_[0Jhph_[0J h_[0Jjh_[0JOJQJU^Jh^h_[0JOJQJ^Jjh_[Ujh_[U hh_[hZh_[0Jhh_[0J hX-h_[h_[jh_[0JOJQJUhpLh_[0JOJQJ)ZfЏ"'(/5;af̐͐01abctuٔ󋄋{rrh h_[0Jh2FGh_[0J hh_[hZh_[0Jhy<@h_[0JOJQJj<h_[U h_[hgjh_[0JOJQJUhgh_[0JOJQJjh_[Ujh_[Uhh_[0Jht4Sh_[0Jh_[hcHh_[0J,{ԕ?J Ҙ6usqߛgd_[;gd_[d & Fgd_[  & F gd_[gd_[)*Z[\xy ;<=MNTU}~˓Г'()89=>defּ|qjh_[Uhh_[0Jjh_[U h_[0Jjth_[UhOph_[0Jjh_[U hxh_[ h_[0JhHh_[0Jj~h_[Ujh_[0JUhjh_[0Jj݈h_[Ujh_[Uh_[+fϔДԔՔ(/?@^_`|}~blǖȖɖЖԖՖ=>׿ӴөנәӐӅvkjCh_[Uh ]Ah_[0J h_[0Jjh_[Uh h_[0J h~8h_[h ^h_[0Jj/h_[Ujh_[Uh;dh_[0Jjh_[Uh_[jh_[U h;dh_[ htgh_[jh_[0JUhrh_[0J*>?IJ֘֙י<F !01knyz՛ܛޛصت؎wpppppp h'(qh_[jh_[UmHnHuhx mHnHuh\7h_[0Jjh_[0JUhh_[0JjCh_[UhZ%h_[0J hx 0J-jҎh_[Uh h_[0Jh_[jh_[0JOJQJUh4(%h_[0JOJQJjh_[U, 4ABIKQSZ[|Ԝ+4О֞ ǟ˟ӟݟ&*W\guȿȿ hfh_[h_[OJQJ^JhKuh_[OJQJ^Jh|h_[OJQJ^Jhyh_[0Jh2FGh_[0Jhrh_[OJQJ^J h_[hoh h_[0J h3Xh_[h_[ h'(qh_[:TZ\֜#jJӡ 3V[c٥,@ d & F gd_[gd_[  & F gd_[;gd_[gd_[uؠ5678;ISVXnwҡԡڡܡߡ 023flsȣգ֣ڣ ˽ܴhh_[0J h_[0Jhh_[0Jjh_[UmHnHuhx mHnHujh_[Uh2FGh_[0Jhyh_[0J hyh_[h_[ hfh_[A #'oʤפ٤ڤ&/@amr ,̦ͦΦ٦ڦ ~̧ѧǽ쭧}h"lh_[0Jh2gh_[aJ.h? h_[B*^JaJfHphq h_[aJ hSh_[hh_[0Jjh_[0JUh=h_[0Jjďh_[Ujh_[Uh,|h_[0Jh_[ hyh_[hh_[0J1 -O<acݫӮҰ:~hd & F gd_[gd_[;gd_[  & F gd_[gd_[ѧܧݧ%,17>gh~Ӽvl`ULhXh_[0Jjh_[Ujh_[0J5Uheh_[0J5jQh_[Ujh_[Uh_[OJQJ^Jhh_[OJQJ^J h_[0Jhhdh_[0Jh_[h? h_[aJ,h_[0JZB*^JaJfHphq (h_[B*^JaJfHphq .h? h_[B*^JaJfHphq CDEXYZqr7;<MNOҸ񇢀yndXjh_[0J5Uheh_[0J5jȑh_[U h.}eh_[ hf8h_[ h ]Ah_[hHh_[OJQJ^J hfh_[ h_[0Jjh_[0JOJQJU^Jhh_[0JOJQJ^Jj=h_[Ujh_[Uh_[OJQJ^Jhh_[OJQJ^Jh_[jh_[0JU""#DE\]^_cfgmtvw«ëīȫګ۫ܫݫ hͿ h;4h_[hh_[0J hh_[ h_[0JhOh_[0Jh_[B*ph h=ih_[jh_[UmHnHuhx mHnHujh_[0JUhhh_[0Jjh_[Uj5h_[Uh_[3#kl֭׭حPbЮѮҮݮޮ6@d̾̾莂{ri`h 5h_[0Jh\h_[0Jhhdh_[0J h_[hmSjh_[0J5Uheh_[0J5jΓh_[U hh_[hw>#h_[0JjCh_[Ujh_[0JOJQJUh;4h_[0JOJQJjh_[Uh_[jh_[U h;4h_[h;4h_[0J#dn°ðİϰаRS.Jbquwx!"GHI󴮴뙍ypejԕh_[Uhh_[0JjEh_[Uh\h_[0Jjh_[0J5UhRh_[0J5jДh_[U h_[aJhr"h_[aJh:th_[0J h6h_[jh_[0JUhh_[0Jj;h_[Ujh_[Uh_[hK$h_[0J'IMNs|ho׵ص -345X[]`fjkʶ˶ƷǷȴ阏ȴ{{hJh_[0Jjh_[Uh6h_[0Jhwph_[0JhC;h_[0Jjh_[0JUhXh_[0Jj_h_[Ujh_[U h4h_[h\h_[0Jh<h_[0Jh_[jh_[0JUhh_[0J/h6ʸ8HozúACлۻ%?|  & F gd_[gd_[;gd_[gd_[d & F gd_[ "#%&ʸ '()568@AXYZ[]l}~ӹݹƿ촩쟓uhaXh-[Hh_[0J hCh_[hh_[OJQJ^Jjh_[UmHnHuhx mHnHu h?h_[jh_[0J5UhRh_[0J5jh_[Uh_[ h4h_[ hXh_[ h6h_[jh_[0JOJQJU^Jhh_[0JOJQJ^Jjh_[Uj}h_[U!ݹ !>EGJKLXYZ[nqvwyú˺̺ !ABEFGMTVcϻһ׻ػڻh_[OJQJ^Jhh_[OJQJ^J hfXh_[jh_[UmHnHuhx mHnHujh_[U h?h_[ h'(qh_[h_[ h[gh_[ hJuh_[@ CMNOSTjkl|}~ļ0>CQ"#QRSTyz{|Կypf_ hOh_[jh_[0JUh-h_[0J h_[0Jjh_[Uhxh_[OJQJ^Jhwh_[OJQJ^J hwh_[h:<h_[5jh_[0J5Uheh_[0J5jh_[Ujh_[U h;^Nh_[ hkth_[hRh_[0Jh_[hOh_[0J% ~ƿ̿οϿӿٿۿܿ,-./̷̌xjh_[Uh\h_[0Jh h_[0J5j h_[Uhh_[h0jh_[0J5Uheh_[0J5jh_[Ujh_[Uhh_[0J hh_[hRh_[0Jh_[hOh_[0J h_[0J/|Ͽe$FMc?vd & F gd_[d & Fgd_[gd_[  & F gd_["'(=>efg}~=>VWXab !ήΣ΂xmxdhnh_[0Jjh_[Uh/h_[0J5jh_[Ujh_[0J5Uhh_[0J5jh_[UhT3yh_[6hmOh_[0JOJQJjh_[Uh_[jh_[0JOJQJUh_[0JOJQJh;?Xh_[0JOJQJjh_[U&567CD[cmqBCn|뚐yriib hh_[hLh_[0J h_[h+Q<hnh_[0Jjh_[0JOJQJUh_[0JOJQJh;?Xh_[0JOJQJjoh_[Uh h_[0Jhrh_[0JhQ;h_[0Jjh_[0JUhhh_[0Jjh_[Ujh_[Uh_[h>h_[0J&YZpqr/0CTYfsu됂{{{pj]h_[U hh_[jh_[0JOJQJUhRsh_[0JOJQJj؞h_[U h_[0Jjkh_[U hh_[hh_[h`qKjh_[0J5Uheh_[0J5jh_[Ujh_[Uh_[hOh_[0J+CQZ`dh,-.ABPRVW~ª{o_X hh_[jh_[0JOJQJU^Jh_[0JOJQJ^Jhh_[0JOJQJ^Jjh_[U hy h_[jh_[0JOJQJUhZ h_[0JOJQJjh_[Ujh_[UhOh_[0J h`qKh_[ h_[0Jhnh_[0Jh_[jh_[0JUh h_[0J"ABESjk$&*+RSTbjk͵|p`WhZ h_[0Jjh_[0JOJQJU^Jh_[0JOJQJ^Jhh_[0JOJQJ^Jjh_[U hy h_[jh_[0JOJQJUh_[0JOJQJh;?Xh_[0JOJQJjh_[Ujh_[UhOh_[0J hh_[ h_[h h%Fh_[0J h h_[h_["$,-DVaght<p{|{r{g^h#"@h_[0Jjh_[Uhh_[0J hh_[ h_[0JhOh_[0J h_[h_B hA%h_[ hy h_[ hth_[hZ h_[0J hhXh_[h_[jh_[0JOJQJU^Jh_[0JOJQJ^Jhh_[0JOJQJ^Jjh_[Uj(h_[U$qS;CM!L_egd_[;gd_[gd_[  & F gd_[d & F gd_[%%&FGijk~yՌ~uouod\h h_[6h0h_[OJQJ h_[0JhOh_[0Jjh_[0JOJQJUhRsh_[0JOJQJjh_[U h-h_[h-h_[0Jjh_[0J5Uheh_[0J5j(h_[Ujh_[U hh_[h_[ hY*yh_[ h_[0Jjh_[0JU$yz*+,045SWl?Ykrgh0h_[OJQJh9h_[0JOJQJjh_[0JOJQJUh h_[0JOJQJjDh_[Uh h_[0Jh h_[0J h_[0Jjh_[U h_[6h h_[6jh_[0JUhD}h_[0Jjh_[Uh_[jh_[U((,1BF&',-NOPab &'Ķܙܙ~u~~jjXh_[UhQ.lh_[0J h_[0Jjզh_[Ujh_[0JUh|_h_[0JjXh_[Uhz(h_[0Jjh_[0JOJQJUhRsh_[0JOJQJjӥh_[Ujh_[UhOh_[0Jh_[h h_[0J h_[0J)'()=>?HJKQRwxyqr矙|矐ule h Kh_[h74h_[0J hh_[ h<h_[h:^[h_[OJQJ^JhOh_[0J h_[0J hh_[jh_[0JOJQJUhZ h_[0JOJQJjJh_[U hh_[ hx 5jѧh_[0J5Uh_[jh_[0J5Ujh_[U"2GSYZ]^QX\^`:;]^_rs ҺҜ hOJh_[jh_[UmHnHuhx mHnHu h?h_[jh_[0JOJQJUhRsh_[0JOJQJjըh_[Ujh_[U h_[0JhQ.lh_[0J h_[0Jh_[hpLh_[OJQJ^J5 #$%=>KN[\^efg pu'UVWXrst69~~sjϩh_[Uhgh_[0Jjh_[0J5UhRh_[0J5jZh_[Ujh_[U h_[5 hL<h_[h'}_h_[0JhR:h_[0Jh+^h_[0Jh_[OJQJ^JhLh_[OJQJ^J h_[hI  hOJh_[h_[-egx_&hK "Wdk;gd_[gd_[ & F Q^`Qgd_[gd_[%&/378Xf:IKLSbx|vh2gh_[aJ.h? h_[B*^JaJfHphq h? h_[aJh7X%h_[OJQJ^J h_[0J h_[aJ h_[h!-h-h_[0Jhgh_[0J h\h_[h\h_[0J h /h_[h_[jh_[0JUhph_[0J*:;<GHMTo}~ ǿǴǚǿ||uu|nǿcj۪h_[U hi3h_[ h_[h\I h;h_[jh_[UmHnHuhx mHnHu h?h_[jh_[0JUhGbh_[0JjNh_[Ujh_[Uh_[h? h_[aJ,h_[0JZB*^JaJfHphq (h_[B*^JaJfHphq #")Go3:@agd_[ & F Q^`Qgd_[gd_[  '()9:Y\]mqr+,-89ab阐{pghWrh_[0Jj@h_[Uhhh_[hM\jӫh_[Uh:<h_[5 hhh_[jh_[0J5Uheh_[0J5jfh_[Ujh_[Uh_[hh0JhVh_[0J h_[hphM\h_[6h_[jh_[0JUhyh_[0J%!#&+,47EF\_mn}ŷծ՝h_[nHtHh|2h_[nHtH h_[0Jh`h_[0Jjh_[UmHnHuhx mHnHu h?h_[h_[jh_[0JUh5h_[0Jjh_[Ujh_[U:$5]~ 3OSU <gxgd_[;gd_[ #,-27DEFHNQRSU]^uvxyz7R[deinowzڽh(p(h_[nHtHh`h_[0J h_[0Jjh_[UmHnHuhx mHnHuh_[jh_[U h?h_[h|2h_[nHtHh_[nHtHB )*+1:;KPWXabfxz)*-.S\qr !Ӹjbh_[Ujh_[U h.h_[h_[h~h_[mHnHsHtHh_[mHnHsHtHh`[h_[mHnHsHtHh~h_[nHtHh|2h_[nHtHh_[nHtH9-Lbv+0t)xG#d & F gd_[  & F gd_[gd_[ & F Q^`Qgd_[gd_[34:;<cde#'8<Ciľᎂypgh1kh_[0Jh:h_[0Jhbh_[0Jjh_[0J5Uhkg!h_[0J5jh_[U hlh_[h.h_[0Jjh_[U h_[0J hh_[jdh_[Ujh_[Ujh_[Uh_[jh_[0JUhJh_[0J'imrw $FGVZ`갣huh_[0Jhh_[0Jh:h_[0JOJQJh Ph_[0Jh(h_[0J h_[h9h,h_[0J h_[0Jh ;h_[0JhY /h_[0Jh:h_[0Jh_[h|Jh_[0J9 NY[_dfty{4=ABWXYefîî~ohx[h_[0JOJQJ^Jhx[h_[^Jj\h_[Uhx[h_[0J h:Yh_[jh_[0J5UhW#h_[0J5jh_[Ujh_[Uhuh_[0J h#h_[hh_[0Jh Ph_[0Jhah_[0Jh_[ h_[0J+qr $.rkbhx mHnHu h?h_[jh_[0JOJQJUhg=h_[0JOJQJj8h_[U hh_[ho0h_[0Jhh_[0Jh\&h_[0J ho0h_[jh_[0J5Uh_h_[0J5jǰh_[Ujh_[Uhx[h_[0Jh_[hx[h_[^J$O 5Ja}4e#egu  & F gd_[gd_[;gd_[ dgd_[d & F gd_[sz$&34KMdevx#cdo簧 h`&h_[hx mHnHujh_[Uh<h_[0Jh_[hU<0J[h'>h_[0J[ h_[0J[ h9h_[ h,ajh_[h_[ h?h_[jh_[UmHnHu?uK$CYmPo06Mj  & F gd_[gd_[;gd_[gd_[ *.13GILMuvw~ ܇ hTbh_[h\h_[0JjJh_[U hih_[jh_[UmHnHuhx mHnHu h?h_[hbh_[0Jjh_[0JUhrh_[0J h_[0JjDZh_[Ujh_[U h`&h_[h_[2Z\pv "<DIprd & F Q^`Qgd_[gd_[;gd_[gd_[  & F gd_[  !#$%wx}cdlm } h~8h_[ hh_[ h=ih_[ h`7h_[ hcah_[ h_[0Jh=ih_[0Jjh_[0JUhS`Qh_[0Jj۲h_[UhHh_[0J h?h_[jh_[UmHnHuhx mHnHujh_[Uh_[1 1 1 3 z       B _e;gd_[gd_[  & F gd_[gd_[   + 0     * + - . / 3 6 7 = D F G S \ p w x y z          垐 hh_[ h=ih_[jh_[UmHnHuhx mHnHu h?h_[ h`7h_[hUh_[0Jh=ih_[0Jjh_[0JUhS`Qh_[0JjZh_[Ujh_[Uh_[ h_[0JhHh_[0J0                . / 9 :        345@DNOR䓅zmfm\mh_[0JOJQJ ht;}h_[h\s"h_[0JOJQJjrh_[Ujh_[0JOJQJUh=(h_[0JOJQJjϴh_[U h_[hhhBh_[0JjJh_[Ujh_[0JUhBh_[0Jjٳh_[Ujh_[UhBSh_[0Jh_[ h~8h_[$RS")+,8AU\]^_aegĽܶܦzkh h_[mHnHsHtHh_[mHnHsHtHh h_[mHsH h=ih_[jh_[UmHnHuhx mHnHu h?h_[ h~8h_[ ht;}h_[h\s"h_[0JOJQJjh_[Ujh_[UhAh_[0Jh_[jh_[0JOJQJU'KLz{|  ijuyǾ؛zzzzzzzzzzzh_[nHtHh0 h_[nHtHjh_[UmHnHuhx mHnHu h?h_[h \~h_[0Jjh_[0JUhBp0h_[0J h_[0Jjh_[Ujh_[UhBp0h_[0Jh_[h h_[mHsHh_[mHsH0ikz%,2^s};gd_[gd_[  & F gd_[gd_[)+018@GKMNOXZ[\]^JTU\gv48tuӺӲӧhm h_[0Jj1h_[Ujh_[Uhgh_[0JhqUh_[0J hEUh_[h_[h_[hU&`nHtHh0 h_[nHtHh_[nHtHh2$6h_[nHtH=a2bcfj$q & F Q^`Qgd_[;gd_[gd_[  & F gd_[gd_[dg8LTXfhiqx|鷩񚏚w.hCh_[B*^JaJfHphq h2$6h_[nHtHh_[nHtH hh_[jh_[UmHnHuhx mHnHu h?h_[ hBp0h_[ hqUh_[hm h_[0Jjh_[Ujh_[Uh_[jh_[0JU*)#$MNO[\hjrs"'ϼǭϏdžxqqqqqqqqjj h|h_[ h=ih_[jh_[UmHnHuhx mHnHu h?h_[ hhh_[jh_[0JOJQJU^Jhhh_[0JOJQJ^Jj;h_[Ujh_[Uh_[.hCh_[B*^JaJfHphq (h_[B*^JaJfHphq )'EHoqspqr %ͳ͌~skskskskskskskskh_[nHtHhh_[nHtHjh_[UmHnHuhx mHnHu h?h_[ hhh_[jh_[0JOJQJU^Jhhh_[0JOJQJ^Jjθh_[Ujh_[U h_[0Jh_[mHsHhYSh_[mHsH h:h_[h_[ h|h_[*(Y}[      8!:!;gd_[gd_[ & F Q^`Qgd_[gd_[%'*+,ABX[\]uvKOz{,1GHijkz{÷ؚؚ~ h2h_[jQh_[Ujh_[0JUhrh_[0Jjιh_[Uhrh_[0Jjh_[0J5Uheh_[0J5jah_[Ujh_[Uh;:h_[0Jh_[h_[nHtHhh_[nHtH1     7 8 9 W X [ c d { | ~      !!!!!!!!!!!!!`"h"i""""""s#{#|######$$$$%鴦鴦鴦鴦鴦 h_[0Jjh_[UmHnHuhx mHnHu h?h_[jqh_[U h2h_[jh_[0JUh2h_[0Jjh_[Ujh_[Uh_[::!!!!""P"^"`""""" #!#=#q#s##$$K$b$%&' & F Q^`Qgd_[gd_[;gd_[gd_[%%%%%%%%A%B%C%N%O%Q%R%l%m%n%|%}%%%%%%%%%%%&$&)&y&z&~&&øàǙÎ{{rkd hyh_[ hR0h_[ht4Sh_[0J h_[0Jhh_[0JOJQJjh_[U h|h_[j8h_[UhL)h_[0JOJQJjh_[Uh_[jh_[0JOJQJUh_[0JOJQJhh_[0JOJQJjh_[Ujh_[U$&&&&&&''"'~''''((-(.(/(J(K(L(P(Q(R(t(u(v(((V)W)w)x)y)))㤯ype\hhh_[0Jjh_[UhBh_[0Jjh_[U hGY#h_[ h_[0Jjh_[0JUh$h_[0Jj$h_[Ujh_[U,h_[B*CJ^JaJfHph333q ht4Sh_[0J h_[0J h_[0Jh_[ hyh_[hh_[0Jh2FGh_[0J#'(){********+ +:+<+M+,-.//X/w/y/// & F Q^`Qgd_[gd_[;gd_[gd_[)))))))))))***,*-*{********f+g+}+~++++++#,$,O,񙋢vjc h^Lh_[jh_[0J5Uheh_[0J5jh_[Ujh_[UmHnHuhx mHnHu h?h_[jh_[0JOJQJUhhh_[0JOJQJjh_[Ujh_[0JUhhh_[0Jjh_[Uh_[jh_[U hhh_[#O,P,Q,S,T,,,,,,,,,, - - -#-$-----... ...0.1.Y.Z.[.f.콯դՒՇzpeXhL)h_[0JOJQJj\h_[Uh_[0JOJQJhh_[0JOJQJjh_[UhsNh_[0JhsNh_[0Jj(h_[Ujh_[0JOJQJUh"oh_[0JOJQJjh_[Uh_[jh_[0JUhh_[0Jjh_[Ujh_[U"f.g.i.j....................../3/@/B/C/D/E/w/x/y/////////h0i0ƽ啇tttt啇thh_[nHtHh_[nHtHjh_[UmHnHuhx mHnHu h?h_[hh_[0JOJQJjbh_[Uh$h_[0J h|h_[hL)h_[0JOJQJjh_[Ujh_[Uh_[jh_[0JOJQJU,/ 00=0b0g0i0x01234q556B6l666677$7(7.7d & F gd_[;gd_[gd_[ & F Q^`Qgd_[gd_[i0n00000000 1 11111111111122 22222728292@2A2W2X2t2u2v2{2|222樞樞tkh)h|h_[0Jjh_[Uh^h_[0Jjh_[Ujh_[Ujh_[0JUhMgh_[0JjFh_[Uhgh_[0Jjh_[0J5Uheh_[0J5jh_[Ujh_[U h\h_[h_[ hoh_[*222222>3?3j3k3l3u3v333 4 4 444444444444455q5y5z5555555飙~ug~jh_[UmHnHuhx mHnHu h?h_[ h`h_[ hh_[ h_[0Jjh_[0JUh6@h_[0Jj)h_[Ujh_[Uh-h_[0Jjh_[Ujh_[0JUh)h|h_[0Jjh_[Uj|h_[Uh_[(5566666666666677(7)75767]777777/838586878=8D8F8G8H8W8888888888899"9-9/909:9@9X9h9q9s9t9ηηηηηΨηηηηηηηηηηηηηηh_[0J1aJh h_[0J1CJmHsHh_[0J1CJaJhoh_[0J1CJaJhth_[0J1CJaJhh_[0J!hh_[0J!CJ hh_[0J!CJOJQJ^J;.7W7777778"8)8/8Z8888888919X9t9999999:.:gd_[t9|99999999999999999 ::4:6:8:;:<:=:N:O:b:c:|:}:::::::::::w=x==ƹӹӹƬ{u h_[0Jjh_[0JUh.}eh_[0Jjh_[Ujh_[U h"h_[h_[h45Th_[0J1CJaJhoh_[0J1CJaJhth_[0J1CJaJh_[0J1CJaJhmh_[0J1CJh<h_[0J1CJh<h_[0J1CJaJ,.:4:9:{:}:::<<7>a?@+@AxB7CFDDEEEQFFG]HH#$gd_[d & F gd_[gd_[  & F gd_[gd_[============>>>>>>>>? ?H?I?J?X?Y?Z????????տ찤Չ|ncX|njih_[UhM|h_[0J^Jjh_[0JOJQJUh$h_[0JOJQJjh_[Ujh_[0JOJQJU^Jh_[0JOJQJ^Jhh_[0JOJQJ^JjAh_[Ujh_[Uh_[jh_[0JUhJ=h_[0Jjh_[Uj+h_[U"?*@+@6B7B_B`BaBoBpBqBwBxByBBBBBBBBBBBBBBBCǽ햊zssjdj[TN h_[^J hBh_[hBh_[0J h_[0JhZsh_[0J hVh_[jh_[0JOJQJU^Jh_[0JOJQJ^JhZsh_[0JOJQJ^Jjh_[Uh_[h_[OJQJaJh_[0JOJQJjh_[0JOJQJUh$h_[0JOJQJjh_[Ujh_[U h"h_[h_[CC6C7C9C@CAClCmCnCpCqCrCCCCCCCCCCCCCCDDDD:D;DI?I훊thS`Qh_[0J^JjMh_[U h_[^Jjh_[Uhrh_[^JhrEh_[0Jjh_[0JU^Jh2ah_[0J^Jj7h_[Ujh_[0JUhh_[0Jjh_[Uh_[jh_[U hrh_[*H@IMIIIJwJ#KKL=MM NiOxOP=QRS#UpU/VVVgd_[;gd_[ & F Q^`Qgd_[#PPgd_[gd_[  & F gd_[d & F gd_[?I@IIIIIIIIIIJMJSJWJ]JJJJJJJJJ KKK!K#K3K:K;KGK`K~KKKKKKï󒈒}ph$h_[0JOJQJjEh_[Uh_[OJPJQJh#h_[OJPJQJjh_[0JU h_[0Jh1Yh_[0Jjh_[Ujh_[Uh2|h_[OJQJ^JhWfh_[OJQJ^J hWfh_[ h|h_[h_[h4yh_[^J'KKKKKKKKKLLLL%L&L4L5L?L@LGLSLLLLLLLLLLҴΑysjsy_Vhh_[0Jjyh_[UhCMh_[0J h_[^Jhh_[0J h_[0JhZsh_[0J hVh_[jh_[0JOJQJU^Jh_[0JOJQJ^JhZsh_[0JOJQJ^Jjh_[Uh_[jh_[Uh#h_[OJPJQJh_[OJPJQJjh_[0JOJQJULLLLLLMM1M2M3M;Mh_[Ujh_[Uht4Sh_[0Jh_[h_[^JaJhi3h_[^JaJjh_[0JU^JaJ26[`\\\]]]G^`^f^h^^^^_:_d_i_o_q___``B`n`s```gd_[;gd_[gd_[^^^^^^^^^^^^^^____ _!_(_7_9_>_G_H_c_f_h_o_p_q_y_z_________________`````#`$`+`?`A`F`O`P`Q`\`^`c`m`p`r````bb,b-bDbEbhh_[0Jjh_[UmHnHuhx mHnHujh_[U h~8h_[ h1Ph_[h_[N```a$bJbMb^bmbbbbbbbbcccd^fgghiigd_[;gd_[gd_[ & F Q^`Qgd_[EbGbHbddddddddddeee)e*e4eeeeeee0f2f3fMfNfOf[f\fuf䙐tj^jh_[0J5UhRh_[0J5jh_[Ujh_[Uhr"h_[aJhr"h_[0J.hr"h_[B*^JaJfHph333q hth_[0Jht kh_[6h h_[0Jh[yh_[0Jh &h_[0J h[yh_[h_[jh_[UmHnHuhx mHnHu!ufzfggggggggggghhhiiiijekkklmmmfnknnnnnnn o oooo浧yoh_[OJQJ^Jh.Nh_[OJQJ^J h+h_[hhXh_[0Jh h_[0Jh_[B*phjh_[UmHnHuhx mHnHu hNh_[jh_[0J5UhRh_[0J5jBh_[Ujh_[U h_[5h_[hGh_[0J(iXiiiiii'jSjjjjjjfkkklmmmnn,oo & F Q^`Qgd_[gd_[  & F gd_[gd_[ooo o*o+o>oBop plp|pppppppp)q/qqq rrrrCrIrrr|rssﳾg2hxh_[B*CJ^JaJfHphq h(Jh_[0J h_[0Jh.Nh_[OJQJ^Jjh_[0J5Uhjh_[0J5jh_[Ujh_[Uh>jh_[0Jh h_[0J h M%h_[h+h_[0J h+h_[h_[hxh_[OJQJ^J oqq`rs.tTtVtctvttttttu=uEuLu`uvuuuuuu & F Q^`Qgd_[gd_[;gd_[gd_[s s*ssssttttt6t7tNtOtQtRtuuuuuuuuuuuuv vvv vPvQvRvmvԭܘܑܑ܆}tk`kjBh_[Uh9h_[0Jh[h_[0Jh9h_[0Jjh_[U hh_[ h~8h_[jh_[UmHnHuhx mHnHujh_[0JUhGbh_[0Jj(h_[Ujh_[Uh_[hEh_[0J,h_[B*CJ^JaJfHphq %mvnvvvvw wwwwwwwyyyzz1z2z3z5h_[jh|h_[U h|h_[jh|h_[UhNPh_[OJQJ^Jjh_[UhTh_[OJQJ^Jh$h_[OJQJ^Jhx j$h_[Ujh_[Uh_[ hxXh_[(YZ[klnΆֆ؆ֈ׈؈uvwz{~;}y}y}y}yuqiaih7VCJaJh0ECJaJhUhZ*hfijhfiU hJh"vB h[76h_[ h_[0Jh]h_[0Jh]5Zh_[0J h2h_[h2h_[5h_[ *hT~h_[ hmh_[hmh_[^Jjh_[0J5Uheh_[0J5jh_[Ujh_[U%Єۄ^UUUU $IfgdCkd$$Ifl\T $TFL t0644 lalytC.8Cij^UUUUU $IfgdCkd$$Ifl\T $TFL t0644 lalytCjk˅ޅ[u^UUUUUUUU $IfgdCkdP$$Ifl\T $TFL t0644 lalytC uv"=^^UUUUUUUU $IfgdCkd$$Ifl\T $TFL t0644 lalytC ^yƇ$%@KVUkd$$Ifl\T $TFL t0644 lalytC $IfgdC Vdyz؈Ukd<$$Ifl\T $TFL t0644 lalytC $IfgdC IyzˉUkd$$Ifl\T $TFL t0644 lalytC $IfgdC+@^UUUU $IfgdCkd$$Ifl\T $TFL t0644 lalytC@AKV^UUUU $IfgdCkd6$$Ifl\T $TFL t0644 lalytC^UUUU $IfgdCkd$$Ifl\T $TFL t0644 lalytC(St^UUUU $IfgdCkd$$Ifl\T $TFL t0644 lalytCtuvxyz|}~^YTTRTTRTgd gdJkdL$$Ifl\T $TFL t0644 lalytC ͋?@ * !#gdv* !H$gdV* !H$gdVgd Nj̋͋!"()*+/0:;=>?@Amnp{h{h]YMMjhZ*CJUaJhUh,hZ*CJaJ$jh dQhZ*0J+CJUaJ* h:/0J+CJaJmHnHu*h dQhZ*0J+CJaJ!jh dQhZ*0J+CJUaJh dQhZ*CJaJh.hVCJaJh(hVCJaJhVCJ^JaJhVCJaJh,hVCJaJh0ECJaJh7VCJaJhZ*CJaJpqΌόՌ֌܌݌ތߌƵƵƵƵ hJh"vBhfihUhx 0J+CJaJmHnHuhZ*0J+CJaJmHnHu!jhvhZ*0J+CJUaJhvhZ*0J+CJaJhvhZ*CJ^JaJhvhZ*CJaJhZ*CJaJjhZ*CJUaJgdJ6&P1h:pE=/ =!"#$% 6&P1h:pC/ =!"#$% NDd0  |A ? & oasisPicture 1Description: oasis"bLWyT.]i%(Dn WyT.]i%PNG  IHDRJzPLTE:o[+~Xք=X*bKGDH cmPPJCmp0712OmIDATho:9 QgRV\(3QA_=|II;ǟ'c7IFmFmž~OwOF6ؘƭOKc;Vh<魴W4{5xizۆ^:`fefd$[CoURk炳mfVfG>ȟVgʇ{d8uh%M 42>xQgjyF}X0Ag->E8i#B8iO}8iqj!(YIԱAѹq荢NvQe."pKx38VQǡoD.!_S7 _]B*qIcdi gE[{1 2t*@f82rC*IDATL['<Ox9†?HSxA< 6A^=2EIbK ̒nf1E"+LF85-;([~Ì=(8C?֋3(upv؊M4i09e8sRQu݁8^,=w>T<'7 ^Ccqz8x?8A @,'wwC g`E*+3.YD=Dk(V1Ιq MhߏP+8 upgG8M C#mGX--iwFw& УrC=!`P ۣ1;ꇌhVlj[QңqҰto1LC1 h\&yK4ۙ[ӗ#yP3.c5_>4ѯXfk2^]!KwU2h6dJ-IENDB`YDyK yK http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.doc[DyK yK http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.htmlYDyK yK http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.pdf/DyK yK http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.docyX;H,]ą'c1DyK yK http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.htmlyX;H,]ą'c/DyK yK http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.pdfyX;H,]ą'cDyK yK rhttps://www.oasis-open.org/committees/odata/yX;H,]ą'cDyK yK 4mailto:ralf.handl@sap.comDyK yK (http://www.sap.com/DyK yK Fmailto:Ram.Jeyaraman@microsoft.comDyK yK 4http://www.microsoft.com/DyK yK 4mailto:ralf.handl@sap.comDyK yK (http://www.sap.com/DyK yK 6mailto:mikep@microsoft.comDyK yK 4http://www.microsoft.com/DyK yK Dmailto:mark.biamonte@progress.comDyK yK 2http://www.progress.com/yDyK yK http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.htmlDyK yK $http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.htmliDyK yK http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part3-csdl/odata-v4.0-errata03-os-part3-csdl-complete.htmlDyK yK http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/abnf/DyK yK http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/vocabularies/DyK yK http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/schemas/DyK yK http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/models/ DyK  yK https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata technicalDyK yK https://www.oasis-open.org/committees/comments/index.php?wg_abbrev=odataDyK yK Zhttps://www.oasis-open.org/committees/odata/DyK yK hhttps://www.oasis-open.org/committees/odata/ipr.php1DyK yK http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.htmlyX;H,]ą'c}DyK _Toc453766611}DyK _Toc453766611}DyK _Toc453766612}DyK _Toc453766612}DyK _Toc453766613}DyK _Toc453766613}DyK _Toc453766614}DyK _Toc453766614}DyK _Toc453766615}DyK _Toc453766615}DyK _Toc453766616}DyK _Toc453766616}DyK _Toc453766617}DyK _Toc453766617}DyK _Toc453766618}DyK _Toc453766618}DyK _Toc453766619}DyK _Toc453766619}DyK _Toc453766620}DyK _Toc453766620}DyK _Toc453766621}DyK _Toc453766621}DyK _Toc453766622}DyK _Toc453766622}DyK _Toc453766623}DyK _Toc453766623}DyK _Toc453766624}DyK _Toc453766624}DyK _Toc453766625}DyK _Toc453766625}DyK _Toc453766626}DyK _Toc453766626}DyK _Toc453766627}DyK _Toc453766627}DyK _Toc453766628}DyK _Toc453766628}DyK _Toc453766629}DyK _Toc453766629}DyK _Toc453766630}DyK _Toc453766630}DyK _Toc453766631}DyK _Toc453766631}DyK _Toc453766632}DyK _Toc453766632}DyK _Toc453766633}DyK _Toc453766633}DyK _Toc453766634}DyK _Toc453766634}DyK _Toc453766635}DyK _Toc453766635}DyK _Toc453766636}DyK _Toc453766636}DyK _Toc453766637}DyK _Toc453766637}DyK _Toc453766638}DyK _Toc453766638}DyK _Toc453766639}DyK _Toc453766639}DyK _Toc453766640}DyK _Toc453766640}DyK _Toc453766641}DyK _Toc453766641}DyK _Toc453766642}DyK _Toc453766642}DyK _Toc453766643}DyK _Toc453766643}DyK _Toc453766644}DyK _Toc453766644}DyK _Toc453766645}DyK _Toc453766645}DyK _Toc453766646}DyK _Toc453766646}DyK _Toc453766647}DyK _Toc453766647}DyK _Toc453766648}DyK _Toc453766648}DyK _Toc453766649}DyK _Toc453766649}DyK _Toc453766650}DyK _Toc453766650}DyK _Toc453766651}DyK _Toc453766651}DyK _Toc453766652}DyK _Toc453766652}DyK _Toc453766653}DyK _Toc453766653}DyK _Toc453766654}DyK _Toc453766654}DyK _Toc453766655}DyK _Toc453766655}DyK _Toc453766656}DyK _Toc453766656}DyK _Toc453766657}DyK _Toc453766657}DyK _Toc453766658}DyK _Toc453766658}DyK _Toc453766659}DyK _Toc453766659}DyK _Toc453766660}DyK _Toc453766660}DyK _Toc453766661}DyK _Toc453766661}DyK _Toc453766662}DyK _Toc453766662}DyK _Toc453766663}DyK _Toc453766663}DyK _Toc453766664}DyK _Toc453766664}DyK _Toc453766665}DyK _Toc453766665}DyK _Toc453766666}DyK _Toc453766666}DyK _Toc453766667}DyK _Toc453766667}DyK _Toc453766668}DyK _Toc453766668}DyK _Toc453766669}DyK _Toc453766669}DyK _Toc453766670}DyK _Toc453766670}DyK _Toc453766671}DyK _Toc453766671}DyK _Toc453766672}DyK _Toc453766672}DyK _Toc453766673}DyK _Toc453766673mDyK odataqDyK rfc7159DyK _Primitive_ValueDyK CollectionOfPrimitive{DyK  ComplexValueDyK _Collection_of_ComplexqDyK _EntityDyK ResourceReferenceDyK CollectionOfEntitiesDyK _Entity_Reference}DyK DeltaResponseDyK _Representing_the_ServiceDyK _Representing_Errors_inqDyK rfc2119DyK yK fhttp://tools.ietf.org/html/draft-butler-geojson-04DyK yK Hhttps://tools.ietf.org/html/rfc7493DyK yK Hhttp://www.ietf.org/rfc/rfc2119.txtDyK yK Hhttp://www.ietf.org/rfc/rfc3986.txtDyK yK Hhttp://www.ietf.org/rfc/rfc3987.txtDyK yK Fhttp://tools.ietf.org/html/rfc7159DyK yK Fhttp://tools.ietf.org/html/rfc5646DyK yK http://www.ecma-international.org/publications/standards/Ecma-262.htmqDyK rfc7159DyK  _Payload_Ordering_Constraints_1DyK _Controlling_the_AmountDyK  _Controlling_the_RepresentationDyK  _Controlling_the_RepresentationDyK  _Payload_Ordering_Constraints_1DyK VocCapabilitiesDyK _Control_InformationDyK _odata=minimalmetadataDyK _odata.metadata=fullDyK _odata=nometadatauDyK  odataNextwDyK  odataDeltawDyK  odataCountDyK _Instance_AnnotationsDyK !_The_odata.metadata_Annotation_1uDyK  odataEtagwDyK  odataCountuDyK  odataNextwDyK  odataDeltaDyK _Annotation_odata.media*_1DyK _Annotation_odata.media*_1DyK !_The_odata.metadata_Annotation_1wDyK  odataCountuDyK  odataNextwDyK  odataDeltaDyK _The_odata.id_Annotation_1uDyK  odataEtagDyK _Annotation_odata.editLink_andDyK _Annotation_odata.editLink_andDyK '_Annotation_odata.navigationLink_and_1DyK '_Annotation_odata.navigationLink_and_1uDyK  odataTypeDyK _Annotation_odata.media*_1DyK _Annotation_odata.media*_1DyK _Annotation_odata.media*_1DyK _Annotation_odata.media*_1uDyK  odataNextwDyK  odataCountDyK _Delta_ResponseDyK _Annotation_odata.countmDyK ijsonwDyK  ECMAScriptDyK  yK `http://www.ecma-international.org/ecma-262/5.1/ sec-4.3.19DyK _Header_Content-TypeDyK _Annotation_odata.countDyK _Controlling_the_AmountDyK  _Controlling_the_RepresentationDyK  _Payload_Ordering_Constraints_1qDyK EntitiyDyK ResourceReferenceDyK _Representing_a_ComplexDyK _Primitive_ValueDyK CollectionOfPrimitiveDyK _Collection_of_ComplexDyK CollectionOfEntities}DyK DeltaResponseDyK _Annotation_odata.metadataDyK _Annotation_odata.typeqDyK RFC3986DyK _Bind_OperationDyK _Instance_AnnotationsmDyK odataDyK _Relative_URLsDyK _odata.metadata=nonemDyK odataDyK _Relative_URLsDyK _odata=minimalmetadataDyK _odata.metadata=fullmDyK odataDyK _Annotation_odata.contextuDyK  odataCSDLDyK _odata=minimalmetadataDyK _odata.metadata=fullDyK _Annotation_odata.typeDyK _Annotation_odata.typeDyK  _Controlling_the_RepresentationuDyK  odataCSDLmDyK odataDyK _Expanded_Navigation_PropertymDyK odatayDyK  ODataURLRefDyK _odata.metadata=fullDyK _odata=minimalmetadataqDyK RFC3987qDyK RFC3986qDyK RFC3986DyK _Relative_URLsDyK _odata=minimalmetadatamDyK odatamDyK odataDyK _odata=nometadataDyK _The_odata.id_Annotation_1DyK _odata.metadata=fullDyK _odata=minimalmetadataDyK _odata.metadata=fullDyK _odata=minimalmetadataDyK _odata=minimalmetadataqDyK _EntitymDyK odataDyK _odata=nometadataDyK _Navigation_PropertyDyK _Annotation_odata.editLink_andDyK _odata=minimalmetadataDyK _odata=nometadata}DyK _Media_EntityDyK _Stream_PropertyyDyK  ODataURLRefyDyK  ODataURLRefDyK _odata.metadata=fullDyK _odata=nometadatauDyK  odataCSDLDyK _Relative_URLsDyK _Instance_AnnotationsDyK _Structural_PropertymDyK odatamDyK odataDyK !_The_odata.metadata_Annotation_1DyK _Relative_URLsDyK _Primitive_ValueDyK _Complex_ValueDyK CollectionOfPrimitiveDyK _Collection_of_ComplexqDyK rfc7159kDyK abnfkDyK abnfqDyK GeoJSONDyK _Annotation_odata.typeDyK _Primitive_ValueDyK _Representing_a_ComplexDyK _Relative_URLsDyK _Relative_URLsqDyK _EntityDyK ResourceReferenceDyK !_The_odata.metadata_Annotation_1DyK _Annotation_odata.countDyK _Annotation_odata.countDyK _Expanded_Navigation_PropertyDyK _Annotation_odata.idDyK _Relative_URLsDyK _Annotation_odata.media*DyK _Annotation_odata.media*mDyK odataDyK _Primitive_ValueDyK _Representing_a_ComplexDyK _Collection_of_ComplexDyK _Collection_of_PrimitiveDyK !_The_odata.metadata_Annotation_1DyK _Annotation_odata.countuDyK  odataNextwDyK  odataDeltaqDyK _EntityDyK ResourceReferenceDyK _Bound_Function}DyK _Bound_ActionDyK _Annotation_odata.nextLinkmDyK odataDyK _The_odata.id_Annotation_1uDyK  odataTypeDyK _Collection_of_EntitiesDyK !_The_odata.metadata_Annotation_1DyK _Annotation_odata.countuDyK  odataNextwDyK  odataDeltamDyK odataDyK _Added/Changed_EntityDyK '_Representing_Added/Changed_Entities_1DyK _Deleted_EntityyDyK  _Added_Link}DyK _Deleted_LinkDyK _Annotation_odata.nextLinkDyK _Annotation_odata.deltaLinkDyK _Annotation_odata.countqDyK _EntityyDyK  _Added_LinkDyK _Representing_Deleted_Links_1DyK _Annotation_odata.metadataDyK _Controlling_the_AmountDyK _Controlling_the_AmountDyK _Controlling_the_AmountDyK !_The_odata.metadata_Annotation_1DyK _The_odata.id_Annotation_1DyK _The_odata.id_Annotation_1DyK _Relative_URLsDyK _Controlling_the_AmountDyK _Controlling_the_AmountDyK !_The_odata.metadata_Annotation_1DyK _The_odata.id_Annotation_1DyK _Relative_URLsDyK _The_odata.id_Annotation_1DyK _Relative_URLsyDyK  _Added_LinkDyK _Controlling_the_AmountDyK !_The_odata.metadata_Annotation_1DyK _The_odata.id_Annotation_1DyK _Relative_URLsDyK _The_odata.id_Annotation_1DyK _Relative_URLsuDyK  odataCSDLkDyK abnfDyK _odata.metadata=fullDyK _Instance_AnnotationsDyK _Attribute_targetDyK _odata=minimalmetadatauDyK  odataCSDLDyK _odata.metadata=fullDyK _Instance_AnnotationsDyK _odata=minimalmetadatauDyK  odataCSDLuDyK  odataCSDLqDyK rfc5646DyK _Instance_AnnotationsDyK _Instance_AnnotationsDyK yK Fmailto:property@namespace.termnameqDyK rfc7159DyK _Delta_Response}DyK _Ref359603569}DyK _Ref356829825}DyK _Ref356829837}DyK _Ref356829873}DyK _Ref356829936}DyK _Ref356829963}DyK _Ref354567725mDyK odata}DyK _Ref356829677}DyK _Ref356829691uDyK  odataNext}DyK _Ref356921125uDyK  odataType}DyK _Ref356829731}DyK _Ref354567725}DyK _Ref356829691mDyK odata$$Ifl!vh#vT#vF#v#vL:V l t065T5F55LalytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55LalytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55LalytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55LalytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55LalytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55LalytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55LalytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55L/ alytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55L/ alytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55L/ alytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55L/ alytC$$Ifl!vh#vT#vF#v#vL:V l t065T5F55L/ alytCgtpppp08002 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p(8HX`~ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@6_HmH nH sH tH L`L  Normal PPOJQJ_HaJmH sH tH x@x ]A Heading 1+$$ & Fx$d@&N5B* CJ$KH \^JaJ$ph;od@d  Heading 2,H2$$ & F$d@&NCJ\]aJJ@!J  Heading 3,H3  & F@& CJ\aJJ1J  Heading 4,H4  & F@& CJ\aJBAB  Heading 5  & F@& \]aJDQD  Heading 6  & F@& CJ\aJ8a8  Heading 7  & F@&>q>  Heading 8  & F@&6]8 8  Heading 9 & F@&DA`D Default Paragraph FontRi@R 0 Table Normal4 l4a (k ( 0No List Z>@Z ]ATitleN5B* CJ0KH\^JaJ0ph;o4J@4 ]ASubtitleCJ$aJ$VO"V ]ATitle page info $5B* aJph;olOl E=Title page info description$P^m$ 5B*ph2O!22 U Contributor<!B< Legal notice ^0oQ0 DatatypeOJQJ6U`a6 0 Hyperlink >*B*ph.@. pTOC 1 <<2@2 pTOC 2<<^2@2 pTOC 3<<^fOf Code8$M NP]^ CJOJQJL!L "vBAppendixHeading2 & F@^@FV F FollowedHyperlink >*B* ph2/2 Element CJOJQJ6/6 Attribute CJOJQJ2o2 Keyword CJOJQJR^R Normal (Web) dd[$\$OJPJQJ^J.X`. Emphasis6]Ng !N HTML TypewriterCJOJPJQJ^JaJe@2 Y0HTML Preformatted?#2( Px 4 #\'*.25@9OJPJQJ^JaJ4O4 Note Heading$44 Note%xx]^FrF Definition term&]@ 5PJ<b< Definition 'x^PJ>O> Ref(((^p` B*\ph4@4 Header )!4 @4 JFooter *!.)@. Page NumberVOV J7NAppendixHeading1, & Fdd[$\$KH$,o, Ref term5.(. Line Number22 TOC 7/x^NN Example%0M NP6o6 CODE temp CJOJQJB"B Code small2M CJ:2: Example small3CJ:0B: List Bullet 4 & F.. pTOC 45^CJ,/a, Variable6*Q* TOC 57^.. TOC 68^CJ:: :$ Footnote Text9aJD/D 9$Footnote Text CharOJQJ@"@@ Caption ;xx6CJ\aJ>6> List Bullet 2 < & F<O!< |ML Related Work = & F0O!0 iAbstract>m$.O. ]ANotices?$2O2 w Text Body@^rr  Table Grid7:VA0 APPD1D ]AAppendixHeading3 B & F@& 1@ $Footnote ReferenceH*8+B8 E7$ Endnote TextDaJB/QB D7$Endnote Text CharOJQJ>* a> 7$Endnote ReferenceH*V!V "vBAppendixHeading4G & Fh@&^hCJ]RqR "vBAppendixHeading5H & F@&6CJXX   Heading 1 WP&I$ & F Q^`Q:/: *  Footer Char OJQJaJXX L  Balloon Text KCJOJQJaJmHsHtHV/V K Balloon Text CharCJOJQJaJmHsHtHn n  Medium Shading 1 - Accent 1MOJQJ_HaJmH sH tH B' B Comment ReferenceCJaJ88 P 0 Comment TextOaJB/B O 0Comment Text CharOJQJ@j@ R Comment SubjectQ5\N/!N Q Comment Subject Char5OJQJ\V2V   Medium Grid 1 - Accent 2 S & F m$^B^ V  Code BlockT-DM OJPJ QJ^JaJ`S` Grid Table 3 - Accent 21:VU0j@ j jF jF jF jF j j j j 44 Ufa$DCJOJPJ QJ^JaJ6]6]5\5\\/a\ T Code Block Char%OJPJ QJ^JaJfHq h rh 0Medium List 2 - Accent 2WOJQJ_HaJmH sH tH  / propT/T # 0HTML Preformatted CharOJPJQJ^JBoB apple-converted-space$o$ string Grid Table 1 Light1f:V\04j fffj fff 44\4nHtH5\5\5\5\DD  Grid Table 41:V]0ffffffffffffffffff4j@ j j jQ 44]=nHtH5\5\5\5B*\ph Medium List 1 - Accent 4:V^0j.@j.j.j 44(^fdfd=nHtH5\5\5\5B*\phFBF `  Body Text _xCJOJPJQJH/H _ Body Text CharCJOJPJQJaJB/B b  Verbatim CharOJQJ^JaJRO"R a  Source Codebxx4$^ OJQJ^JR 2R _[ Medium Grid 2cOJQJ_HaJmH sH tH `@B` _[ Colorful List - Accent 1d^`m$n Rn_[0Colorful Shading - Accent 1eOJQJ_HaJmH sH tH c _[Dark List - Accent 3:Vf0j.@j.j.j 44(ffdfd=nHtH5\5\5\5B*\phPK![Content_Types].xmlN0EH-J@%ǎǢ|ș$زULTB l,3;rØJB+$G]7O٭VGRU1a$N% ʣꂣKЛjVkUDRKQj/dR*SxMPsʧJ5$4vq^WCʽ D{>̳`3REB=꽻Ut Qy@֐\.X7<:+& 0h @>nƭBVq1u`X=:tڣf{Xx {dV=|kPo۵(h[x )IеnW[@;0PDbRy( "IROnVxCD' bJZ65I[adH+^D )>s=h ۟~7zWo^=[Qr||[?|̦ o{O=4?}}L$Xx%@|Ư'11%i$P,c[GD7sH5. 4kIƉZKTPBM HN7|nB#L7^`!\29pCH3nMb#$.'19b%+vJ~.!DI;DPz l 2I ͚;|y3+~Dؕjw0e1vdǪzO^I57y+d8bnv 4?6CK\M#= ċ(0'1 zxpWc/_X4/A_[)^&(fp[_NiK7@wd5= I?>_q샏[ꚝΡdrv5CojFh>PG3mOs=͡|7n;:N&?\8Lټ@_<}9H}]Ru Vx~p{3AsP~\v!cZ 6JOw׃SB HfЖ gpj*4nR2BM} rfw[BfV= vͅh7/sɳ ̲B3뤓eH=J_:hn$O\ʧFn;/x.M#+d,W87+IwOťwF) uepwPϬ pV$2v Sv(C8L\~+l`k& Y iTU#p~XHYHeʹ,fͰ-;Y7XmM 9ͬYMm*/稺W(r2bUGڱ]]HYUcF8U~ۍZZnJmi}kn^l K888~~~~~~~D q0 4%(* :L<<=/> ??7@@gABBECCgDEE[FFdGHHUIJJIKKL5MMpNOOAPPQ>RRT'VWY[p]!_`cmotnvy}Y-]Zf>u ѧdIݹy' i  R'%%&)O,f.i025t9=?CDFG?IKL NR'UWXZ\^Ebufosmv%|~Yp    !"#$%&()*+-./012456789;<>?ABDEFGIKMOPQRTVWXZ[]^`abdefhjklmnoqrstuvxyz|~"<GPWctԃ h|eu:!'/.7.:HV6[`iou!ju^V@t  ',3:=@CHJLNSUY\_cgipw{}*,;D=FNF,FH L p 1 M Q z   > R V   $  0U3!M`H[)}85o !'""#2###$%% 252;2[333444<4L4h4j4k4m4444444445555:5Y5u5w5x5z555555556+6.6/616Q66666666 777737N7j7m7n7p77777777888;8<8>8^8x888888888889'9C9F9G9I9i9|999999999::":;:W:Z:[:]:}:::::::; ;#;$;&;F;c;;;;;;;;;;;<&<B<E<F<H<h<<<<<<<<=== =)=]=y=|=}=========@>\>_>`>b>>>>>>>>>????:?D?`?c?d?f?????????@@@@6@I@e@h@i@k@@@@@@@@A/A2A3A5AUAlAAAAAAAAAAABB7B:B;B=B]BBBBBBBBBBBBC(CDCGCHCJCjC}CCCCCCCCCCCD@D\D_D`DbDDDDDDDDDEEEE6EIEeEhEiEkEEEEEEEEEFFFF?FPFlFoFpFrFFFFFFFFFGGGGI?IAIaIsIIIIIIIIIIIJ#J?JBJCJEJeJJJJJJJJJKKKKKKLLLLMM!MIMhMmMMMMMMMN"N'NKN\N`NNNNNNNNOOCOTOOOOPPPcQQQ%RXR|RUHUlUU.VRVVVWWWW^XXXYfYYZZZ[[[ c?c\c{eeeeeee.fBfDfvff[g}gg'hNhbhjjj/kVkjkkl$lmmmmmmmn&nopppHpVp7qSq^qqqqr.r=rsrrr;thtxttttv3vAvvvvw:wIwwwwwx&x>xZxexxxxyHyWyy%z:z{zzz!{={H{,|Y|m|||||*}:}d}}}M~i~x~~~~~Ces'Q] 5\i#̈0bt)[x <MT~(8=eόԌ?_|ȎԎ>I֑ 0y57ٞ͞gDX"D\^kץЦèϨw!HM׭ ʮƯ (5@XZ˲Sk|"Ry,'=f}=Wa 6Cؽ׾Yq/-AV*Sj,Fj~y+4&,Oa '(>HIQx:^rWs~;G (9q,8a]ux3;dAXeqLv #l *-. 4RK{  t      #N[rqzGjz 8Wc{~h{BNQm| . J Q u  V!x!!!!!!",""""f#~###$P$S$$$$$ %#%%&&0&Z&f&i&&&&&&&&&'''(( )))))***8*@*W*u*{****>+k+u++ ,,,,,y---222w5555556667I7X77776:`:o:x:::@;m;p;;;;<;<D<<<<>>>>?'????1@R@[@@@@A5A>ABBB~CCCCCDDDDE2E;EEEEEFFHHHJJJJJJSK{KK$LHLOLsMMM7NONRNO0O3OPPhPkPRRR9S`StSS TTTU4UUUUpVVVyWWW,ZDZGZ2^N^[^___`aahhhkll6lNlQlmmmnQnmnr2r?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefhgijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ KKKKKOOOOOPPPPPPPQRRSSPTTxU^V)WWXYYYYY[[[[[_cycycycycycycycghhhhhSnSnininininininuuuuuuuuu}}}}}}}}}vSfffffԍ֔,??????%,,,,,Ӧ%>>>>>>||ηηηηηclgwwwwwUggttttttttgnnnnnnr00000      KKaaaaaa  {"<#L#L#L#L#L#L##i(w(w(w(w(w(w(}2}22222288*8*8*8*8*8======@A@ALALALALALAiGwGwGwGwGwGwGwGwGiQuQuQuQuQuQXXXXX[[[[[[[bbbbbdddddeeeeeemmmmmmmmppppp\r\r\r\r\r{{{{{|||||  EJTYdl[`gly+07<IQ/4;@MU!!!!!!PPPQ*Q1QJTPTTTUU`VfVsV{VccGdKdddee/fBfwff2gOggghh}iiiijjWkekllll_mmmmmmmn&nSnannn|n$o2oIpVpTq^qeqiqqq/r=rrrrrssitxtttttuu u.uuu4vAvvv;wIwww[xexlxpxxxIyWy&z:zzz>{H{Z|m|||+}:}A}E}}}}}}}j~x~~~~*8R]҂݂wʃՃ#1DP[̇Ї̈bl?I֐“ԓ4dwxfs mr̟џ,1>ESgtbf#JNإPbަ6@dn X[ʮl}ӱݱ+=LV[l}GTmͳ 0>CQ ~"guٽn|*CQZh.<ESTb$|kyWl,1Fy2G]Q`_m%;OY'69Xf:I&3 9D%1p8CGNOZ`k8B @N{<Afv3Ow8CV` NY[dfy{4=$.#,8AMWdo #7Jhu&4AT38r|%9G_kLgxx7D]o5@DR)BTae}  9 K J T   i|OZ'Ds ,?]s>Kdwx.ABL$.@\CNn|)"","""""##(#1#$$&&[&f&&&&&"'/''''(,,--..6/J/]///////0 0070D0a0s00000000 11-1F1O1h1q1}1111111 22,2=2L2j2t266J7X777a:o:::::<<>>?'?CCCD4D?DfJ{JJJMMNNNNNOgOtOOOOOP-PPPPPPPxBxxx!y/y{{{{||=}B}}}}}~~~~~~~~yPU^cʁ "*^cjoxÂʂς؂05<AJRvyz}~-!:!eewffhh}iijjWkekllll_mmmSnannn|n$o2oIpVpTq^qqq/r=rrritxtttuu u.uuu4vAvvv;wIwww[xexxxIyWy&z:zzz>{H{Z|m|||+}:}}}}}}}~*8R]#̈bl?I֐dnfs ,1>gt#Pbަ6@dn ʮLVGT 0>CQ ~"ٽn|CQES|Wl,G]Q`%;&3 @Nfuz TWxx7D)adg  O X J T OZs,?]s>K)","""""##$$&&"'/'h'o'''((A(D(.. //]/~///////0070D0000011-10111=2L26677a:o:::<<>>?'?CCCDJJMMNNgOtOPP%Q.QaQfQaSoSU,UV VVVIWWWWWQXZXXXZZa*a`apaaab bbb nnssFtTtw)wxx!y/y{{{{~~vyz}~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333- ~5 !'" #2##L4k44445Y5x5556/66667N7n7778<8x8888'9G9|999:;:[:::;$;c;;;;&<F<<<<=]=}===@>`>>>>?D?d????@I@i@@@A3AlAAAAB;BBBBB(CHC}CCCC@D`DDDDEIEiEEEEFPFpFFFFGMGmGGGH H_HHHHI?IsIIII#JCJJJJKZZ֑y8D_@[˲(I]y$l. rch{""&&''y--7NSNO4OPPlPUUpVVyWW,ZHZ`a6lRl t-tcttttQuqu&vFvvwSwswlxxxynyyyy4zRzzzM{m{{{uv!+/>@npՄ߄&hp2bC:2jmDn+3nF49MmH}IbKJ1v_L v*0OFFGvV W_B q dޟ (dlfe|>up\6V<iPt<BVJux= ^`OJQJo( 8^8`OJQJo(^`OJQJ^Jo(o  p^ `OJ QJ o(  @ ^ `OJ QJ o( x^x`OJQJo(H^H`OJQJ^Jo(o ^`OJ QJ o( ^`OJ QJ o(^`QJo(  hh^h`OJQJo(^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`. ^`OJQJo(^`OJQJ^Jo(o p^p`OJ QJ o( @ ^@ `OJQJo(^`OJQJ^Jo(o ^`OJ QJ o( ^`OJQJo(^`OJQJ^Jo(o P^P`OJ QJ o( ^`OJQJo(^`OJQJ^Jo(o p^p`OJ QJ o( @ ^@ `OJQJo(^`OJQJ^Jo(o ^`OJ QJ o( ^`OJQJo(^`OJQJ^Jo(o P^P`OJ QJ o(^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.h^h`.P^`P.^`...x^`x.... ^` .....  X^ `X ......  ^ `....... 8^`8........ `^``.........^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`. ^`OJQJo( ^`OJQJo(o pp^p`OJ QJ o( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJ QJ o( ^`OJQJo( ^`OJQJo(o PP^P`OJ QJ o(^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.h^h`)^`.8^8`)^`()^`()p^p`() ^ `.@ ^@ `. ^ `.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`. h^h`o( Appendix .^`o(.h^h`o(..*^*`o(... E^`4*567:;<>*@B*EHH*KHS*Y(\]o(phu .... ^`o( ..... ^`o( ...... `^``o(....... 00^0`o(........^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`. ^`OJQJo(^`OJQJ^Jo(o p^p`OJ QJ o( @ ^@ `OJQJo(^`OJQJ^Jo(o ^`OJ QJ o( ^`OJQJo(^`OJQJ^Jo(o P^P`OJ QJ o(^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`CJ.^`.pL^p`L.@ ^@ `.^`.L^`L.^`.^`.PL^P`L.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`. ^`OJQJo(^`OJQJ^Jo(o p^p`OJ QJ o( @ ^@ `OJQJo(^`OJQJ^Jo(o ^`OJ QJ o( ^`OJQJo(^`OJQJ^Jo(o P^P`OJ QJ o(^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.h^h`.P^`P..^`...x^`x.... ^` .....  X^ `X ......  ^ `....... 8^`8........ `^``.........P^`Po(@^@`o(.0^`0o(..`^``o(... ^`o( .... ^`o( ..... ^`o( ...... `^``o(....... 00^0`o(........ h^h`o( Appendix .@^@`o(.0^`0o(..`^``o(... ^`o( .... ^`o( ..... ^`o( ...... `^``o(....... 00^0`o(........^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.P^`Po(@@^@`o(.0^`0o(..``^``o(... ^`o( .... ^`o( ..... ^`o( ...... `^``o(....... 00^0`o(........^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`. 88^8`OJQJo(^`OJQJ^Jo(o   ^ `OJ QJ o(   ^ `OJQJo(xx^x`OJQJ^Jo(o HH^H`OJ QJ o( ^`OJQJo(^`OJQJ^Jo(o ^`OJ QJ o('fW_W_BVJuq d?3_wGvV6+.bC2KJ6=@#W\}?*E}y/j3upITZiPtv_L*0O3nF<64) (dmD=>Q 9MmH3~0&&                                   L>                 t,        V _Q0Vdo|TU]MVdCU]MVdY9 _Q0VdU]M`QU]MVdc~9#h)_Q0X;_Q0Vd n?C':\DU]MVdfD_Q0Vdm NH_Q0Vd I_Q0Vd;SU]MVd ']U]MVdz|^[4{_Wa_Q0VdU Ms_Q0VdONsU]MVd1itU]MVdnt 2zv~8_:k` (5CL$ A0EC%9I7V @0n,|_}-n  n  x  (WHim/?nd!c}2Z+xl 4FKQS!$<"#s"#W%c%Y&''r'n(3)3+*+{+&+~&+~+h,/* 010)1c1x11(4 14`!6 l67A?7G :7;[;< <a<=E=e\=1g>+?:.@K*A&B/'B"vB?Cf C3>E/FI%INIAJ[J> K*K|ML^MJ7N 9O[O&QdIQ dQ RSR~R*ScS!T}T;~T?MUV+WY1YkY;)ZA^ZV[J\tr\.]O_:`G`a0cpSc eRhjC4jI,k1mQWmooq#o+,opcFpWp|!q2q9qeqgqrrtt@$R^R.D(CU_[%8L}o3K=_I1NqVU@M5<^$s:_gfiZ  / PeE0Ft^?(qd#Z*`55?]Abbis8:/ yZ-K3X5&DQ.8C]QZI2lly6Yd&@d&(/^rd3,HY5Sb J:lfB|,<Jz 1DJ6np%\^k!DRauT'<|.X e ]o)O:^gb60 U9o)=`}@>QOg=_!_The_odata.metadata_Annotation_14,_Collection_of_PrimitiverR)_Collection_of_ComplexXb&_Representing_a_Complex #_Primitive_Value odata?'_Annotation_odata.media*?'_Annotation_odata.media*NB_Relative_URLs>e _Annotation_odata.id !_Expanded_Navigation_PropertyA_Annotation_odata.countA_Annotation_odata.countm~!_The_odata.metadata_Annotation_1ResourceReferenceXe_EntityNB_Relative_URLsNB_Relative_URLsXb_Representing_a_Complex _Primitive_ValueS_Annotation_odata.type{`GeoJSONabnfabnf drfc7159rR_Collection_of_ComplexCollectionOfPrimitivene_Complex_Value _Primitive_ValueNB_Relative_URLsm~!_The_odata.metadata_Annotation_1odataodata: _Structural_Property. _Instance_AnnotationsNB_Relative_URLs odataCSDLx_odata=nometadataoB_odata.metadata=fullol ODataURLRef-6_Stream_Property _Media_Entityx_odata=nometadatai~_odata=minimalmetadatah{_Annotation_odata.editLink_and?2x_Navigation_Propertyxu_odata=nometadatarodataXeo_Entityil_odata=minimalmetadataii_odata=minimalmetadataoBf_odata.metadata=fullic_odata=minimalmetadataoB`_odata.metadata=full ]_The_odata.id_Annotation_1xZ_odata=nometadataWodataTodataiQ_odata=minimalmetadataNBN_Relative_URLs(mKRFC3986(mHRFC3986(mERFC3987iB_odata=minimalmetadataoB?_odata.metadata=fullol< ODataURLRef9odata !6_Expanded_Navigation_Property3odata* odataCSDLCa' _Controlling_the_RepresentationS$_Annotation_odata.typeS!_Annotation_odata.typeoB_odata.metadata=fulli_odata=minimalmetadata odataCSDL?b_Annotation_odata.contextodataoB_odata.metadata=fulli _odata=minimalmetadataNB_Relative_URLsodataeQ_odata.metadata=noneNB_Relative_URLsodata. _Instance_AnnotationsPJ_Bind_OperationS_Annotation_odata.type^_Annotation_odata.metadata DeltaResponseCollectionOfEntitiesrR_Collection_of_ComplexCollectionOfPrimitive _Primitive_ValueXb_Representing_a_ComplexResourceReferenceenEntitiypf _Payload_Ordering_Constraints_1Ca _Controlling_the_RepresentationYl_Controlling_the_AmountA_Annotation_odata.count4w_Header_Content-Type 0http://www.ecma-international.org/ecma-262/5.1/ sec-4.3.19y| ECMAScriptijsonA_Annotation_odata.countjt_Delta_Responsenr odataCount  odataNext`_Annotation_odata.media*_1`_Annotation_odata.media*_1`_Annotation_odata.media*_1`_Annotation_odata.media*_1 odataType_Y'_Annotation_odata.navigationLink_and_1_Y'_Annotation_odata.navigationLink_and_1h_Annotation_odata.editLink_andh_Annotation_odata.editLink_and odataEtag _The_odata.id_Annotation_1~y odataDelta  odataNextnr odataCountm~|!_The_odata.metadata_Annotation_1`y_Annotation_odata.media*_1`v_Annotation_odata.media*_1~ys odataDelta p odataNextnrm odataCountj odataEtagm~g!_The_odata.metadata_Annotation_1. d_Instance_Annotationsnra odataCount~y^ odataDelta [ odataNextxX_odata=nometadataoBU_odata.metadata=fulliR_odata=minimalmetadataO_Control_Information|cLVocCapabilitiespfI _Payload_Ordering_Constraints_1CaF _Controlling_the_RepresentationCaC _Controlling_the_RepresentationYl@_Controlling_the_Amountpf= _Payload_Ordering_Constraints_1 d:rfc7159WN4Fhttp://www.ecma-international.org/publications/standards/Ecma-262.htmb$1#http://tools.ietf.org/html/rfc5646a,.#http://tools.ietf.org/html/rfc7159!7+$http://www.ietf.org/rfc/rfc3987.txt 7($http://www.ietf.org/rfc/rfc3986.txt'?%$http://www.ietf.org/rfc/rfc2119.txt{u"$https://tools.ietf.org/html/rfc7493rc3http://tools.ietf.org/html/draft-butler-geojson-04 erfc2119a@_Representing_Errors_in"_Representing_the_Service DeltaResponse)<_Entity_Reference CollectionOfEntities ResourceReferenceXe_EntityrR_Collection_of_Complex ComplexValueCollectionOfPrimitive _Primitive_Value drfc7159odata7_Toc4537666737_Toc4537666727_Toc4537666717_Toc4537666707_Toc4537666697_Toc4537666687_Toc4537666677_Toc4537666667_Toc4537666657_Toc4537666647_Toc4537666637_Toc4537666627_Toc4537666617_Toc4537666607_Toc4537666597_Toc4537666587_Toc4537666577_Toc4537666567_Toc4537666557|_Toc4537666547v_Toc4537666537p_Toc4537666527j_Toc4537666517d_Toc4537666507^_Toc4537666497X_Toc4537666487R_Toc4537666477L_Toc4537666467F_Toc4537666457@_Toc4537666447:_Toc45376664374_Toc4537666427._Toc4537666417(_Toc4537666407"_Toc4537666397_Toc4537666387_Toc4537666377_Toc4537666367 _Toc4537666357_Toc4537666347_Toc4537666337_Toc4537666327_Toc4537666317_Toc4537666307_Toc4537666297_Toc4537666287_Toc4537666277_Toc4537666267_Toc4537666257_Toc4537666247_Toc4537666237_Toc4537666227_Toc4537666217_Toc4537666207_Toc4537666197_Toc4537666187_Toc4537666177_Toc4537666167_Toc4537666157_Toc4537666147_Toc4537666137_Toc4537666127z_Toc453766611 Vu9https://www.oasis-open.org/policies-guidelines/trademarky{rhttps://www.oasis-open.org/r7o3https://www.oasis-open.org/policies-guidelines/iprqalThttp://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.htmlHiuhttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.html2+f4https://www.oasis-open.org/committees/odata/ipr.phpYc-https://www.oasis-open.org/committees/odata/Xi`Ihttps://www.oasis-open.org/committees/comments/index.php?wg_abbrev=odataM]Bhttps://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata technical~nZThttp://docs.oasis-open.org/odata/odata-atom-format/v4.0/odata-atom-format-v4.0.htmlHWIhttp://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/models/V]TJhttp://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/schemas/1{QOhttp://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/vocabularies/5xNGhttp://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/abnf/dtK|http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part3-csdl/odata-v4.0-errata03-os-part3-csdl-complete.htmlXHHhttp://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.htmldtEhttp://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html DBuhttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-redlined.html}m?lhttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os.html][<http://www.progress.com/x9"mailto:mark.biamonte@progress.com_6http://www.microsoft.com/I`3mailto:mikep@microsoft.comp&0http://www.sap.com/G7-mailto:ralf.handl@sap.com_*http://www.microsoft.com/k'#mailto:Ram.Jeyaraman@microsoft.comp&$http://www.sap.com/G7!mailto:ralf.handl@sap.comY-https://www.oasis-open.org/committees/odata/arShttp://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.pdfqaThttp://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.htmljcShttp://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.docd5thttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.pdfIuhttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.htmlp> thttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.doce4 thttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.pdfHuhttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.htmlq?thttp://docs.oasis-open.org/odata/odata-json-format/v4.0/errata03/os/odata-json-format-v4.0-errata03-os-complete.docy{https://www.oasis-open.org/ OASIS TC4Work Product abbreviation without version or stage TC Chair Editor #1 Editor #2 namespace  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Root Entry FV @Data 1Table;WordDocument p8SummaryInformation(DocumentSummaryInformation8tMsoDataStorep:VCVV0M5EEIL==2p:VCVItem  PropertiesUCompObj r   F Microsoft Word 97-2003 Document MSWordDocWord.Document.89q