I've added this comment to the incident in guarded support of the "correction".
From: darwincore@googlecode.com
Date: Tue, Jul 19, 2011 at 6:51 PM Subject: [dwc-notify:2] Re: Issue 118 in darwincore: eventDate validation To: darwincore-notify@googlegroups.com
Comment #4 on issue 118 by morris....@gmail.com: eventDate validation http://code.google.com/p/darwincore/issues/detail?id=118
I concur with the clarification, but raise two possible issues that may need some best practices offered.
- Possibly ISO 8601:2004 should be specified, or its applicability
addressed
- If there is a need to reconcile RDF data with XML-Schema-based
data, then there are some issues to consider. (a)RDF itself has no specification for dateTime (b)SPARQL only(?) supports xsd:dateTime. http://www.w3.org/TR/rdf-sparql-query/#operandDataTypes
On Tue, Jul 19, 2011 at 7:03 PM, John Wieczorek tuco@berkeley.edu wrote:
Geoffrey Allen has asked for a clarification about the date fields in Darwin Core. Commentary about the problem is recorded in Issue 118 (http://code.google.com/p/darwincore/issues/detail?id=118) in the Darwin Core Issue Tracker. Below is an excerpt of my explanation. The bottom line for this mailing list is that I believe Geoffrey has revealed an error in the XML Schema http://darwincore.googlecode.com/svn/trunk/xsd/tdwg_dwcterms.xsd that should be amended. I'm posting it here for commentary to see if there is/was any good reason for restricting the dateTime elements in Darwin Core more than in the recommendation in the definition of the terms. If not, this is a proposal to change the types in that schema from xs:dateTime to dateTimeISO.
Commentary from Issue 118 follows:
Through the date terms (eventDate, dateIdentified, relationshipEstablishedDate, measurementDeterminedDate, dcterms:modified) in the Darwin Core recommend the ISO 8601 standard for dates, the XML application schema published at http://darwincore.googlecode.com/svn/trunk/xsd/tdwg_dwcterms.xsd implements the more restrictive xs:dateTime type for these terms. For example,
<xs:element name="eventDate" type="xs:dateTime" substitutionGroup="dwc:anyEventTerm"/>
I'm not sure what the rationale was for implementing these terms as xs:dateTime rather than the less restrictive type dateTimeISO (see below) defined in http://darwincore.googlecode.com/svn/trunk/xsd/tdwg_basetypes.xsd, especially since http://darwincore.googlecode.com/svn/trunk/xsd/tdwg_dwcterms.xsd imports that bastypes schema and has a comment specifically about the use of dateTimeISO, which it doesn't actually use. I believe this is an unintentional error in tdge_dwcterms.xsd, but will post this to the tdwg_content list to see if there is any dissenting opinion about "correcting" it.
<xs:simpleType name="dateTimeISO"> xs:annotation <xs:documentation xml:lang="en"> The date and time expressed in a way conforming to a subset of ISO 8601. Meant to be exactly the same as DateTimeISO defined in ABCD. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="\d\d\d\d(-(0[1-9]|1[012])(-((0[1-9])|1\d|2\d|3[01])(T(0\d|1\d|2[0-3])(:[0-5]\d){0,2})?)?)?|--(0[1-9]|1[012])(-(0[1-9]|1\d|2\d|3[01]))?|---(0[1-9]|1\d|2\d|3[01])"></xs:pattern> </xs:restriction> </xs:simpleType> _______________________________________________ tdwg-content mailing list tdwg-content@lists.tdwg.org http://lists.tdwg.org/mailman/listinfo/tdwg-content