extensibility in XSchema?
Ron Bourret
rbourret at dvs1.informatik.tu-darmstadt.de
Fri Jun 26 09:51:50 BST 1998
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 at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list