218
|
1 <?xml version="1.0" encoding="UTF-8"?>
|
221
|
2 <schema targetNamespace="http://implab.org/schemas/resources"
|
|
3 elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema"
|
|
4 xmlns:tns="http://implab.org/schemas/resources">
|
|
5 <element name="resources">
|
|
6 <complexType>
|
|
7 <sequence>
|
222
|
8 <element name="root" type="tns:resourceContract" />
|
221
|
9 <element name="typeMap" minOccurs="0">
|
|
10 <complexType>
|
|
11 <sequence>
|
222
|
12 <element name="contract" maxOccurs="unbounded">
|
221
|
13 <complexType>
|
|
14 <complexContent>
|
222
|
15 <extension base="tns:resourceContract">
|
221
|
16 <sequence></sequence>
|
222
|
17 <attribute name="type" type="string" use="required">
|
221
|
18 </attribute>
|
|
19 </extension>
|
|
20 </complexContent>
|
|
21 </complexType>
|
|
22 </element>
|
|
23 </sequence>
|
|
24 </complexType>
|
|
25 </element>
|
|
26 <element name="locators" minOccurs="0">
|
|
27 <complexType>
|
|
28 <sequence>
|
|
29 <element name="locator" maxOccurs="unbounded">
|
|
30 <complexType>
|
|
31 <complexContent>
|
|
32 <extension base="tns:resourceLocator">
|
222
|
33 <attribute name="name" type="string" />
|
221
|
34 </extension>
|
|
35 </complexContent>
|
|
36 </complexType>
|
|
37 </element>
|
|
38 </sequence>
|
|
39 </complexType>
|
|
40 </element>
|
|
41 </sequence>
|
|
42 </complexType>
|
|
43 <keyref name="locator-key-ref" refer="tns:locator-key">
|
|
44 <selector xpath=".//tns:response/tns:locatorRef" />
|
|
45 <field xpath="@ref" />
|
|
46 </keyref>
|
|
47 <key name="locator-key">
|
222
|
48 <selector xpath="tns:locators/tns:locator" />
|
|
49 <field xpath="@name" />
|
|
50 </key>
|
221
|
51 </element>
|
|
52
|
|
53 <!-- abstract types -->
|
|
54 <complexType name="abstractBinding" abstract="true" />
|
|
55 <complexType name="abstractTransformation" abstract="true" />
|
|
56 <complexType name="abstractResult" abstract="true" />
|
|
57
|
222
|
58 <complexType name="resourceContract">
|
221
|
59 <sequence>
|
222
|
60 <group ref="tns:restOperations"></group>
|
|
61 <element name="resource" maxOccurs="unbounded" minOccurs="0">
|
221
|
62 <complexType>
|
222
|
63 <sequence>
|
|
64 <element name="contract" type="tns:resourceContract" />
|
|
65 </sequence>
|
|
66 <attribute name="name" type="string" />
|
221
|
67 </complexType>
|
222
|
68 </element>
|
221
|
69 </sequence>
|
|
70 </complexType>
|
|
71
|
222
|
72 <group name="restOperations">
|
|
73 <sequence>
|
|
74 <element name="get" type="tns:operationContract" minOccurs="0" />
|
|
75 <element name="post" type="tns:operationContract" minOccurs="0" />
|
|
76 <element name="put" type="tns:operationContract" minOccurs="0" />
|
|
77 <element name="delete" type="tns:operationContract"
|
|
78 minOccurs="0" />
|
|
79 </sequence>
|
|
80 </group>
|
|
81
|
|
82 <complexType name="operationContract">
|
221
|
83 <sequence>
|
|
84 <element name="bind" type="tns:methodBinding" />
|
|
85 <element name="parameters" type="tns:transformation"
|
|
86 minOccurs="0" />
|
|
87 <element name="response" type="tns:abstractResult" minOccurs="0" />
|
|
88 </sequence>
|
|
89 </complexType>
|
|
90
|
|
91 <complexType name="methodBinding">
|
|
92 <sequence>
|
|
93 <element name="var" type="tns:bindingVariable" minOccurs="0"
|
|
94 maxOccurs="unbounded" />
|
|
95 </sequence>
|
222
|
96 <attribute name="bind" type="string" use="required" />
|
221
|
97 </complexType>
|
|
98
|
|
99 <complexType name="bindingVariable">
|
|
100 <complexContent>
|
|
101 <extension base="tns:methodBinding">
|
|
102 <attribute name="name" type="string" />
|
|
103 </extension>
|
|
104 </complexContent>
|
|
105 </complexType>
|
|
106
|
|
107
|
|
108 <complexType name="transformation">
|
|
109 <attribute name="class" type="string" />
|
|
110 </complexType>
|
|
111
|
|
112 <complexType name="resourceLocator">
|
|
113 <sequence>
|
|
114 <element name="var" type="tns:bindingVariable" minOccurs="0"
|
|
115 maxOccurs="unbounded" />
|
|
116 <element name="template" type="string" />
|
|
117 </sequence>
|
|
118 </complexType>
|
|
119
|
|
120 <simpleType name="redirectCodes">
|
|
121 <restriction base="string">
|
|
122 <enumeration value="moved-permanently" />
|
|
123 <enumeration value="temporary-redirect" />
|
|
124 <enumeration value="see-other" />
|
|
125 </restriction>
|
|
126 </simpleType>
|
|
127
|
222
|
128 <complexType name="redirectResponse">
|
221
|
129 <complexContent>
|
|
130 <extension base="tns:abstractResult">
|
|
131 <choice>
|
|
132 <element name="locator" type="tns:resourceLocator" />
|
|
133 <element name="locatorRef">
|
|
134 <complexType>
|
|
135 <attribute name="ref" type="string" />
|
|
136 </complexType>
|
|
137 </element>
|
|
138 <element name="status" type="tns:redirectCodes" minOccurs="0" />
|
|
139 </choice>
|
|
140 </extension>
|
|
141 </complexContent>
|
|
142 </complexType>
|
219
|
143
|
218
|
144 </schema> |