2016-05-24 17 views
3

Ich habe gelesen, dass wir minInclusive und maxInclusive Einschränkungen für xsd: datetime Felder verwenden können. Aber wie kann ich sicherstellen, dass mein dateTime-Feld nicht länger als 5 Minuten in der Zukunft auftreten soll? Ich weiß, wie man in Java damit umgeht. Aber ich möchte die Validierung auf der Schema-Ebene. Bitte helfen Sie mir.Wie minutenbeschränkungen für xsd: dateTime auferlegt werden?

Antwort

2

Diese kann mit XSD 1.1 durchgeführt werden. Beispiel:

<xs:element name="myDateTime"> 
    <xs:simpleType> 
     <xs:restriction base="xs:dateTime"> 
      <xs:assertion test="$value lt (current-dateTime() + xs:dayTimeDuration('PT5M'))"/> 
     </xs:restriction> 
    </xs:simpleType> 
</xs:element> 

explantion:

current-dateTime() + xs:dayTimeDuration('PT5M') Summen 5 Minuten zum aktuellen Datum.

lt steht für niedriger als das Zeichen < kann nicht in diesem Teil verwendet werden.

$value enthält den Wert in einer XSD 1.1-Assertion.

Siehe auch: xs:dayTimeDuration at XPath 2.0 specs