The ordering of XCRI-CAP data items
A question just arose from a project about the correct ordering of XCRI-CAP data items; it's required by the validator, but is not actually part of the spec. So I had a few thoughts about that.
Although ordering of data items is not part of the XCRI-CAP 1.2 specification, it *is* part of the XCRI-CAP 1.2 XML schema. I can therefore confirm that the order of the data elements in XCRI-CAP feeds is important!
The specification, as published on the wiki at xcri.org/wiki, is a formal description of XCRI-CAP data structures and data items. It can be implemented and coded in many different ways, for example through a W3C schema (as we have used in Craig's validator and published at https://xcri.co.uk/bindings/xcri_cap_1_2.xsd), through an RDF schema, through schematron or through JSON. Each of these implementation formats is generally referred to as a 'binding', and each can meet the requirements of the specification. However, as they use different implementation technologies, they are only directly inter-changeable if a developer produces something to convert one implementation format into another - in some cases there may be off-the-shelf ways of doing this, possibly.
The XCRI-CAP community has mostly used a W3C XML schema approach, and we've re-used some linked schemas (Dublin Core for example) to save re-designing common data elements, like 'title' or 'identifier'. We have also implemented the XCRI-CAP schema, so that it is compliant with the European Norm, Metadata for Learning Opportunities (MLO).
It's interesting to note that The Standard is the spec, not the schema - the schema is an implementation of The Standard. And some standards don't have bindings yet - for example, there isn't an 'official' MLO binding, although Scott and I have implemented one in order to use it with XCRI-CAP. This gives us namespace problems, because without a binding, we can't use a 'real' namespace. So, for example, re-using the JACS coding system in a transparent way is problematic - it has no official interoperable binding, so no namespace. Also some standards don't have 'official' bindings, even if they have namespaces - Dublin Core, for example, though I admit that we've tended to use the published DC schemas as if they are standards.
There are other ways of doing this - in fact, I have a different XCRI-CAP 1.2 implementation that just puts all the XCRI-CAP items in one schema, thereby avoiding any namespace difficulties. However, this is not the 'official' schema. If anyone wants that, just let me know.
Alan
Recent comment in this post Show all comments