[xsd-users] Re: In-memory validation

Boris Kolpackov boris at codesynthesis.com
Tue Oct 2 08:18:10 EDT 2007


Hi David,

We will try to implement as many features from the list below
as possible for XSD 3.1.0 without changing the schedule. I also
have some questions/comments below.

david.r.moss at selex-comms.com <david.r.moss at selex-comms.com> writes:

> * uniqueness i.e. can't add data that would break schema uniqueness
> constraints.

This will require a substantial amount of work while the feature is
not very widely used.


> * numeric ranges (e.g. min, max facets)
> * string length and pattern facets

The way to implement the pattern facet in a reasonable time-frame
is to re-use the regex implementation from Xerces-C++. The problem
is that the Xerces-C++ regex can only be used when Xerces-C++ is
initialized. Not sure at the moment what can be done about this.


> * list length (both min / max occurrence of an element in a sequence as
> well as min / max items in a xsd list type)

Are you using minOccurs/maxOccurs other than {0,1} for minOccurs and
{1,unbounded} for maxOccurs?


> * boolean

This is already implemented: boolean is mapped to bool and C++ compiler
won't allow you to assign to it any value other than true or false.


> * date and time ranges - mapping to boost::date_time would help with this
> i guess.

We do not want to map date/time types to Boost types by default because
this will add a non-optional dependency on Boost. It is quite easy,
however, to achieve this mapping with type customization, as shown
in the 'calendar' example in the examples/cxx/tree/custom/ directory.

Instead, in the next version of XSD, we are going to map XML Schema
date/time types to our own light-weight implementations.

Boris




More information about the xsd-users mailing list