It MAY contain . Example 81: "@UI.DisplayName": { "$LabeledElement": { "$Path": "FirstName" }, "$Name": "CustomerFirstName" } Labeled Element Reference The labeled element reference expression MUST specify the of a in scope and returns the value of the identified labeled element expression as its value. $LabeledElementReference Labeled element reference expressions are represented as an object with a member $LabeledElementReference whose value is a string containing an qualified name. Example 82: "@UI.DisplayName": { "$LabeledElementReference": "self.CustomerFirstName" } Null The null expression returns an untyped null value. The null expression MAY be annotated. Null expressions that do not contain annotations are represented as the literal null. Example 83: "@UI.DisplayName": null, $Null Null expression containing are represented as an object with a member $Null value is the literal null. Example 84: "@UI.Address": { "$Null": null, "@self.Reason": "Private" } Record The record expression enables a new entity type or complex type instance to be constructed. A record expression MAY specify the structured type of its result, which MUST be an entity type or complex type in scope. If not explicitly specified, the type is derived from the expression’s context. A record expression contains zero or more property value expressions. For each single-valued structural or navigation property of the record expression’s type that is neither nullable nor specifies a default value a property value expression MUST be provided. The only exception is if the record expression is the value of an annotation for a term that has a whose type is structured and directly or indirectly inherits from the type of its base term. In this case, property values that already have been specified in the annotation for the base term or its base term etc. need not be specified again. For collection-valued properties the absence of a property value expression is equivalent to specifying an empty collection as its value.
It MAY contain . Example 81: "@UI.DisplayName": { "$LabeledElement": { "$Path": "FirstName" }, "$Name": "CustomerFirstName" } Labeled Element Reference The labeled element reference expression MUST specify the of a in scope and returns the value of the identified labeled element expression as its value. $LabeledElementReference Labeled element reference expressions are represented as an object with a member $LabeledElementReference whose value is a string containing an qualified name. Example 82: "@UI.DisplayName": { "$LabeledElementReference": "self.CustomerFirstName" } Null The null expression returns an untyped null value. The null expression MAY be annotated. Null expressions that do not contain annotations are represented as the literal null. Example 83: "@UI.DisplayName": null, $Null Null expression containing are represented as an object with a member $Null value is the literal null. Example 84: "@UI.Address": { "$Null": null, "@self.Reason": "Private" } Record The record expression enables a new entity type or complex type instance to be constructed. A record expression MAY specify the structured type of its result, which MUST be an entity type or complex type in scope. If not explicitly specified, the type is derived from the expression’s context. A record expression contains zero or more property value expressions. For each single-valued structural or navigation property of the record expression’s type that is neither nullable nor specifies a default value a property value expression MUST be provided. The only exception is if the record expression is the value of an annotation for a term that has a whose type is structured and directly or indirectly inherits from the type of its base term. In this case, property values that already have been specified in the annotation for the base term or its base term etc. need not be specified again. For collection-valued properties the absence of a property value expression is equivalent to specifying an empty collection as its value.
odata-csdl-json-v4.01-wd04-2017-12-19.docx