W3C

XML Schema 1.0 Specification Errata

$Id: xmlschema-errata.html,v 1.52 2004/10/15 16:01:48 cmsmcq Exp $

Important Notice

As of 18 March 2004 this document is closed. Four errata (E1-55, E2-65, E2-66, and E2-67) have been added since then, correcting, extending, and or rolling back earlier errata, in response to comments on the Proposed Edited Recommendations (see below).

The W3C XML Schema Working Group has folded all the errata published herein into a Proposed Edited Recommendation: W3C XML Schema Second Edition (primer, structures and datatypes). Note this is not version 1.1, for which requirements are still being decided on, just a new edition incorporating all the errata we have dealt with so far. Accordingly, any comments on these errata, identifying potential problems with them, are particularly welcome at this time -- please send them, including the errata number(s) in the subject line, to www-xml-schema-comments@w3.org (archive at http://lists.w3.org/Archives/Public/www-xml-schema-comments/).

Introduction

This document records known errors in the XML Schema 1.0 Specification for which the XML Schema WG has approved fixes up to 1 March 2004. For subsequent errata, see the XML Schema Second Edition Errata

The errata are separated into 3 sections, corresponding to the 3 sections of the specification:

Errata for each part are numbered separately. Errata for Part 0 are numbered with a prefix beginning with "E0-", errata for Part 1 are identified by "E1-", and errata for Part 2 are numbered with "E2-". The errata within each section are classified as Error, Editorial or Clarification and listed in reverse chronological order of their date of publication. Three kinds of changes are highlighted: new, added text, changed text, and deleted text.

Errata for Part 0 (Primer)

E0-30 Editorial

See R-59, "Suggested changes for Appendix C of Primer", and E0-27.

§Appendix C Using Entities

Revise the third line of the first example as follows:

<!ENTITY eacute "é&#xE9;"/>

E0-29 Editorial

See R-43, "Imprecise text in Table 1 of Primer".

Table 1

Change Table 1 as follows:

Table 1. Occurrence Constraints for Elements and Attributes
Elements
(minOccurs, maxOccurs) fixed, default
Attributes
use, fixed, default
Notes
(1, 1) -, - required, -, - element/attribute must appear once, it may have any value
(1, 1) 37, - required, 37, - element/attribute must appear once, its value must be 37
(2, unbounded) 37, - n/a element must appear twice or more, its value must be 37; in general, minOccurs and maxOccurs values may be positive integers, and maxOccurs value may also be "unbounded"
(0, 1) -, - optional, -, - element/attribute may appear once, it may have any value
(0, 1) 37, - n/a element may appear once, if it does not appear it is not provided; if it does appear and it is empty, its value is 37; if it does appear and it is not empty, its value must be 37
(0, 1) 37, -n/a optional, 37, - element/attribute may appear once, if it does appear its value must be 37, if it does not appear its value is 37
(0, 1) -, 37 n/a element may appear once; if it does not appear it is not provided; if it does appear and it is empty, its value is 37; otherwise its value is that given
(0, 1) -, 37n/a optional, -, 37 element/attribute may appear once; if it does not appear its value is 37, otherwise its value is that given
(0, 2) -, 37 n/a element may appear once, twice, or not at all; if the element does not appear it is not provided; if it does appear and it is empty, its value is 37; otherwise its value is that given; in general, minOccurs and maxOccurs values may be positive integers, and maxOccurs value may also be "unbounded"
(0, 0) -, - prohibited, -, - element/attribute must not appear
Note that neither minOccurs, maxOccurs, nor use may appear in the declarations of global elements and attributes.

E0-28 Editorial

See R-44, "Grammatical errors in section 5.6 of the Primer".

§5.6 schemaLocation

Remove the first sentence of the third paragraph:

The schemaLocation attribute contains pairs of values: The first member of each pair is the namespace for which the second member is the hint describing where to find to an appropriate schema document.

and replace with:

The schemaLocation attribute value consists of one or more pairs of URI references, separated by white space. The first member of each pair is a namespace name, and the second member of the pair is a hint describing where to find an appropriate schema document for that namespace.

E0-27 Editorial

See R-59, "Suggested changes for Appendix C of Primer".

§Appendix C Using Entities

Note that E0-30 makes a further change to this example.

Revise the second sentence of the third paragraph as follows:

Note that when this instance document is processed, the entity will be dereferencedresolved before schema validation takes place.

Revise the the second example as follows:

<xsd:element name="eacute" type="xsd:token" fixed="é&#xE9;"/>

E0-26 Error

See R-81, "Error in Primer example of identity constraints".

§5.1 Specifying Uniqueness

Change the second and third paragraphs as follows:

We can also indicate combinations of fields that must be unique. To illustrate, suppose we can relax the constraint that zip codes may only be listed once, although we still want to enforce the constraint that any product is listed only once within a given zip code. We could achieve such a constraint by specifying that the combination of zip code and product number must be unique. From the report document, 4Q99.xml, the combined values of zip code and number would be: {95819 872-AA}, {95819 926-AA}, {95819 833-AA}, {95819 455-BX}, and {63143 455-BX}. Clearly, these combinations do not distinguish between zip code and number combinations derived from single or multiple listings of any particular zip, but the combinations would unambiguously represent a product listed more than once within a single zip. In other words, a schema processor could detect violations of the uniqueness constraint.Going back to our purchase order example, suppose we want each item to have a unique combination of part number and product name. We could achieve such a constraint by specifying that for each item element, the combined values of its partNum attribute and its productName child must be unique.

To define combinations of values, we simply adduse multiple field elements to identify all the values involved. So, to add the part number value to our existing definition, we add a new field element whose xpath attribute value, r:part/@number, identifies the number attribute of part elements that are children of the zip elements identified by r:regions/r:zip:

Replace the example:

A Unique Composed Value
 <unique name="dummy1">
  <selector xpath="r:regions/r:zip"/>
  <field    xpath="@code"/>
  <field    xpath="r:part/@number"/>
 </unique>
<xsd:element name="items" type="Items">
 <xsd:unique name="partNumAndName">
  <xsd:selector xpath="item"/>
  <xsd:field    xpath="@partNum"/>
  <xsd:field    xpath="productName"/>
 </xsd:unique>
</xsd:element>

E0-25 Error

See R-121, "Import example in section 5.4 of Primer incorrect".

§5.4 Importing Types

Change the fourth paragraph as follows:

Note however, that we cannot reuse the shipTo element from po.xsdipo.xsd, and the following is not legal because only global schema components can be imported:

Change the last sentence of the sixth paragraph as follows:

We can reuse the (globally defined) complex type USAddress from address.xsd, and extend it to define a new type called Analyst in the report schema by adding the new elements phone and email:

Change the fourth example as follows:

<r:purchaseReport
  xmlns:r="http://www.example.com/Report"
  period="P3M" periodEnding="1999-12-31">
  <!-- regions and parts elements omitted -->
   <r:analyst>
        <name>Wendy Uhro</name>
        <street>10 Corporate Towers</street>
        <city>San Jose</city>
        <state>CA</state>
        <zip>95113</zip>
        <r:phone>408-271-3366</r:phone>
        <r:email>uhro@example.com</r:email>
   </r:analyst>
</r:purchaseReport>

Add the following paragraph directly after the example:

Note that the report now has both qualified and unqualified elements. This is because some of the elements (name, street, city, state and zip) are locally declared in ipo.xsd, whose elementFormDefault is unqualified (by default). The other elements in the example are declared in report.xsd, whose elementFormDefault is set to qualified.

E0-24 Editorial

See R-126, "Suggested change for the Primer re: substitution group members".

§4.6 Substitution Groups

Change the second sentence of the first paragraph as follows:

More specifically, elements can be assigned to a special group of elements that are said to be substitutable for a particular named element called the head element. (Note that the head element as well as the substitutable elements must be declared as a global elements.)

E0-23 Clarification

See R-104, "Primer question re: integer and the fractionDigits facet".

Table B1.a

Change Table B1.a as follows:

Table B1.a. Simple Types & Applicable Facets
Simple Types Facets
length minLength maxLength pattern enumeration whiteSpace
string y y y y y y
normalizedString y y y y y y
token y y y y y ysee (1)
byte y y ysee (1)
unsignedByte y y ysee (1)
base64Binary y y y y y ysee (1)
hexBinary y y y y y ysee (1)
integer y y ysee (1)
positiveInteger y y ysee (1)
negativeInteger y y ysee (1)
nonNegativeInteger y y ysee (1)
nonPositiveInteger y y ysee (1)
int y y ysee (1)
unsignedInt y y ysee (1)
long y y ysee (1)
unsignedLong y y ysee (1)
short y y ysee (1)
unsignedShort y y ysee (1)
decimal y y ysee (1)
float y y ysee (1)
double y y ysee (1)
boolean y ysee (1)
time y y ysee (1)
dateTime y y ysee (1)
duration y y ysee (1)
date y y ysee (1)
gMonth y y ysee (1)
gYear y y ysee (1)
gYearMonth y y ysee (1)
gDay y y ysee (1)
gMonthDay y y ysee (1)
Name y y y y y ysee (1)
QName y y y y y ysee (1)
NCName y y y y y ysee (1)
anyURI y y y y y ysee (1)
language y y y y y ysee (1)
ID y y y y y ysee (1)
IDREF y y y y y ysee (1)
IDREFS y y y y ysee (1)
ENTITY y y y y y ysee (1)
ENTITIES y y y y ysee (1)
NOTATION y y y y y ysee (1)
NMTOKEN y y y y y ysee (1)
NMTOKENS y y y y ysee (1)
Note: (1) Although the whiteSpace facet is applicable to this type, the only value that can be specified is collapse.

Change Table B1.b as follows:

Table B1.b. Simple Types & Applicable Facets
Simple Types Facets
max
Inclusive
max
Exclusive
min
Inclusive
min
Exclusive
totalDigits fractionDigits
byte y y y y y ysee (1)
unsignedByte y y y y y ysee (1)
integer y y y y y ysee (1)
positiveInteger y y y y y ysee (1)
negativeInteger y y y y y ysee (1)
nonNegativeInteger y y y y y ysee (1)
nonPositiveInteger y y y y y ysee (1)
int y y y y y ysee (1)
unsignedInt y y y y y ysee (1)
long y y y y y ysee (1)
unsignedLong y y y y y ysee (1)
short y y y y y ysee (1)
unsignedShort y y y y y ysee (1)
decimal y y y y y y
float y y y y
double y y y y
time y y y y
dateTime y y y y
duration y y y y
date y y y y
gMonth y y y y
gYear y y y y
gYearMonth y y y y
gDay y y y y
gMonthDay y y y y
Note: (1) Although the fractionDigits facet is applicable to this type, the only value that can be specified is zero.

E0-22 Error

See R-33, "Request for clarification of identity constraint rules".

report.xsd, in §5 Advanced Concepts III: The Quarterly Report

Revise report.xsd shown:

<schema targetNamespace="http://www.example.com/Report"
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:r="http://www.example.com/Report"
        xmlns:xipo="http://www.example.com/IPO"
        elementFormDefault="qualified">

 <!-- for SKU -->
 <import namespace="http://www.example.com/IPO"/>

 <annotation>
  <documentation xml:lang="en">
   Report schema for Example.com
   Copyright 2000 Example.com. All rights reserved.
  </documentation>
 </annotation>

 <element name="purchaseReport">
  <complexType>
   <sequence>
    <element name="regions" type="r:RegionsType"/>
     <keyref name="dummy2" refer="r:pNumKey">
      <selector xpath="r:zip/r:part"/>
      <field xpath="@number"/>
     </keyref>
    </element>

    <element name="parts" type="r:PartsType"/>
   </sequence>
   <attribute name="period"       type="duration"/>
   <attribute name="periodEnding" type="date"/>
  </complexType>

  <unique name="dummy1">
   <selector xpath="r:regions/r:zip"/>
   <field xpath="@code"/>
  </unique>

  <key name="pNumKey">
   <selector xpath="r:parts/r:part"/>
   <field xpath="@number"/>
  </key>

  <keyref name="dummy2" refer="r:pNumKey">
   <selector xpath="r:regions/r:zip/r:part"/>
   <field xpath="@number"/>
  </keyref>

 </element>

 ...

</schema>
Section 5.2

Change the first sentence of the second paragraph, as amended by E0-7, as follows:

To ensure that the part-quantity elements have corresponding part descriptions, we say that the number attribute ( <field xpath="@number"/>) of those elements (<selector xpath="r:regions/r:zip/r:part"/>) must reference the pNumKey key.

E0-21 Clarification

See R-3, "Primer states that all components must be repeated in restriction", and R-67, "A question about type derivation and anonymous types".

§4.4 Deriving Complex Types by Restriction

Change the second paragraph as follows:

For example, suppose we want to update our definition of the list of items in an internationala purchase order so that it must contain at least one item on ordera comment; the schema shown in ipo.xsd allows an items purchaseOrder element to appear without any child item comment elements. To create our new ConfirmedItems RestrictedPurchaseOrderType type, we define the new type in the usual way, indicate that it is derived by restriction from the base type Items PurchaseOrderType , and provide a new (more restrictive) value for the minimum number of item comment element occurrences. Notice that types derived by restriction must repeat all the particle components (element declarations, model groups, and wildcards) of the base type definition that are to be included in the derived type:. However, attribute declarations do not need to be repeated in the derived type definition; in this example, RestrictedPurchaseOrderType will inherit the orderDate attribute declaration from PurchaseOrderType.

Replace the example as shown:

Deriving ConfirmedItems by Restriction from Items
<complexType name="ConfirmedItems">
 <complexContent>
  <restriction base="ipo:Items">
   <sequence>

    <!-- item element is different than in Items -->
    <element name="item" minOccurs="1" maxOccurs="unbounded">

     <!-- remainder of definition is same as Items -->
     <complexType>
      <sequence>
       <element name="productName" type="string"/>
       <element name="quantity">
        <simpleType>
         <restriction base="positiveInteger">
          <maxExclusive value="100"/>
         </restriction>
        </simpleType>
       </element>
       <element name="USPrice"    type="decimal"/>
       <element ref="ipo:comment" minOccurs="0"/>
       <element name="shipDate"   type="date" minOccurs="0"/>
      </sequence>
      <attribute name="partNum" type="ipo:SKU" use="required"/>
     </complexType>
    </element>

   </sequence>
  </restriction>
 </complexContent>
</complexType>
Deriving RestrictedPurchaseOrderType by Restriction from PurchaseOrderType
<complexType name="RestrictedPurchaseOrderType">
 <complexContent>
  <restriction base="ipo:PurchaseOrderType">
   <sequence>
    <element name="shipTo" type="ipo:Address"/>
    <element name="billTo" type="ipo:Address"/>
    <element ref="ipo:comment" minOccurs="1"/>
    <element name="items"  type="ipo:Items"/>
   </sequence>
  </restriction>
 </complexContent>
</complexType>

Change the third paragraph as follows:

This change, requiring at least one child element rather than allowing zero or more child elements, narrows the allowable number of childcomment elements from a minimum of 0 to a minimum of 1. Note that all ConfirmedItemsRestrictedPurchaseOrderType type elements will also be acceptable as ItemPurchaseOrderType type elements.

E0-20 Editorial

See R-6, "Confusing table in the Primer".

Table 3, in §4.4 Deriving Complex Types by Restriction

Change Table 3 as follows (including adding line breaks between values in column 2):

Table 3. Restriction Examples
Base Restriction(s) Notes
default="1" setting a default value where none was previously given
fixed="100" setting a fixed value where none was previously given
type="string" specifying a type where none was previously given
(minOccurs, maxOccurs) (minOccurs, maxOccurs)
(0, 1) (0, 0) exclusion of an optional component; this may also be accomplished by omitting the component's declaration from the restricted type definition
(0, 1) (1, 1) making an optional component required
(0, unbounded) (0, 0)
(0, 37)
↑(1
, 37)
(1, 9) (1, 8)
(2, 9)
(4, 7)
(3, 3)
(1, unbounded) (1, 12)
(3, unbounded)
(6, 6)
(1, 1) (1, 1) cannot further restrict minOccurs or maxOccurs

E0-19 Editorial

See R-5, "Typographical error in section 2.8 example".

§2.8 Attribute Groups

Change the first line of the first example as follows:

<xsd:element name="Itemitem" minOccurs="0" maxOccurs="unbounded">

E0-18 Clarification

See R-18, "Use of pattern facet for list type".

Table B1.a

Change Table B1.a as follows:

Table B1.a. Simple Types & Applicable Facets
Simple Types Facets
length minLength maxLength pattern enumeration whiteSpace
IDREFS y y y y y y
ENTITIES y y y y y y
NMTOKENS y y y y y y

E0-17 Editorial

See R-36, "Font of text in section 2.5.2 of Primer incorrect".

§2.5.2 Mixed Content

Change the font of the word "name" in the second sentence of the third paragraph as follows:

Notice the text appearing between elements and their child elements. Specifically, text appears between the elements salutation, quantity, productName and shipDate which are all children of letterBody, and text appears around the element namename which is the child of a child of letterBody.

E0-16 Editorial

See R-45, "Inaccurate language in section 5.5 of Primer re: references to HTML".

§5.5 Any Element, Any Attribute

Revise the second paragraph as follows:

To illustrate, consider a version of the quarterly report, 4Q99html.xml, in which we have embedded an XHTML representation of the XML parts data. The XHTML content appears as the content of the element htmlExample, and the default namespace is changed on the outermost XHTML element (table) so that all the XHTML elements belong to the XHTML namespace, http://www.w3.org/1999/xhtml:

Revise the first example header as follows:

Quarterly Report with XHTML, 4Q99html.xml

Revise the third paragraph as follows:

To permit the appearance of XHTML in the instance document we modify the report schema by declaring a new element htmlExample whose content is defined by the any element. In general, an any element specifies that any well-formed XML is permissible in a type's content model. In the example, we require the XML to belong to the namespace http://www.w3.org/1999/xhtml, in other words, it should be XHTML. The example also requires there to be at least one element present from this namespace, as indicated by the values of minOccurs and maxOccurs:

Revise the second example header as follows:

Modification to purchaseReport Declaration to Allow XHTML in Instance

Revise the fourth paragraph as follows:

The modification permits some well-formed XML belonging to the namespace http://www.w3.org/1999/xhtml to appear inside the htmlExample element. Therefore 4Q99html.xml is permissible because there is one element which (with its children) is well-formed, the element appears inside the appropriate element (htmlExample), and the instance document asserts that the element and its content belongs to the required namespace. However, the XHTML may not actually be valid because nothing in 4Q99html.xml by itself can provide that guarantee. If such a guarantee is required, the value of the processContents attribute should be set to strict (the default value). In this case, an XML processor is obliged to obtain the schema associated with the required namespace, and validate the XHTML appearing within the htmlExample element.

Revise the seventh paragraph as follows:

In addition to the any element which enables element content according to namespaces, there is a corresponding anyAttribute element which enables attributes to appear in elements. For example, we can permit any XHTML attribute to appear as part of the htmlExample element by adding anyAttribute to its declaration:

Revise the fourth example header as follows:

Modification to htmlExample Declaration to Allow XHTML Attributes

Revise the eigth paragraph as follows:

This declaration permits an XHTML attribute, say href, to appear in the htmlExample element. For example:

Revise the fifth example as follows:

Example
An XHTML attribute in the htmlExample Element
....
  <htmlExample xmlns:h="http://www.w3.org/1999/xhtml"
               h:href="http://www.example.com/reports/4Q99.html">
    <!-- XHTML markup here -->
  </htmlExample>
....
§5.6 schemaLocation

Change the final paragraph as follows:

Note that the schemaLocation is only a hint and some processors and applications will have reasons to not use it. For example, an XHTML editor may have a built-in XHTML schema.

E0-15 Error

See R-48, "Lexical representation of gMonth is inconsistent wrt ISO 8601".

Table 2, in §2.3 Simple Types

Remove trailing hyphens from the gMonth example as follows:

Table 2. Simple Types Built In to XML Schema
Simple Type Examples (delimited by commas) Notes
gMonth --05-- May, see (2) (5)

E0-14 Error

See R-50, "'appInfo' element in Primer vs. 'appinfo' element in Structures".

§2.6 Annotations

Correct the capitalization of appinfo in the second paragraph and third paragraphs as follows:

The appInfoappinfo element, which we did not use in the purchase order schema, can be used to provide information for tools, stylesheets and other applications. An interesting example using appInfoappinfo is a schema that describes the simple types in XML Schema Part 2: Datatypes. Information describing this schema, e.g. which facets are applicable to particular simple types, is represented inside appInfoappinfo elements, and this information was used by an application to automatically generate text for the XML Schema Part 2 document.

Both documentation and appInfoappinfo appear as subelements of annotation, which may itself appear at the beginning of most schema constructions. To illustrate, the following example shows annotation elements appearing at the beginning of an element declaration and a complex type definition:

§Appendix E Index

Change the list in Appendix E as follows:

appInfoappinfo: 2.6

E0-13 Editorial

See R-55, "Typo in table 2 of the Primer".

Table 2, in §2.3 Simple Types

Change Table 2 as follows:

Table 2. Simple Types Built In to XML Schema
Simple Type Examples (delimited by commas) Notes
byte -1, 126-128, ...-1, 0, 1, ... 127 see (2)
unsignedByte 0, 1260, 1, ... 255 see (2)
integer -126789, -1, 0, 1, 126789...-1, 0, 1, ... see (2)
positiveInteger 1, 1267891, 2, ... see (2)
negativeInteger -126789, -1... -2, -1 see (2)
nonNegativeInteger 0, 1, 1267890, 1, 2, ... see (2)
nonPositiveInteger -126789, -1, 0... -2, -1, 0 see (2)
int -1, 126789675-2147483648, ... -1, 0, 1, ... 2147483647 see (2)
unsignedInt 0, 12678967540, 1, ...4294967295 see (2)
long -1, 12678967543233-9223372036854775808, ... -1, 0, 1, ... 9223372036854775807 see (2)
unsignedLong 0, 126789675432330, 1, ... 18446744073709551615 see (2)
short -1, 12678-32768, ... -1, 0, 1, ... 32767 see (2)
unsignedShort 0, 126780, 1, ... 65535 see (2)

E0-12 Editorial

See R-58, "Errors in example in Appendix C of Primer".

§Appendix C Using Entities

Change the first example as follows:

<?xml version="1.0" ?>
<!DOCTYPE pPurchaseOrder [
<!ENTITY eacute "é">
]>
<purchaseOrder xmlns="http://www.example.com/PO1"
               orderDate="1999-10-20">
 <!-- etc. -->
  <city>Montr&eacute;al</city>
 <!-- etc. -->
</purchaseOrder>

E0-11 Error

See R-69, "Problem in the regex grammar for charRange".

Table D1

Revise Table D1 as follows:

Table D1. Examples of Regular Expressions
Expression Match(es)
[\-ae]x -x, ax, ex
[ae\-]x ax, ex, -x

E0-10 Error

See R-80, "Meaning of ##other".

Table 4, in §5.5 Any Element, Any Attribute

Change Table 4 as follows:

Table 4. Namespace Attribute in Any
Value of Namespace Attribute Allowable Element Content
##other Any well-formed XML that is from a namespace other thannot from the target namespace of the type being defined (unqualified elements are not allowed)

E0-9 Editorial

See R-82, "Three editorial errors in the Primer".

§2.3.1 List Types

Change the first sentence of the fourth paragraph as follows:

Several facets can be applied to list types: length, minLength, maxLength, pattern, and enumeration.

E0-8 Editorial

See R-82, "Three editorial errors in the Primer".

§5.1 Specifying Uniqueness

Change the third sentence of the first paragraph as follows:

In the case of our report schema, report.xsd, the selector element's xpath attribute contains an XPath expression, r:regions/r:zip, that selects a list of all the zip elements in a report instance.

Change the second sentence of the third paragraph as follows:

So, to add the part number value to our existing definition, we add a new field element whose xpath attribute value, r:part/@number, identifies the number attribute of part elements that are children of the zip elements identified by r:regions/r:zip:

E0-7 Editorial

See R-82, "Three editorial errors in the Primer".

§5.2 Defining Keys and their References

Change the second paragraph as follows:

To ensure that the part-quantity elements have corresponding part descriptions, we say that the number attribute ( <field>@number</field><field xpath="@number"/>) of those elements (<selector>zip/part</selector><selector xpath="r:zip/r:part"/>) must reference the pNumKey key. This declaration of number as a keyref does not mean that its value must be unique, but it does mean there must exist a pNumKey with the same value.

E0-6 Editorial

See R-155, "4 Typos in the Primer".

§2.4 Anonymous Type Definitions

Revise the last sentence of the section as follows:

In the case of the quantity element, it has an anonymous simple type derived from integerpositiveInteger whose value ranges between 1 and 99.

E0-5 Editorial

See R-155, "4 Typos in the Primer".

Table 2, in §2.3 Simple Types

Revise the last note at the end of Table 2 as follows:

(5) The "g" prefix signals time periods in the Gregorian calendercalendar.

E0-4 Editorial

See R-155, "4 Typos in the Primer".

§4.2 Deriving Types by Extension

Revise the last sentence in the first paragraph as follows:

The technique we use here to derive new (complex) address types by extending an existing type is the same technique we used in in Section 2.5.1....

E0-3 Editorial

See R-155, "4 Typos in the Primer".

Table D1, in §Appendix D Regular Expressions

Revise Table D1 as follows:

Table D1. Examples of Regular Expressions
Expression Match(es)
Espan&#xF1;ola Española

E0-2 Editorial

See R-4, "Conflicting statements about Primer being normative/non-normative".

Status of this Document

Change the second sentence of the second paragraph as follows:

It is a stable document and may be used as reference material or cited as a normative reference from another document .

E0-1 Editorial

See R-2, "Primer states that there are 15 facets".

§2.3 Simple Types: Description of Facets, next-to-last paragraph before §2.3.1

Change the first sentence as follows:

XML Schema defines fifteen twelve facets which are listed in Appendix B.

Errata for Part 1 (Structures)

E1-55 Error

(No issues list entry for this one yet)

Note that the text below also shows the change mandated by E1-30.

In §3.4.2 XML Representation of Complex Type Definitions, in the simple content case of the property mapping tableau for Complex Type Definitions, add clause 3.2.2.2 as follows (note that in addition to the highlighted change, the existing sub-clauses of clause 3.2 have been renumbered and restructured):

3.2 If the <extension> alternative is chosen, then
3.2.1 [Definition:]  let the base wildcard be defined as the appropriate case among the following:
3.2.1.1 If the type definition ·resolved· to by the ·actual value· of the base [attribute] is a complex type definition with an {attribute wildcard}, then that {at