diff --git a/docs/odata-csdl-json/odata-csdl-json.html b/docs/odata-csdl-json/odata-csdl-json.html index 29dd8a3d..a45ddc8e 100644 --- a/docs/odata-csdl-json/odata-csdl-json.html +++ b/docs/odata-csdl-json/odata-csdl-json.html @@ -2763,6 +2763,7 @@

14.2.2 Target

14.3 Constant Expression

Constant expressions allow assigning a constant value to an applied term.

+

Primitive values of various types are represented as strings so that their type cannot be inferred from the constant expression alone. If such a constant expression is an operand of a larger expression, clients MUST assume that the operand has the type demanded by the larger expression, for example in a client-side function or in a comparison with another operand of known type. (In the $In comparison in example 75 if Fabric is a collection of Edm.String, the constant expression "Blue" is a string, not a binary value.)

14.3.1 Binary

@@ -3230,7 +3231,7 @@

$E

They MAY contain annotations.

-

Example 75:

+

Example 75:

{
   "$And": [
     {
@@ -3309,7 +3310,7 @@ 

$E { "$Path": "Fabric" }, - "Red" + "Blue" ] }, { diff --git a/docs/odata-csdl-json/odata-csdl-json.md b/docs/odata-csdl-json/odata-csdl-json.md index 6a782123..5df39790 100644 --- a/docs/odata-csdl-json/odata-csdl-json.md +++ b/docs/odata-csdl-json/odata-csdl-json.md @@ -3928,6 +3928,14 @@ properties targeted via the declaring structured type. Constant expressions allow assigning a constant value to an applied term. +Primitive values of various types are represented as strings so that their type +cannot be inferred from the constant expression alone. If such +a constant expression is an operand of a larger expression, clients MUST assume +that the operand has the type demanded by the larger expression, for example in a +client-side function or in a comparison with another operand of known type. +(In the `$In` comparison in [example 75](#disambiguate) if `Fabric` is a collection +of `Edm.String`, the constant expression `"Blue"` is a string, not a binary value.) + ### 14.3.1 Binary ::: {.varjson .rep} @@ -4779,7 +4787,7 @@ They MAY contain [annotations](#Annotation). ::: ::: {.varjson .example} -Example 75: +Example 75: ```json { "$And": [ @@ -4859,7 +4867,7 @@ Example 75: { "$Path": "Fabric" }, - "Red" + "Blue" ] }, { diff --git a/docs/odata-csdl-xml/odata-csdl-xml.html b/docs/odata-csdl-xml/odata-csdl-xml.html index 87b99fa7..b19a3515 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.html +++ b/docs/odata-csdl-xml/odata-csdl-xml.html @@ -3164,7 +3164,7 @@

</Le> <Has> <Path>Fabric</Path> - <EnumMember>org.example.Pattern/Red</EnumMember> + <EnumMember>org.example.Pattern/Blue</EnumMember> </Has> <In> <Path>Size</Path> diff --git a/docs/odata-csdl-xml/odata-csdl-xml.md b/docs/odata-csdl-xml/odata-csdl-xml.md index 71713f01..1c871879 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.md +++ b/docs/odata-csdl-xml/odata-csdl-xml.md @@ -3737,6 +3737,7 @@ properties targeted via the declaring structured type. Constant expressions allow assigning a constant value to an applied term. + ### 14.3.1 Binary @@ -4762,7 +4763,7 @@ Example 75: Fabric - org.example.Pattern/Red + org.example.Pattern/Blue Size diff --git a/odata-csdl/14 Vocabulary and Annotation.md b/odata-csdl/14 Vocabulary and Annotation.md index 0124b372..47357204 100644 --- a/odata-csdl/14 Vocabulary and Annotation.md +++ b/odata-csdl/14 Vocabulary and Annotation.md @@ -688,6 +688,16 @@ properties targeted via the declaring structured type. Constant expressions allow assigning a constant value to an applied term. +: varjson +Primitive values of various types are represented as strings so that their type +cannot be inferred from the constant expression alone. If such +a constant expression is an operand of a larger expression, clients MUST assume +that the operand has the type demanded by the larger expression, for example in a +client-side function or in a comparison with another operand of known type. +(In the `$In` comparison in [example ##disambiguate] if `Fabric` is a collection +of `Edm.String`, the constant expression `"Blue"` is a string, not a binary value.) +: + ### ##subsubsec Binary ::: {.varjson .rep} @@ -2012,7 +2022,7 @@ They MAY contain [annotations](#Annotation). ::: ::: {.varjson .example} -Example ##ex: +Example ##ex_disambiguate: ```json { "$And": [ @@ -2092,7 +2102,7 @@ Example ##ex: { "$Path": "Fabric" }, - "Red" + "Blue" ] }, { @@ -2180,7 +2190,7 @@ Example ##ex: Fabric - org.example.Pattern/Red + org.example.Pattern/Blue Size