Appendix D of part II of the W3C Schema specification details the built-in types for handling dates (http://www.w3.org/TR/xmlschema-2/#isoformats). I would urge you to use the built-in types rather than create your own where possible.
This is especially true in the case of dates because, although it is
theoretically possible to validate dates (taking account of leap years etc.) using regular expressions, such as can be used with SimpleType, can get very complicated. (http://lists.xml.org/archives/xml-dev/200101/msg00840.html).
This was first published in December 2001