Changes between Version 10 and Version 11 of CMDI 1.2/Cues/Derived values


Ignore:
Timestamp:
02/25/14 09:20:20 (10 years ago)
Author:
teckart
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CMDI 1.2/Cues/Derived values

    v10 v11  
    147147
    148148
    149 
    150 ==== Open questions ====
    151 * Using new namespace?
    152 * Allowed syntax?
     149== Third solution (supported in CMDI 1.2) ==
     150(Based on solution 2)
     151The CMD general component schema is extended with one additional (optional) attribute (AutoValue) for the elements and attributes specification. This attribute contains the function that is used to generate the content of the element/attribute.
     152
     153The supported attribute only provides a kind of "hook" to extend CMDI components with a derivation functionality. There will be no concrete specification of supported functions, syntax or of the mechanism to reference content of other elements. The specific implementation is up to the community and not part of the CMDI 1.2 specification process.
     154
     155
     156==== Pros ====
     157* allows to add derivation functionality to CMDI 1.2 components without determining functionality or expressiveness
     158* no need for immediate changes in the CMDI infrastructure
     159
     160==== Cons ====
     161* as derivation functionality is based on components this solution does not guarantee that referenced nodes do exist (usage of a component in various contexts or when refering to optional elements). This is especially important for derivation of values depending on component-external elements. In this case the editor should notify the user of this problem.
     162
     163==== Centre impact ====
     164There is no need for immediate changes in the infrastructure. When there is an agreement on the concrete implementation the following tools should support it:
     165
     166* Affected tools
     167 * Infrastructure
     168  * Component Registry
     169 * Editors
     170  * Arbil
     171  * ProForma
     172 * Viewers
     173  *
     174* Impact on instances
     175
     176=== Implementation examples ===
     177The specification of CMDI elements and attributes is extended by one optional attribute (AutoValue (xs:string)).
     178{{{
     179<!-- list of all attributes that can be bound to a cl_el -->
     180    <xs:attributeGroup name="clarin_element_attributes">
     181        <xs:attribute name="name" type="xs:Name" use="required">
     182            <xs:annotation>
     183                <xs:documentation>The name of the element.</xs:documentation>
     184            </xs:annotation>
     185        </xs:attribute>
     186        ...
     187        <xs:attribute name="AutoValue" type="xs:string">
     188            <xs:annotation>
     189                <xs:documentation>A function that is used to derive the content of this element based on external information.</xs:documentation>
     190            </xs:annotation>
     191        </xs:attribute>
     192    </xs:attributeGroup>
     193}}}
     194and similar for Attribute specifications
     195
     196==== Implementation on component model level ====
     197Example (just for illustration purposes, used syntax and functions are not part of the specification):
     198{{{
     199<CMD_Element name="AgeOfFile" AutoValue="$CurrentDate-date({../CreationDate})"/>
     200}}}
     201
     202
     203
     204
     205
     206
     207
    153208
    154209{{{#!comment