OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Updated: (ODATA-108) Define rules for the target of an annotation that supports implicit casting of relationships


     [ http://tools.oasis-open.org/issues/browse/ODATA-108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-108:
-----------------------------

    Proposal: 
When mapping properties of a term the target of the mapping MUST be of the type specified in the term definition or a derived type of the specified type, or annotated with the specified type or a subtype of the specified type.


Example vocabulary: 

<Schema Namespace="vCard">
  <Term Name="Contact" Type="vCard.ContactType" AppliesTo="EntityType,ComplexType" />
  <ComplexType Name="ContactType">
    <Property Name="PhoneNumbers" Type="Collection(vCard.PhoneNumberType)" />
    ...
  </ComplexType>
  <Term Name="PhoneNumber" Type="vCard.PhoneNumberType" AppliesTo="EntityType,ComplexType" />
  <ComplexType Name="PhoneNumberType">
    <Property Name="Number" Type="String"/>
    ...
  </ComplexType>
</Schema>

Example service with annotations:

<Schema Namespace="SomeService">
  <EntityType Name="Customer">
    ...
    <NavigationProperty Name="Phones" Type="Collection(SomeService.Phone)"/>
    ...
    <Annotation Term="vCard.Contact">
      <Record>
        <PropertyValue Property="PhoneNumbers" Path="Phones/vCard.PhoneNumber#work" />
      </Record>
    </Annotation>
  </EntityType>
  <EntityType Name="Phone">
    ...
    <Property Name="work_phone_number" Type="String"/>
    ...
    <Annotation Term="vCard.PhoneNumber" Qualifier="work">
      <Record>
        <PropertyValue Property="Number" Path="work_phone_number" />
      </Record>
    </Annotation>
  </EntityType>
</Schema>

Accepted: https://www.oasis-open.org/committees/download.php/48097/odata-meeting-23_on-20130130_31-F2F-minutes.html#odata-108

  was:
When mapping properties of a term the target of the mapping MUST be of the type specified in the term definition or a derived type of the specified type, or annotated with the specified type or a subtype of the specified type.


Example vocabulary: 

<Schema Namespace="vCard">
  <Term Name="Contact" Type="vCard.ContactType" AppliesTo="EntityType,ComplexType" />
  <ComplexType Name="ContactType">
    <Property Name="PhoneNumbers" Type="Collection(vCard.PhoneNumberType)" />
    ...
  </ComplexType>
  <Term Name="PhoneNumber" Type="vCard.PhoneNumberType" AppliesTo="EntityType,ComplexType" />
  <ComplexType Name="PhoneNumberType">
    <Property Name="Number" Type="String"/>
    ...
  </ComplexType>
</Schema>

Example service with annotations:

<Schema Namespace="SomeService">
  <EntityType Name="Customer">
    ...
    <NavigationProperty Name="Phones" Type="Collection(SomeService.Phone)"/>
    ...
    <Annotation Term="vCard.Contact">
      <Record>
        <PropertyValue Property="PhoneNumbers" Path="Phones/vCard.PhoneNumber#work" />
      </Record>
    </Annotation>
  </EntityType>
  <EntityType Name="Phone">
    ...
    <Property Name="work_phone_number" Type="String"/>
    ...
    <Annotation Term="vCard.PhoneNumber" Qualifier="work">
      <Record>
        <PropertyValue Property="Number" Path="work_phone_number" />
      </Record>
    </Annotation>
  </EntityType>
</Schema>



> Define rules for the target of an annotation that supports implicit casting of relationships
> --------------------------------------------------------------------------------------------
>
>                 Key: ODATA-108
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-108
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData CSDL v1.0
>         Environment: [Proposed]
>            Reporter: Michael Pizzo
>
> Define rules around what the target of a PropertyValue in an Annotation may be. It MUST be the specified type, or contain an Annotation mapping it to the specified type.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]