- From: Pete Cordell <petexmldev@tech-know-ware.com>
- Date: Thu, 15 Jun 2006 16:32:14 +0100
- To: <paul.downey@bt.com>, <peter.hendry@capeclear.com>
- Cc: <jon.calladine@bt.com>, <public-xsd-databinding@w3.org>
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