Re: ISSUE-9: union pattern for pending document

For the record, personally I don't think xs:union is a basic pattern!  In a 
sense it is a choice keyed off of the type.  If there are doubts about 
xs:choice being a basic pattern, I can't see how xs:union can be a basic 
pattern.

(We actually bundle any union data, irrespective of type, into a UTF-8 
string and let the app sort it out. {Not too difficult if it's either an 
integer or a string enumeration for example.}  I know of other tools that do 
this also; or at least they used to.  Haven't checked lately.  This approach 
could be the minimal basic solution.)

Pete.

(P.S.  Actually I think xs:choice should be a basic pattern, but that's 
another issue!)
--
=============================================
Pete Cordell
Tech-Know-Ware Ltd
                         for XML to C++ data binding visit
                         http://www.tech-know-ware.com/lmx
                         (or http://www.xml2cpp.com)
=============================================

----- Original Message ----- 
From: <paul.downey@bt.com>
To: <peter.hendry@capeclear.com>
Cc: <jon.calladine@bt.com>; <public-xsd-databinding@w3.org>
Sent: Thursday, June 15, 2006 4:14 PM
Subject: RE: ISSUE-9: union pattern for pending document



On 15 Jun 2006, at 13:12, Peter Hendry wrote:


> So during unmarshalling first xs:string would be
> tried (which would always match) and xs:date would
> not be tried. xs:date could only be matched
> if xsi:type was present.

right!

> Is it worth pointing a subtlety like this out?

Oh yes!

> I have seen it in a number of customer schemas
> who have subsequently changed the order once they
> are shown the light. When writing a union it is
> best to define the memberTypes from most restrictive to least.

I'm moving towards proposing one pattern for each
combination of built in types we allow in Basic Patterns
and/or adding a design consideration around this issue.

Paul

Received on Thursday, 15 June 2006 15:32:43 UTC