Did some further research into this, and came to these conclusions:
- Syd's proposal is not significantly different from Makato Murata's proposal; they differ only in minor syntax, and the latter is an Oasis working draft, while the former is explicitly not a working draft; furthermore, Syd's position is that the TEI would happily use an Oasis recommendation if there were one. Therefore I believe it makes sense to use the Oasis standard rather than Syd's proposal.
- oXygen, which is our own favourite editor, used on all our projects, does not understand the Oasis processing instruction; therefore, for our own convenience, it makes sense to include the oXygen processing instruction as well, even though it is not a standard. oXygen is widely used in the TEI community, so IMT users will be familiar with it.
- I downloaded and installed a trial version of Stylus Studio, another common XML editor. It seems unable to handle RelaxNG at all. For XSD files, it uses the xsi:noNamespaceSchemaLocation attribute on the root element, and imports the xsi namespace. This is no use for RelaxNG, so we can ignore StylusStudio.
- I downloaded and installed a trial version of XMLSpy. Same thing: it only seems to handle DTD and XSD. Therefore we can also ignore that.
The upshot is that I believe the IMT should automatically include two processing instructions to link to the RNG schema, like this:
<?oasis-schema href="imt_1_5.rng" type="application/xml"?>
<?oxygen RNGSchema="imt_1_5.rng" type="xml"?>
I also think it might be a good idea to put these schemas on the IMT Website, and link to them there, like this:
<?oasis-schema href="http://www.tapor.uvic.ca/~mholmes/image_markup/schemas/imt_1_5.rng" type="application/xml"?>
<?oxygen RNGSchema="http://www.tapor.uvic.ca/~mholmes/image_markup/schemas/imt_1_5.rng" type="xml"?>
That would make it possible to validate a document from anywhere. The application itself should only add these processing instructions if they're not there; otherwise, it should retain any existing instruction, so that any user who wants to point to a local schema can do so. I'll implement this according to the task schedule.