Errata

XML Schema

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
22
Figure 4-1

The first (left-most) block containing "gMonth" should be "gMonthDay".

Anonymous  Jul 06, 2010 
26
1st subheading under "Collapsed Strings"

"Tokenss" should be "Tokens"

Anonymous  Jul 06, 2010 
Printed Page 27
5th paragraph: xs:NCName

It is said that xs:NCName is derived from xs:Name, which does not allow names to
start with numbers.

But the last valid example given here in the sentence

"Some valid values for this datatype are Snoopy, CMS, -1950-10-04-10-00, or 1950-10-04.

... surely starts with a number.

Anonymous   
27
Explanation of xs:NMTOKEN

It seems odd (or wrong) to say "This [i.e., xs:NMTOKEN] corresponds to the XML 1.0 "Nmtoken" (Name token) production, which is a single token (a set of characters without spaces) composed of characters allowed in XML Name." The odd text is "allowed in XML Name", as if "XML Name" were the name of some previously defined component of the XML Schema Definition. Maybe this sentence should read: "allowed in xs:Name".

Anonymous  Jul 06, 2010 
Printed Page 27
3rd paragraph (xs:Name)

The text states: '[xs:Name] is similar to xs:NMTOKEN with the additional restriction that the values must start with a letter or the characters ":" or "-". This datatype conforms to the XML 1.0 definition of a "Name"'. Within the same paragraph, '-1950-10-04-10:00' is offered as a valid example.

Rule [4] in section 2.3 of the XML 1.0 specification--and version 1.1 for that matter--allows an underscore to start an XML name but not a hyphen. The corrected text should read 'the characters ":" or "_"' and '_1950-10-04-10:00'. If a reader started an xs:Name with a hyphen, their XML document would fail validation.

Mark Boogaart  Feb 09, 2011 
Printed Page 27
4th paragraph (xs:NCName)

Concerning the examples given, "-1950-10-04:10-00" is not a valid value and should be replaced with "_1950-10-04:10-00".

Section 3.3.7 of W3C's XML Schemas Part 2: Datatypes assigns xs:NCName the same restrictions found in W3C's namespace specification. Rule [4] in Section 2 of Namespaces in XML permits an NCName value to begin with an underscore but not a hyphen. Putting a hyphen at the start of any xs:NCName value will cause an XML document to fail validation.

Mark Boogaart  Feb 09, 2011 
Printed Page 30
in the paragraph of xs:hexBinary

A UTF-8 XML header such as:
<?xml version="1.0" encoding="UTF-8"?>
that is encoded as xs:hexBinary would be:

3f3c6d78206c657673726f693d6e3122302e20226e656f636964676e223d54552d4622383e3f

The encoded code should be:

3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e

Anonymous   
Printed Page 30
in the paragraph of xs:base64Binary

The same header encoded as xs:base64Binary would be:
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg==

The encoded code should be:
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4=

Anonymous   
30
Text immediately under the header "Numeric Datatypes"

Instead of "xs:double and xs:float for single and double precision floats" it would be clearer to write "xs:single and xs:double for single and double precision floats".

Anonymous  Jul 06, 2010 
Printed Page 33
In section 4.4.2

These datatypes accept several "special" values: positive zero (0),
negative
zero (-0) (which is greater than positive 0 but less than any negative
value),

I believe this should be:

These datatypes accept several "special" values: positive zero (0),
negative
zero (-0) (which is less than positive 0 but greater than any negative
value),

Anonymous   
34
Figure 4-4

The first (left-most) block containing "gMonth" should be "gMonthDay".

Anonymous  Jul 06, 2010 
Printed Page 37
2d set of examples (invalid examples)

The third example "(the month part is out of range)" doesn't seem to be entirely
accurate. Although the month part *is* admittedly out of range, the day-of-month is
also included, and this is an "xs:gYearMonth" example: days-of-month aren't permitted
(at least with my schema checker, MSXML 4.0).

Anonymous   
Printed Page 37
Fourth example (invalid values for gYear)

The second example, "(the month part is out of range)" includes a month; months
couldn't be included in a "gYear" XML datatype (according to my parser, MSXML 4.0).

Anonymous   
Printed Page 47
Paragraph 4 starting "This facet is constraining the value space."

The second sentence uses the phrase "lexical and values" ... does this mean "their
lexical forms and values"

Anonymous   
Printed Page 53
sentence prior to the last paragraph

The sentence says "if enumerations include a timezone" ... "this new datatype" ...
"will not validate any time with a timezone." I think it's just a logical bit-flip:
the datatype "will not validate any time *without* a timezone."

Anonymous   
Printed Page 73
2nd para from bottom, in description for /i

The text reads, 'all the "letters" plus "-"'. The hyphen (-) is incorrect. It should
be an underscore (_). The corrected text should read, 'all the "letters" plus "_"'.

verify: http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName

Anonymous   
Printed Page 148
xpath="@id|@name"

lines from book
xpath="@id|@name"
Selects @id or @name ( valid only in xs:field, since
attributes are forbidden in xs:selector.

the use of the "|", xpath pipe, is not allowed for the
field element under the unique/key or keyref.

The "|" is only avaliable for the selector.

Anonymous   
Printed Page 221
paragraph 2, line 8

..., either directly (schema A includes schema B, which includes schema C)

"schema C" should be "schema A".

Anonymous   
Printed Page 225
paragraph 4, line 3

These are similar to our very first example in Chapter 1, in which all the
elements ...

"Chapter 1" should be "Chapter 2".

Anonymous   
Printed Page 229
first code snippet, diagnostic description and also error message

The content of the <sch:assert /> element says:

"An author should die after her or his death."
Should probably say:
"An author should die after her or his birth."

Also, a few lines down, first line of content within the <sch: diagnostic /> tag says:

"Error, this author is born after her or his birth!"
Should read:
"Error, this author is born after her or his death!"

Anonymous   
Printed Page 318
in the paragraph of xs:hexBinary, Example

A UTF-8 XML header such as:
"<?xml version="1.0" encoding="UTF-8"?>"
encoded would be:

"3f3c6d78206c657673726f693d6e3122302e20226e656f636964676e223d54552d4622383e3f"

The encoded code should be:

"3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e"

Anonymous   
Printed Page 331
in the title of xs:short

xs:short 32 bit signed integers.

"32 bit" should be "16 bit".

Anonymous