RE: [xml-dev] Creating a single XML vocabulary that is appropriately customized to different sub-groups within a community

From
Michael Kay <>
To
'Andrew Welch' <>, 'Philippe Poulard' <>
Date
2008-07-10T09:49:16Z
ID
<72B42934E812440986A4040F9E3181B7@Sealion>
Thread
RE: [xml-dev] Creating a single XML vocabulary that is appropriately customized to different sub-groups within a community
> I forgot the other way... for a 1 schema solution define 
> extra types book-seller-author, book-distributor-author etc 
> then somehow add the appropriate xsi:type attribute to the 
> <Author> element when doing the respective validation:
> 
> <Author xsi:type="book-seller-author">
> 
> <Author xsi:type="book-distributor-author">
> 
> ...the relevant type definition will then be used instead of 
> the standard definition for <Author>.

In XSD 1.1 xsi:type gets generalized by the "conditional type assignment"
mechanism, which allows you to assign a type based on a a rule expressed as
an XPath expression. I rather like the idea of allowing this rule to
reference parameters supplied by the application when invoking validation:

<xs:alternative type="book-seller-author"
   test="$scenario='seller-view'"/>
<xs:alternative type="book-distributor-author"
   test="$scenario='distributor-view'"/>

But that's not currently allowed by the spec.

Michael Kay
http://www.saxonica.com/