General XML
Last updated
Last updated
For each profile stored in the Component Registry a dynamically generated XSD is available. The URL of this XSD is available in the Info dialog of a profile and should be included in the schemaLocation attribute on the CMD root element. This enables validation of a CMD record by general XSD validators, including the CMDI Validator. The Component Registry URL should be used as it ensures that fixes in the transformation from a profile specification into an XSD are included in the validation process.
Namespace prefixes are officially just syntactic sugar in XML, i.e., provide a convenient shortcut. However, using common prefixes enable users to quickly assess the scope of an element. The CMDI 1.2 specification recommends the following prefixes for the namespaces URIs in CMDI:
Prefix
Namespace Name
Comment
Recommended Syntax
cmd
CMDI instance (general/envelope)
prefixed
cmdp
CMDI payload (profile specific)
prefixed
cue
Cues for tools
prefixed
xs
XML Schema
prefixed
xsi
XML Schema instance
prefixed
See section 3.4 regarding validation, which implies well-formed XML.
The encoding of a CMD record, i.e., XML documents in general, doesn’t have to be stated explicitly. It can be provided in various, possibly conflicting ways: via a Byte Order Marker (BOM), in the XML declaration of the document or a HTTP header. The best practice is to align all these methods to express an UTF-8 encoding, but include at least the XML declaration to indicate the encoding used.