W3C home > Mailing lists > Public > xmlschema-dev@w3.org > August 2007

Re: Maintaining a subset of a schema

From: Jack Lindsey <tuquenukem@hotmail.com>
Date: Wed, 08 Aug 2007 20:57:55 -0400
Message-ID: <BAY101-F245D264604DA57E738FDCAD7E00@phx.gbl>
To: webb.roberts@gtri.gatech.edu
Cc: boris@codesynthesis.com, andydt@enfocus.be, xmlschema-dev@w3.org

Didn't Georgia Tech produce some sort of schema subtype building/verifying 
tool for the GJXDM monster?  Is it publicly available for use or 
cannibalization?

Cheers Jack

>From: Webb Roberts <webb.roberts@gtri.gatech.edu>
>To: Boris Kolpackov <boris@codesynthesis.com>
>CC: Andy Den Tandt <andydt@enfocus.be>, <xmlschema-dev@w3.org>
>Subject: Re: Maintaining a subset of a schema
>Date: Fri, 3 Aug 2007 10:28:53 -0400
>
>
>Boris Kolpackov wrote:
>>I don't think there is a way to achieve what you want without
>>syntactic changes to your XML documents except for maintaining
>>two separate schemas (perhaps you can factor out and reuse some
>>common types that are the same for both vocabularies). Or maybe
>>you could use the redefine construct (I personally prefer to
>>stay away from that beast).
>
>I've found that it is pretty straightforward to create a subset schema set 
>with a little XSLT.  Copy most things, and tweak or remove certain 
>constructs.  It's one more thing to maintain, but it works quite well. You 
>can write them from a "what to remove" perspective, or from a "what to 
>keep" perspective, depending upon your needs.
>
>>If you are willing to change your XML vocabulary then you can
>>can use XML Schema polymorphism (either xsi:type or substitution
>>groups). You would define a base type for the 'b' element (say,
>>b_base_t) which does not contain the 'v' attribute. Then you would
>>define b_t by adding the 'v' attribute to b_base_t. Using the
>>xsi:type approach your first XML document would look like this:
>
>The problem with this approach is that the resultant schema does not 
>require the substitution be made.  The substituted elements are additional 
>options provided by the schema set.
>
>If you're willing to rewrite your instances, element substitution can be 
>enforced through complex type restriction, but enforcing such constraints 
>propagates through the schema set.
>
>An additional option is to create substitutable components, and transform 
>the original schema such that the base components are made abstract, which 
>means you _have_ to do _some_ substitution.
>
>Good luck,
>Webb
>
>--
>Webb Roberts
>Georgia Tech Research Institute
>

_________________________________________________________________
Windows Live Hotmail is the next generation of MSN Hotmail.† Itís fast, 
simple, and safer than ever and best of all Ė itís still free. Try it today! 
www.newhotmail.ca?icid=WLHMENCA146
Received on Thursday, 9 August 2007 00:59:37 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:00 GMT