Re: optional, but at least one required

- Original Message From: "Michael Kay"
> The current draft spec defines a very restricted subset of XPath 2.0 which
> processors must implement, but allows them to implement the whole of XPath
> 2.0 if they prefer. That's what the Saxon implementation does (it's
> supported in 8.9.9.2 which is out as a beta release). I hope that other
> processors, and indeed the spec, will follow suit. (If you agree, please
> comment on the last call draft!) I personally find it very frustrating to
> work within the subset.

I've only just worked out that there is another draft available.  I must 
have missed the announcement on the xmlschema-dev mailing list.

Our problem with the xpath stuff is that we unmarshal into strongly typed 
C++ objects.  We then need to run xpath expressions on those objects.  That 
means we can't use an off the shelf xpath library.  Of more concern is the 
recursive .// construct.  I'm not sure how that will work out traversing 
over strongly typed objects.

I've also just noticed the xs:alternative construct.  I haven't had a chance 
to digest it yet, but it doesn't seem great to me!  It might be helpful in a 
document oriented world, but in a data oriented world, I'd rather have a 
simpler language, and modify the schema accordingly, so that you get 
something like:

    <message><messageTypeBase64>jkhgkjh</messageTypeBase64></message>

The OpenContent requiring a sequence to be in order, but allowing other 
contents to be in between also creates problems in the way our code 
operates.

XSD1.0 seemed to be designed so that it could fully resolve a element 
without referring to anything that hadn't been parsed yet.  XSD1.1 seems to 
have given up on that.

To be honest, I'm kind of hoping XSD1.1 doesn't catch on!  (Shame, because 
XSD1.0 wildcards are really broken.)

I'm going to find something else to do, because this is depressing me :-)

Pete.
--
=============================================
Pete Cordell
Codalogic
for XML Schema to C++ data binding visit
 http://www.codalogic.com/lmx/
=============================================

Received on Friday, 12 October 2007 11:48:30 UTC