source: VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/resources/META-INF/VirtualCollection.xsd @ 5313

Last change on this file since 5313 was 5313, checked in by Twan Goosen, 10 years ago

Reverted changes in META-INF ct'd

File size: 5.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3  elementFormDefault="unqualified">
4
5  <xs:element name="VirtualCollections">
6    <xs:complexType>
7      <xs:sequence>
8        <xs:element ref="VirtualCollection" minOccurs="0" maxOccurs="unbounded"/>
9      </xs:sequence>
10      <xs:attribute name="totalCount" type="xs:integer"/>
11      <xs:attribute name="offset" type="xs:integer"/>
12      <xs:attribute name="result">
13        <xs:simpleType>
14          <xs:restriction base="xs:string">
15            <xs:enumeration value="full"/>
16            <xs:enumeration value="partial"/>
17          </xs:restriction>
18        </xs:simpleType>
19      </xs:attribute>
20    </xs:complexType>
21  </xs:element>
22
23  <xs:element name="VirtualCollection">
24    <xs:complexType>
25      <xs:sequence>
26        <xs:element name="Type">
27          <xs:simpleType>
28            <xs:restriction base="xs:string">
29              <xs:enumeration value="extensional"/>
30              <xs:enumeration value="intensional"/>
31            </xs:restriction>
32          </xs:simpleType>
33        </xs:element>
34        <xs:element name="Name" type="xs:string"/>
35        <xs:element name="Description" type="xs:string" minOccurs="0"/>
36        <xs:element name="CreationDate" type="xs:date" minOccurs="0"/>
37        <xs:element name="Creators" minOccurs="0">
38          <xs:complexType>
39            <xs:sequence>
40              <xs:element name="Creator" minOccurs="1" maxOccurs="unbounded">
41                <xs:complexType>
42                    <xs:sequence>
43                      <xs:element name="Person" type="xs:string"/>
44                      <xs:element name="Address" type="xs:string" minOccurs="0"/>
45                      <xs:element name="Email" type="xs:string" minOccurs="0"/>
46                      <xs:element name="Organisation" type="xs:string" minOccurs="0"/>
47                      <xs:element name="Telephone" type="xs:string" minOccurs="0" />
48                      <xs:element name="Website" type="xs:anyURI" minOccurs="0" />
49                      <xs:element name="Role" type="xs:string" minOccurs="0" />
50                    </xs:sequence>
51                </xs:complexType>
52              </xs:element>
53            </xs:sequence>
54          </xs:complexType>
55        </xs:element>
56        <xs:element name="Purpose" minOccurs="0">
57          <xs:simpleType>
58            <xs:restriction base="xs:string">
59              <xs:enumeration value="research"/>
60              <xs:enumeration value="reference"/>
61              <xs:enumeration value="sample"/>
62              <xs:enumeration value="future-use"/>
63              <!-- to be extended -->
64            </xs:restriction>
65          </xs:simpleType>
66        </xs:element>
67        <xs:element name="Reproducibility" minOccurs="0">
68          <xs:simpleType>
69            <xs:restriction base="xs:string">
70              <xs:enumeration value="intended"/>
71              <xs:enumeration value="fluctuating"/>
72              <xs:enumeration value="untended"/>
73            </xs:restriction>
74          </xs:simpleType>
75        </xs:element>
76        <xs:element name="ReproducibilityNotice" type="xs:string" minOccurs="0" />
77        <xs:element name="Keywords" minOccurs="0">
78          <xs:complexType>
79                <xs:sequence>
80                  <xs:element name="Keyword" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
81                </xs:sequence>
82          </xs:complexType>
83        </xs:element>
84        <xs:element name="Resources" minOccurs="0">
85          <xs:complexType>
86            <xs:sequence>
87              <xs:element name="Resource" minOccurs="1" maxOccurs="unbounded">
88                <xs:complexType>
89                  <xs:sequence>
90                    <xs:element name="ResourceType">
91                      <xs:simpleType>
92                        <xs:restriction base="xs:string">
93                          <xs:enumeration value="Metadata"/>
94                          <xs:enumeration value="Resource"/>
95                        </xs:restriction>
96                      </xs:simpleType>
97                    </xs:element>
98                    <xs:element name="ResourceRef">
99                      <xs:simpleType>
100                        <xs:restriction base="xs:anyURI"/>
101                      </xs:simpleType>
102                    </xs:element>
103                  </xs:sequence>
104                </xs:complexType>
105              </xs:element>
106            </xs:sequence>
107          </xs:complexType>
108        </xs:element>
109        <xs:element name="GeneratedBy" minOccurs="0">
110          <xs:complexType>
111            <xs:sequence>
112              <xs:element name="Description" type="xs:string"/>
113              <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
114              <xs:element name="Query" minOccurs="0">
115                <xs:complexType>
116                  <xs:simpleContent>
117                    <xs:extension base="xs:string">
118                      <xs:attribute name="profile" type="xs:string" use="required"/>
119                    </xs:extension>
120                  </xs:simpleContent>
121                </xs:complexType>
122              </xs:element>
123            </xs:sequence>
124          </xs:complexType>
125        </xs:element>
126      </xs:sequence>
127      <xs:attribute name="id" type="xs:long" use="optional" />
128      <xs:attribute name="persistentId" type="xs:string" use="optional" />
129      <xs:attribute name="state" use="optional">
130        <xs:simpleType>
131          <xs:restriction base="xs:string">
132            <xs:enumeration value="private" />
133            <xs:enumeration value="public-pending" />
134            <xs:enumeration value="public" />
135            <xs:enumeration value="deleted" />
136            <xs:enumeration value="dead" />
137          </xs:restriction>
138        </xs:simpleType>
139      </xs:attribute>
140    </xs:complexType>
141  </xs:element>
142</xs:schema>
Note: See TracBrowser for help on using the repository browser.