Thomas J.S.: Index werte in xml schema (xsd) hinterlegen

Beitrag lesen

Hallo,

weiss jemand ob es möglich ist, mit xml schema eine validierung für indexwerte zu hinterlegen, zurZeit nutzen wir nur string

<Index>1.2.3</Index>
<Index>1</Index>
<Index>1.2.3.1</Index>

Der Wert darf nicht mit einem Punkt enden und ansosnten nur Ganze Zahlen enthalten. Also etwa so:

Zahle . Zahl . Zahl. ... . Zahl

Geht dies mit xml Schema, ich habe bis jetzt keinen Weg gefunden, diese zu hinterlegen als muster.

Das geht mit Schema schon, wenn du den RegExp dazu erstellst.

<xsd:simpleType name="IndexNummer">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="(\d.?)+"/>
    </xsd:restriction>
  </xsd:simpleType>

Das "(\d(.)?)+" ist mal das einfachste mit oder ohne Punkt am Ende (ermöglich z.B:  0.123, 1.2.3.4, 12.3.4. etc.)

Etwas komplizerter geht mit:
<xsd:pattern value="([1-9].?(\d.?)*)?[^.]"/>
(Werte mit + werden akzeptiert, mit - abgelehnt bei Validierung)

  • 12
  • abwsdf
  • 123.2sdfsfd
  • 0sdfsf.234
  • 122.4.4.5.5.
  • 1.0
  • 6
  • 10.2
  • 6.11.3
  • 12345
  • 0.6789

Grüße
Thomas