1. Outside this book, two earlier unofficial names may also be in use: XML Schema Definition Language (XSDL) and W3C XML Schema (WXS).
1. While any prefix may be mapped to the namespace, this book uses the prefix xsi
as a shorthand, sometimes without explicitly stating that it is mapped to http://www.w3.org/2001/XMLSchema-instance.
1. Unless it is in a substitution group, as described in Chapter 16.
1. This is not considered an error in the schema, but any instance that relies on the value would be in error.
1. This would be considered an error in the instance, not the schema.
1. In this example, making language
inheritable with ParaType
would have no meaning, since there are no allowed descendants. But otherwise it is good practice to make language
inheritable.
1. Except in the case of a redefine or override.
1. Technically, it is the primitive types that have applicable facets, with the rest of the built-in types inheriting that applicability from their base types. However, since most people do not have the built-in type hierarchy memorized, it is easier to list applicable facets for all the built-in types.
1. Except when they are within square brackets, as described in Section 9.2.4.6 on p. 175.
1. The rules are actually slightly more complex and less strict than this; they also differ between versions 1.0 and 1.1. However, it is never an error to escape these characters inside a character class expression.
1. A—applicable, V—value specified, F—fixed value specified.
1. Assume for this section that there are element declarations with names that are the same as their type names. For example, <xs:element name="integer" type="xs:integer"/>
.
1. Except in the case of a redefine or override.
1. This is a conflict in version 1.0 only. In version 1.1, the element declaration has precedence over the wildcard.
1. The finalDefault
attribute can contain the values list
and union
which are not applicable to complex types. If these values are present, they are ignored in this context.
1. The block
attribute of element
may also contain the value substitution
, as described in Section 16.7.2 on p. 419.
1. Except inside subexpressions, such as predicates.
1. Technically, it can be used anywhere a type is normally used, but it is only practically useful in conditional type assignment.
1. Except in the case of a redefine or override.
1. Except in the case of a redefine or override.
1. The override section contains information that is redundant with the redefine section; this is to allow readers who are implementing one or the other to skip the section that does not interest them.
1. Technically, in DTDs mixed content also refers to element types with just #PCDATA
content, but this case is covered in Sections 19.1.1 on p. 474 and 19.1.2 on p. 475.
1. In version 1.1, you can use conditional type assignment or assertions to enforce certain constraints on generic elements, but it is not as straightforward as assigning types to specific elements.
1. For a demanding real-world example, see the DTD for XSD in Appendix A of www.w3.org/TR/2012/REC-xmlschema11-1-20120405/structures.html.
1. Example version numbers start with 2.0 in this chapter to specify the version of the vocabulary being defined by the schema, to avoid confusion with the versions of the XML Schema language itself which are 1.0 and 1.1.