Changes between Version 235 and Version 236 of CMDI 1.2/Specification


Ignore:
Timestamp:
10/04/16 09:49:06 (8 years ago)
Author:
Twan Goosen
Comment:

first half of CCSL section

Legend:

Unmodified
Added
Removed
Modified
  • CMDI 1.2/Specification

    v235 v236  
    497497draw.io source: https://drive.google.com/drive/folders/0B6mqjTCSImiVSjhRMmJWUUQ0Nm8?usp%3Dsharing
    498498}}}
     499```TODO:``` caption
     500----
    499501
    500502A CCSL document `MUST` contain a CCSL header and the actual CMD component description. Its root element `MUST` contain an XML attribute `@isProfile` to indicate if the document specifies a CMD profile or a CMD component and it `MUST` contain an XML attribute `@CMDVersion` specifying the CMDI version ("1.2"). The root element `MAY` also contain an XML attribute `@CMDOriginalVersion` specifying the CMDI version that was originally used to create the component.
     
    536538|||| `<Header>` || `xs:complexType` || || Descriptive information about the component. ||
    537539|| || `<ID>` || `xs:anyURI` || 1 || ID of the component specification. ||
    538 || || `<Name>` || `xs:string` || 1 || Name of the component. ||
     540|| || `<Name>` || `xs:NCName` || 1 || Name of the component. ||
    539541|| || `<Description>` || `xs:string` || 0 or 1 || Description of the component. ||
    540542|| || `<Status>` || `xs:string` ("development", "production", "deprecated"; see below for a description of each of the possible values) || 1 || Status in lifecycle. ||
     
    545547==== Status values ====
    546548 * '''development'''
    547    * The component specification is under construction, i.e. can undergo change at any moment, and therefore only to be used for testing purposes.
     549   * The component specification is under construction, i.e., can undergo change at any moment, and therefore only to be used for testing purposes.
    548550 * '''production'''
    549    * The component specification is stable and will not be changed anymore, i.e. can be used for production-level metadata instances.
     551   * The component specification is stable and will not be changed anymore, i.e., can be used for production-level metadata instances.
    550552 * '''deprecated'''
    551553   * Usage of this component specification is discouraged, and usage of a successor component specification, if present, is encouraged.
     
    639641|| |||| `@ConceptLink` || `xs:anyURI` || 0 or 1 || Concept link. ||
    640642|| |||| `@ValueScheme` || `xs:string` (name of an XML Schema datatype) || 0 or 1 || Allowed data type (default: `string`). ||
    641 || |||| `@CardinalityMin` || `xs:nonNegativeInteger` or `unbounded` || 0 or 1 || Minimum number of times this element has to occur (default: 1). ||
    642 || |||| `@CardinalityMax` || `xs:nonNegativeInteger` or `unbounded` || 0 or 1 || Maximum number of times this element may occur  (default: 1). ||
     643|| |||| `@CardinalityMin` || `xs:nonNegativeInteger` or "unbounded" || 0 or 1 || Minimum number of times this element has to occur (default: 1). ||
     644|| |||| `@CardinalityMax` || `xs:nonNegativeInteger` or "unbounded" || 0 or 1 || Maximum number of times this element may occur  (default: 1). ||
    643645|| |||| `@Multilingual` || `xs:boolean` || 0 or 1 || Indication that the element can have values in multiple languages  (default: false). ||
    644646|| |||| `<Documentation>` || `xs:string` || 0 to unbounded || Documentation about the purpose of the element. ||
     
    646648|| |||| `<AttributeList>` || `xs:complexType` || 0 or 1 || Additional attributes specified by the component creator. ||
    647649|| || || `<Attribute>` || `xs:complexType` || 1 to unbounded || An additional attribute. ||
    648 || |||| `<ValueScheme>` || `xs:complexType` || 0 or 1 || Value restrictions based on a regular expression or a specified vocabulary. See [#valuerestrictions Value restrictions for elements and attributes] for details. ||
     650|| |||| `<ValueScheme>` || `xs:complexType` || 0 or 1 || Value scheme based on a regular expression or a specified vocabulary. See [#valuerestrictions Value schemes for elements and attributes] for details. ||
    649651|| |||| `<AutoValue>` || `xs:string` || 0 to unbounded || Derivation rules for the element's content. ||
    650652
    651653=== Additional constraints ===
    652  * 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`.
     654 * 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`.
    653655 * A CMD element `SHOULD` have either a `@ValueScheme` or a `<ValueScheme>`.
    654656 * The value of the minimum cardinality `MUST` be lower or equal to the value of the maximum cardinality.
     
    701703|| |||| `<Documentation>` || `xs:string` || 0 to unbounded || Documentation about the purpose of the attribute. ||
    702704|| || || `@xml:lang` || `xs:language` || 0 or 1 || The language-tag of the language used by the documentation. ||
    703 || |||| `<ValueScheme>` || `xs:complexType` || 0 or 1 ||Value restrictions based on a regular expression or a specified vocabulary. See [#valuerestrictions Value restrictions for elements and attributes] for details. ||
     705|| |||| `<ValueScheme>` || `xs:complexType` || 0 or 1 ||Value scheme based on a regular expression or a specified vocabulary. See [#valuerestrictions Value schemes for elements and attributes] for details. ||
    704706|| |||| `<AutoValue>` || `xs:string` || 0 to unbounded || Derivation rules for the attribute's content. ||
    705707
     
    726728</Attribute>
    727729}}}
    728 == Value restrictions for elements and attributes ==
     730
     731[=#valuerestrictions]
     732== Value schemes for elements and attributes ==
    729733Apart from standard XML schema datatypes the content of a CMD element or attribute instance can be restricted by two means. The `<ValueScheme>` element `MAY` contain either an XML element `<pattern>` with the specification of a regular expression the element/attribute should comply with, or the definition of a controlled vocabulary of allowed values. CMDI 1.2 supports two approaches to describe such a vocabulary:
    730734