1<?xml version="1.0" encoding="UTF-8"?> 2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 3 xmlns="http://purl.org/dc/elements/1.1/" 4 targetNamespace="http://purl.org/dc/elements/1.1/" 5 elementFormDefault="qualified" 6 attributeFormDefault="unqualified"> 7 8 <xs:annotation> 9 <xs:documentation xml:lang="en"> 10 DCMES 1.1 XML Schema 11 XML Schema for http://purl.org/dc/elements/1.1/ namespace 12 13 Created 2003-04-02 14 15 Created by 16 17 Tim Cole (t-cole3@uiuc.edu) 18 Tom Habing (thabing@uiuc.edu) 19 Jane Hunter (jane@dstc.edu.au) 20 Pete Johnston (p.johnston@ukoln.ac.uk), 21 Carl Lagoze (lagoze@cs.cornell.edu) 22 23 This schema declares XML elements for the 15 DC elements from the 24 http://purl.org/dc/elements/1.1/ namespace. 25 26 It defines a complexType SimpleLiteral which permits mixed content 27 and makes the xml:lang attribute available. It disallows child elements by 28 use of minOcccurs/maxOccurs. 29 30 However, this complexType does permit the derivation of other complexTypes 31 which would permit child elements. 32 33 All elements are declared as substitutable for the abstract element any, 34 which means that the default type for all elements is dc:SimpleLiteral. 35 36 </xs:documentation> 37 38 </xs:annotation> 39 40 41 <xs:import namespace="http://www.w3.org/XML/1998/namespace" 42 schemaLocation="xml.xsd"> 43 </xs:import> 44 <!--http://www.w3.org/2001/03/xml.xsd--> 45 <xs:complexType name="SimpleLiteral"> 46 <xs:annotation> 47 <xs:documentation xml:lang="en"> 48 This is the default type for all of the DC elements. 49 It permits text content only with optional 50 xml:lang attribute. 51 Text is allowed because mixed="true", but sub-elements 52 are disallowed because minOccurs="0" and maxOccurs="0" 53 are on the xs:any tag. 54 55 This complexType allows for restriction or extension permitting 56 child elements. 57 </xs:documentation> 58 </xs:annotation> 59 60 <xs:complexContent mixed="true"> 61 <xs:restriction base="xs:anyType"> 62 <xs:sequence> 63 <xs:any processContents="lax" minOccurs="1" maxOccurs="2"/> 64 </xs:sequence> 65 <xs:attribute ref="xml:lang" use="optional"/> 66 </xs:restriction> 67 </xs:complexContent> 68 </xs:complexType> 69 70 <xs:element name="any" type="SimpleLiteral" abstract="true"/> 71 72 <xs:element name="title" substitutionGroup="any"/> 73 <xs:element name="creator" substitutionGroup="any"/> 74 <xs:element name="subject" substitutionGroup="any"/> 75 <xs:element name="description" substitutionGroup="any"/> 76 <xs:element name="publisher" substitutionGroup="any"/> 77 <xs:element name="contributor" substitutionGroup="any"/> 78 <xs:element name="date" substitutionGroup="any"/> 79 <xs:element name="type" substitutionGroup="any"/> 80 <xs:element name="format" substitutionGroup="any"/> 81 <xs:element name="identifier" substitutionGroup="any"/> 82 <xs:element name="source" substitutionGroup="any"/> 83 <xs:element name="language" substitutionGroup="any"/> 84 <xs:element name="relation" substitutionGroup="any"/> 85 <xs:element name="coverage" substitutionGroup="any"/> 86 <xs:element name="rights" substitutionGroup="any"/> 87 88 <xs:group name="elementsGroup"> 89 <xs:annotation> 90 <xs:documentation xml:lang="en"> 91 This group is included as a convenience for schema authors 92 who need to refer to all the elements in the 93 http://purl.org/dc/elements/1.1/ namespace. 94 </xs:documentation> 95 </xs:annotation> 96 97 <xs:sequence> 98 <xs:choice minOccurs="0" maxOccurs="unbounded"> 99 <xs:element ref="any"/> 100 </xs:choice> 101 </xs:sequence> 102 </xs:group> 103 104 <xs:complexType name="elementContainer"> 105 <xs:annotation> 106 <xs:documentation xml:lang="en"> 107 This complexType is included as a convenience for schema authors who need to define a root 108 or container element for all of the DC elements. 109 </xs:documentation> 110 </xs:annotation> 111 112 <xs:choice> 113 <xs:group ref="elementsGroup"/> 114 </xs:choice> 115 </xs:complexType> 116 117 118</xs:schema> 119 120