| <?xml version='1.0'?> |
| <schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns="http://www.w3.org/2001/XMLSchema"> |
| |
| <annotation> |
| <documentation> |
| See http://www.w3.org/XML/1998/namespace.html and |
| http://www.w3.org/TR/REC-xml for information about this namespace. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <documentation>This schema defines attributes and an attribute group |
| suitable for use by |
| schemas wishing to allow xml:lang, xml:space or xml:base attributes |
| on elements they define. |
| |
| To enable this, such a schema must first declare the XML |
| namespace, and then import this schema |
| for the XML namespace, e.g. as follows: |
| <schema . . . xmlns:xml="http://www.w3.org/XML/1998/namespace"> |
| . . . |
| <import namespace="http://www.w3.org/XML/1998/namespace" |
| schemaLocation="http://www.w3.org/2000/10/xml.xsd"/> |
| |
| Subsequently, qualified reference to any of the attributes |
| or the group defined below will have the desired effect, e.g. |
| |
| <type . . .> |
| . . . |
| <attributeGroup ref="xml:specialAttrs"/> |
| |
| will define a type which will schema-validate a instance |
| element with any of those attributes</documentation> |
| </annotation> |
| |
| <attribute name="lang" type="language"> |
| <annotation> |
| <documentation>In due course, we should install the relevant ISO 2- and 3-letter |
| codes as the enumerated possible values . . .</documentation> |
| </annotation> |
| </attribute> |
| |
| <attribute name="space" default="preserve"> |
| <simpleType> |
| <restriction base="NCName"> |
| <enumeration value="default"/> |
| <enumeration value="preserve"/> |
| </restriction> |
| </simpleType> |
| </attribute> |
| |
| <attribute name="base" type="anyURI"/> |
| |
| <attributeGroup name="specialAttrs"> |
| <attribute ref="xml:lang"/> |
| <attribute ref="xml:space"/> |
| <attribute ref="xml:base"/> |
| </attributeGroup> |
| |
| </schema> |