OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] PSVI formalization

[ Lists Home | Date Index | Thread Index ]

 From: "Alaric Snell" <alaric@alaric-snell.com>

> That reminds me... extensibility. In the XML world, the 'extensible' really 
> just means 'you can define your own vocabularies'. There's no explicit 
> support for different versions of vocabularies to try to interact beyond what 
> is intrinsically provided by having tagged values that can be skipped if 
> unknown like in BER 

I certainly agree that it is staggering that there are schema languages 
with no way to give their version number.  (Schematron has a schemaVersion
string, b.t.w., which is better than nothing.)

All the W3C technology is based on the assumption that documents are
made from resources available individually over the WWW, not bundled
or packaged.  How (and whether) schemas can be managed is left
to some other, mysterious or proprietary level.

The most straightforward way to handle interdependency between versions
is to have a bundling format, which can gather together all the related 
resources for a consistant version under a single head.  Of these, 
RDDL approaches from the Web side (identifiying resources owned
by different people) and XAR* approaches it from the distributable
applications side.  Managing schema changes is only one part of
the problem: it is the dependencies and flow-through effects on
other parts of an application that is a tricky problem.

If you can package versioned applications together (schemas, CSS, JAR,
XSLT, etc) then that takes much of the operational sting out
of not having adequate dynamic differencing and dependency
checking. (I.e. it makes it a compile-time requirement to have consistency,
not a runtime requirement for extensibility. This is another area
where small static documents are nicer to manipulate than live-data 
systems with single large documents, I guess.)

However, the issue of how to tell if a version change for a schema
is compatible is one of the reasons for XML Schemas' limited
provisions for extending types, and AFAIK was one of the spurs for
Murata-san's path-breaking work on set operations for grammars
(which may or may not have made it from RELAX to RELAX NG,
I am not sure).  (In Schematron, an extension-by-suffixation property 
also exists: if two schemas differ only because one has extra rules at 
the end of patterns or extra patterns or assertions, then all documents accepted by the
larger one will be accepted by the smaller one.  And if two schemas differ
only because one has more patterns, or assertions anywhere, then
all the documents rejected by the smaller would be rejected by the
larger.  However, I am not sure those properties are actually much use. 
Ultimately, because Schematron assertions are logical statements, 
it would be possible to translate them into a logic language and 
compare the rules, but that is a bit beyond
what anyone has done yet. )

Rick Jelliffe

* http://www.topologi.com/public/dzip.html


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS