This schema defines 2 elements for use in the
appinfo portion section of (potentially) all builtin datatypes in the schema
for XML Schema Part 2: Datatypes.

One intended use of
this appinfo is in the generation of the HTML version of the XML Schema Part 2:
Datatypes specification itself. All portions of the HTML text which describe
the facets and/or properties of each datatype is generated by an XSLT
transformation which keys off of this appinfo.

Schema
processors may have another use for this appinfo (although one certainly not
required in any way by the specification). The information may be useful in
dynamically building validation modules/classes and/or user-interfaces for
schema creation.

hasFacet is used to signal that the contraining facet
given in the name attribute is applicable to a primitive
datatype (and all types derived from it).

Note: this element will only appear in the appinfo of
primitive types or built-in types derived by "list".

A schema processor (or the XSLT which generates the
HTML version of the XML Schema Part 2: Datatypes
specification) which reads a derived simpleType
definition should walk up the base type chain until
it reaches the primitive type at the top of the chain
and "push" all facets found their down to all derived
types in the chain.

This datatype names all existing contraining facets.

Question: should each of the enumerations below be
given a documentation annotation, which would contain
the text to be used in the definition of the facet
in the XML Schema Part 2: Datatypes specification?
Might be nice to try to collect all of that information
together here.

hasProperty is used to signal that the property
given in the name attribute has the value given in the value attribute for the
datatype in which it occurs (and all types derived from it, which do not
override the value of the property).

Note: this element
may appear in the appinfo of primitive and built-in derived types.

A schema processor (or the XSLT which generates the HTML version of
the XML Schema Part 2: Datatypes specification) which reads a simpleType
definition should gather the information from any occurances of hasProperty in
that simpleType definition, and then walk up the base type chain gathering
information from any occurances of hasProperty (unless a value was given to the
name in a dervied type) until either it reaches the primitive type at the top
of the chain or it has gathered values for all existing properties.

This datatype names all existing fundamental
facets, otherwise known as properties (with the exception of
equality, a property which has no
value).

Question: should each of
the enumerations below be given a documentation annotation, which would contain
the text to be used in the definition of the properties in the XML Schema Part
2: Datatypes specification? Might be nice to try to collect all of that
information together here.