Announcement

Collapse
No announcement yet.

XML-Schema, Pattern das Zeichenfolge ausschließt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XML-Schema, Pattern das Zeichenfolge ausschließt

    Hallo,
    ich kämpfe an einem XML-Schema-Problem und weiß langsam nicht mehr weiter :-(

    Konkret geht es um das Erstellen eines Patterns/RegExpression.
    Und zwar darf ein Elementinhalt genau 2 führende Buchstaben (beliebig) gefolgt von genau 6 Ziffern (beliebig) enthalten. Einziger Sonderfall: Die Ziffern dürfen nicht die Kombination "000000" (also 6 Nullen in Folge) enthalten.

    Bsp. für korrekten Inhalt: "AB123456" oder "XY000001"
    Bsp. für nicht korrekten Inhalt: "AB000000" oder "XY000000"

    Das Pattern zur Validierung wäre prinzipiell : "[A-Z]{2}\d{6}"

    Nun müsste noch die Kombination mit den 6 Nullen ausgeschlossen werden und da weiß ich nicht, wie ich das Pattern definieren könnte.

    Meine spontanen ersten Ideen "([A-Z]{2}\d{6}-000000)" oder der Ansatz "[A-Z]{2}(\d{6}^|^000000)" funktionieren natürlich/leider nicht.

    Das neue XSD in der Version 1.1 mit der regelbasierten Validierung per Assertion wäre vielleicht eine Alternative, 1.1 kann ich aber (noch) nicht einsetzen.

    Kann mir helfen oder mir zumindest einen Tipp oder eine Idee geben.
    Ich würde mich sehr freuen!!

    Danke

  • #2
    Probiere: [A-Z]{2}((\d{5}[1-9])|([1-9]\d{5}))

    Comment


    • #3
      Danke für den Impuls!!!!

      Das vorgeschlagene Pattern möchte an erster oder letzter Stelle eine "Nichtnull", also 100000 oder 000001. Das ist noch nicht ganz ok, denn erlaubt sein soll auch 010000 oder 001000 usw.

      Aber der gezeigte Ansatz ist gut :-)

      Und das Ergebnis ist dann letztendlich, dass Dein Vorschlag etwas "dynamischer" gestaltet und dafür auf 8 Stellen begrenzt wird, also:

      pattern value="[A-Z]{2}\d{0,5}[1-9]\d{0,5}"/>
      length value="8"/>

      Ich bedanke mich für die schnelle Hilfe!!!

      Comment

      Working...
      X