 * Syd Bauman wrote:
>I think I'm in too much of a rush and am missing somethign here.
This lacks a constraint that at least one of them must appear, so that
>Would
> ( x? & y? & z? )
>not do the trick?
with [s:assert[test="count(*)>0"]] would be what I'm looking for; I
thought about the above plus <empty><notAllowed/></empty> but that's
<notAllowed/>...

Björn Höhrmann · mailto:bjoern@... · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ > This lacks a constraint that at least one of them must appear,
Ah, knew I was missing something. [Those who cringe at
nondeterminismistic content models should stop reading now.] How
about
start = element As { a+ }
a = element a {
( x & y? & z? )

( x? & y & z? )

( x? & y? & z )
}
x = element x { empty }
y = element y { empty }
z = element z { empty }
Does that perform the validation you're looking for? (I realize it
may not meet your initial criteria, as it is listing 'em out a bit.) * Syd Bauman wrote:
>> This lacks a constraint that at least one of them must appear,
Yeah, that's what I thought of when excluding "many" instead of "all"
>
>Ah, knew I was missing something. [Those who cringe at
>nondeterminismistic content models should stop reading now.] How
>about
>
> start = element As { a+ }
> a = element a {
> ( x & y? & z? )
> 
> ( x? & y & z? )
> 
> ( x? & y? & z )
> }
> x = element x { empty }
> y = element y { empty }
> z = element z { empty }
>
>Does that perform the validation you're looking for? (I realize it
>may not meet your initial criteria, as it is listing 'em out a bit.)
:) This does not scale well if you have 6 or more elements all with
nontrivial patterns.

Björn Höhrmann · mailto:bjoern@... · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/