Lists Home |
Date Index |
From: "Tim Bray" <email@example.com>
> I think the news in this area is mostly pretty bad. Versioning of
> schemas and namespaces and markup-processing software in general is just
> an insanely hard problem, and furthermore one where needs vary
> dramatically from application to application.
It is made harder because we still don't get that there are several
kinds of versions that can be usefully distinguished, and that these
may be better treated independently.
* A version of something to allow a specific view. (e.g. what Schematron's
phases was developed to address, and progressive validation in general)
* A version of something at a particular stage in its processing life
(e.g. what Francis Norton's stages preprocessing was developed to address)
* Minor and major tweaks relating to errors
* Refactored versions
* Evolution to meet new specs
* Platform dependent versions
When all these are lumped together, it certainly becomes difficult to use
a single mechanism or even a couple. That is why some people still use the C
preprocessor with Java, or use reflection to cope with compiling with a
tool that uses an earlier API.
If we look at what XML took out of SGML, and what XML Schemas took out
of XML DTDs, we find that it includes support for include/ignore marked sections.
So we shouldn't be too surprised if, by simplifying our languages to remove
parameterized versions, versioning becomes more difficult.