Ich versuche eine Musterübereinstimmung für ein Element zu verwenden, das zu mir kommt, das 1 bis 7 der Kurznamen für den Wochentag auflistet. Ich habe versucht, ein Muster in einem Online-Tool zu erstellen, das dort übereinstimmte, aber in der XSD fehlschlägt und validiert.XSD Einschränkung für 1 oder mehr Wochentage
Elemente Beispiel Wegen können in kommen.
<DayOfWeek>Mon Tue Wed Thu Fri Sat Sun </DayOfWeek>
<DayOfWeek>Mon Wed Fri </DayOfWeek>
I verwendet http://www.regexpal.com/ die folgenden RegexMuster helfen zu erstellen. Ich habe versucht, die folgenden verwendet, die auf dem Gelände arbeiten:
(Mon)?(Tue)?(Wed)?(Thu)?(Fri)?(Sat)?(Sun)?[ ]+
(Mon[ ]+)?(Tue[ ]+)?(Wed[ ]+)?(Thu[ ]+)?(Fri[ ]+)?(Sat[ ]+)?(Sun[ ]+)?
Wenn in der folgenden simple angewendet:
<xs:simpleType name="ValidDays">
<xs:restriction base="xs:token">
<xs:pattern value="(Mon[ ]+)?(Tue[ ]+)?(Wed[ ]+)?(Thu[ ]+)?(Fri[ ]+)?(Sat[ ]+)?(Sun[ ]+)?" />
</xs:restriction>
</xs:simpleType>
Und hier in der XSD für das Element verwiesen:
<xs:element name="DayOfWeek">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ValidDays" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
es schlägt mit dieser Nachricht für jede Mustereinschränkung fehl:
The 'DayOfWeek' element is invalid - The value 'Mon Tue Wed Thu Fri Sat Sun ' is invalid according to its datatype 'Token' - The Pattern constraint failed.
Ich habe sogar versucht, die "/" und "/ g" von der Website, nur für den Fall, und ich bekomme die gleiche Fehlermeldung.
Danke, behandelt, was geprüft werden mussten und error'd heraus für jede falsche Schreibweise, versehentliche Verwendung von Kleinbuchstaben, aber erlaubt 1 oder mehr Leerzeichen. Ich kann das jetzt auch verwenden, um eine Regex für akzeptable mehrstündige Zahlen zu ersetzen, die ich nicht mochte, sie fühlte sich nicht solide genug an. – langc334