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

Extend definition of edm:Path expression

    XMLWordPrintable

    Details

    • Proposal:
      Hide

      Allow external targeting for

      • Annotation via MyTargetPath/@MySchema.MyTerm#MyQualifier
      • Action/Function Parameter via MySchema.MyContainer/MyActionImportOrFunctionImport/MyParameter, annotation applies to parameter of this name across all overloads for requests via the Import, overrides annotations on the Action/Function Parameter
      • ReturnType via MySchema.MyActionOrFunction/$ReturnType, applies to all overloads
      • ReturnType via MyContainer/MyActionImportOrFunctionImport/$ReturnType, applies to all overloads, overrides annotations on the Action/Function Parameter

      Define how path expressions are to be evaluated relative to the external or enclosing target, e.g. how to address properties of the binding parameter type for bound actions

      Show
      Allow external targeting for Annotation via MyTargetPath/@MySchema.MyTerm#MyQualifier Action/Function Parameter via MySchema.MyContainer/MyActionImportOrFunctionImport/MyParameter, annotation applies to parameter of this name across all overloads for requests via the Import, overrides annotations on the Action/Function Parameter ReturnType via MySchema.MyActionOrFunction/$ReturnType, applies to all overloads ReturnType via MyContainer/MyActionImportOrFunctionImport/$ReturnType, applies to all overloads, overrides annotations on the Action/Function Parameter Define how path expressions are to be evaluated relative to the external or enclosing target, e.g. how to address properties of the binding parameter type for bound actions

      Description

      Some model elements can only be annotated via inline annotations but not targeted via the edm:Annotations element. As annotation documents and service metadata may have different owners or life-cycles this restricts authors of annotation documents.

      In the edm:Path expression definition we had specified how a path expression is evaluated, if the annotation targets a entity container, entity set, entity type, complex type, navigation property of a structured type, or a property of a structured type.

      We should check for all other CSDL elements how the path expression could be extended to allow external targeting, e.g. if we target an edm:FunctionImport we can use the parameter names as path segments (which would be consistent with the syntax of the EntitySetPath attribute), and have a special path segment to address the ReturnType, e.g. $ReturnType or $out, treating it as an implicitly named "return parameter".

      With the extension of the edm:Path we will automatically extend the definitions of the CSDL elements based on edm:Path like edm:PropertyPath.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              martinzurmuehl Martin Zurmuehl
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: