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-397) Lazy loading of Annotations: Add optional Attribute "TargetNamespace" to edmx:IncludeAnnotations element


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

Martin Zurmuehl updated ODATA-397:
----------------------------------

    Proposal: 
Add a section 3.5.3 to CSDL Spec:
3.5.3 Attribute TargetNamespace
An edmx:IncludeAnnotations element MAY specify a SimpleIdentifier for the TargetNamespace attribute. 
If the TargetNamespace is specified, only those annotations which apply a term from the TermNamespace to an element of the Targetnamespace with the specified Qualifier (if present) SHOULD be imported. If TargetNamespace is not specified, all annotations within the document from the specified TermNamespace (taking into account the Qualifier, if present) SHOULD be applied. 
If a value is supplied, the include element will import the set of annotations that apply terms from the namespace in the value. The TargetNamespace attribute also provides consumers insight about what namespaces are used in the annotations document. If there are no target elements that have a  namespace of interest to the consumer, the consumer can opt not to download the document.

Reformulate 3.5.2 "Attribute Qualifier" accordingly, and extend example under 3.5. and change edmx schema definition

  was:
Add a section 3.5.3 to CSDL Spec:
3.5.3 Attribute TargetNamespace
An edmx:IncludeAnnotations element MAY specify a SimpleIdentifier for the TargetNamespace attribute. 
If the TargetNamespace is specified, only those annotations which apply a term from the TermNamespace to an element of the Targetnamespace with the specified Qualifier (if present) SHOULD be imported. If TargetNamespace is not specified, all annotations within the document from the specified TermNamespace (taking into account the Qualifier, if present) SHOULD be applied. 
If a value is supplied, the include element will import the set of annotations that apply terms from the namespace in the value. The TargetNamespace attribute also provides consumers insight about what namespaces are used in the annotations document. If there are no target elements that have a  namespace of interest to the consumer, the consumer can opt not to download the document.

Reformulate 3.5.2 "Attribute Qualifier" accordingly


> Lazy loading of Annotations: Add optional Attribute "TargetNamespace" to edmx:IncludeAnnotations element
> --------------------------------------------------------------------------------------------------------
>
>                 Key: ODATA-397
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-397
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData CSDL
>    Affects Versions: V4.0_CSD01
>         Environment: [Proposed]
>            Reporter: Martin Zurmuehl
>             Fix For: V4.0_CSD01
>
>
> If a term is annotated at a model element (with an optional qualifier), this annotation is uniquely identified by (the "target" model element, the term, the qualifier). E.g. the following annotation is identified by (com.sap.erp.products.Product,UIVA.DataFieldWithNavigation,FirstDataField):
>       <Annotations Target="com.sap.erp.products.Product">
>         <Annotation Term="UIVA.DataFieldWithNavigation" Qualifier="FirstDataField">
>           <Record>
>             <PropertyValue Property="Label" String="Supplier" />
>             <PropertyValue Property="Value" Path="@com.sap.AnnoCrossReferenceTerm.Supplier#Foo/SupplierName" />
>           </Record>
>         </Annotation>
>       </Annotations>
> This annotation uses a other annotation in the path attribute identified by (com.sap.erp.products.Product,com.sap.AnnoCrossReferenceTerm.Supplier,Foo). If this annotation is not included in the same file as the sample annotation above, the consumer has to load this annotation to figure out the annotation value. How can he find the right edmx:reference URI? Today we can qualify an edmx:includeAnnotation element inside an edmx:reference element by a TermNamspace attribute (MUST) and a Qualifier attribute (MAY). In our example he can search for (com.sap.AnnoCrossReferenceTerm,Foo) inside the edmx:includeAnnotation elements and load all matching edmx:reference files. There can be many. 
> If we allow annotation providers to express in addition to the TermNamespace and the Qualifier a so called TargetNamespace (the namespace the annotated model element belongs to), the number of matching files could be reduced, because the consumer can search for (com.sap.erp.products,com.sap.AnnoCrossReferenceTerm,Foo) inside the edmx:includeAnnotation elements and load only the  edmx:reference files matching this more specific search query.

-- 
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]