2017-05-09 3 views
0

Wie kann ich eine bestimmte Ziffernfolge so anpassen, als wäre sie eine Zeichenfolge in einem XML-Schema xs:pattern?XML-Schema (XSD) 1.0 xs: Muster regex, um 4 Ziffern als Zeichenfolge zu entsprechen?

Sagen, ich habe einige Tags beliebige 10-Zeichenkette wie

<string>12345678990</string>

Und ich möchte, enthalten 1234 wie alle Tags mit einer bestimmten schwarzen Liste von beliebigen Sequenzen auszuschließen, 2435, `` 9587`, oder einige solcher.

Wie adressiere ich die bestimmte 4-stellige Unterzeichenfolge, um sie zu negieren und zu einer Liste von xs:pattern Restriktionen für <string>'s Inhaltsmodell hinzuzufügen?

Antwort

3

Ich glaube nicht, dass es einen praktischen XSD-konformen regulären Ausdruck gibt, der mit allen Strings übereinstimmt, außer denen, die "1234" als Teilstring enthalten. (Und deshalb kann auch Ihre anspruchsvollere Anforderung, mehrere Teilstrings zu verbieten, nicht erfüllt werden).

Dies ist ein für XSD 1.1 Behauptungen, zum Beispiel

<xs:assert test="not(contains($value, '1234') or contains($value, '9999'))"/> 
Verwandte Themen