RE: [xml-dev] Rick Jelliffe quotable quote on the purpose of schemas

From
Michael Kay <>
To
'Philippe Poulard' <>
Date
2006-12-13T16:46:56
ID
<016001c71ed6$4cf9c360$6401a8c0@turtle>
Thread
RE: [xml-dev] Rick Jelliffe quotable quote on the purpose of schemas
> so, new feature, new tag.

But one tag

<constraint test="(XQuery|XPath expression)"/>

should be enough - not 3000 tags.
> 
> > 
> > Can you give me an example of a constraint which is difficult, or 
> > verbose, to express in a declarative language such as XQuery?
> 
> Here is one that you can't express in W3C XML Schema :
> -the number of cells must be the same in all columns of the 
> table http://reflex.gforge.inria.fr/tutorial/active-schema/datas.xml

Yes, but it's still easy to express declaratively:

<constraint test="count(distinct-values(table/count(column)) = 1"/>

> 
> If this discussion were reduced to schemata, a language such 
> as XQuery could be used to express additional constraints 
> that you can't express with your favorite schema language ; 
> this is the same as using Schematron, or by using XSLT for 
> further validation. However, none of them act at the 
> component level, that is to say at the content model level : 
> an editor would propose you to insert an element which would 
> be rejected by XQuery/Schematron/XSLT.

Yes, grammars are good for that; it's hard to reproduce that in a
predicate-based constraint language.

Michael Kay