Si el esquema de validación no es capaz de mostrar el error, cuando un elemento del tipo de datos DATE es nula, entonces se puede utilizar una patrón [si no es una carga escribir el formato requerido];
he añadido un ejemplo, la implementación de código similar funcionaría en su herramienta,
Este es el XML de ejemplo:
<root>
<date1>12/31/1999</date1> <!-- The Date format defined here is MM/DD/YYYY, null value or Date with any other format aren't accepted-->
</root>
Este es el XSD correspondiente:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="Date_Def.xsd"/>
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="date1" type="DATE_TYPE" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Observe que Estoy incluyendo un archivo de esquema más que incluye la definición de tipo DATE_TYPE,
Aquí está el archivo Date_Def.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="DATE_TYPE">
<xs:restriction base="xs:string">
<xs:pattern value="([0][1-9]|[1][0-2])/([0][1-9]|[1-2][0-9]|[3][0-1])/[1-2][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
el formato de fecha definido aquí es DD/MM/AAAA, valor nulo o fecha con cualquier otro formato no son aceptados, Si desea aceptar también una etiqueta nulo, el patrón de sustitución con este ..
<xs:pattern value="|(([0][1-9]|[1][0-2])/([0][1-9]|[1-2][0-9]|[3][0-1])/[1-2][0-9][0-9][0-9])"/>
Validación de la cual acepta, ya sea una etiqueta nula o un valor de fecha del patrón MM/DD/YYYY.
Si necesita más ayuda sobre el diseño de patrones, siéntase libre de hacer una publicación en SO, espero que haya sido de ayuda. :-)
[nota :: El tipo de definición puede también ser definido en un mismo archivo, que necesita nombres-espacios adicionales mencionados en XML, así como archivos XSD, definiendo un archivo externo es inofensivo y reutilizable]
Eso parece prometedor. ¿Qué sucede si no es un tipo simple, p. "xsd: date" –
'xsd: date' es un tipo simple. Pero si no es un tipo simple, puede usar ''. Aunque, con esos, normalmente utilizo el atributo 'type' de' xsd: element', es decir: ' ' –
Así que estás diciendo 'minLength' es un propiedad válida para tipos simples sin cadena? –