Changes between Version 235 and Version 236 of CMDI 1.2/Specification
- Timestamp:
- 10/04/16 09:49:06 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CMDI 1.2/Specification
v235 v236 497 497 draw.io source: https://drive.google.com/drive/folders/0B6mqjTCSImiVSjhRMmJWUUQ0Nm8?usp%3Dsharing 498 498 }}} 499 ```TODO:``` caption 500 ---- 499 501 500 502 A 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. … … 536 538 |||| `<Header>` || `xs:complexType` || || Descriptive information about the component. || 537 539 || || `<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. || 539 541 || || `<Description>` || `xs:string` || 0 or 1 || Description of the component. || 540 542 || || `<Status>` || `xs:string` ("development", "production", "deprecated"; see below for a description of each of the possible values) || 1 || Status in lifecycle. || … … 545 547 ==== Status values ==== 546 548 * '''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. 548 550 * '''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. 550 552 * '''deprecated''' 551 553 * Usage of this component specification is discouraged, and usage of a successor component specification, if present, is encouraged. … … 639 641 || |||| `@ConceptLink` || `xs:anyURI` || 0 or 1 || Concept link. || 640 642 || |||| `@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). || 643 645 || |||| `@Multilingual` || `xs:boolean` || 0 or 1 || Indication that the element can have values in multiple languages (default: false). || 644 646 || |||| `<Documentation>` || `xs:string` || 0 to unbounded || Documentation about the purpose of the element. || … … 646 648 || |||| `<AttributeList>` || `xs:complexType` || 0 or 1 || Additional attributes specified by the component creator. || 647 649 || || || `<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. || 649 651 || |||| `<AutoValue>` || `xs:string` || 0 to unbounded || Derivation rules for the element's content. || 650 652 651 653 === Additional constraints === 652 * For the defined CMD element, each documentation `MUST` have a unique `@xml:lang` value. And there `MUST ` notbe 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`. 653 655 * A CMD element `SHOULD` have either a `@ValueScheme` or a `<ValueScheme>`. 654 656 * The value of the minimum cardinality `MUST` be lower or equal to the value of the maximum cardinality. … … 701 703 || |||| `<Documentation>` || `xs:string` || 0 to unbounded || Documentation about the purpose of the attribute. || 702 704 || || || `@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. || 704 706 || |||| `<AutoValue>` || `xs:string` || 0 to unbounded || Derivation rules for the attribute's content. || 705 707 … … 726 728 </Attribute> 727 729 }}} 728 == Value restrictions for elements and attributes == 730 731 [=#valuerestrictions] 732 == Value schemes for elements and attributes == 729 733 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/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: 730 734