GEC11InstMeasWorkingSession: 072111_v0.3_MDOD_types.xsd

File 072111_v0.3_MDOD_types.xsd, 8.9 KB (added by hmussman@bbn.com, 13 years ago)
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  ##############################################################
4  File: MDOD_types.rnc
5  Version: 0.1
6  ##############################################################
7-->
8<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.geni.net/measurement/base/20110721" xmlns:im="http://www.geni.net/measurement/base/20110721">
9  <!-- One ID attribute for identifiers, descriptors, and holders -->
10  <xs:attributeGroup name="MDOD_id">
11    <xs:attribute name="id" use="required" type="xs:string"/>
12  </xs:attributeGroup>
13  <!-- identifier types -->
14  <xs:attributeGroup name="MDOD_rank">
15    <xs:attribute name="rank" use="required">
16      <xs:simpleType>
17        <xs:restriction base="xs:token">
18          <xs:enumeration value="primary"/>
19          <xs:enumeration value="secondary"/>
20        </xs:restriction>
21      </xs:simpleType>
22    </xs:attribute>
23  </xs:attributeGroup>
24  <xs:attributeGroup name="MDOD_type">
25    <xs:attribute name="type" use="required">
26      <xs:simpleType>
27        <xs:restriction base="xs:token">
28          <xs:enumeration value="urn"/>
29          <xs:enumeration value="variable"/>
30          <xs:enumeration value="key"/>
31          <xs:enumeration value="token"/>
32        </xs:restriction>
33      </xs:simpleType>
34    </xs:attribute>
35  </xs:attributeGroup>
36  <xs:attributeGroup name="MDOD_source">
37    <xs:attribute name="source" use="required" type="xs:string"/>
38  </xs:attributeGroup>
39  <xs:element name="title" type="xs:string"/>
40  <xs:element name="abstract" type="xs:string"/>
41  <xs:element name="subject" type="xs:string"/>
42  <xs:element name="keywords" type="xs:string"/>
43  <xs:element name="annotation">
44    <xs:complexType>
45      <xs:simpleContent>
46        <xs:extension base="xs:string">
47          <xs:attribute name="user_id" type="xs:string"/>
48          <xs:attribute name="date_time" type="xs:string"/>
49        </xs:extension>
50      </xs:simpleContent>
51    </xs:complexType>
52  </xs:element>
53  <!-- descriptor types -->
54  <xs:attributeGroup name="MDOD_level">
55    <xs:attribute name="level" use="required" type="xs:int"/>
56  </xs:attributeGroup>
57  <xs:attributeGroup name="MDOD_object_type">
58    <xs:attribute name="object_type" use="required">
59      <xs:simpleType>
60        <xs:restriction base="xs:token">
61          <xs:enumeration value="data_collection"/>
62          <xs:enumeration value="data_flow"/>
63          <xs:enumeration value="data_dir"/>
64          <xs:enumeration value="data_file"/>
65          <xs:enumeration value="data_db"/>
66          <xs:enumeration value="data_svc_portal"/>
67          <xs:enumeration value="data_svc_gui"/>
68        </xs:restriction>
69      </xs:simpleType>
70    </xs:attribute>
71  </xs:attributeGroup>
72  <xs:attributeGroup name="MDOD_collection_location">
73    <xs:attribute name="collection_location" use="required" type="xs:string"/>
74  </xs:attributeGroup>
75  <!-- handling start/end times descriptor (lifetime) as in PerfSONAR -->
76  <xs:element name="lifetime">
77    <xs:complexType>
78      <xs:choice minOccurs="0" maxOccurs="unbounded">
79        <xs:element ref="im:start"/>
80        <xs:choice>
81          <xs:element ref="im:end"/>
82          <xs:element ref="im:duration"/>
83        </xs:choice>
84      </xs:choice>
85    </xs:complexType>
86  </xs:element>
87  <xs:complexType name="MDOD_TimeContent">
88    <xs:simpleContent>
89      <xs:extension base="xs:string">
90        <xs:attribute name="type" use="required"/>
91      </xs:extension>
92    </xs:simpleContent>
93  </xs:complexType>
94  <xs:element name="start" type="im:MDOD_TimeContent"/>
95  <xs:element name="end" type="im:MDOD_TimeContent"/>
96  <xs:element name="duration">
97    <xs:complexType>
98      <xs:simpleContent>
99        <xs:extension base="xs:string">
100          <xs:attribute name="type" use="required" type="xs:string"/>
101        </xs:extension>
102      </xs:simpleContent>
103    </xs:complexType>
104  </xs:element>
105  <xs:attributeGroup name="MDOD_project_id">
106    <xs:attribute name="project_id" use="required" type="xs:string"/>
107  </xs:attributeGroup>
108  <xs:attributeGroup name="MDOD_slice_id">
109    <xs:attribute name="slice_id" use="required" type="xs:string"/>
110  </xs:attributeGroup>
111  <xs:attributeGroup name="MDOD_experiment_id">
112    <xs:attribute name="experiment_id" use="required" type="xs:string"/>
113  </xs:attributeGroup>
114  <xs:attributeGroup name="MDOD_run_id">
115    <xs:attribute name="run_id" use="required" type="xs:string"/>
116  </xs:attributeGroup>
117  <xs:attributeGroup name="MDOD_target">
118    <xs:attribute name="target" use="required" type="xs:string"/>
119  </xs:attributeGroup>
120  <xs:element name="category">
121    <xs:complexType>
122      <xs:simpleContent>
123        <xs:extension base="xs:string">
124          <xs:attribute name="parameter" use="required" type="xs:string"/>
125        </xs:extension>
126      </xs:simpleContent>
127    </xs:complexType>
128  </xs:element>
129  <xs:element name="object_size" type="xs:double"/>
130  <xs:element name="flow_rate" type="xs:double"/>
131  <xs:element name="locator">
132    <xs:complexType>
133      <xs:simpleContent>
134        <xs:extension base="xs:string">
135          <xs:attribute name="view" use="required">
136            <xs:simpleType>
137              <xs:restriction base="xs:token">
138                <xs:enumeration value="global"/>
139                <xs:enumeration value="per_assoc"/>
140                <xs:enumeration value="by_holder"/>
141              </xs:restriction>
142            </xs:simpleType>
143          </xs:attribute>
144          <xs:attribute name="holder" type="xs:string"/>
145          <xs:attribute name="type" use="required">
146            <xs:simpleType>
147              <xs:restriction base="xs:token">
148                <xs:enumeration value="path"/>
149                <xs:enumeration value="url"/>
150              </xs:restriction>
151            </xs:simpleType>
152          </xs:attribute>
153          <xs:attribute name="access_method" type="xs:string"/>
154        </xs:extension>
155      </xs:simpleContent>
156    </xs:complexType>
157  </xs:element>
158  <xs:element name="object_format">
159    <xs:simpleType>
160      <xs:restriction base="xs:token">
161        <xs:enumeration value="perfSONAR"/>
162        <xs:enumeration value="OML"/>
163        <xs:enumeration value="GUI"/>
164      </xs:restriction>
165    </xs:simpleType>
166  </xs:element>
167  <xs:element name="interpretation_method" type="xs:string"/>
168  <xs:element name="encryption" type="xs:boolean"/>
169  <xs:element name="encryption_method" type="xs:string"/>
170  <!-- holder types -->
171  <xs:attributeGroup name="MDOD_order">
172    <xs:attribute name="order" use="required" type="xs:int"/>
173  </xs:attributeGroup>
174  <xs:attributeGroup name="MDOD_domain">
175    <xs:attribute name="domain" use="required" type="xs:string"/>
176  </xs:attributeGroup>
177  <xs:attributeGroup name="MDOD_subdomain">
178    <xs:attribute name="subdomain" use="required" type="xs:string"/>
179  </xs:attributeGroup>
180  <xs:attributeGroup name="MDOD_service_id">
181    <xs:attribute name="service_id" use="required" type="xs:string"/>
182  </xs:attributeGroup>
183  <xs:attributeGroup name="MDOD_user_id">
184    <xs:attribute name="user_id" use="required" type="xs:string"/>
185  </xs:attributeGroup>
186  <xs:element name="contact">
187    <xs:complexType>
188      <xs:simpleContent>
189        <xs:extension base="xs:string">
190          <xs:attribute name="type" type="xs:string"/>
191        </xs:extension>
192      </xs:simpleContent>
193    </xs:complexType>
194  </xs:element>
195  <xs:element name="collection">
196    <xs:simpleType>
197      <xs:restriction base="xs:token">
198        <xs:enumeration value="yes"/>
199        <xs:enumeration value="inherited"/>
200      </xs:restriction>
201    </xs:simpleType>
202  </xs:element>
203  <xs:element name="collection_policy" type="xs:string"/>
204  <xs:element name="anonymization">
205    <xs:simpleType>
206      <xs:restriction base="xs:token">
207        <xs:enumeration value="yes"/>
208        <xs:enumeration value="no"/>
209        <xs:enumeration value="inherited"/>
210      </xs:restriction>
211    </xs:simpleType>
212  </xs:element>
213  <xs:element name="anonymization_method" type="xs:string"/>
214  <xs:element name="sharing">
215    <xs:simpleType>
216      <xs:restriction base="xs:token">
217        <xs:enumeration value="yes"/>
218        <xs:enumeration value="no"/>
219        <xs:enumeration value="inherited"/>
220      </xs:restriction>
221    </xs:simpleType>
222  </xs:element>
223  <xs:element name="sharing_policy" type="xs:string"/>
224  <xs:element name="disposal">
225    <xs:simpleType>
226      <xs:restriction base="xs:token">
227        <xs:enumeration value="yes"/>
228        <xs:enumeration value="no"/>
229        <xs:enumeration value="inherited"/>
230      </xs:restriction>
231    </xs:simpleType>
232  </xs:element>
233  <xs:element name="disposal_policy" type="xs:string"/>
234  <xs:element name="transaction">
235    <xs:complexType>
236      <xs:choice minOccurs="0" maxOccurs="unbounded">
237        <xs:element ref="im:duration"/>
238        <xs:element ref="im:annotation"/>
239      </xs:choice>
240      <xs:attributeGroup ref="im:MDOD_id"/>
241      <xs:attributeGroup ref="im:MDOD_type"/>
242      <xs:attribute name="info" use="required" type="xs:string"/>
243    </xs:complexType>
244  </xs:element>
245</xs:schema>