OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] XQuery types was Re: [xml-dev] Yet another plea for XUpdat

[ Lists Home | Date Index | Thread Index ]

At 08:27 PM 5/4/2002 -0700, Dare Obasanjo wrote:

>So I'll try to explain my point in lay terms. The main
>benefit of a type system is so that things can be done
>*statically* at compile time instead dynamically at
>run time. Validation is a dynamic process.

In other words, static typing means that you can find errors without 
testing them against data that exposes a particular error. The system tells 
you that there is a bug that would be exposed if you happened to run into 
the right data. This is a very good thing, because you don't always manage 
to construct tests that test everything in your code, and the data that 
will expose the problem may not exist yet.

Validation, as you say, is a dynamic process, defined in terms of a schema 
and  an instance. That's why you need structural subsumption, called the 
subtype relationship in our formal semantics. This is used to look at a 
query expression and the schema for a dataset and report whether there are 
any errors. The schema describes all possible instances that would 
validate. The type system of XQuery is based on structural subsumption for 
this reason.

>Thus a "type system" based on validation isn't really
>type system especially to people with a programming or
>database background.

True. Which is why we need the Formal Semantics, which is largely about 
structural subsumption.

>Bottom Line: The XQuery type system although onerous
>and complex does not forestall the need for
>post-update validation if/when XQuery becomes a DML
>and not just a query language. Therefore claims that a
>"type system" is necessary before update semantics can
>be added to XQuery are ill-considered.

There *are* some things, like identity constraints and facets, that are not 
part of the static type system in XQuery. These things must be tested 
dynamically.

Jonathan





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS