1<?xml version='1.0'?> 2<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"> 3 4 <xs:annotation> 5 <xs:documentation> 6 See http://www.w3.org/XML/1998/namespace.html and 7 http://www.w3.org/TR/REC-xml for information about this namespace. 8 9 This schema document describes the XML namespace, in a form 10 suitable for import by other schema documents. 11 12 Note that local names in this namespace are intended to be defined 13 only by the World Wide Web Consortium or its subgroups. The 14 following names are currently defined in this namespace and should 15 not be used with conflicting semantics by any Working Group, 16 specification, or document instance: 17 18 base (as an attribute name): denotes an attribute whose value 19 provides a URI to be used as the base for interpreting any 20 relative URIs in the scope of the element on which it 21 appears; its value is inherited. This name is reserved 22 by virtue of its definition in the XML Base specification. 23 24 id (as an attribute name): denotes an attribute whose value 25 should be interpreted as if declared to be of type ID. 26 The xml:id specification is not yet a W3C Recommendation, 27 but this attribute is included here to facilitate experimentation 28 with the mechanisms it proposes. Note that it is _not_ included 29 in the specialAttrs attribute group. 30 31 lang (as an attribute name): denotes an attribute whose value 32 is a language code for the natural language of the content of 33 any element; its value is inherited. This name is reserved 34 by virtue of its definition in the XML specification. 35 36 space (as an attribute name): denotes an attribute whose 37 value is a keyword indicating what whitespace processing 38 discipline is intended for the content of the element; its 39 value is inherited. This name is reserved by virtue of its 40 definition in the XML specification. 41 42 Father (in any context at all): denotes Jon Bosak, the chair of 43 the original XML Working Group. This name is reserved by 44 the following decision of the W3C XML Plenary and 45 XML Coordination groups: 46 47 In appreciation for his vision, leadership and dedication 48 the W3C XML Plenary on this 10th day of February, 2000 49 reserves for Jon Bosak in perpetuity the XML name 50 xml:Father 51 </xs:documentation> 52 </xs:annotation> 53 54 <xs:annotation> 55 <xs:documentation>This schema defines attributes and an attribute group 56 suitable for use by 57 schemas wishing to allow xml:base, xml:lang, xml:space or xml:id 58 attributes on elements they define. 59 60 To enable this, such a schema must import this schema 61 for the XML namespace, e.g. as follows: 62 <schema . . .> 63 . . . 64 <import namespace="http://www.w3.org/XML/1998/namespace" 65 schemaLocation="http://www.w3.org/2005/08/xml.xsd"/> 66 67 Subsequently, qualified reference to any of the attributes 68 or the group defined below will have the desired effect, e.g. 69 70 <type . . .> 71 . . . 72 <attributeGroup ref="xml:specialAttrs"/> 73 74 will define a type which will schema-validate an instance 75 element with any of those attributes</xs:documentation> 76 </xs:annotation> 77 78 <xs:annotation> 79 <xs:documentation>In keeping with the XML Schema WG's standard versioning 80 policy, this schema document will persist at 81 http://www.w3.org/2005/08/xml.xsd. 82 At the date of issue it can also be found at 83 http://www.w3.org/2001/xml.xsd. 84 The schema document at that URI may however change in the future, 85 in order to remain compatible with the latest version of XML Schema 86 itself, or with the XML namespace itself. In other words, if the XML 87 Schema or XML namespaces change, the version of this document at 88 http://www.w3.org/2001/xml.xsd will change 89 accordingly; the version at 90 http://www.w3.org/2005/08/xml.xsd will not change. 91 </xs:documentation> 92 </xs:annotation> 93 94 <xs:attribute name="lang"> 95 <xs:annotation> 96 <xs:documentation>Attempting to install the relevant ISO 2- and 3-letter 97 codes as the enumerated possible values is probably never 98 going to be a realistic possibility. See 99 RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry 100 at http://www.iana.org/assignments/lang-tag-apps.htm for 101 further information. 102 103 The union allows for the 'un-declaration' of xml:lang with 104 the empty string.</xs:documentation> 105 </xs:annotation> 106 <xs:simpleType name="langEnum"> 107 <xs:union memberTypes="xs:language"> 108 <xs:simpleType> 109 <xs:restriction base="xs:string"> 110 <xs:enumeration value=""/> 111 </xs:restriction> 112 </xs:simpleType> 113 </xs:union> 114 </xs:simpleType> 115 </xs:attribute> 116 117 <xs:attribute name="space"> 118 <xs:simpleType name="spaceEnum"> 119 <xs:restriction base="xs:NCName"> 120 <xs:enumeration value="default"/> 121 <xs:enumeration value="preserve"/> 122 </xs:restriction> 123 </xs:simpleType> 124 </xs:attribute> 125 126 <xs:attribute name="base" type="xs:anyURI"> 127 <xs:annotation> 128 <xs:documentation>See http://www.w3.org/TR/xmlbase/ for 129 information about this attribute.</xs:documentation> 130 </xs:annotation> 131 </xs:attribute> 132 133 <xs:attribute name="id" type="xs:ID"> 134 <xs:annotation> 135 <xs:documentation>See http://www.w3.org/TR/xml-id/ for 136 information about this attribute.</xs:documentation> 137 </xs:annotation> 138 </xs:attribute> 139 140 <xs:attributeGroup name="specialAttrs"> 141 <xs:attribute ref="xml:base"/> 142 <xs:attribute ref="xml:lang"/> 143 <xs:attribute ref="xml:space"/> 144 </xs:attributeGroup> 145 146</xs:schema> 147