Ich muss eine Anforderung erfüllen, nur Werte in Form von MM/TT/YYYY zu akzeptieren.Wie reguläre Ausdruck Muster im XSD-Schema ordnungsgemäß zu entkommen?
Von dem, was ich gelesen habe auf: https://www.w3.org/TR/xmlschema11-2/#nt-dateRep Mit
<xs:simpleType name="DATE">
<xs:restriction base="xs:date"/>
</xs:simpleType>
funktionieren wird nicht als regex ist offenbar dieses Format nicht unterstützt.
Ich habe gefunden, und dieses Format angepasst:
^(?:(?:(?:0?[13578]|1[02])(\/)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
Zu diesem Formular:
\^\(\?:\(\?:\(\?:0\?\[13578\]\|1\[02\]\)\(\\/\)31\)\1\|\(\?:\(\?:0\?\[1,3-9\]\|1\[0-2\]\)\(\\/\)\(\?:29\|30\)\2\)\)\(\?:\(\?:1\[6-9\]\|\[2-9\]\d\)\?\d{2}\)$\|\^\(\?:0\?2\(\\/\)29\3\(\?:\(\?:\(\?:1\[6-9\]\|\[2-9\]\d\)\?\(\?:0\[48\]\|\[2468\]\[048\]\|\[13579\]\[26\]\)\|\(\?:\(\?:16\|\[2468\]\[048\]\|\[3579\]\[26\]\)00\)\)\)\)$\|\^\(\?:\(\?:0\?\[1-9\]\)\|\(\?:1\[0-2\]\)\)\(\\/\)\(\?:0\?\[1-9\]\|1\d\|2\[0-8\]\)\4\(\?:\(\?:1\[6-9\]\|\[2-9\]\d\)\?\d{2}\)$
Jetzt nicht mehr ich ungültig erhalten Fehler in XML-Editoren zu entkommen (unter Verwendung von XML Spy), aber ich dieser:
Ich habe die Flucht nach den XML-Schema-Spezifikationen hier gemacht: https://www.w3.org/TR/xmlschema-2/#regexs Abschnitt F.1.1 Es gibt eine Escape-Tabelle.
Kann jemand bitte helfen, dies zu nageln, richtig?
Danke!
XSD Regex weiß nicht '^' und '$', und ich denke, Sie müssen '/' nicht entkommen. Versuchen Sie '(? :(? :(? :(?: 0? [13578] | 1 [02]) (/) 31) \ 1 | (? :(?: 0? [13-9] | 1 [0 -2]) (/) (?: 29 | 30) \ 2)) (? :(?: 1 [6-9] | [2-9] \ d)? \ D {2}) | (?: 0? 2 (/) 29 \ 3 (? :(? :(?: 1 [6-9] | [2-9] \ d)? (?: 0 [48] | [2468] [048] | [ 13579] [26]) | (? :(?: 16 | [2468] [048] | [3579] [26]) 00)))) | (? :(?: 0? [1-9]) | (?: 1 [0-2])) (/) (?: 0? [1-9] | 1 \ d | 2 [0-8]) \ 4 (? :(?: 1 [6-9] | [2-9] \ d)? \ D {2})) ' –
Nicht funktioniert, es gibt mir diesen Fehler: Unerwarteter-MetaChar: Die Metazeichen". "," \ ","? "," * ", "+", "{", "}", "(", ")", "|", "[" und "]" können an dieser Position nicht uncapsiert auftreten. – Carmageddon
Bitte beachten Sie, dass das von mir in der ursprünglichen Frage vorgeschlagene maskierte Formular einen anderen Fehler ergab: invalid-escape: Das angegebene Zeichen Escape wird nicht erkannt. was bedeuten könnte, dass ich irgendwo irgendwie definieren muss, was der Escape-Charakter ist. – Carmageddon