From 9036a06889d74ec0cfb928b7ac75453457c86229 Mon Sep 17 00:00:00 2001 From: mikepizzo Date: Thu, 26 Sep 2024 11:06:20 -0700 Subject: [PATCH 1/6] Add description of Core.IsDelta to ReturnType and Parameter Add description of Core.OptionalParameter to Parameter Add, to introduction, that functions and actions can take, and return, delta payloads --- docs/odata-csdl-json/odata-csdl-json.html | 39 +++++++++++----- docs/odata-csdl-json/odata-csdl-json.md | 40 +++++++++++++--- docs/odata-csdl-xml/odata-csdl-xml.html | 35 ++++++++++---- docs/odata-csdl-xml/odata-csdl-xml.md | 36 +++++++++++++-- odata-csdl/1 Introduction.md | 1 + odata-csdl/12 Action and Function.md | 54 ++++++++++++++++++++++ odata-csdl/14 Vocabulary and Annotation.md | 2 +- package-lock.json | 2 +- 8 files changed, 175 insertions(+), 34 deletions(-) diff --git a/docs/odata-csdl-json/odata-csdl-json.html b/docs/odata-csdl-json/odata-csdl-json.html index f5ea66c0..b23b134f 100644 --- a/docs/odata-csdl-json/odata-csdl-json.html +++ b/docs/odata-csdl-json/odata-csdl-json.html @@ -459,26 +459,31 @@

+Section 12 +Actions and functions can take, and return, delta payloads +348 + + Section 14.3.13 Constant Geo values in annotations 654 - + Section 14.3.14 Constant Stream values in annotations 654 - + Section 14.4.1.2 New path evaluation rules for annotations targeting annotations and external targeting via container 575 - + Section 14.4.7 Nested If without else part in collections 326 - + Section 17 Additional conformance clauses for version 4.02 @@ -2004,7 +2009,10 @@

$Type and $Nullable

+

Annotation Core.IsDelta

+

The $ReturnType of a function or action that returns results as a delta payload is annotated with the term Core.IsDelta.

+

Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

+

$Nullable

The value of $Nullable is one of the Boolean literals true or false. Absence of the member means false.

If the return type is a collection of entity types, the $Nullable member has no meaning and MUST NOT be specified.

For other collection-valued return types the result will always be a collection that MAY be empty. In this case $Nullable applies to items of the collection and specifies whether the collection MAY contain null values.

@@ -2021,7 +2029,7 @@

12.9 ParameterThe facets MaxLength, Precision, Scale, or SRID can be used as appropriate to specify value restrictions of the parameter, as well as the Unicode facet for 4.01 or greater payloads.

For single-valued parameters the facets apply to the parameter value. If the parameter value is a collection, the facets apply to the items in the collection.

-

$Parameter

+

$Parameter

The value of $Parameter is an array. The array contains one object per parameter.

Parameter Object

A parameter object MUST contain the member $Name, and it MAY contain the members $Type, $Collection, $Nullable, $MaxLength, $Unicode, $Precision, $Scale, and $SRID.

@@ -2032,10 +2040,16 @@

$Type and $Nullable

+

Annotation Core.IsDelta

+

A $Parameter that accepts a delta payload is annotated with the term Core.IsDelta.

+

Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

+

$Nullable

The value of $Nullable is one of the Boolean literals true or false. Absence of the member means false.

For single-valued parameters the value true means that the parameter accepts a null value.

For collection-valued parameters the parameter value will always be a collection that MAY be empty. In this case $Nullable applies to items of the collection and specifies whether the collection MAY contain null values.

+

Annotation Core.OptionalParameter

+

A $Parameter object annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

+

All parameters marked as optional MUST come after any parameters not marked as optional. The binding parameter MUST NOT be marked as optional.

Example 30: a function returning the top-selling products for a given year. In this case the year must be specified as a parameter of the function with the $Parameter member.

@@ -2501,7 +2515,7 @@

14.1.2 A Parameter -Action of Function Parameter +Action or Function Parameter Property @@ -4368,15 +4382,18 @@

