MudGuard: XSD: Uneindeutigkeit bei (a OR b OR (a AND b))?

Beitrag lesen

Hi,

das erlaubt m.E. a, aa, ab, b, ba, bb
Bessere Idee? Oder kann man das wirklich nicht in XSD darstellen? Ich mags nicht glauben, aber bislang hat noch jeder davor kapituliert ...

Was genau soll denn erlaubt sein?

a
b
ab

oder

a
b
ab
ba

?

(Meiner Meinung nach sind aussagenlogische Angaben wie A and B or C ungeeignet, um derartige Zusammenhänge darzustellen (weil A and B und B and A aussagenlogisch identisch ist 1), <A/><B/> und <B/></A> aber nicht identisch)

Im ersten Fall: entweder a evtl. gefolgt von b oder b

Im zweiten Fall: entweder a evtl. gefolgt von b  oder  b evtl. gefolgt von a

Entweder-oder: choice
evtl.: min-occurs 0, max-occurs 1
gefolgt von: sequence.

also: choice( sequence(a, b[min:0, max:1]), b)
bzw. choice( sequence(a, b[min:0, max:1]), sequence(b, a[min:0, max:1]))

  1. "and" im logischen Sinn, nicht in dem Sinn, wie es als shortcut operator in Programmiersprachen verwendet wird.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.