Using @version to indicate the schema version
Paul Harrison
paul.harrison at manchester.ac.uk
Wed Aug 29 11:13:51 CEST 2018
Hi,
Although my initial reaction to this issue was that the @version needs to go into its own namespace to avoid clashes, on reflection this is exactly the sort of excessively prescriptive solution which the schema versioning note was written to avoid, by advocating a more pragmatic approach that caused less hassle for implementors.
It has struck me that in fact this @version is not actually the schema version but really the associated standard version - it is there to inform readers of the instance document that there might be some additional behaviours that are not apparent merely by looking at the namespace. There might be some new optional XML constructs but in the UWS case for instance it is really the extra service behaviours that are the more important changes in 1.1.
The case of the VODML schema shows that although the note was followed in the recommendation to put a “version” attribute into the instance documents it did not follow the other recommendation for the content @version on the xs:schema element - i.e. to be the same as the full IVOA document version (including the PR, date) - this of course makes it more difficult to “correct” the version attribute in that schema and be sure that you have the latest version of the schema file.
In summary my changes to the note would be
* emphasise that the version corresponds to the standard major.minor version, rather than the schema version per-se and than it is not even necessary until there has been a point release, .
* recommend that it be called “stdVersion” in the namepace of the parent schema.
* though it must be called something else if the name clashes with an existing sub-element/attribute on the same element - the relevant standard document should mention what the actual attribute is.
* say something about more minor schema changes, that require the schema’s top level version to change (e.g. errata), but not the stdVersion.
Comments?
Paul.
p.s. the reason why the “namespaceing” of the version attribute would be rather heavyweight is that if it were put into the VOStandardExt schema, then that namespace would have to be declared in every instance document, which seems an unnecessary burden in terms of bandwidth to try to standardise something that cannot be treated in a uniform way by software anyway - by its nature the possible differences that are signalled by the presence of the attribute will have to be treated in a custom way for each different schema, so it does not really matter if the attribute name is not rigorously the same in each schema.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1905 bytes
Desc: not available
URL: <http://mail.ivoa.net/pipermail/grid/attachments/20180829/eb265de8/attachment.p7s>
More information about the grid
mailing list