Lists Home |
Date Index |
- To: "Marty Burns" <firstname.lastname@example.org>
- Subject: Re: [xml-dev] Substitution Groups - Use 'em or lose 'em?
- From: email@example.com (Henry S. Thompson)
- Date: Tue, 30 Aug 2005 10:22:09 +0100
- Cc: <firstname.lastname@example.org>
- In-reply-to: <200508292313.j7TNDjcL028173@haymarket.ed.ac.uk> (Marty Burns'smessage of "Mon, 29 Aug 2005 18:49:44 -0400")
- References: <200508292313.j7TNDjcL028173@haymarket.ed.ac.uk>
- User-agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4.15 (Security ThroughObscurity, linux)
-----BEGIN PGP SIGNED MESSAGE-----
Marty Burns writes:
> Should substitution groups be relied upon as an extension mechanism?
For a number of architectures and extension paradigms, substitution
groups are the cleanest and simplest implementation mechanism in W3C
XML Schemas. Many major validators and tools support them. If there
are vendors whose products do _not_ support them, please publish their
names so that pressure can be brought to bear on them.
Having said that, as became clear at the recent XML Schema 1.0 User
Experiences workshop , many of the reports of interoperability
problems wrt W3C XML Schema relate to schema-based data binding tools.
Many data binding tools have problems with choice-groups, because of
the difficulty of handling union types in the programming language
being bound to. Since substitution groups are effectively a kind of
choice group, support for substitution groups may also be a problem
for such data binding tools.
But, if the extension paradigm you're using is to include one or more
abstract elements in content models as extension points, and no
individual user ever declares more than one element as substitutable
for such an extension point, no real choice is involved and data
binding should be able to cope regardless of substrate.
So, bottom line: there's no excuse for general-purpose schema
processors ('parsers' in your message) to not support substitution
groups, and all the major ones I'm aware of do so. Data binding
tools, on the other hand, have some excuse for not supporting
substitution groups in general, but if your use of them is restricted
in such a way as to allow simple binding strategies to work, that
_should_ be OK.
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
Half-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: email@example.com
[mail really from me _always_ has this .sig -- mail without it is forged spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
-----END PGP SIGNATURE-----