wiki:CMDI 1.2/Specification/TransformationCCSLSchema

Version 4 (modified by Twan Goosen, 9 years ago) (diff)

CMD component properties table

Transformation of CCSL into a CMD profile schema definition

A CMD instance document that is serialised as XML according this specification SHOULD contain a reference the location of a CMD profile schema. The infrastructure MUST provide a mechanism to derive such a schema for any specific CMD profile on basis of its definition and that of the CMD components that it references. This section specifies how different aspects of a CMD specification should be transformed into elements of a schema definition. The primary schema language targeted is XML Schema, although the infrastructure MAY provide support for other schema languages, such as DDML or Relax NG. CMD profile schemas SHOULD NOT (MUST NOT?) be derived from CMD specifications that are not CMD profiles.

The transformation as described here is assumed to take place on the fully expanded CMD profile, i.e. a version of the specification that has all referenced (non-inline) CMD Component definitions are resolved and substituted, recursively, by their full definitions.

General properties of the CMD profile schema definition

A CMD profile schema MUST be a single document {or set of linked documents with a single entry point}(?) that allows for the evaluation of a CMD instance on all levels of description defined in one specific CMD profile. The schema MUST require the presence of a CMD instance envelope as described in section "Structure of CMDI-files". The value of the MdProfile header item MUST only be valid if it is equal to the profile id as specified in the associated CMD profile.

The CMD profile schema MAY 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.

The transformation MAY make use of embedded component identifiers in the CMD component definition to derive (complex) types that can be reused throughout the schema definition.

Interpretation of CMD component definitions in the CCSL

CMD Components which are represented as Component XML elements in the CCSL, MUST be realised as XML element declarations with the following property mapping:

Property XML schema attribute Derived from Use
Name of the XML element @name @name REQUIRED
Minimal number of occurrences @minOccurs @CardinalityMin unless @Multilingual is true,
in which case MUST be 'unbounded',
or '1' if neither XML attribute is present
REQUIRED 1
Maximal number of occurrences @maxOccurs @CardinalityMax, or '1' if XML attribute not present REQUIRED 1
Concept link @dcr:datcat @ConceptLink OPTIONAL
Component id @cmd:ComponentId @ComponentId OPTIONAL

1The 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