- From: Pete Cordell <petexmldev@tech-know-ware.com>
- Date: Mon, 12 Mar 2007 09:12:31 -0000
- To: "Boris Kolpackov" <boris@kolpackov.net>
- Cc: <xmlschema-dev@w3.org>
Hi Boris, Thank you very much for you feedback on the proposal. I agree that substitutionGroups have a number of the desired properties. However, in addition to the important point you raised, they fall short in a number of other areas, for example: - SubstitutionGroups tends not to be what people use for marking extensibility points for this use-case. (This is not strictly an XSD issue, but it needs to be considered. In some respects its the least important issue, and in other respects its the most important issue!) - There's no control over cardinality with substitionGroups. For example, your extensibility point in the core schema would be something like: <xs:element ref="MyAbstractExtensibilitySubtitutionGroupBase" minOccurs="0" maxOccurs="unbounded"/> and an example in an extension schema would be: <xs:element name="MyExtension" substitutionGroup="core:MyAbstractExtensibilitySubtitutionGroupBase"/> but there's no scope for including minOccurs and maxOccurs here, which loses a vital bit of control. - SubstitutionGroups have no equivalent for attributes, and as far as possible they should be treated equivalent to elements. - SubstitutionGroups have no equivalent to processContents="lax/skip" etc. - There's no control over the namespaces that extensions can be in, possibly resulting in more UPAC issues than is desired. - With the substitutionGroup method, a single extension can not be inserted into multiple, differently named extension sites. So as you can see, the proposal has numerous advantages over substitution groups in this usage. Thanks again, Pete. -- ============================================= Pete Cordell Tech-Know-Ware Ltd for XML to C++ data binding visit http://www.tech-know-ware.com/lmx/ http://www.codalogic.com/lmx/ ============================================= ----- Original Message ----- From: "Boris Kolpackov" <boris@kolpackov.net> To: "Pete Cordell" <petexmldev@tech-know-ware.com> Cc: <xmlschema-dev@w3.org> Sent: Sunday, March 11, 2007 9:07 PM Subject: Re: XSD 1.1 Proposal: Naming wildcard extension sites You can already do pretty much the same thing with substitution groups. The only difference is that you will need to decide whether your extension is going to be of simple or complex type. But that can be easily overcome by providing two "extension points": one with anyType and the other with anySimpleType. -boris -- Boris Kolpackov Code Synthesis Tools CC http://www.codesynthesis.com Open-Source, Cross-Platform C++ XML Data Binding
Received on Monday, 12 March 2007 09:12:59 UTC