- From: <noah_mendelsohn@us.ibm.com>
- Date: Fri, 17 Jul 2009 14:53:20 -0400
- To: "Costello, Roger L." <costello@mitre.org>
- Cc: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Roger: overall, I think this is excellent. A very impressive piece of
work. One disagreement and one suggestion:
* Disagreement:
You suggest:
"Due to the restrictions on what the XPath can reference, I recommend all
assertions be placed on the document's root element. "
First of all, assertions go on types, not elements, but that's not my main
concern as your intention is clear. I just think this is not in general
good advice, because it undermines the value of assertions on types that
are usable across documents. Let's say I have some type, perhaps for a
measurement that was taken repeatedly. An element of that type might look
like:
<width minMeasurement="3.02" maxMeasurement="3.06"
meanMeasurement="3.04" />
or, in the same document:
<height minMeasurement="4.3" maxMeasurement="5.2"
meanMeasurement="4.8" />
Let's assume these elements are both of complexType measurementType.
Very possibly, I'd want to <assert> that minMeasurement <= meanMeasurement
<= maxMeasurement. Why would I want to do that at the document level?
Presumably, measurements like this could be used in lots of documents and
on lots of differently named elements. For this case, the assertion
belongs on measurementType, I think. The same might well be true of an
address type, which could check that the first two digits of a zip code
are consistent with the name of the state. Indeed, there are many, many
common examples in which you don't want to hoist assertions to the root,
IMO. Reuse of these things is important!
* Suggestion: in your discussion of precisionDecimal, you might indicate
that one of the reasons it has been added is that it embodies XML support
for the recently adopted IEEE 754-2008 standard for floating point
decimal. Java BigDecimal or similar type in other programming languages
are examples of implementations of IEEE 754-2008, just as Java double and
float are implementations if IEEE 754 floating point binary. The new XSD
precisionDecimal type supports the use case where you have data in your
program that is represented using such a type, and want to serialize it
and validate in in XML, while preserving the 754-2008 semantics (e.g.
precision matters).
Noah
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------
"Costello, Roger L." <costello@mitre.org>
Sent by: xmlschema-dev-request@w3.org
07/17/2009 01:37 PM
To: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
cc: (bcc: Noah Mendelsohn/Cambridge/IBM)
Subject: ANN: XML Schema 1.1 Tutorial
Hi Folks,
I created a tutorial on XML Schema 1.1:
http://www.xfront.com/xml-schema-1-1/xml-schema-1-1.ppt
I am announcing it here before announcing it on xml-dev.
I am eager to get your feedback on:
1. Are there any mistakes in it?
2. Is it clear? Is it easy to understand?
3. Have I missed any of the new functionality?
I would like to especially thank Michael Kay and Michael Sperberg-McQueen
for their patience in answering my endless questions.
/Roger
Received on Friday, 17 July 2009 18:54:03 UTC