Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-196

Remove sections 15.2.6 FunctionReference and 15.2.12 ParameterReference

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_WD01
    • Fix Version/s: V4.0_WD01
    • Component/s: CSDL XML
    • Labels:
      None
    • Environment:

      [Proposed]

      Description

      Section 15.2.6 The edm:FunctionReference Expression states that its value is a reference to the return type of a function. This seems to be a leftover from removing model functions.

      The example uses Function="org.example.person.GetAge", which indicates that it points to a model function as it uses the same prefix as the org.example.person.Age value term, which implies that GetAge is defined in a schema (as a model function would have been) and not in an entity container (as a function import must be).

      Also the introduction of Type Definitions now allows giving a name to primitive types with facets, so even primitive return types with facets can now be given a name, reducing the need for referring to implicitly defined types.

      The meaning of a ParameterReference as defined in section 15.2.12 is unclear, and the example gives no hints on how to interpret it,

        Attachments

          Activity

          Hide
          mikep Michael Pizzo (Inactive) added a comment -

          In fact, a number of *Reference expressions were added in the initial contribution based on an early and incomplete design for something that is not supported as part of OData. The following expressions should all be removed from [CSDL]:

          EntitySetReference, EnumMemberReference, FunctionReference, ParameterReference, PropertyReference, and ValueTermReference

          The final *Reference expression, the LabeledElementReference Expression, together with LabeledElementReference, can be used to define an element once and reference it from other annotations.

          Show
          mikep Michael Pizzo (Inactive) added a comment - In fact, a number of *Reference expressions were added in the initial contribution based on an early and incomplete design for something that is not supported as part of OData. The following expressions should all be removed from [CSDL] : EntitySetReference, EnumMemberReference, FunctionReference, ParameterReference, PropertyReference, and ValueTermReference The final *Reference expression, the LabeledElementReference Expression, together with LabeledElementReference, can be used to define an element once and reference it from other annotations.

            People

            • Assignee:
              handl Ralf Handl
              Reporter:
              handl Ralf Handl
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: