[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: PSVI formalization
From: "Alaric Snell" <alaric@a...> > 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. ) Cheers Rick Jelliffe * http://www.topologi.com/public/dzip.html
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|