Partager via


2.2.1.4.1 Function Metadata URL

Applies to the OData 3.0 protocol

A function metadata URL is a URL that points to the definition of a function or group of function overloads.

The rules for constructing a function metadata URL are similar to those for constructing an action metadata URL (section 2.2.1.3.1) with one difference: functions MAY have overloads. Because functions can have overloads, the function metadata URL has to include information about the types of the parameters in order to uniquely identify a particular function overload when overloads exist. When no type information is specified, the function metadata URL identifies all overloads for the identified function.

The rules for constructing the function metadata URL are as follows.

 functionMetadataUrl = [metadataUrl] "#" ecQualifiedFunctionName
  
 ecQualifiedFunctionName = entityContainer "." functionName [ "(" parameterTypeNames ")" ]
                       ; the parameterTypeNames are required to uniquely identify the Function
                       ; only if the Function in question has overloads.
  
 entityContainer       = ; section 2.2.1.3.1
                       ; the name of an Entity Container in the EDM model
  
 functionName          = *pchar ; section 3.3 of [RFC3986]
                       ; the name of a FunctionImport in the EDM model that defines a function
  
 parameterTypeNames    = [ parameterTypeName *( "," parameterTypeName ) ")" ]
                       ; the types of all the parameters to the corresponding functionImport 
                       ; in the order they are declared in the FunctionImport
  
 parameterTypeName     = namespaceQualifiedType ; section 2.2.3.1
  
 metadataUrl           = ; section 2.2.1.3.1

Listing: ABNF Rule for Constructing the Function Metadata URL