Re: How to specify "coupled" attibutes

Hi Michael,

Michael Kay a écrit :
>> I wonder if this assertion mechanism will enforce the content 
>> model to be those expected, 
> 
> Yes, it will.

Good new.

> 
>> or if it is a mechanism that 
>> works like schematron, that is to say *after* applying the 
>> content model ;
> 
> Depends on whether you are using the term "content model" to include the
> assertions or not.

If the content model is built regarding the assertions, it's a dynamic 
content model (that can vary according to what are saying the assertions)

> 
>  an editor would propose to its user some 
>> candidate elements for insertion and then refuse the one 
>> selected thanks to the assertion ; not fair
> 
> I think it would require a rather clever editor to take assertions into
> account when offering prompts to the user. 

If the content model is built regarding the assertions, then the editor 
can only propose things that are authorized in the content model. Easy 
for appending things, not so easy for inserting them in the middle of 
some content.

But of course assisting authoring
> is only one use case for schemas.
> 
>> I'm convinced that it's much more efficient to act on the 
>> content model directly ;
> 
> I'm sorry, what is the "it" that is more efficient?

The realization of complex assertions.

>> Notice that mixing a declarative language with imperative 
>> constructs is a concept already adopted by your peers : 
>> if/then/else and for-each structures are part of XPath2 ;
> 
> There's nothing remotely imperative about conditional expressions or mapping
> expressions, I think you have misunderstood the language semantics. Just
> because these constructs are dressed in a syntax that is familiar from
> procedural languages doesn't make them procedural.

If an if/then/else statement in XPath 2 doesn't consist on applying a 
test and doing 2 different things according to the result, yes, I'm sure 
that most people will misunderstood the language semantics. I admit that 
I didn't have a close look at the spec, so I thought the if/then/else 
statement was doing what people (including me) expect :)

> 
> Michael Kay
> http://www.saxonica.com/
> 


-- 
Cordialement,

               ///
              (. .)
  --------ooO--(_)--Ooo--------
|      Philippe Poulard       |
  -----------------------------
  http://reflex.gforge.inria.fr/
        Have the RefleX !

Received on Friday, 12 October 2007 17:05:30 UTC