Changes between Version 183 and Version 184 of CMDI 1.2/Specification


Ignore:
Timestamp:
05/26/16 09:47:15 (8 years ago)
Author:
Twan Goosen
Comment:

The CMDI Component Specification Language

Legend:

Unmodified
Added
Removed
Modified
  • CMDI 1.2/Specification

    v183 v184  
    420420----
    421421
    422 =       The CMDI Component Specification Language (CCSL)=
     422= The CMDI Component Specification Language (CCSL) =
    423423
    424424{{{#!div class="notice system-message"
     
    445445<ComponentSpec isProfile="true" CMDVersion="1.2"
    446446  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    447   xmlns:cue="http://www.clarin.eu/cmdi/cues/display/1.0"
     447  xmlns:cue="http://www.clarin.eu/cmdi/cues/1"
    448448  xsi:noNamespaceSchemaLocation="https://infra.clarin.eu/CMDI/1.x/xsd/cmd-component.xsd">
    449449    <Header>
     
    541541
    542542==      CMD element definition ==
    543 CMD elements are a template for storing atomic values constrained by a value scheme in a CMD instance. The CCSL specification of an CMD element `MUST` contain the name of the element and `MAY` contain a concept link, the value schema, and information about the allowed cardinality of the element. Furthermore it `MAY` be indicated if the element may have different instance values in multiple languages, which mandates an unlimited upper cardinality bound. A CMD element `MUST` either be assigned one of the standard XML schema datatypes or be constrained by using regular expressions or vocabularies. The latter can be specified by giving the complete list of allowed values or by stating the URI of an external vocabulary (for details see [#valuerestrictions Value restrictions for elements and attributes]). If the instance's content of the element can be derived from other values, the element  `AutoValue` `MAY` be used to give indication about the derivation function. The CCSL does not prescribe or suggest a specific set of derivation functions.
     543CMD elements are a template for storing atomic values constrained by a value scheme in a CMD instance. The CCSL specification of an CMD element `MUST` contain the name of the element and `MAY` contain a concept link, the value schema, and information about the allowed cardinality of the element. Furthermore, it `MAY` be indicated if the element may have different instance values in multiple languages, which mandates an unlimited upper cardinality bound. A CMD element `MUST` either have one of the standard XML schema datatypes assigned to it, or be constrained by using regular expressions or vocabularies. The latter can be specified by giving the complete list of allowed values or by stating the URI of an external vocabulary (for details see [#valuerestrictions Value restrictions for elements and attributes]). If the instance's content of the element can be derived from other values, the element  `AutoValue` `MAY` be used to give indication about the derivation function. The CCSL does not prescribe or suggest a specific set of derivation functions.
    544544
    545545||||||= Name =||= Valuetype =||= Occurrences =||= Description =||
     
    559559
    560560=== Additional constraints ===
    561 * For this CMD element, each documentation  `MUST` have a unique `@xml:lang` value. And there `MUST` not be more than one documentation with an empty or missing `@xml:lang`.
     561* For the defined CMD element, each documentation  `MUST` have a unique `@xml:lang` value. And there `MUST` not be more than one documentation with an empty or missing `@xml:lang`.
    562562* A CMD element `SHOULD` have either a `@ValueScheme` or a `<ValueScheme>`.
    563563* The value of the minimum cardinality `MUST` be lower or equal to the value of the maximum cardinality.
     
    597597
    598598=== Additional constraints ===
    599 * For this CMD attribute, each documentation  `MUST` have a unique `@xml:lang` value. And there `MUST` not be more than one documentation with an empty or missing `@xml:lang`.
     599* For the defined CMD attribute, each documentation  `MUST` have a unique `@xml:lang` value. And there `MUST` not be more than one documentation with an empty or missing `@xml:lang`.
    600600* A CMD attribute `SHOULD` have either a `@ValueScheme` or a `<ValueScheme>`.
    601601
     
    695695
    696696A CMD profile schema `MUST` allow for the evaluation of a CMD instance on all levels of description defined in one specific CMD profile.
    697 The schema `MUST` require the presence of a CMD instance envelope as described in section [#structureOfCmdi Structure of CMDI files]. The value of the `<cmd:MdProfile>` header item in the CMD instance envelope `MUST` only be valid if it is equal to the profile id as specified in the associated CMD profile.
     697The schema `MUST` require the presence of a CMD instance envelope as described in section [#structureOfCmdi Structure of CMDI files]. The value of the `<cmd:MdProfile>` header item in the CMD instance envelope `SHOULD` only be valid if it is equal to the profile id as specified in the associated CMD profile.
    698698
    699699The CMD profile schema `SHOULD` include, as a matter of annotation, a copy of (a subset of) the information contained in the `Header` section of the CMD profile from which it is derived.
     
    722722=== Document structure prescribed by the schema ===
    723723
    724 The first CMD component defined in the CMD profile (the "root component") `MUST` be mapped as the mandatory, only direct descendant of the `<Components>` XML element of the CMD instance envelope.
     724The first CMD component defined in the CMD profile (the "root component") `MUST` be mapped as the mandatory, only child element of the `<Components>` XML element of the CMD instance envelope.
    725725CMD components that are defined as direct descendants of another CMD component `MUST` be mapped as direct descendants of the XML element declaration to which it is transformed. XML components at the CMD component level in the metadata instance `MUST` be required to be included in the same order as defined in the CMD specification, the first of the resulting XML elements appearing after the last XML element derived from a CMD element at the same level, if present. These descendant CMD Components `MUST` also be mapped to XML element declarations recursively as described in this specification.
    726726
     
    760760^[=#iocaditc-note1 1]^The implementation may make use of default evaluation of the schema language if it matches these requirements, as is the case with XML Schema, and therefore omit explicit declaration of these properties.
    761761
    762 `<Documentation>` XML elements contained in CMD attributes `SHOULD` be transformed into documentation elements embedded in the XML attribute declaration In these, the content language information contained in the `@xml:lang` XML attribute `SHOULD` be preserved.
     762`<Documentation>` XML elements contained in CMD attributes `SHOULD` be transformed into documentation elements embedded in the XML attribute declaration. In these, the content language information contained in the `@xml:lang` XML attribute `SHOULD` be preserved.
    763763
    764764XML attributes of CMD attributes in the `cue` namespace `SHOULD` be copied into the XML attribute declaration, in which case the XML attribute name, namespace and value `SHOULD` be preserved.
     
    775775 * The XML attribute `@URI` of the XML element  `<Vocabulary>`, if present, `SHOULD` be transformed into an attribute `cmd:Vocabulary` of the same value on the XML element or attribute declaration in the schema. The XML element declaration should always allow a `@cmd:ValueConceptLink` to retain a link to a specific vocabulary entry.
    776776 * The XML attributes `@ValueProperty` and `@ValueLanguage` of the XML element `<Vocabulary>` `SHOULD` be transformed into XML attributes in the `cmd` namespace on the XML element declaration in the case of a CMD element or XML attribute declaration in the case of a CMD attribute.
    777  * The XML elements `<item>` that are descendants of `<enumeration>` contained in `<Vocabulary>` `MUST` be transformed into an enumeration based restriction with values taken from the text content of the `<item>` XML elements. Each enumeration item in the schema `SHOULD` be annotated the value from the XML attribute `@ConceptLink` by means of an XML attribute `@cmd:ConceptLink` and the value of the XML attribute `@AppInfo` by means of an attribute `@cmd:label`.
     777 * The XML elements `<item>` that are descendants of `<enumeration>` contained in `<Vocabulary>` `MUST` be transformed into an enumeration based restriction with values taken from the text content of the `<item>` XML elements. Each enumeration item in the schema `SHOULD` be annotated: the value from the XML attribute `@ConceptLink` by means of an XML attribute `@cmd:ConceptLink`, and the value of the XML attribute `@AppInfo` by means of an attribute `@cmd:label`.
    778778
    779779=== Notes ===
    780 The attributes `@cmd:Vocabulary`, `@cmd:ValueProperty`, `@cmd:ValueLanguage` and `@cmd:ConceptLink` should be present in the schema, not be declared as attributes allowed in the CMD instance.
     780 * The attributes `@cmd:Vocabulary`, `@cmd:ValueProperty`, `@cmd:ValueLanguage` and `@cmd:ConceptLink` are to be included in the schema document, not in the CMD instance.
     781
     782----
    781783
    782784= Appendices =