You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>The apply expression enables a value to be obtained by applying a client-side function. The apply expression MAY have operand expressions. The operand expressions are used as parameters to the client-side function.</p>
<h3><aname="Apply21.20" href="#Apply21.20"><code>$Apply</code></a> and <aname="Function21.21" href="#Function21.21"><code>$Function</code></a></h3>
2984
2984
<p>Apply expressions are represented as an object with a member <code>$Apply</code> whose value is an array of annotation expressions, and a member <code>$Function</code> whose value is a string containing the <ahref="#QualifiedName">qualified name</a> of the client-side function to be applied.</p>
2985
2985
<p>It MAY contain <ahref="#Annotation">annotations</a>.</p>
<p>The cast expression casts the value obtained from its single child expression to the specified type. The cast expression follows the same rules as the <code>cast</code> canonical function defined in <ahref="#ODataURL">OData-URL</a>.</p>
<p>Cast expressions are represented as an object with a member <code>$Cast</code> whose value is an annotation expression, a member <code>$Type</code> whose value is a string containing the qualified type name, and optionally a member <code>$Collection</code> with a value of <code>true</code>.</p>
3078
3078
<p>It MAY contain <ahref="#Annotation">annotations</a>.</p>
3079
3079
<p>If the specified type is a primitive type or a collection of primitive types, the facet members <ahref="#MaxLength"><code>$MaxLength</code></a>, <ahref="#Unicode"><code>$Unicode</code></a>, <ahref="#Precision"><code>$Precision</code></a>, <ahref="#Scale"><code>$Scale</code></a>, and <ahref="#SRID"><code>$SRID</code></a> MAY be specified if applicable to the specified primitive type. If the facet members are not specified, their values are considered unspecified.</p>
<p>The second and third child expressions are evaluated conditionally. The result MUST be type compatible with the type expected by the surrounding expression.</p>
3107
3107
<p>If the first expression evaluates to <code>true</code>, the second expression MUST be evaluated and its value MUST be returned as the result of the if-then-else expression. If the first expression evaluates to <code>false</code> and a third child element is present, it MUST be evaluated and its value MUST be returned as the result of the if-then-else expression. If no third expression is present, nothing is added to the surrounding collection.</p>
<p>Conditional expressions are represented as an object with a member <code>$If</code> whose value is an array of two or three annotation expressions.</p>
3111
3111
<p>It MAY contain <ahref="#Annotation">annotations</a>.</p>
<p>The <code>is-of</code> expression checks whether the value obtained from its single child expression is compatible with the specified type. It returns <code>true</code> if the child expression returns a type that is compatible with the specified type, and <code>false</code> otherwise.</p>
<p>Is-of expressions are represented as an object with a member <code>$IsOf</code> whose value is an annotation expression, a member <code>$Type</code> whose value is a string containing an qualified type name, and optionally a member <code>$Collection</code> with a value of <code>true</code>.</p>
3130
3130
<p>It MAY contain <ahref="#Annotation">annotations</a>.</p>
3131
3131
<p>If the specified type is a primitive type or a collection of primitive types, the facet members <ahref="#MaxLength"><code>$MaxLength</code></a>, <ahref="#Unicode"><code>$Unicode</code></a>, <ahref="#Precision"><code>$Precision</code></a>, <ahref="#Scale"><code>$Scale</code></a>, and <ahref="#SRID"><code>$SRID</code></a> MAY be specified if applicable to the specified primitive type. If the facet members are not specified, their values are considered unspecified.</p>
<p>A labeled element expression MUST contain exactly one child expression. The value of the child expression is also the value of the labeled element expression.</p>
3145
3145
<p>A labeled element expression MUST provide a <ahref="#SimpleIdentifier">simple identifier</a> value as its name that MUST be unique within the schema containing the expression.</p>
<p>Labeled element expressions are represented as an object with a member <code>$LabeledElement</code> whose value is an annotation expression, and a member <code>$Name</code> whose value is a string containing the labeled element’s name.</p>
3149
3149
<p>It MAY contain <ahref="#Annotation">annotations</a>.</p>
<h3id="14410-labeled-element-reference"><aname="LabeledElementReference" href="#LabeledElementReference">14.4.10 Labeled Element Reference</a></h3>
3161
3161
<p>The labeled element reference expression MUST specify the <ahref="#QualifiedName">qualified name</a> of a <ahref="#LabeledElement">labeled element expression</a> in scope and returns the value of the identified labeled element expression as its value.</p>
<p>Labeled element reference expressions are represented as an object with a member <code>$LabeledElementReference</code> whose value is a string containing an qualified name.</p>
<p>Null expression containing <ahref="#Annotations">annotations</a> are represented as an object with a member <code>$Null</code> whose value is the literal <code>null</code>.</p>
<p>The URL reference expression MUST contain exactly one expression of type <code>Edm.String</code>. Its value is treated as a URL that MAY be relative or absolute; relative URLs are relative to the URL of the document containing the URL reference expression, or relative to a base URL specified in a format-specific way.</p>
3236
3236
<p>The response body of the <code>GET</code> request MUST be returned as the result of the URL reference expression. The result of the URL reference expression MUST be type compatible with the type expected by the surrounding expression.</p>
0 commit comments