262 | | |
263 | | == Component definition == |
264 | | |
265 | | == Element definition == |
266 | | |
267 | | == Cardinality of elements and components == |
268 | | |
269 | | == Describing multilingual content == |
270 | | |
271 | | == Attributes for elements and components == |
| 264 | The CCSL header provides information relevant to identify and describe the component. This part includes a persistent identifier, the name, and a description of the component. The header also supports information about the status of the specification. These include a mandatory element indicating the component's status in its lifecycle (using the three lifecycles ''development'', ''production'', or ''deprecated'') and an optional element ''statusComment'' to contain information about the reason for the current status. In the case of a deprecated specification that was succeeded by a new specification, the identifier of the direct successor should be stored in the element ''Successor''. |
| 265 | |
| 266 | == CMD Component definition == |
| 267 | Components are defined as a sequence of elements which may be followed by other components. The later is allowed because components may be embedded in other components. |
| 268 | The specification of a CMD components contains the name of the component, the component's identifier, an optional concept link, and information about the allowed cardinality of the component. Furthermore documentation texts and further CMD attributes may be specified. |
| 269 | The following table contains a summary of allowed specifications for a CMD component. |
| 270 | |
| 271 | || Name || Element/Attribute || Valuetype || Description || |
| 272 | || name || Attribute || xs:Name || Name of the component || |
| 273 | || ComponentId || Attribute || xs:anyURI || Identifier of the component || |
| 274 | || ConceptLink || Attribute || xs:anyURI || Concept link || |
| 275 | || CardinalityMin || Attribute || xs:nonNegativeInteger || Minimum number of times this component has to occur|| |
| 276 | || CardinalityMax || Attribute || xs:nonNegativeInteger or “unbounded” || Maximum number of times this component may occur || |
| 277 | || Documentation || Element || xs:string || Documentation about the purpose of the component || |
| 278 | || AttributeList || Element || xs:complexType || Additional attributes specified by the component creator || |
| 279 | |
| 280 | == CMD element definition == |
| 281 | CMD elements are a template for storing atomic values constrained by a value scheme in a CMD instance. All relevant information and restrictions for such an element is contained in the CMD element definition. Most of this information is stored in XML attributes. This includes the mandatory name of the element, an optional concept link, the value schema, and information about the allowed cardinality of the element. Furthermore it can be indicated if the element may have different instance values in multiple languages, and hence an unlimited upper cardinality bound. |
| 282 | Besides standard XML schema datatypes the value of a CMD element can 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 ''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. |
| 283 | The following table contains a summary of allowed specifications for a CMD element. |
| 284 | |
| 285 | || Name || Element/Attribute || Valuetype || Description || |
| 286 | || name || Attribute || xs:Name || Name of the element || |
| 287 | || ConceptLink || Attribute || xs:anyURI || Concept link || |
| 288 | || ValueScheme || Attribute || Subset of XSD datatypes || Allowed data type if simple XML type is used || |
| 289 | || CardinalityMin || Attribute || xs:nonNegativeInteger or “unbounded” || Minimum number of times this element has to occur || |
| 290 | || CardinalityMax || Attribute || xs:nonNegativeInteger or “unbounded” || Maximum number of times this element may occur |
| 291 | || Multilingual || Attribute || xs:boolean || Indication that the element can have values in multiple languages || |
| 292 | || Documentation || Element || xs:string || Documentation about the purpose of the element || |
| 293 | || AttributeList || Element || xs:complexType || Additional attributes specified by the component creator || |
| 294 | || ValueScheme || Element || xs:complexType || Value restrictions based on a regular expression or a specified vocabulary || |
| 295 | || AutoValue || Element || xs:string || Derivation rules for the element's content || |
| 296 | |
| 297 | == CMD attribute definition == |
| 298 | Both the CMD element and component description allow the specification of additional CMD attributes. Every CMD attribute is specified using similar attributes and elements as for CMD elements. |
| 299 | The following table contains a summary of allowed specifications for a CMD attribute. |
| 300 | |
| 301 | || Name || Element/Attribute || Valuetype || Description || |
| 302 | || name || Attribute || xs:Name || Name of the attribute || |
| 303 | || ConceptLink || Attribute || xs:anyURI || Concept link || |
| 304 | || ValueScheme || Attribute || Subset of XSD datatypes || Allowed data type if simple XML type is used || |
| 305 | || Required || Attribute || xs:boolean || Indication if attribute is required || |
| 306 | ||Documentation || Element || xs:string || Documentation about the purpose of the attribute || |
| 307 | ||ValueScheme || Element || xs:complexType || Value restrictions based on a regular expression or a specified vocabulary || |
| 308 | ||AutoValue || Element || xs:string || Derivation rules for the attribute's content || |
| 309 | |
| 310 | |
| 311 | == Value restrictions for elements and attributes == |
| 312 | Apart 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 should comply with, or the definition of a vocabulary of allowed values. CMDI 1.2 supports two approaches to describe such a vocabulary: |
| 313 | * specifying all allowed values with optional attributes for every value to include a concept link and a description of the specific value, or |
| 314 | * referring to an external vocabulary via a URI specified in the attribute URI. Optional XML attributes ''ValueProperty'' and ''ValueLanguage'' may be used to give more information about preferred label and language in the chosen vocabulary. |
| 315 | |
| 316 | == Cues attributes == |
| 317 | All CMD attribute, element, and component specifications may contain additional attributes with the namespace “http://www.clarin.eu/cmdi/cues/display/1.0”. These may be used to give information about how the payload contained in CMD instances should be presented. Different styles for the same CMD component may be developed. The CCSL does not prescribe or suggest a specific set of these cue attributes. |
| 318 | |