- From: Jack Lindsey <tuquenukem@hotmail.com>
- Date: Wed, 08 Aug 2007 20:57:55 -0400
- 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 UTC