source: VirtualCollectionRegistry/tags/VirtualCollectionRegistry-0.4.0-alpha2/VirtualCollectionRegistry/src/main/resources/META-INF/VirtualCollection.xsd @ 5557

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

tag for VCR alpha 2

  • Property svn:eol-style set to native
File size: 6.1 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:element name="Label" minOccurs="0">
104                      <xs:simpleType>
105                        <xs:restriction base="xs:string"/>
106                      </xs:simpleType>
107                    </xs:element>
108                    <xs:element name="Description" minOccurs="0">
109                      <xs:simpleType>
110                        <xs:restriction base="xs:string"/>
111                      </xs:simpleType>
112                    </xs:element>
113                  </xs:sequence>
114                </xs:complexType>
115              </xs:element>
116            </xs:sequence>
117          </xs:complexType>
118        </xs:element>
119        <xs:element name="GeneratedBy" minOccurs="0">
120          <xs:complexType>
121            <xs:sequence>
122              <xs:element name="Description" type="xs:string"/>
123              <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
124              <xs:element name="Query" minOccurs="0">
125                <xs:complexType>
126                  <xs:simpleContent>
127                    <xs:extension base="xs:string">
128                      <xs:attribute name="profile" type="xs:string" use="required"/>
129                    </xs:extension>
130                  </xs:simpleContent>
131                </xs:complexType>
132              </xs:element>
133            </xs:sequence>
134          </xs:complexType>
135        </xs:element>
136      </xs:sequence>
137      <xs:attribute name="id" type="xs:long" use="optional" />
138      <xs:attribute name="persistentId" type="xs:string" use="optional" />
139      <xs:attribute name="state" use="optional">
140        <xs:simpleType>
141          <xs:restriction base="xs:string">
142            <xs:enumeration value="private" />
143            <xs:enumeration value="public-pending" />
144            <xs:enumeration value="public" />
145            <xs:enumeration value="deleted" />
146            <xs:enumeration value="dead" />
147          </xs:restriction>
148        </xs:simpleType>
149      </xs:attribute>
150    </xs:complexType>
151  </xs:element>
152</xs:schema>
Note: See TracBrowser for help on using the repository browser.