218
|
1 <?xml version="1.0" encoding="UTF-8"?>
|
219
|
2 <schema targetNamespace="http://implab.org/schemas/resources" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://implab.org/schemas/resources">
|
218
|
3 <element name="resources">
|
|
4 <complexType>
|
|
5 <sequence>
|
|
6 <element name="root" type="tns:restResource"></element>
|
219
|
7 <element name="typeMap" minOccurs="0">
|
218
|
8 <complexType>
|
|
9 <sequence>
|
219
|
10 <element name="item" maxOccurs="unbounded">
|
218
|
11 <complexType>
|
|
12 <complexContent>
|
|
13 <extension
|
|
14 base="tns:restResource">
|
|
15 <sequence></sequence>
|
|
16 <attribute
|
|
17 name="type" type="string">
|
|
18 </attribute>
|
|
19 </extension>
|
|
20 </complexContent>
|
|
21 </complexType></element>
|
|
22 </sequence>
|
|
23 </complexType></element>
|
|
24 </sequence>
|
|
25 </complexType>
|
|
26 </element>
|
|
27
|
219
|
28 <!-- abstract types -->
|
|
29 <complexType name="abstractBinding" abstract="true"/>
|
|
30 <complexType name="abstractTransformation" abstract="true" />
|
|
31 <complexType name="abstractResult" abstract="true" />
|
|
32
|
218
|
33 <complexType name="restResource">
|
|
34 <sequence>
|
|
35 <element name="get" type="tns:restOperation" minOccurs="0">
|
|
36 </element>
|
|
37 <element name="post" type="tns:restOperation" minOccurs="0">
|
|
38 </element>
|
|
39 <element name="put" type="tns:restOperation" minOccurs="0">
|
|
40 </element>
|
|
41 <element name="delete" type="tns:restOperation" minOccurs="0">
|
|
42 </element>
|
|
43 <element name="resource" type="string" maxOccurs="unbounded" minOccurs="0"></element>
|
|
44 </sequence>
|
|
45 </complexType>
|
|
46
|
|
47 <complexType name="restOperation">
|
|
48 <sequence>
|
219
|
49 <element ref="tns:abstractBinding"/>
|
218
|
50 <element name="parameters" type="string"></element>
|
219
|
51 <element ref="tns:abstractResult"/>
|
218
|
52 </sequence>
|
|
53 </complexType>
|
219
|
54
|
|
55 <complexType name="methodBinding" >
|
|
56 <complexContent>
|
|
57 <extension base="tns:abstractBinding">
|
|
58 <attribute name="target" type="string" />
|
|
59 <attribute name="invoke" type="string" use="required" />
|
|
60 </extension>
|
|
61 </complexContent>
|
|
62 </complexType>
|
|
63
|
|
64 <complexType name="transformation">
|
|
65 <attribute name="class" type="string" />
|
|
66 </complexType>
|
|
67
|
|
68 <complexType name="resourceLocator">
|
|
69 <sequence>
|
|
70 <element ref="tns:abstractBinding" />
|
|
71 <element name="template" type="string" />
|
|
72 </sequence>
|
|
73 </complexType>
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78 <!-- substitutions -->
|
|
79
|
|
80 <!-- abstract -->
|
|
81 <element name="abstractBinding" type="tns:abstractBinding" abstract="true"/>
|
|
82 <element name="abstractTransfomation" type="tns:abstractTransformation" />
|
|
83 <element name="abstractResult" type="tns:abstractResult" abstract="true" />
|
|
84
|
|
85 <!-- specific -->
|
|
86
|
|
87 <!-- bindings -->
|
|
88 <element name="bind" type="tns:methodBinding" substitutionGroup="tns:abstractBinding"/>
|
|
89
|
|
90 <!-- transformation -->
|
|
91
|
|
92 <!-- result handlers -->
|
|
93 <simpleType name="redirectCodes">
|
|
94 <restriction base="string">
|
|
95 <enumeration value="moved-permanently"/>
|
|
96 <enumeration value="temporary-redirect"/>
|
|
97 <enumeration value="see-other"/>
|
|
98 </restriction>
|
|
99 </simpleType>
|
|
100
|
|
101 <complexType name="redirectResult">
|
|
102 <complexContent>
|
|
103 <extension base="tns:abstractResult">
|
|
104 <sequence>
|
|
105 <element name="locator" type="tns:resourceLocator" />
|
|
106 <element name="status" type="tns:redirectCodes" minOccurs="0"/>
|
|
107 </sequence>
|
|
108 </extension>
|
|
109 </complexContent>
|
|
110 </complexType>
|
|
111
|
|
112 <element name="redirect" type="tns:redirectResult" substitutionGroup="tns:abstractResult" />
|
|
113
|
218
|
114 </schema> |