$ReturnType
  • $Type
  • $Collection
  • -
  • $Nullable
  • -
  • $Parameter
  • +
  • Annotation Core.IsDelta
  • +
  • $Nullable
  • +
  • $Parameter
  • Parameter Object
  • Entity Container Object
      diff --git a/docs/odata-csdl-json/odata-csdl-json.md b/docs/odata-csdl-json/odata-csdl-json.md index 17096bae..f5f544d8 100644 --- a/docs/odata-csdl-json/odata-csdl-json.md +++ b/docs/odata-csdl-json/odata-csdl-json.md @@ -267,6 +267,7 @@ Section | Feature / Change | Issue [Section 3.3](#PrimitiveTypes)| Allow stream-valued non-binding parameters| [525](https://github.com/oasis-tcs/odata-specs/issues/525) [Section 3.4.5](#SRID)| SRID value `variable` is deprecated| [1935](https://github.com/oasis-tcs/odata-specs/issues/1935) [Section 4](#CSDLJSONDocument) | Additional `$Version` value `4.02` | +[Section 12](#ActionandFunction) | Actions and functions can take, and return, delta payloads | [348](https://github.com/oasis-tcs/odata-specs/issues/348) [Section 14.3.13](#GeoValues) | Constant Geo values in annotations | [654](https://github.com/oasis-tcs/odata-specs/issues/654) [Section 14.3.14](#StreamValues) | Constant Stream values in annotations | [654](https://github.com/oasis-tcs/odata-specs/issues/654) [Section 14.4.1.2](#PathEvaluation)| New path evaluation rules for annotations targeting annotations and external targeting via container| [575](https://github.com/oasis-tcs/odata-specs/issues/575) @@ -2889,7 +2890,15 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. -### `$Nullable` +### Annotation `Core.IsDelta` + +The `$ReturnType` of a function or action that returns results as a delta payload +is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. + +### `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or `false`. Absence of the member means `false`. @@ -2934,7 +2943,7 @@ the parameter value is a collection, the facets apply to the items in the collection. ::: {.varjson .rep} -### `$Parameter` +### `$Parameter` The value of `$Parameter` is an array. The array contains one object per parameter. @@ -2963,7 +2972,15 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. -### `$Nullable` +### Annotation `Core.IsDelta` + +A `$Parameter` that accepts a delta payload +is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. + +### `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or `false`. Absence of the member means `false`. @@ -2975,6 +2992,12 @@ For collection-valued parameters the parameter value will always be a collection that MAY be empty. In this case `$Nullable` applies to items of the collection and specifies whether the collection MAY contain `null` values. + +### Annotation `Core.OptionalParameter` +A `$Parameter` object annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action. + +All parameters marked as optional MUST come after any parameters not marked as optional. +The binding parameter MUST NOT be marked as optional. ::: ::: {.varjson .example} @@ -3719,7 +3742,7 @@ Symbolic Value|Model Element `NavigationProperty` |Navigation Property `Null` |Null annotation expression `OnDelete` |On-Delete Action of a navigation property -`Parameter` |Action of Function Parameter +`Parameter` |Action or Function Parameter `Property` |Structural Property `PropertyValue` |Property value of a Record annotation expression `Record` |Record annotation expression @@ -6214,13 +6237,16 @@ https://openui5.hana.ondemand.com/topic/87aac894a40640f89920d7b2a414499b. - [`$ReturnType`](#ReturnType.13.4) - [`$Type`](#Type.13.5) - [`$Collection`](#Collection.13.6) - - [`$Nullable`](#Nullable.13.7) - - [`$Parameter`](#Parameter.13.8) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.13.7) + - [`$Nullable`](#Nullable.13.8) + - [`$Parameter`](#Parameter.13.9) - [Parameter Object](#ParameterObject.14) - [`$Name`](#Name.14.1) - [`$Type`](#Type.14.2) - [`$Collection`](#Collection.14.3) - - [`$Nullable`](#Nullable.14.4) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.14.4) + - [`$Nullable`](#Nullable.14.5) + - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.14.6) - [Entity Container Object](#EntityContainerObject.15) - [`$Extends`](#Extends.15.1) - [Entity Set Object](#EntitySetObject.16) diff --git a/docs/odata-csdl-xml/odata-csdl-xml.html b/docs/odata-csdl-xml/odata-csdl-xml.html index da7033c6..d83f0003 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.html +++ b/docs/odata-csdl-xml/odata-csdl-xml.html @@ -463,26 +463,31 @@

      464 +Section 12 +Actions and functions can take, and return, delta payloads +348 + + Section 14.3.13 Constant Geo values in annotations 654 - + Section 14.3.14 Constant Stream values in annotations 654 - + Section 14.4.1.2 New path evaluation rules for annotations targeting annotations and external targeting via container 575 - + Section 14.4.7 Nested If without else part in collections 326 - + Section 17 Additional conformance clauses for version 4.02 @@ -1890,7 +1895,10 @@

      Element Attribute Type

      For single-valued return types the value of Type is the qualified name of the return type.

      For collection-valued return types the value of Type is the character sequence Collection( followed by the qualified name of the return item type, followed by a closing parenthesis ).

      -

      Attribute Nullable

      +

      Annotation Core.IsDelta

      +

      The edm:ReturnType element of a function or action that returns results as a delta payload is annotated with the term Core.IsDelta.

      +

      Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

      +

      Attribute Nullable

      The value of Nullable is one of the Boolean literals true or false. Absence of the attribute means true.

      If the return type is a collection of entity types, the Nullable attribute has no meaning and MUST NOT be specified.

      For other collection-valued return types the result will always be a collection that MAY be empty. In this case the Nullable attribute applies to items of the collection and specifies whether the collection MAY contain null values.

      @@ -1915,9 +1923,15 @@

      Attribute NameAttribute Type

      For single-valued parameters the value of Type is the qualified name of the parameter.

      For collection-valued parameters the value of Type is the character sequence Collection( followed by the qualified name of the parameter’s type, followed by a closing parenthesis ).

      -

      Attribute Nullable

      +

      Annotation Core.IsDelta

      +

      An edm:Parameter element that accepts a delta payload is annotated with the term Core.IsDelta.

      +

      Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

      +

      Attribute Nullable

      The value of Nullable is one of the Boolean literals true or false. Absence of the attribute means true.

      The value true means that the parameter accepts a null value.

      +

      Annotation Core.OptionalParameter

      +

      An edm:Parameter element that is annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

      +

      All parameters marked as optional MUST come after any parameters not marked as optional. The binding parameter MUST NOT be marked as optional.

  • Example 30: a function returning the top-selling products for a given year. In this case the year must be specified as a parameter of the function with the edm:Parameter element.

    @@ -2318,7 +2332,7 @@

    14.1.2 A Parameter -Action of Function Parameter +Action or Function Parameter Property @@ -4039,13 +4053,16 @@

    Element edm:ReturnType
  • Element edm:Parameter
  • Element edm:EntityContainer
      diff --git a/docs/odata-csdl-xml/odata-csdl-xml.md b/docs/odata-csdl-xml/odata-csdl-xml.md index fcca80a1..40c56c2d 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.md +++ b/docs/odata-csdl-xml/odata-csdl-xml.md @@ -268,6 +268,7 @@ Section | Feature / Change | Issue [Section 3.4.5](#SRID)| SRID value `variable` is deprecated| [1935](https://github.com/oasis-tcs/odata-specs/issues/1935) [Section 4](#CSDLXMLDocument) | Additional `Version` value `4.02` | [Section 13](#EntityContainer)| All children of `edm:EntityContainer` are optional| [464](https://github.com/oasis-tcs/odata-specs/issues/464) +[Section 12](#ActionandFunction) | Actions and functions can take, and return, delta payloads | [348](https://github.com/oasis-tcs/odata-specs/issues/348) [Section 14.3.13](#GeoValues) | Constant Geo values in annotations | [654](https://github.com/oasis-tcs/odata-specs/issues/654) [Section 14.3.14](#StreamValues) | Constant Stream values in annotations | [654](https://github.com/oasis-tcs/odata-specs/issues/654) [Section 14.4.1.2](#PathEvaluation)| New path evaluation rules for annotations targeting annotations and external targeting via container| [575](https://github.com/oasis-tcs/odata-specs/issues/575) @@ -2766,7 +2767,15 @@ For collection-valued return types the value of `Type` is the character sequence `Collection(` followed by the qualified name of the return item type, followed by a closing parenthesis `)`. -### Attribute `Nullable` +### Annotation `Core.IsDelta` + +The `edm:ReturnType` element of a function or action that returns results as a delta payload +is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. + +### Attribute `Nullable` The value of `Nullable` is one of the Boolean literals `true` or `false`. Absence of the attribute means `true`. @@ -2834,12 +2843,26 @@ For collection-valued parameters the value of `Type` is the character sequence `Collection(` followed by the qualified name of the parameter's type, followed by a closing parenthesis `)`. -### Attribute `Nullable` +### Annotation `Core.IsDelta` + +An `edm:Parameter` element that accepts a delta payload +is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. + +### Attribute `Nullable` The value of `Nullable` is one of the Boolean literals `true` or `false`. Absence of the attribute means `true`. The value `true` means that the parameter accepts a `null` value. + +### Annotation `Core.OptionalParameter` +An `edm:Parameter` element that is annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action. + +All parameters marked as optional MUST come after any parameters not marked as optional. +The binding parameter MUST NOT be marked as optional. ::: ::: {.varxml .example} @@ -3524,7 +3547,7 @@ Symbolic Value|Model Element `NavigationProperty` |Navigation Property `Null` |Null annotation expression `OnDelete` |On-Delete Action of a navigation property -`Parameter` |Action of Function Parameter +`Parameter` |Action or Function Parameter `Property` |Structural Property `PropertyValue` |Property value of a Record annotation expression `Record` |Record annotation expression @@ -5919,11 +5942,14 @@ https://www.ogc.org/standard/sfa/. - [Attribute `IsComposable`](#AttributeIsComposable.21.4) - [Element `edm:ReturnType`](#ElementedmReturnType.22) - [Attribute `Type`](#AttributeType.22.1) - - [Attribute `Nullable`](#AttributeNullable.22.2) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.22.2) + - [Attribute `Nullable`](#AttributeNullable.22.3) - [Element `edm:Parameter`](#ElementedmParameter.23) - [Attribute `Name`](#AttributeName.23.1) - [Attribute `Type`](#AttributeType.23.2) - - [Attribute `Nullable`](#AttributeNullable.23.3) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.23.3) + - [Attribute `Nullable`](#AttributeNullable.23.4) + - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.23.5) - [Element `edm:EntityContainer`](#ElementedmEntityContainer.24) - [Attribute `Name`](#AttributeName.24.1) - [Attribute `Extends`](#AttributeExtends.24.2) diff --git a/odata-csdl/1 Introduction.md b/odata-csdl/1 Introduction.md index 385a4ae0..9bdb1481 100644 --- a/odata-csdl/1 Introduction.md +++ b/odata-csdl/1 Introduction.md @@ -46,6 +46,7 @@ SRID value `variable` is deprecated| All children of `edm:EntityContainer` are optional| [464](https://github.com/oasis-tcs/odata-specs/issues/464) : +[Section ##ActionandFunction] | Actions and functions can take, and return, delta payloads | [348](https://github.com/oasis-tcs/odata-specs/issues/348) [Section ##GeoValues] | Constant Geo values in annotations | [654](https://github.com/oasis-tcs/odata-specs/issues/654) [Section ##StreamValues] | Constant Stream values in annotations | [654](https://github.com/oasis-tcs/odata-specs/issues/654) [Section ##PathEvaluation]| diff --git a/odata-csdl/12 Action and Function.md b/odata-csdl/12 Action and Function.md index 99c0b3ac..c417cd6b 100644 --- a/odata-csdl/12 Action and Function.md +++ b/odata-csdl/12 Action and Function.md @@ -271,6 +271,15 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. +### ##subisec Annotation `Core.IsDelta` + +The `$ReturnType` of a function or action that returns results as a delta payload +is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related +entities and relationships, according to the format-specific delta representation. + ### ##subisec `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or @@ -309,6 +318,15 @@ For collection-valued return types the value of `Type` is the character sequence `Collection(` followed by the qualified name of the return item type, followed by a closing parenthesis `)`. +### ##subisec Annotation `Core.IsDelta` + +The `edm:ReturnType` element of a function or action that returns results as a delta payload +is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related +entities and relationships, according to the format-specific delta representation. + ### ##subisec Attribute `Nullable` The value of `Nullable` is one of the Boolean literals `true` or @@ -383,6 +401,15 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. +### ##subisec Annotation `Core.IsDelta` + +A `$Parameter` that accepts a delta payload +is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related +entities and relationships, according to the format-specific delta representation. + ### ##subisec `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or @@ -395,6 +422,15 @@ For collection-valued parameters the parameter value will always be a collection that MAY be empty. In this case `$Nullable` applies to items of the collection and specifies whether the collection MAY contain `null` values. + +### ##subisec Annotation `Core.OptionalParameter` +A `$Parameter` object annotated with the term +[`Core.OptionalParameter`]($$$OData-VocCore$$$#OptionalParameter) MAY be +omitted when invoking the function or action. + +All parameters marked as optional MUST come after any parameters not marked as optional. + +The binding parameter MUST NOT be marked as optional. ::: ::: {.varjson .example} @@ -446,12 +482,30 @@ For collection-valued parameters the value of `Type` is the character sequence `Collection(` followed by the qualified name of the parameter's type, followed by a closing parenthesis `)`. +### ##subisec Annotation `Core.IsDelta` + +An `edm:Parameter` element that accepts a delta payload +is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related +entities and relationships, according to the format-specific delta representation. + ### ##subisec Attribute `Nullable` The value of `Nullable` is one of the Boolean literals `true` or `false`. Absence of the attribute means `true`. The value `true` means that the parameter accepts a `null` value. + +### ##subisec Annotation `Core.OptionalParameter` +An `edm:Parameter` element that is annotated with the term +[`Core.OptionalParameter`]($$$OData-VocCore$$$#OptionalParameter) MAY be +omitted when invoking the function or action. + +All parameters marked as optional MUST come after any parameters not marked as optional. + +The binding parameter MUST NOT be marked as optional. ::: ::: {.varxml .example} diff --git a/odata-csdl/14 Vocabulary and Annotation.md b/odata-csdl/14 Vocabulary and Annotation.md index c55ed3bc..73801ec6 100644 --- a/odata-csdl/14 Vocabulary and Annotation.md +++ b/odata-csdl/14 Vocabulary and Annotation.md @@ -324,7 +324,7 @@ Symbolic Value|Model Element `NavigationProperty` |Navigation Property `Null` |Null annotation expression `OnDelete` |On-Delete Action of a navigation property -`Parameter` |Action of Function Parameter +`Parameter` |Action or Function Parameter `Property` |Structural Property `PropertyValue` |Property value of a Record annotation expression `Record` |Record annotation expression diff --git a/package-lock.json b/package-lock.json index e8591d31..643ad09a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3101,7 +3101,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", + "license": "MIT", "engines": { "node": ">= 0.8" } From ff5aef06194585d1427bec5e91309d7902bcb640 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 27 Sep 2024 10:50:11 +0200 Subject: [PATCH 2/6] Make new text representation-independent --- docs/odata-csdl-json/odata-csdl-json.html | 12 +++++----- docs/odata-csdl-json/odata-csdl-json.md | 22 +++++++++--------- docs/odata-csdl-xml/odata-csdl-xml.html | 12 +++++----- docs/odata-csdl-xml/odata-csdl-xml.md | 22 +++++++++--------- docs/odata-protocol/odata-protocol.html | 10 ++++----- docs/odata-protocol/odata-protocol.md | 10 ++++----- odata-csdl/12 Action and Function.md | 27 ++++++++--------------- odata-protocol/10 Context URL.md | 6 ++--- 8 files changed, 56 insertions(+), 65 deletions(-) diff --git a/docs/odata-csdl-json/odata-csdl-json.html b/docs/odata-csdl-json/odata-csdl-json.html index b23b134f..c44107d5 100644 --- a/docs/odata-csdl-json/odata-csdl-json.html +++ b/docs/odata-csdl-json/odata-csdl-json.html @@ -2009,15 +2009,15 @@

      $Type and Annotation Core.IsDelta

      -

      The $ReturnType of a function or action that returns results as a delta payload is annotated with the term Core.IsDelta.

      -

      Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

      -

      $Nullable

      +

      $Nullable

      The value of $Nullable is one of the Boolean literals true or false. Absence of the member means false.

      If the return type is a collection of entity types, the $Nullable member has no meaning and MUST NOT be specified.

      For other collection-valued return types the result will always be a collection that MAY be empty. In this case $Nullable applies to items of the collection and specifies whether the collection MAY contain null values.

      For single-valued return types the value true means that the action or function MAY return a single null value. The value false means that the action or function will never return a null value and instead will fail with an error response if it cannot compute a result.

  • +

    Annotation Core.IsDelta

    +

    An action or function that returns a single entity or a collection of entities MAY return results as a delta payload. This is indicated by annotating the return type with the term Core.IsDelta.

    +

    Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

    12.9 Parameter

    @@ -4382,8 +4382,8 @@

    $ReturnType
  • $Type
  • $Collection
  • -
  • Annotation Core.IsDelta
  • -
  • $Nullable
  • +
  • $Nullable
  • +
  • Annotation Core.IsDelta
  • $Parameter
  • Parameter Object diff --git a/docs/odata-csdl-json/odata-csdl-json.md b/docs/odata-csdl-json/odata-csdl-json.md index f5f544d8..6732ce57 100644 --- a/docs/odata-csdl-json/odata-csdl-json.md +++ b/docs/odata-csdl-json/odata-csdl-json.md @@ -2890,15 +2890,7 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. -### Annotation `Core.IsDelta` - -The `$ReturnType` of a function or action that returns results as a delta payload -is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). - -Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. - -### `$Nullable` +### `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or `false`. Absence of the member means `false`. @@ -2918,6 +2910,14 @@ fail with an error response if it cannot compute a result. ::: +### Annotation `Core.IsDelta` + +An action or function that returns a single entity or a collection of entities MAY return results as a delta payload. +This is indicated by annotating the return type with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. + ## 12.9 Parameter An action or function overload MAY specify parameters. @@ -6237,8 +6237,8 @@ https://openui5.hana.ondemand.com/topic/87aac894a40640f89920d7b2a414499b. - [`$ReturnType`](#ReturnType.13.4) - [`$Type`](#Type.13.5) - [`$Collection`](#Collection.13.6) - - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.13.7) - - [`$Nullable`](#Nullable.13.8) + - [`$Nullable`](#Nullable.13.7) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.13.8) - [`$Parameter`](#Parameter.13.9) - [Parameter Object](#ParameterObject.14) - [`$Name`](#Name.14.1) diff --git a/docs/odata-csdl-xml/odata-csdl-xml.html b/docs/odata-csdl-xml/odata-csdl-xml.html index d83f0003..28ad075b 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.html +++ b/docs/odata-csdl-xml/odata-csdl-xml.html @@ -1895,15 +1895,15 @@

    Element Attribute Type

    For single-valued return types the value of Type is the qualified name of the return type.

    For collection-valued return types the value of Type is the character sequence Collection( followed by the qualified name of the return item type, followed by a closing parenthesis ).

    -

    Annotation Core.IsDelta

    -

    The edm:ReturnType element of a function or action that returns results as a delta payload is annotated with the term Core.IsDelta.

    -

    Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

    -

    Attribute Nullable

    +

    Attribute Nullable

    The value of Nullable is one of the Boolean literals true or false. Absence of the attribute means true.

    If the return type is a collection of entity types, the Nullable attribute has no meaning and MUST NOT be specified.

    For other collection-valued return types the result will always be a collection that MAY be empty. In this case the Nullable attribute applies to items of the collection and specifies whether the collection MAY contain null values.

    For single-valued return types the value true means that the action or function MAY return a single null value. The value false means that the action or function will never return a null value and instead will fail with an error response if it cannot compute a result.

    +

    Annotation Core.IsDelta

    +

    An action or function that returns a single entity or a collection of entities MAY return results as a delta payload. This is indicated by annotating the return type with the term Core.IsDelta.

    +

    Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

  • 12.9 Parameter

    @@ -4053,8 +4053,8 @@

    Element edm:ReturnType
  • Element edm:Parameter
      diff --git a/docs/odata-csdl-xml/odata-csdl-xml.md b/docs/odata-csdl-xml/odata-csdl-xml.md index 40c56c2d..825786c7 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.md +++ b/docs/odata-csdl-xml/odata-csdl-xml.md @@ -2767,15 +2767,7 @@ For collection-valued return types the value of `Type` is the character sequence `Collection(` followed by the qualified name of the return item type, followed by a closing parenthesis `)`. -### Annotation `Core.IsDelta` - -The `edm:ReturnType` element of a function or action that returns results as a delta payload -is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). - -Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. - -### Attribute `Nullable` +### Attribute `Nullable` The value of `Nullable` is one of the Boolean literals `true` or `false`. Absence of the attribute means `true`. @@ -2794,6 +2786,14 @@ the action or function will never return a `null` value and instead will fail with an error response if it cannot compute a result. ::: +### Annotation `Core.IsDelta` + +An action or function that returns a single entity or a collection of entities MAY return results as a delta payload. +This is indicated by annotating the return type with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Delta payloads represent changes between two versions of data and, in addition +to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. + ## 12.9 Parameter An action or function overload MAY specify parameters. @@ -5942,8 +5942,8 @@ https://www.ogc.org/standard/sfa/. - [Attribute `IsComposable`](#AttributeIsComposable.21.4) - [Element `edm:ReturnType`](#ElementedmReturnType.22) - [Attribute `Type`](#AttributeType.22.1) - - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.22.2) - - [Attribute `Nullable`](#AttributeNullable.22.3) + - [Attribute `Nullable`](#AttributeNullable.22.2) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.22.3) - [Element `edm:Parameter`](#ElementedmParameter.23) - [Attribute `Name`](#AttributeName.23.1) - [Attribute `Type`](#AttributeType.23.2) diff --git a/docs/odata-protocol/odata-protocol.html b/docs/odata-protocol/odata-protocol.html index 67b5040b..6699f290 100644 --- a/docs/odata-protocol/odata-protocol.html +++ b/docs/odata-protocol/odata-protocol.html @@ -345,8 +345,8 @@

      Table of Contents

    • 10.14 Collection of Complex or Primitive Types
    • 10.15 Complex or Primitive Type
    • 10.16 Operation Result
    • -
    • 10.17 Delta Payload Response
    • -
    • 10.18 Item in a Delta Payload Response
    • +
    • 10.17 Delta Payload
    • +
    • 10.18 Item in a Delta Payload
    • 10.19 $all Response
    • 10.20 $crossjoin Response
  • @@ -1563,7 +1563,7 @@

    1

    -

    10.17 Delta Payload Response

    +

    10.17 Delta Payload

    Context URL template:

    {context-url}#{entity-set}{/type-name}{select-list}/$delta
    @@ -1577,10 +1577,10 @@ 

    update request body for a collection of entities is simply the fragment #$delta.

    -

    10.18 Item in a Delta Payload Response

    +

    10.18 Item in a Delta Payload

    Context URL templates:

    {context-url}#{entity-set}/$deletedEntity
    diff --git a/docs/odata-protocol/odata-protocol.md b/docs/odata-protocol/odata-protocol.md
    index 693825de..3243c373 100644
    --- a/docs/odata-protocol/odata-protocol.md
    +++ b/docs/odata-protocol/odata-protocol.md
    @@ -195,8 +195,8 @@ For complete copyright information please see the full Notices section in an App
       - [10.14 Collection of Complex or Primitive Types](#CollectionofComplexorPrimitiveTypes)
       - [10.15 Complex or Primitive Type](#ComplexorPrimitiveType)
       - [10.16 Operation Result](#OperationResult)
    -  - [10.17 Delta Payload Response](#DeltaPayloadResponse)
    -  - [10.18 Item in a Delta Payload Response](#IteminaDeltaPayloadResponse)
    +  - [10.17 Delta Payload](#DeltaPayload)
    +  - [10.18 Item in a Delta Payload](#IteminaDeltaPayload)
       - [10.19 `$all` Response](#allResponse)
       - [10.20 `$crossjoin` Response](#crossjoinResponse)
     - [11 Data Service Requests](#DataServiceRequests)
    @@ -2496,7 +2496,7 @@ http://host/service/$metadata#Customers
     ```
     :::
     
    -## 10.17 Delta Payload Response
    +## 10.17 Delta Payload
     
     Context URL template:
     
    @@ -2522,10 +2522,10 @@ http://host/service/$metadata#Customers/$delta
     ```
     :::
     
    -The context URL of an update request body for a collection of entities
    +The context URL of an [update request body for a collection of entities](#UpdateaCollectionofEntities)
     is simply the fragment `#$delta`.
     
    -## 10.18 Item in a Delta Payload Response
    +## 10.18 Item in a Delta Payload
     
     Context URL templates:
     
    diff --git a/odata-csdl/12 Action and Function.md b/odata-csdl/12 Action and Function.md
    index c417cd6b..c0a95da0 100644
    --- a/odata-csdl/12 Action and Function.md	
    +++ b/odata-csdl/12 Action and Function.md	
    @@ -271,15 +271,6 @@ present with the literal value `true`.
     
     Absence of the `$Type` member means the type is `Edm.String`.
     
    -### ##subisec Annotation `Core.IsDelta`
    -
    -The `$ReturnType` of a function or action that returns results as a delta payload
    -is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta).
    -
    -Delta payloads represent changes between two versions of data and, in addition
    -to current values, MAY include deleted entries as well as changes to related 
    -entities and relationships, according to the format-specific delta representation.
    -
     ### ##subisec `$Nullable`
     
     The value of `$Nullable` is one of the Boolean literals `true` or
    @@ -318,15 +309,6 @@ For collection-valued return types the value of `Type` is the character
     sequence `Collection(` followed by the qualified name of the return item
     type, followed by a closing parenthesis `)`.
     
    -### ##subisec Annotation `Core.IsDelta`
    -
    -The `edm:ReturnType` element of a function or action that returns results as a delta payload
    -is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta).
    -
    -Delta payloads represent changes between two versions of data and, in addition
    -to current values, MAY include deleted entries as well as changes to related 
    -entities and relationships, according to the format-specific delta representation.
    -
     ### ##subisec Attribute `Nullable`
     
     The value of `Nullable` is one of the Boolean literals `true` or
    @@ -346,6 +328,15 @@ the action or function will never return a `null` value and instead will
     fail with an error response if it cannot compute a result.
     :::
     
    +### ##subisec Annotation `Core.IsDelta`
    +
    +An action or function that returns a single entity or a collection of entities MAY return results as a delta payload.
    +This is indicated by annotating the return type with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta).
    +
    +Delta payloads represent changes between two versions of data and, in addition
    +to current values, MAY include deleted entities as well as changes to related 
    +entities and relationships, according to the format-specific delta representation.
    +
     ## ##subsec Parameter
     
     An action or function overload MAY specify parameters.
    diff --git a/odata-protocol/10 Context URL.md b/odata-protocol/10 Context URL.md
    index 890a0606..5ad8ce5a 100644
    --- a/odata-protocol/10 Context URL.md	
    +++ b/odata-protocol/10 Context URL.md	
    @@ -519,7 +519,7 @@ http://host/service/$metadata#Customers
     ```
     :::
     
    -## ##subsec Delta Payload Response
    +## ##subsec Delta Payload
     
     Context URL template:
     
    @@ -545,10 +545,10 @@ http://host/service/$metadata#Customers/$delta
     ```
     :::
     
    -The context URL of an update request body for a collection of entities
    +The context URL of an [update request body for a collection of entities](#UpdateaCollectionofEntities)
     is simply the fragment `#$delta`.
     
    -## ##subsec Item in a Delta Payload Response
    +## ##subsec Item in a Delta Payload
     
     Context URL templates:
     
    
    From 75a6482ada3a1b4f7e6939c147a13a9a03ed1564 Mon Sep 17 00:00:00 2001
    From: Ralf Handl 
    Date: Fri, 27 Sep 2024 10:57:00 +0200
    Subject: [PATCH 3/6] make section Core.IsDelta representation-independent
    
    ---
     docs/odata-csdl-json/odata-csdl-json.html | 23 ++++++++-------
     docs/odata-csdl-json/odata-csdl-json.md   | 34 +++++++++++------------
     docs/odata-csdl-xml/odata-csdl-xml.html   | 18 ++++++------
     docs/odata-csdl-xml/odata-csdl-xml.md     | 28 +++++++++----------
     odata-csdl/12 Action and Function.md      | 31 ++++++++-------------
     5 files changed, 62 insertions(+), 72 deletions(-)
    
    diff --git a/docs/odata-csdl-json/odata-csdl-json.html b/docs/odata-csdl-json/odata-csdl-json.html
    index c44107d5..3350f8f0 100644
    --- a/docs/odata-csdl-json/odata-csdl-json.html
    +++ b/docs/odata-csdl-json/odata-csdl-json.html
    @@ -2017,7 +2017,7 @@ 

    $Nullable

    Annotation Core.IsDelta

    An action or function that returns a single entity or a collection of entities MAY return results as a delta payload. This is indicated by annotating the return type with the term Core.IsDelta.

    -

    Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

    +

    Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation.

    12.9 Parameter

    @@ -2036,18 +2036,15 @@

    Parameter ObjectParameter objects MAY also contain annotations.

    $Name

    The value of $Name is a string containing the parameter name.

    -

    $Type and $Collection

    +

    $Type and ##subisec $Collection

    For single-valued parameters the value of $Type is the qualified name of the accepted type.

    For collection-valued parameters the value of $Type is the qualified name of the accepted item type, and the member $Collection MUST be present with the literal value true.

    Absence of the $Type member means the type is Edm.String.

    -

    Annotation Core.IsDelta

    -

    A $Parameter that accepts a delta payload is annotated with the term Core.IsDelta.

    -

    Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

    -

    $Nullable

    +

    $Nullable

    The value of $Nullable is one of the Boolean literals true or false. Absence of the member means false.

    For single-valued parameters the value true means that the parameter accepts a null value.

    For collection-valued parameters the parameter value will always be a collection that MAY be empty. In this case $Nullable applies to items of the collection and specifies whether the collection MAY contain null values.

    -

    Annotation Core.OptionalParameter

    +

    Annotation Core.OptionalParameter

    A $Parameter object annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

    All parameters marked as optional MUST come after any parameters not marked as optional. The binding parameter MUST NOT be marked as optional.

    @@ -2072,6 +2069,9 @@

    } ] +

    Annotation Core.IsDelta

    +

    A parameter that accepts a single entity or a collection of entities MAY accept a delta representation. This is indicated by annotating the parameter with the term Core.IsDelta.

    +

    Deltas represent changes between two versions of data and, in addition to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation.


    @@ -4389,11 +4389,10 @@

    Parameter Object
  • Entity Container Object
      diff --git a/docs/odata-csdl-json/odata-csdl-json.md b/docs/odata-csdl-json/odata-csdl-json.md index 6732ce57..4b74fc08 100644 --- a/docs/odata-csdl-json/odata-csdl-json.md +++ b/docs/odata-csdl-json/odata-csdl-json.md @@ -2916,7 +2916,7 @@ An action or function that returns a single entity or a collection of entities M This is indicated by annotating the return type with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. +to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation. ## 12.9 Parameter @@ -2961,7 +2961,7 @@ Parameter objects MAY also contain [annotations](#Annotation). The value of `$Name` is a string containing the parameter name. -### `$Type` and `$Collection` +### `$Type` and ##subisec `$Collection` For single-valued parameters the value of `$Type` is the qualified name of the accepted type. @@ -2972,15 +2972,7 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. -### Annotation `Core.IsDelta` - -A `$Parameter` that accepts a delta payload -is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). - -Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. - -### `$Nullable` +### `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or `false`. Absence of the member means `false`. @@ -2993,7 +2985,8 @@ collection that MAY be empty. In this case `$Nullable` applies to items of the collection and specifies whether the collection MAY contain `null` values. -### Annotation `Core.OptionalParameter` +### Annotation `Core.OptionalParameter` + A `$Parameter` object annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action. All parameters marked as optional MUST come after any parameters not marked as optional. @@ -3028,6 +3021,14 @@ function with the `$Parameter` member. +### Annotation `Core.IsDelta` + +A parameter that accepts a single entity or a collection of entities MAY accept a delta representation. +This is indicated by annotating the parameter with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Deltas represent changes between two versions of data and, in addition +to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation. + ------- @@ -6242,11 +6243,10 @@ https://openui5.hana.ondemand.com/topic/87aac894a40640f89920d7b2a414499b. - [`$Parameter`](#Parameter.13.9) - [Parameter Object](#ParameterObject.14) - [`$Name`](#Name.14.1) - - [`$Type`](#Type.14.2) - - [`$Collection`](#Collection.14.3) - - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.14.4) - - [`$Nullable`](#Nullable.14.5) - - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.14.6) + - [`$Type` and ##subisec `$Collection`](#TypeandsubisecCollection.14.2) + - [`$Nullable`](#Nullable.14.3) + - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.14.4) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.14.5) - [Entity Container Object](#EntityContainerObject.15) - [`$Extends`](#Extends.15.1) - [Entity Set Object](#EntitySetObject.16) diff --git a/docs/odata-csdl-xml/odata-csdl-xml.html b/docs/odata-csdl-xml/odata-csdl-xml.html index 28ad075b..dba71d25 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.html +++ b/docs/odata-csdl-xml/odata-csdl-xml.html @@ -1903,7 +1903,7 @@

      Attribute

      Annotation Core.IsDelta

      An action or function that returns a single entity or a collection of entities MAY return results as a delta payload. This is indicated by annotating the return type with the term Core.IsDelta.

      -

      Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

      +

      Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation.

      12.9 Parameter

      @@ -1923,13 +1923,10 @@

      Attribute NameAttribute Type

      For single-valued parameters the value of Type is the qualified name of the parameter.

      For collection-valued parameters the value of Type is the character sequence Collection( followed by the qualified name of the parameter’s type, followed by a closing parenthesis ).

      -

      Annotation Core.IsDelta

      -

      An edm:Parameter element that accepts a delta payload is annotated with the term Core.IsDelta.

      -

      Delta payloads represent changes between two versions of data and, in addition to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation.

      -

      Attribute Nullable

      +

      Attribute Nullable

      The value of Nullable is one of the Boolean literals true or false. Absence of the attribute means true.

      The value true means that the parameter accepts a null value.

      -

      Annotation Core.OptionalParameter

      +

      Annotation Core.OptionalParameter

      An edm:Parameter element that is annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

      All parameters marked as optional MUST come after any parameters not marked as optional. The binding parameter MUST NOT be marked as optional.

      @@ -1940,6 +1937,9 @@

      <ReturnType Type="Collection(self.Product)" /> </Function> +

      Annotation Core.IsDelta

      +

      A parameter that accepts a single entity or a collection of entities MAY accept a delta representation. This is indicated by annotating the parameter with the term Core.IsDelta.

      +

      Deltas represent changes between two versions of data and, in addition to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation.


      @@ -4060,9 +4060,9 @@

      Attribute Name
    • Attribute Type
    • -
    • Annotation Core.IsDelta
    • -
    • Attribute Nullable
    • -
    • Annotation Core.OptionalParameter
    • +
    • Attribute Nullable
    • +
    • Annotation Core.OptionalParameter
    • +
    • Annotation Core.IsDelta
  • Element edm:EntityContainer
      diff --git a/docs/odata-csdl-xml/odata-csdl-xml.md b/docs/odata-csdl-xml/odata-csdl-xml.md index 825786c7..a184f855 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.md +++ b/docs/odata-csdl-xml/odata-csdl-xml.md @@ -2792,7 +2792,7 @@ An action or function that returns a single entity or a collection of entities M This is indicated by annotating the return type with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. +to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation. ## 12.9 Parameter @@ -2843,22 +2843,14 @@ For collection-valued parameters the value of `Type` is the character sequence `Collection(` followed by the qualified name of the parameter's type, followed by a closing parenthesis `)`. -### Annotation `Core.IsDelta` - -An `edm:Parameter` element that accepts a delta payload -is annotated with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). - -Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related entities and relationships, according to the format-specific delta representation. - -### Attribute `Nullable` +### Attribute `Nullable` The value of `Nullable` is one of the Boolean literals `true` or `false`. Absence of the attribute means `true`. The value `true` means that the parameter accepts a `null` value. -### Annotation `Core.OptionalParameter` +### Annotation `Core.OptionalParameter` An `edm:Parameter` element that is annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action. All parameters marked as optional MUST come after any parameters not marked as optional. @@ -2877,6 +2869,14 @@ function with the `edm:Parameter` element. ``` ::: +### Annotation `Core.IsDelta` + +A parameter that accepts a single entity or a collection of entities MAY accept a delta representation. +This is indicated by annotating the parameter with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). + +Deltas represent changes between two versions of data and, in addition +to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation. + ------- @@ -5947,9 +5947,9 @@ https://www.ogc.org/standard/sfa/. - [Element `edm:Parameter`](#ElementedmParameter.23) - [Attribute `Name`](#AttributeName.23.1) - [Attribute `Type`](#AttributeType.23.2) - - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.23.3) - - [Attribute `Nullable`](#AttributeNullable.23.4) - - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.23.5) + - [Attribute `Nullable`](#AttributeNullable.23.3) + - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.23.4) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.23.5) - [Element `edm:EntityContainer`](#ElementedmEntityContainer.24) - [Attribute `Name`](#AttributeName.24.1) - [Attribute `Extends`](#AttributeExtends.24.2) diff --git a/odata-csdl/12 Action and Function.md b/odata-csdl/12 Action and Function.md index c0a95da0..130c5487 100644 --- a/odata-csdl/12 Action and Function.md +++ b/odata-csdl/12 Action and Function.md @@ -380,8 +380,7 @@ Parameter objects MAY also contain [annotations](#Annotation). The value of `$Name` is a string containing the parameter name. -### ##subisec `$Type` -and ##subisec `$Collection` +### ##subisec `$Type` and ##subisec `$Collection` For single-valued parameters the value of `$Type` is the qualified name of the accepted type. @@ -392,15 +391,6 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. -### ##subisec Annotation `Core.IsDelta` - -A `$Parameter` that accepts a delta payload -is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta). - -Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related -entities and relationships, according to the format-specific delta representation. - ### ##subisec `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or @@ -415,6 +405,7 @@ of the collection and specifies whether the collection MAY contain `null` values. ### ##subisec Annotation `Core.OptionalParameter` + A `$Parameter` object annotated with the term [`Core.OptionalParameter`]($$$OData-VocCore$$$#OptionalParameter) MAY be omitted when invoking the function or action. @@ -473,15 +464,6 @@ For collection-valued parameters the value of `Type` is the character sequence `Collection(` followed by the qualified name of the parameter's type, followed by a closing parenthesis `)`. -### ##subisec Annotation `Core.IsDelta` - -An `edm:Parameter` element that accepts a delta payload -is annotated with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta). - -Delta payloads represent changes between two versions of data and, in addition -to current values, MAY include deleted entries as well as changes to related -entities and relationships, according to the format-specific delta representation. - ### ##subisec Attribute `Nullable` The value of `Nullable` is one of the Boolean literals `true` or @@ -510,3 +492,12 @@ function with the `edm:Parameter` element. ``` ::: + +### ##subisec Annotation `Core.IsDelta` + +A parameter that accepts a single entity or a collection of entities MAY accept a delta representation. +This is indicated by annotating the parameter with the term [`Core.IsDelta`]($$$OData-VocCore$$$#IsDelta). + +Deltas represent changes between two versions of data and, in addition +to current values, MAY include deleted entities as well as changes to related +entities and relationships, according to the format-specific delta representation. From f5f1d68f1ea80e1dbf2e1832da9861597c9127af Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 27 Sep 2024 10:58:59 +0200 Subject: [PATCH 4/6] Revert accidental change --- docs/odata-csdl-json/odata-csdl-json.html | 17 +++++++++-------- docs/odata-csdl-json/odata-csdl-json.md | 17 +++++++++-------- odata-csdl/12 Action and Function.md | 3 ++- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/docs/odata-csdl-json/odata-csdl-json.html b/docs/odata-csdl-json/odata-csdl-json.html index 3350f8f0..b84ea162 100644 --- a/docs/odata-csdl-json/odata-csdl-json.html +++ b/docs/odata-csdl-json/odata-csdl-json.html @@ -2036,15 +2036,15 @@

      Parameter ObjectParameter objects MAY also contain annotations.

      $Name

      The value of $Name is a string containing the parameter name.

      -

      $Type and ##subisec $Collection

      +

      $Type and $Collection

      For single-valued parameters the value of $Type is the qualified name of the accepted type.

      For collection-valued parameters the value of $Type is the qualified name of the accepted item type, and the member $Collection MUST be present with the literal value true.

      Absence of the $Type member means the type is Edm.String.

      -

      $Nullable

      +

      $Nullable

      The value of $Nullable is one of the Boolean literals true or false. Absence of the member means false.

      For single-valued parameters the value true means that the parameter accepts a null value.

      For collection-valued parameters the parameter value will always be a collection that MAY be empty. In this case $Nullable applies to items of the collection and specifies whether the collection MAY contain null values.

      -

      Annotation Core.OptionalParameter

      +

      Annotation Core.OptionalParameter

      A $Parameter object annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

      All parameters marked as optional MUST come after any parameters not marked as optional. The binding parameter MUST NOT be marked as optional.

      @@ -2069,7 +2069,7 @@

      } ] -

      Annotation Core.IsDelta

      +

      Annotation Core.IsDelta

      A parameter that accepts a single entity or a collection of entities MAY accept a delta representation. This is indicated by annotating the parameter with the term Core.IsDelta.

      Deltas represent changes between two versions of data and, in addition to current values, MAY include deleted entities as well as changes to related entities and relationships, according to the format-specific delta representation.

      @@ -4389,10 +4389,11 @@

      Parameter Object
    • Entity Container Object
        diff --git a/docs/odata-csdl-json/odata-csdl-json.md b/docs/odata-csdl-json/odata-csdl-json.md index 4b74fc08..cda2831c 100644 --- a/docs/odata-csdl-json/odata-csdl-json.md +++ b/docs/odata-csdl-json/odata-csdl-json.md @@ -2961,7 +2961,7 @@ Parameter objects MAY also contain [annotations](#Annotation). The value of `$Name` is a string containing the parameter name. -### `$Type` and ##subisec `$Collection` +### `$Type` and `$Collection` For single-valued parameters the value of `$Type` is the qualified name of the accepted type. @@ -2972,7 +2972,7 @@ present with the literal value `true`. Absence of the `$Type` member means the type is `Edm.String`. -### `$Nullable` +### `$Nullable` The value of `$Nullable` is one of the Boolean literals `true` or `false`. Absence of the member means `false`. @@ -2985,7 +2985,7 @@ collection that MAY be empty. In this case `$Nullable` applies to items of the collection and specifies whether the collection MAY contain `null` values. -### Annotation `Core.OptionalParameter` +### Annotation `Core.OptionalParameter` A `$Parameter` object annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action. @@ -3021,7 +3021,7 @@ function with the `$Parameter` member. -### Annotation `Core.IsDelta` +### Annotation `Core.IsDelta` A parameter that accepts a single entity or a collection of entities MAY accept a delta representation. This is indicated by annotating the parameter with the term [`Core.IsDelta`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsDelta). @@ -6243,10 +6243,11 @@ https://openui5.hana.ondemand.com/topic/87aac894a40640f89920d7b2a414499b. - [`$Parameter`](#Parameter.13.9) - [Parameter Object](#ParameterObject.14) - [`$Name`](#Name.14.1) - - [`$Type` and ##subisec `$Collection`](#TypeandsubisecCollection.14.2) - - [`$Nullable`](#Nullable.14.3) - - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.14.4) - - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.14.5) + - [`$Type`](#Type.14.2) + - [`$Collection`](#Collection.14.3) + - [`$Nullable`](#Nullable.14.4) + - [Annotation `Core.OptionalParameter`](#AnnotationCoreOptionalParameter.14.5) + - [Annotation `Core.IsDelta`](#AnnotationCoreIsDelta.14.6) - [Entity Container Object](#EntityContainerObject.15) - [`$Extends`](#Extends.15.1) - [Entity Set Object](#EntitySetObject.16) diff --git a/odata-csdl/12 Action and Function.md b/odata-csdl/12 Action and Function.md index 130c5487..22c162ac 100644 --- a/odata-csdl/12 Action and Function.md +++ b/odata-csdl/12 Action and Function.md @@ -380,7 +380,8 @@ Parameter objects MAY also contain [annotations](#Annotation). The value of `$Name` is a string containing the parameter name. -### ##subisec `$Type` and ##subisec `$Collection` +### ##subisec `$Type` +and ##subisec `$Collection` For single-valued parameters the value of `$Type` is the qualified name of the accepted type. From 5aac7720df16af6c16210e64068c5eb10649f912 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 27 Sep 2024 11:03:21 +0200 Subject: [PATCH 5/6] Nit --- docs/odata-csdl-xml/odata-csdl-xml.md | 1 + odata-csdl/12 Action and Function.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/odata-csdl-xml/odata-csdl-xml.md b/docs/odata-csdl-xml/odata-csdl-xml.md index a184f855..28834363 100644 --- a/docs/odata-csdl-xml/odata-csdl-xml.md +++ b/docs/odata-csdl-xml/odata-csdl-xml.md @@ -2851,6 +2851,7 @@ The value of `Nullable` is one of the Boolean literals `true` or The value `true` means that the parameter accepts a `null` value. ### Annotation `Core.OptionalParameter` + An `edm:Parameter` element that is annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action. All parameters marked as optional MUST come after any parameters not marked as optional. diff --git a/odata-csdl/12 Action and Function.md b/odata-csdl/12 Action and Function.md index 22c162ac..095a7bd9 100644 --- a/odata-csdl/12 Action and Function.md +++ b/odata-csdl/12 Action and Function.md @@ -473,6 +473,7 @@ The value of `Nullable` is one of the Boolean literals `true` or The value `true` means that the parameter accepts a `null` value. ### ##subisec Annotation `Core.OptionalParameter` + An `edm:Parameter` element that is annotated with the term [`Core.OptionalParameter`]($$$OData-VocCore$$$#OptionalParameter) MAY be omitted when invoking the function or action. From d1d3db14991f0de0e0aae39dad23df4fbdce2bf8 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 27 Sep 2024 11:12:31 +0200 Subject: [PATCH 6/6] Only example is representation-specific --- docs/odata-csdl-json/odata-csdl-json.html | 4 +- docs/odata-csdl-json/odata-csdl-json.md | 7 ++- docs/odata-csdl-xml/odata-csdl-xml.html | 4 +- docs/odata-csdl-xml/odata-csdl-xml.md | 5 +- odata-csdl/12 Action and Function.md | 65 ++++++++++------------- 5 files changed, 36 insertions(+), 49 deletions(-) diff --git a/docs/odata-csdl-json/odata-csdl-json.html b/docs/odata-csdl-json/odata-csdl-json.html index b84ea162..e05c7694 100644 --- a/docs/odata-csdl-json/odata-csdl-json.html +++ b/docs/odata-csdl-json/odata-csdl-json.html @@ -2044,10 +2044,10 @@

        $Nullable

        The value of $Nullable is one of the Boolean literals true or false. Absence of the member means false.

        For single-valued parameters the value true means that the parameter accepts a null value.

        For collection-valued parameters the parameter value will always be a collection that MAY be empty. In this case $Nullable applies to items of the collection and specifies whether the collection MAY contain null values.

        +

        Annotation Core.OptionalParameter

        -

        A $Parameter object annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

        +

        A parameter that is annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

        All parameters marked as optional MUST come after any parameters not marked as optional. The binding parameter MUST NOT be marked as optional.

        -

        Example 30: a function returning the top-selling products for a given year. In this case the year must be specified as a parameter of the function with the $Parameter member.

        "TopSellingProducts": [
        diff --git a/docs/odata-csdl-json/odata-csdl-json.md b/docs/odata-csdl-json/odata-csdl-json.md
        index cda2831c..a4cf256b 100644
        --- a/docs/odata-csdl-json/odata-csdl-json.md
        +++ b/docs/odata-csdl-json/odata-csdl-json.md
        @@ -2984,14 +2984,15 @@ For collection-valued parameters the parameter value will always be a
         collection that MAY be empty. In this case `$Nullable` applies to items
         of the collection and specifies whether the collection MAY contain
         `null` values.
        +:::
        +
         
         ### Annotation `Core.OptionalParameter`
         
        -A `$Parameter` object annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action.
        +A parameter that is annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action.
         
         All parameters marked as optional MUST come after any parameters not marked as optional. 
         The binding parameter MUST NOT be marked as optional.
        -:::
         
         ::: {.varjson .example}
         Example 30: a function returning the top-selling products for a given
        @@ -3019,8 +3020,6 @@ function with the `$Parameter` member.
         ```
         :::
         
        -
        -
         ### Annotation `Core.IsDelta`
         
         A parameter that accepts a single entity or a collection of entities MAY accept a delta representation.
        diff --git a/docs/odata-csdl-xml/odata-csdl-xml.html b/docs/odata-csdl-xml/odata-csdl-xml.html
        index dba71d25..14978ace 100644
        --- a/docs/odata-csdl-xml/odata-csdl-xml.html
        +++ b/docs/odata-csdl-xml/odata-csdl-xml.html
        @@ -1926,10 +1926,10 @@ 

        Attribute TypeAttribute Nullable

        The value of Nullable is one of the Boolean literals true or false. Absence of the attribute means true.

        The value true means that the parameter accepts a null value.

        +

        Annotation Core.OptionalParameter

        -

        An edm:Parameter element that is annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

        +

        A parameter that is annotated with the term Core.OptionalParameter MAY be omitted when invoking the function or action.

        All parameters marked as optional MUST come after any parameters not marked as optional. The binding parameter MUST NOT be marked as optional.

        -

        Example 30: a function returning the top-selling products for a given year. In this case the year must be specified as a parameter of the function with the edm:Parameter element.

        <Function Name="TopSellingProducts">
        diff --git a/docs/odata-csdl-xml/odata-csdl-xml.md b/docs/odata-csdl-xml/odata-csdl-xml.md
        index 28834363..1e4fa24a 100644
        --- a/docs/odata-csdl-xml/odata-csdl-xml.md
        +++ b/docs/odata-csdl-xml/odata-csdl-xml.md
        @@ -2819,7 +2819,6 @@ the parameter value is a collection, the facets apply to the items in
         the collection.
         
         
        -
         ::: {.varxml .rep}
         ### Element `edm:Parameter`
         
        @@ -2849,14 +2848,14 @@ The value of `Nullable` is one of the Boolean literals `true` or
         `false`. Absence of the attribute means `true`.
         
         The value `true` means that the parameter accepts a `null` value.
        +:::
         
         ### Annotation `Core.OptionalParameter`
         
        -An `edm:Parameter` element that is annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action.
        +A parameter that is annotated with the term [`Core.OptionalParameter`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#OptionalParameter) MAY be omitted when invoking the function or action.
         
         All parameters marked as optional MUST come after any parameters not marked as optional. 
         The binding parameter MUST NOT be marked as optional.
        -:::
         
         ::: {.varxml .example}
         Example 30: a function returning the top-selling products for a given
        diff --git a/odata-csdl/12 Action and Function.md b/odata-csdl/12 Action and Function.md
        index 095a7bd9..deea8a82 100644
        --- a/odata-csdl/12 Action and Function.md	
        +++ b/odata-csdl/12 Action and Function.md	
        @@ -404,42 +404,6 @@ For collection-valued parameters the parameter value will always be a
         collection that MAY be empty. In this case `$Nullable` applies to items
         of the collection and specifies whether the collection MAY contain
         `null` values.
        -
        -### ##subisec Annotation `Core.OptionalParameter`
        -
        -A `$Parameter` object annotated with the term 
        -[`Core.OptionalParameter`]($$$OData-VocCore$$$#OptionalParameter) MAY be 
        -omitted when invoking the function or action.
        -
        -All parameters marked as optional MUST come after any parameters not marked as optional. 
        -
        -The binding parameter MUST NOT be marked as optional.
        -:::
        -
        -::: {.varjson .example}
        -Example ##ex: a function returning the top-selling products for a given
        -year. In this case the year must be specified as a parameter of the
        -function with the `$Parameter` member.
        -```json
        -"TopSellingProducts": [
        -  {
        -    "$Kind": "Function",
        -    "$Parameter": [
        -      {
        -        "$Name": "Year",
        -        "$Nullable": true,
        -        "$Type": "Edm.Decimal",
        -        "$Precision": 4,
        -        "$Scale": 0
        -      }
        -    ],
        -    "$ReturnType": {
        -      "$Collection": true,
        -      "$Type": "self.Product"
        -    }
        -  }
        -]
        -```
         :::
         
         ::: {.varxml .rep}
        @@ -471,18 +435,43 @@ The value of `Nullable` is one of the Boolean literals `true` or
         `false`. Absence of the attribute means `true`.
         
         The value `true` means that the parameter accepts a `null` value.
        +:::
         
         ### ##subisec Annotation `Core.OptionalParameter`
         
        -An `edm:Parameter` element that is annotated with the term 
        +A parameter that is annotated with the term 
         [`Core.OptionalParameter`]($$$OData-VocCore$$$#OptionalParameter) MAY be 
         omitted when invoking the function or action.
         
         All parameters marked as optional MUST come after any parameters not marked as optional. 
         
         The binding parameter MUST NOT be marked as optional.
        -:::
         
        +::: {.varjson .example}
        +Example ##ex: a function returning the top-selling products for a given
        +year. In this case the year must be specified as a parameter of the
        +function with the `$Parameter` member.
        +```json
        +"TopSellingProducts": [
        +  {
        +    "$Kind": "Function",
        +    "$Parameter": [
        +      {
        +        "$Name": "Year",
        +        "$Nullable": true,
        +        "$Type": "Edm.Decimal",
        +        "$Precision": 4,
        +        "$Scale": 0
        +      }
        +    ],
        +    "$ReturnType": {
        +      "$Collection": true,
        +      "$Type": "self.Product"
        +    }
        +  }
        +]
        +```
        +:::
         ::: {.varxml .example}
         Example ##ex: a function returning the top-selling products for a given
         year. In this case the year must be specified as a parameter of the