Changes between Version 101 and Version 102 of CMDI 1.2/Specification
- Timestamp:
- 01/19/16 16:38:31 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CMDI 1.2/Specification
v101 v102 26 26 27 27 === Terminology === 28 The key 28 The keywords `MUST`, `MUST NOT`, `REQUIRED`, `SHALL`, `SHALL NOT`, `SHOULD`, `SHOULD NOT`, `RECOMMENDED`, `MAY`, and `OPTIONAL` in this document are to be interpreted as described in [#REF_RFC_2119 RFC2119]. 29 29 30 30 === Glossary === … … 120 120 * A schema definition by which the correctness of a __CMD instance __with respect to the __CMD profile __it pertains to can be evaluated. May be expressed as __XML Schema __but also in another XML schema language. 121 121 * '''XML element declaration''' 122 * A component in an XML Schema that constrains the structure and content of a specific XML element, in accordance with the W3C Recommendation for XML Schema: <https://www.w3.org/TR/xmlschema11-1/#cElement_Declarations>.122 * A component in an __XML Schema__ that constrains the structure and content of a specific __XML element__, in accordance with the W3C Recommendation for XML Schema: <https://www.w3.org/TR/xmlschema11-1/#cElement_Declarations>. 123 123 * '''XML attribute declaration''' 124 * A component in an XML Schema that constrains the structure and content of a specific XML attribute, in accordance with the W3C Recommendation for XML Schema: <https://www.w3.org/TR/xmlschema11-1/#cAttribute_Declarations>.124 * A component in an __XML Schema__ that constrains the structure and content of a specific __XML attribute__, in accordance with the W3C Recommendation for XML Schema: <https://www.w3.org/TR/xmlschema11-1/#cAttribute_Declarations>. 125 125 * '''Foreign attribute''' 126 * An XML attribute defined in a namespace other than those declared inby CMDI, to be included in CMD instancesas additional information targeted to specific receivers or applications.126 * An __XML attribute__ defined in a __namespace__ other than those declared in CMDI, to be included in __CMD instances__ as additional information targeted to specific receivers or applications. 127 127 128 128 === Normative References === … … 149 149 [=#typography_namespaces] 150 150 The following typographic conventions for XML fragments will be used throughout this specification: 151 * `<prefix:Element>` \\ An XML element with the Generic Identifier ''Element'' that is bound to an XML namespace denoted by the prefix ''prefix''.151 * `<prefix:Element>` \\ An XML element with the generic identifier ''Element'' that is bound to an XML namespace denoted by the prefix ''prefix''. 152 152 * `@attr` \\ An XML attribute with the name ''attr'' 153 153 {{{#!comment … … 174 174 175 175 = Structure of CMDI files = 176 [=#structureOfCmdi] 176 177 {{{#!div class="notice system-message" 177 178 Responsible for this section: Oddrun … … 184 185 A CMDI file contains the actual metadata of one specific resource (hereafter referred to as the ''described resource''), and might also be referred to as a CMD record. All CMDI files have the same structure at the top level. At a lower level, parts of its structure are defined by the CMD profile upon which it is based. 185 186 == The main structure == 186 A CMDI file has the root element `<CMD>` with 4 sub elements:187 A CMDI file has the root element `<CMD>` with 4 sub-elements: 187 188 * The `<Header>` element, containing certain administrative information about the CMDI file, i.e. metadata about the file itself 188 * The `<Resources>` element, listing resource proxies and their interrelations, by the following sub elements (ordered)189 * The `<Resources>` element, listing resource proxies and their interrelations, by the following sub-elements (ordered) 189 190 * `<ResourceProxyList>`, containing a list of `<ResourceProxy>` elements, each referencing a file contained in or closely related to the described resource 190 191 * `<JournalFileProxyList>`, containing a list of `<JournalFileProxy>` elements, each referencing a file (“journal file”) containing provenance information about the described resource 191 192 * `<ResourceRelationList>,` containing a list of `<ResourceRelation>` elements, each representing a relationship between 2 resource files (as listed in the `<ResourceProxyList>`) 192 193 * The `<IsPartOfList>` element, containing a list of `<IsPartOf>` elements, each referencing a larger external resource of which the described resource (as a whole) forms a part 193 * The `<Components>` element, containing one sub element corresponding to – and in turn structured according to - the CMD profile applied. Here the descriptive metadata of the resource are found.194 195 The first three elements (`<Header>`, `<Resources>` and `<IsPartOfList>`) constitute the ''CMD instance envelope''and reside in the `cmd` namespace. The ''CMD instance payload'' contains the `<Components>`element, which (profile specific) substructure exists in the profile-specific namespace (prefix `cmdp`), possibly adorned with attributes in the cmd namespace.196 197 A detailed specification of the above mentioned parts of a CMD instance is given in the next four sections. In addition to this, foreign attributes (XML attributes of other namespaces than those defined in the [#typography_namespaces Typographic and XML Namespace conventions]) `MAY` occur anywhere in `<Header>`, `<Resources>` and `<IsPartOfList>`elements and on the `<Components>` element (but not on any of its children).194 * The `<Components>` element, containing one sub-element corresponding to – and in turn structured according to - the CMD profile applied. Here the descriptive metadata of the resource are found. 195 196 The first three elements (`<Header>`, `<Resources>` and `<IsPartOfList>`) constitute the ''CMD instance envelope'' and reside in the `cmd` namespace. The ''CMD instance payload'' contains the `<Components>` element, which (profile specific) substructure exists in the profile-specific namespace (prefix `cmdp`), possibly adorned with attributes in the cmd namespace. 197 198 A detailed specification of the above mentioned parts of a CMD instance is given in the next four sections. In addition to this, foreign attributes (XML attributes of other namespaces than those defined in the [#typography_namespaces Typographic and XML Namespace conventions]) `MAY` occur anywhere in `<Header>`, `<Resources>` and `<IsPartOfList>` elements and on the `<Components>` element (but not on any of its children). 198 199 199 200 === Examples === … … 585 586 [=#transformationIntoSchema] 586 587 A CMD instance document that is serialised as XML according this specification `SHOULD` contain a reference to 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. 587 A CMD profile schema s`MUST` be derived from a CMD profile specification.588 A CMD profile schema `MUST` be derived from a CMD profile specification. 588 589 589 590 == General properties of the CMD profile schema definition == 590 591 591 592 A CMD profile schema `MUST` allow for the evaluation of a CMD instance on all levels of description defined in one specific CMD profile. 592 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 in the CMD instance envelope `MUST` only be valid if it is equal to the profile id as specified in the associated CMD profile.593 The schema `MUST` require the presence of a CMD instance envelope as described in section [#structureOfCmdi Structure of CMDI files]. The value of the `<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. 593 594 594 595 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. … … 596 597 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. 597 598 598 The schema `MUST` declare a profile specific payload namespace in addition to the fixed, global namespaces that are used (in particular `cmd` and `cue`). This namespace, with `RECOMMENDED` prefix `cmdp`, `MUST` have the following format: `http://www.clarin.eu/cmd/1/profiles/{profileId}`, where `{profileId} 599 The schema `MUST` declare a profile specific payload namespace in addition to the fixed, global namespaces that are used (in particular `cmd` and `cue`). This namespace, with `RECOMMENDED` prefix `cmdp`, `MUST` have the following format: `http://www.clarin.eu/cmd/1/profiles/{profileId}`, where `{profileId}` refers to the identifier of the profile from which the schema is derived in the Component Registry. All XML elements and XML attributes derived from CMD components, CMD elements and CMD attributes `MUST` be declared in this namespace. 599 600 600 601 == Interpretation of CMD component definitions in the CCSL == … … 643 644 XML attributes of CMD elements in the 'cue' namespace `SHOULD` be copied into the XML element declaration, in which case the XML attribute name, namespace and value `SHOULD` be preserved. 644 645 645 An optional XML Attribute `@cmd:ValueConceptLink` of type ''xs:anyURI'' `MUST` be allowed on the XML element derived from a CMD element that has a vocabulary with XML attribute `@URI` defined (see section "Content model for CMD elements and CMD attributes in the schema definition").646 An optional XML attribute `@cmd:ValueConceptLink` of type ''xs:anyURI'' `MUST` be allowed on the XML element derived from a CMD element that has a vocabulary with XML attribute `@URI` defined (see section "Content model for CMD elements and CMD attributes in the schema definition"). 646 647 647 648 The derivation of a content model for the XML element declaration on basis of a CMD element is described below.