Changes between Version 183 and Version 184 of CMDI 1.2/Specification
- Timestamp:
- 05/26/16 09:47:15 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CMDI 1.2/Specification
v183 v184 420 420 ---- 421 421 422 = The CMDI Component Specification Language (CCSL)=422 = The CMDI Component Specification Language (CCSL) = 423 423 424 424 {{{#!div class="notice system-message" … … 445 445 <ComponentSpec isProfile="true" CMDVersion="1.2" 446 446 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" 448 448 xsi:noNamespaceSchemaLocation="https://infra.clarin.eu/CMDI/1.x/xsd/cmd-component.xsd"> 449 449 <Header> … … 541 541 542 542 == 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 datatypesor 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.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 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. 544 544 545 545 ||||||= Name =||= Valuetype =||= Occurrences =||= Description =|| … … 559 559 560 560 === Additional constraints === 561 * For th isCMD 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`. 562 562 * A CMD element `SHOULD` have either a `@ValueScheme` or a `<ValueScheme>`. 563 563 * The value of the minimum cardinality `MUST` be lower or equal to the value of the maximum cardinality. … … 597 597 598 598 === Additional constraints === 599 * For th isCMD 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`. 600 600 * A CMD attribute `SHOULD` have either a `@ValueScheme` or a `<ValueScheme>`. 601 601 … … 695 695 696 696 A 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.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 `SHOULD` only be valid if it is equal to the profile id as specified in the associated CMD profile. 698 698 699 699 The 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. … … 722 722 === Document structure prescribed by the schema === 723 723 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.724 The 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. 725 725 CMD 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. 726 726 … … 760 760 ^[=#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. 761 761 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. 763 763 764 764 XML 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. … … 775 775 * 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. 776 776 * 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`. 778 778 779 779 === 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 ---- 781 783 782 784 = Appendices =