W3C home > Mailing lists > Public > xmlschema-dev@w3.org > October 2008

Re: Time wihtout Seconds

From: Pete Cordell <petexmldev@codalogic.com>
Date: Mon, 13 Oct 2008 09:30:08 +0100
Message-ID: <A5DA0DC97B334A4DA472CBA40A0293FD@Codalogic>
To: "Rowan Sylvester-Bradley" <rowan@sylvester-bradley.org>, <xmlschema-dev@w3.org>

----- Original Message From: "Rowan Sylvester-Bradley"

> How do I write a schema that will validate an element containing a
> time in the format hh:mm (without any seconds)? I'm trying to write
> a schema for an existing XML file that's generated by a piece of
> software which I have no access to, so I can't just add the seconds...

In that case you probably want to have a base type of an xs:string and then 
restrict it using an xs:pattern facet.  Something like:

<xs:simpleType name="myTime">
 <xs:restriction base="xs:string">
  <xs:pattern value="[0-2][0-9]:[0-5][0-9]"/>
 </xs:restriction>
</xs:simpleType>

Or possibly even better:

<xs:simpleType name="myTime">
 <xs:restriction base="xs:string">
  <xs:pattern value="[0-1][0-9]:[0-5][0-9]"/>
  <xs:pattern value="2[0-3]:[0-5][0-9]"/>
 </xs:restriction>
</xs:simpleType>

(I'm pretty sure the pattern facets have an OR type relationship rather than 
an AND type relationship.  I'm sure someone will correct me if I'm wrong.)

HTH,

Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using XML C++
data binding to convert XSD schemas to C++ classes.
Visit http://www.codalogic.com/lmx/ for more info
Received on Monday, 13 October 2008 08:31:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 6 December 2009 18:14:01 GMT