This chapter did not cover many parts of the Schema Recommendation. When the discussion focused on only a few items from a long list, such as the list of basic simpleTypes, we have mentioned the existence of these additional items. Note, however, that some capabilities are generally not mentioned elsewhere: Schema in InstancesYou can insert schema constructs into actual instances of XML for example, to indicate the type of an element by adding an attribute. Such schema constructs in instances use a different schema namespace defined for that purpose. As we use schemas only to provide descriptive models for specification and expository purposes, this capability is not relevant. List TypesYou can create types that consist of lists of instances of simpleTypes separated by white space. Union TypesYou can create types that are unions of basic simpleTypes and combine them with list types. Restrictions on Type DerivationYou can specify a type so that you cannot derive other types from it or so that, in derivation, you cannot change certain facets of the type. AllYou can create a complicated extension of groups with complicated restrictions. Nillable Elements"Nillable" elements provide a method for declaring that it is valid for an instance of an element to be empty despite the element's type appearing to prohibit it. Unique/Key ValuesA schema can indicate that certain attribute values or element contents within a specified scope must be unique values. In addition, it can indicate that certain, possibly composite values act as "keys" or references to keys in a manner somewhat similar to ID and IDREF. Deriving Types from Complex TypesYou can specify a complex type by restricting or extending a complex type. Element SubstitutionYou can declare an element to be substitutable for another element. |