Thomas J.S.: Korrekte Restriction im Schema

Beitrag lesen

Hallo,

ich möchte in einem Schema ein Tag einschränken. Erlaubt sein sollen nur folgende Werte aus dem Sportbereich:
3:3 (Zahl:Zahl)
-:-
0 (Zahl)

Folgendes ist mir dazu eingefallen, was aber leider nicht funktioniert:

<xs:complexType name="Ergebnis">
  xs:sequence
    <xs:element name="Ergebnis">
      xs:simpleType
        <xs:restriction base="xs:string">
          <xs:minLength value="3"/>
          <xs:pattern value="([0-9]+:[0-9]+|-:-)|[0-9]+"/>

Wenn 0 (oder eine andere Zahl) auch allein für sich stehen darf, muss minLength = 1 sein und du müsstest dann auch maxLength = 3 definieren (wobei sich dann die Frage nach z.B. 10:3 etc. stellt)
Den RegExp. würde ich anders schreiben: z.B. (\d{1,2}:\d{1,2}|-:-)|(\d{1}) oder (\d{1,2}:\d{1,2}|-:-)|([0-9]). Vielleicht hilft dir das.

Ich kann dir für das Testen von RegExp. Kodos http://kodos.sourceforge.net/ empfehlen.

Grüße
Thomas