blob: c09b386f6a5b5c42bd6219314ed845f709510c9e [file] [log] [blame]
<?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:
&lt;schema . . . xmlns:xml="http://www.w3.org/XML/1998/namespace">
. . .
&lt;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.
&lt;type . . .>
. . .
&lt;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>