W3C home > Mailing lists > Public > xmlschema-dev@w3.org > July 2004

RE: Date validating regexp in pattern facet yields invalid results?

From: Biron,Paul V <Paul.V.Biron@kp.org>
Date: Wed, 14 Jul 2004 13:09:10 -0700
Message-Id: <8E9F0028F5955844899380433C60E39902A0D207@cscrdemsg001.crdc.kp.org>
To: "'jsijpkes@tiscali.nl'" <jsijpkes@tiscali.nl>, xmlschema-dev@w3.org
> -----Original Message-----
> From: Johann Sijpkes [mailto:jsijpkes@tiscali.nl] 
> Sent: Wednesday, July 14, 2004 12:56 PM
> To: xmlschema-dev@w3.org
> Subject: Date validating regexp in pattern facet yields 
> invalid results?
> 
> This is the code:
> 
> <xsd:simpleType name="date_type" >
> <xsd:restriction base="xsd:string">
> <xsd:minLength value="8" />
> <xsd:maxLength value="8" />
> <xsd:pattern value="^\d{2,2}/\d{2,2}/\d{2,2}$" /> <!-- This 
> regexp works, the next does not -->
> 
> <xsd:pattern value= 
> "^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/(\d{2}))|((0[1-9]
> |[12]\d|30)\/(
> 0[13456789]|1[012])\/(\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/(\d{2}
> ))|(29\/02\/((
> 0[48]|[2468][048]|[13579][26])|(00))))$" />
> </xsd:restriction>
> </xsd:simpleType>

Are you sure the shorter one works...because I tried in xerces 2.6 and it didn't work either...and I wouldn't expect it to work.

If you just take out the ^$ anchors in either expression then they work just fine (at least in xerces 2.6.2...the only processor I've checked them against).

For the explanation of why the ^$ anchors are the problem, see errata E2-52 [1], which is also incorpated into the main text of Appendix F in the Proposed 2nd Edition of schema [2].

pvb

[1] http://www.w3.org/2001/05/xmlschema-errata#E2-52
[2] http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/#regexs
Received on Wednesday, 14 July 2004 16:11:26 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:15:10 UTC