- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Wed, 1 Feb 2012 00:18:45 -0500
- To: public-rdf-wg@w3.org
per ACTION-135 - Review changes in W3C XML Schema Definition Language (XSD) -- http://www.w3.org/TR/2012/PR-xmlschema11-2-20120119/#changes XML Schema 1.1 part 2 Appendix I act 3 psalm 2 has a list of high-level changes since the 1.0 Recommendation. I read them, summarized them below ("..." means it's a repeat from earlier in the list), and pulled out those which appear relevant to RDF. The floats and doubles +0.0 and -0.0 are distinct (but equal for purposes of bounds checking). Not an issue -- { <s> <p> "+0.0"^^xsd:float , "-0.0"^^xsd:float } is already 2 triples, and we don't invoke XML Schema bounds checking. Primitive datatypes and facets are now extensible. I don't think this is an issue as we don't reference the totality of datatypes with respect to conformance. However, I'm not certain that there's no impact on the semantics doc. A leading sign, e.g. "+5", is now allowed on unsigned{Long,Int,Short,Byte}s. dateTimes now allow time zone offsets. 1BCE is represented as the year 0, 2BCE as -1, etc. examples of new valid literals: "+5"^^xsd:unsignedInt "NaN"^^xsd:float "+INF"^^xsd:float "+INF"^^xsd:double "2012-01-01T00:00-05:00"^^xsd:dateTime "0"^^xsd:year So now everyone who has these once-malformed literals kicking around can now joyously share them with the world. Below is my accounting of each entry in the listed changes: == I.1 Datatypes and Facets == new datatype named anyAtomicType serves as the base type definition for all primitive atomic datatypes. The treatment of datatypes in Datatype System (ยง2) made more precise and explicit. +0.0 and -0.0 distinct (but equal for purposes of bounds checking) ericP: { <s> <p> "+0.0"^^xsd:float , "-0.0"^^xsd:float } is already 2 triples bounded = false for list datatypes is now always false + Units on length facet <http://www.w3.org/2001/XMLSchema-datatypes> deprecated ericP: we use <http://www.w3.org/2001/XMLSchema#> + assertions facet, e.g. <assertion test='$value ne 0'/> of when and how to collapse whitespace primitive datatypes and facets are now extensible ericP: we don't reference the totality of datatypes with respect to conformance. ericP: impact on semantics doc? == I.2 Numerical Datatypes == ...+0.0 and -0.0 distinct lexical spaces of unsignedLong, unsignedInt, unsignedShort, and unsignedByte allow leading '+' ericP: { <s> <p> "+5"^^xsd:unsignedInt } now has a value. ...+0.0 and -0.0 distinct "NaN"^^xsd:float != "NaN"^^xsd:float + "+INF"^^xsd:float and "+INF"^^xsd:double == I.3 Date/time Datatypes == + "2012-01-01T00:00-05:00"^^xsd:dateTime ("2012-01-01T00:00"^^xsd:dateTime still valid) + explicitTimezone facet (per request from OWL), used for ^^xsd:dateTimeStamp order defined for repeating datatypes, e.g.time, gDay. only in Z do days do not run from 00:00:00Z to 24:00:00Z. + "0"^^xsd:year (which == -1BCE) + dateTime and duration algorithms. ~ timeOnTimeline corrected. - leap-seconds from value space. s/time zone/time zone offset/ lexical constraint regexps corrected. + regexps include "24:00:00" === from <http://www.w3.org/TR/2012/PR-xmlschema11-2-20120119/#dateTime> === ~ clarified leap years == I.4 Other changes == + something about datatypes may depend on XML 1.1 and XML Namespaces 1.1???. ~ normative refs allow for evolution of ref'd spec, e.g. migration from XML 4th edition to XML 5th edition. ~ unicode ref now 5.1.0 ~ other refs updated ~ the defined value space of duration was simplified from (years, months, days, hours, minutes, seconds) to (months, seconds). ericP: the lexical space and the semantics remain the same. + two new restrictions on duration: yearMonthDuration and dayTimeDuration, alignment with XPath durations. ~ Illustrative XML representations isolated in their own appendix ~ minor corrections in response to comments ~ schema parts 1 and 2 better aligned. ...other refs updated ~ clarified datatype-validity on type "language". + some new definitions for lexical and canonical primitive datatypes. ~ restrict NOTATION to validate literals ~ regexp notation corrected. ~ something about combining pattern and enumeration facets. + warning against using the whitespace facet for tokenizing natural-language data. - unions are no longer forbidden to be members of other unions (affecting transitive membership) ~ conformance distinguishes between implementation-defined and implementation-dependent + composition with host languages requirements defined. + processors must detect and report errors in schemas and schema documents. ~ scope of QName namespaces clarified. ~ clarified which lexical mappings define functions from value to lexical space. + clarified nature of equality and identity of lists. + +0.0 and -0.0 allowed in keys, keyrefs and enumerations. ~ clarified which datatypes may appear as list or union members. + empty unions allowed. + simple type and union derivations acyclic. ...~ minor edits -- -ericP
Received on Wednesday, 1 February 2012 05:19:15 UTC