If your schema-validation isn't able to show error, when an Element of data-type DATE is null, then you can use a pattern [if it isn't a burden for you to type the required format];
I have added an example, implementation of similar code would work on your tool,
This is the sample XML:
<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>
This is the corresponding XSD:
<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 that I am including one more schema file which includes the definition of type DATE_TYPE,
Here is the Date_Def.xsd file:
<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>
The Date format defined here is MM/DD/YYYY, null value or Date with any other format aren't accepted,
If you want to accept also a null tag, the replace pattern with this ..
<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])"/>
Validation of which accepts, either null tag or a Date-value of pattern MM/DD/YYYY.
If you need more help on design of patterns, then feel free to make it a post in SO, hope it helped. :-)
[note :: The Type-Definition can also
be defined in a same file, which needs
additional name-spaces mentioned in
XML as well as XSD files, defining an
external file is harmless and
re-usable]