W3C home > Mailing lists > Public > xmlschema-dev@w3.org > May 2007

RE: is there any formal commercial identity constraint cases

From: Le, Yongnian <yongnian.le@intel.com>
Date: Mon, 14 May 2007 10:35:28 +0800
Message-ID: <7B2CABB47D5B094AAACC8A1E001B82F501495E96@pdsmsx411.ccr.corp.intel.com>
To: "Boris Kolpackov" <boris@codesynthesis.com>
CC: "Michael Kay" <mike@saxonica.com>, <xmlschema-dev@w3.org>, "Jones, Kevin" <kevin.jones@intel.com>, "Yu, Zhiqiang" <zhiqiang.yu@intel.com>

Thanks for your info, and I will use that for benchmarking. 

Best Regards
-----Original Message-----
From: Boris Kolpackov [mailto:boris@codesynthesis.com] 
Sent: 2007514 2:45
To: Le, Yongnian
Cc: Michael Kay; xmlschema-dev@w3.org; Jones, Kevin; Yu, Zhiqiang
Subject: Re: is there any formal commercial identity constraint cases

Hi Yongnian,

Le, Yongnian <yongnian.le@intel.com> writes:

> That's a pity that there is no real application having identity
> constraints, maybe because that feature is quite advanced.

I did a quick search over our schema repository. The following
two "real" schemas appear to use identity constrains:

3DXML                                             http://www.3ds.com/3dxml
Open Vulnerability and Assessment Language (OVAL) http://oval.mitre.org/

> 1.     Identity constraint processing creates dependence between
> validations in different SAX events, which make it hard for further
> advanced optimization; while regular expression in schema validation
> can be processed in a single SAX event validation.

This is not entirely correct. SAX can deliver content for an element
or attribute over several calls to characters().

> 2.     Identity constraint requires typed based comparison, which
> might involve a lot of table/value-object/memory management, type
> conversion and string operations during validation;

That's another reason why it is a good idea to do validation and
data extraction as one step. Luckily the element/attribute that is
specified in the field declaration should be of a simple type. This
way you only need to handle a handful of built-in XML Schema simple
types when it comes to comparing the values. Figuring out if types
are related by inheritance could be tricky though.

[Yongnian] identity constraint validation requires that simple value of previous qualified nodes are kept for future comparison and searching based on simple type (not necessary atomic, could be union or list). Only data extraction seems not enough for validation.


Boris Kolpackov
Code Synthesis Tools CC
Open-Source, Cross-Platform C++ XML Data Binding
Received on Monday, 14 May 2007 02:35:53 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:12 UTC