[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: extensibility in XSchema?
John Cowan wrote: > Doc was definitely intended for documentation only. I have thoughts > on extensibility, but no time to write them up today: hopefully > tomorrow. I'm looking forward to hearing your ideas. Extensibility is my greatest area of concern in XSchema and, although I've got some ideas, none are wholly satisfying. As I understand it, our current plan for extensibility is that new types of constraints (such as data types) can be added to ElementDecl and AttDef as standard, optional elements in future versions of XSchema. The standardization of such elements is rather critical, as the whole point is to make sure that everybody is playing the same game -- without standardization, we will be back to where we are today. (For backwards compatibility, note that a 1.0 document will continue to validate against later DTDs because the new subelements are optional. And a later document will validate against a 1.0 application as long as it doesn't use any of the new subelements. This is how backwards compatibility is done in the code world, and seems reasonable to me. If we want better forward compatibility, we can state that XSchema applications should assume that any elements they don't recognize are from a future version and should be discarded.) However, I keep having a recurring vision of people being able to add their own metadata in addition to that which the spec defines and being able to do this without changing the DTD -- the same thing that Mark Anderson recently asked for. At first, I thought that Paul Prescod's pattern/constraint model would magically solve this problem, but after further research, realized that its extensibility is almost certainly no different than the current model's -- new, optional constraints are added to the DTD over time. The only way I can think of to do this is less than elegant and matches Simon's suggestion (a): Add a UserSpecific subelement (frequency = *) to the end of the content models for ElementDecl and AttDef. -- If UserSpecific has a content model of ANY, people can then invent their own elements. The resulting file is not valid, but will be well-formed. We would also need to state that applications that check the XSchema itself would ignore the children of UserSpecific. -- If UserSpecific has a content model of #PCDATA, people can put whatever metadata they want in it. The resulting file is valid, but forces the application to parse the PCDATA. -- Ron Bourret xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
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
|