- From: Costello, Roger L. <costello@mitre.org>
- Date: Fri, 24 Aug 2012 09:05:10 +0000
- To: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Thank you Michael and Pete for correcting my misunderstanding. Allow me to correct the answer to my quiz: I wrote this as the answer to my quiz: > Answer: the value of Title is the empty string, not the default value. > The reason is that the empty string is a valid value of the string data type. However, the correct answer is: Answer: the value of Title is the default value ("Hello World"). The XML Schema specification explains why: An element with a non-empty default value whose simple type definition includes the empty string in its lexical space will nonetheless never receive that empty string value, because the default value will override it. /Roger -----Original Message----- From: Costello, Roger L. Sent: Thursday, August 23, 2012 5:47 PM To: xmlschema-dev@w3.org Subject: XML Schema quiz on default values Hello Folks, Recall that when you declare an element (or attribute) you can give it a default value. For example, I give the Altitude element a default value of 100: <xs:element name="Altitude" type="xs:integer" default="100" /> In an instance document, if you wish for Altitude to have the default value, then you can simply create it as an empty element: <Altitude></Altitude> The value of Altitude is 100. Let's take another example. Here I declare the Title element to be of type string and give it a default value, "Hello World": <xs:element name="Title" type="xs:string" default="Hello World" /> Now in my instance document I create an empty Title element: <Title></Title> Quiz: What is the value of Title? Scroll down to see the answer ... Answer: the value of Title is the empty string, not the default value. The reason is that the empty string is a valid value of the string data type. If you want Title to have the default value then you must explicitly enter the default value: <Title>Hello World</Title> /Roger
Received on Friday, 24 August 2012 09:05:48 UTC