codethief / virtualme (http://codeartists.org/)

No description has been added.

Clone this repository (size: 36.9 KB): HTTPS / SSH
$ hg clone http://bitbucket.org/codethief/virtualme/
commit 8: 7a5ec1df601d
parent 7: fbdcae1cf557
branch: default
tags: tip
Worked on server intents.
Simon Hirscher / codethief
10 months ago

Changed (Δ3.3 KB):

raw changeset »

protocol/common.xsd (24 lines added, 0 lines removed)

protocol/intents/client.xsd (17 lines added, 48 lines removed)

protocol/intents/error.xsd (10 lines added, 0 lines removed)

protocol/intents/server.xsd (68 lines added, 2 lines removed)

Up to file-list protocol/common.xsd:

59
59
		</xs:restriction>
60
60
	</xs:simpleType>
61
61
	
62
	
63
	<xs:element name="tag">
64
		<xs:complexType>
65
			<xs:attribute name="name" type="xs:string" use="required"/>
66
		</xs:complexType>
67
	</xs:element>
68
	
69
	<xs:complexType name="tag-list">
70
		<xs:sequence>
71
			<!-- !!! minOccurs="0" doesn't fit for all cases (get-record, delete-record) -->
72
			<xs:element ref="tag" minOccurs="0" maxOccurs="unbounded"/>
73
		</xs:sequence>
74
	</xs:complexType>
75
	
76
	
77
	<xs:complexType name="message-content">
78
		<xs:simpleContent>
79
			<xs:extension base="xs:string">
80
				<xs:attribute name="mime" type="common:mime"/>
81
				<xs:attribute name="encoding" type="common:encoding"/>
82
			</xs:extension>
83
		</xs:simpleContent>
84
	</xs:complexType>
85
	
62
86
</xs:schema>
63
87

Up to file-list protocol/intents/client.xsd:

8
8
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/common"
9
9
		schemaLocation="../common.xsd"/>
10
10
	
11
	
11
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/intents/error"
12
		schemaLocation="error.xsd"/>
12
13
	
13
14
	
14
15
	<!-- NO INTENTS BEGIN -->
15
16
	
16
	<xs:complexType name="tag-list">
17
		<xs:sequence>
18
			<xs:element ref="tag" minOccurs="1" maxOccurs="unbounded"/>
19
		</xs:sequence>
20
	</xs:complexType>
21
	
22
	<xs:element name="tag">
23
		<xs:complexType>
24
			<xs:attribute name="name" type="xs:string" use="required"/>
25
		</xs:complexType>
26
	</xs:element>
27
	
28
17
	<xs:complexType name="update-tag-list">
29
18
		<xs:sequence>
30
19
			<xs:choice>
31
20
				<xs:element name="remove-all"/>
32
				<xs:element name="remove" type="tag-list"/>
21
				<xs:element name="remove" type="common:tag-list"/>
33
22
			</xs:choice>
34
23
			
35
			<xs:element name="add" type="tag-list" minOccurs="0" maxOccurs="1"/>
24
			<xs:element name="add" type="common:tag-list" minOccurs="0" maxOccurs="1"/>
36
25
		</xs:sequence>
37
26
	</xs:complexType>
38
27
	
49
38
						<xs:element name="id" type="common:user"/>
50
39
						<xs:element name="nickname" type="xs:string" minOccurs="0"/>
51
40
						
52
						<xs:element name="tags" type="tag-list" minOccurs="0"/>
41
						<xs:element name="tags" type="common:tag-list" minOccurs="0"/>
53
42
					</xs:sequence>
54
43
				</xs:extension>
55
44
			</xs:complexContent>
116
105
				<xs:extension base="common:intent">
117
106
					<xs:sequence>
118
107
						
119
						<xs:element ref="tag" />
120
						<xs:element name="children" type="tag-list"/>
108
						<xs:element ref="common:tag" />
109
						<xs:element name="children" type="common:tag-list"/>
121
110
						<xs:element ref="publish"/>
122
111
						
123
112
					</xs:sequence>
132
121
				<xs:extension base="common:intent">
133
122
					<xs:sequence>
134
123
						
135
						<xs:element ref="tag" />
124
						<xs:element ref="common:tag" />
136
125
						<xs:element name="children" type="update-tag-list" minOccurs="0"/>
137
126
						<xs:element ref="publish"/>
138
127
						
148
137
				<xs:extension base="common:intent">
149
138
					<xs:sequence>
150
139
						
151
						<xs:element name="tags" type="tag-list" />
140
						<xs:element name="tags" type="common:tag-list" />
152
141
						
153
142
					</xs:sequence>
154
143
				</xs:extension>
189
178
							<xs:complexType>
190
179
								<xs:sequence>
191
180
									<xs:any/>
181
									<xs:element name="tags" type="common:tag-list" minOccurs="0"/>
192
182
								</xs:sequence>
193
183
								<xs:attribute name="name" type="xs:string"/>
194
184
							</xs:complexType>
195
185
						</xs:element>
196
186
						
197
						<xs:element name="tags" type="tag-list" minOccurs="0"/>
198
						
199
187
					</xs:sequence>
200
188
				</xs:extension>
201
189
			</xs:complexContent>
212
200
							<xs:complexType>
213
201
								<xs:sequence>
214
202
									<xs:any/>
203
									<xs:element name="tags" type="update-tag-list" minOccurs="0"/>
215
204
								</xs:sequence>
216
205
								
217
								<xs:attribute name="id" use="required" type="common:id"/>
206
								<xs:attribute name="id" type="common:id" use="required"/>
218
207
							</xs:complexType>
219
208
						</xs:element>
220
209
						
221
						
222
						<xs:element name="tags" type="update-tag-list"/>
223
						
224
210
					</xs:sequence>
225
211
				</xs:extension>
226
212
			</xs:complexContent>
253
239
		<xs:complexContent>
254
240
			<xs:extension base="common:intent">
255
241
				<xs:choice>
256
					<xs:element name="records" minOccurs="1">
242
					<xs:element name="record" maxOccurs="unbounded">
257
243
						<xs:complexType>
258
							<xs:sequence>
259
								
260
								<xs:element name="record" minOccurs="1" maxOccurs="unbounded">
261
									<xs:complexType>
262
										<xs:attribute name="id" use="required" type="common:id"/>
263
									</xs:complexType>									
264
								</xs:element>
265
								
266
							</xs:sequence>
267
						</xs:complexType>
244
							<xs:attribute name="id" type="common:id" use="required"/>
245
						</xs:complexType>									
268
246
					</xs:element>
269
247
					
270
					<xs:element name="tags" type="tag-list" minOccurs="1"/>
248
					<xs:element name="tags" type="common:tag-list"/>
271
249
				</xs:choice>
272
250
			</xs:extension>
273
251
		</xs:complexContent>
284
262
			<xs:sequence>
285
263
				<xs:element name="to" type="common:user"/>
286
264
				
287
				<xs:element name="message">
288
					<xs:complexType>
289
						<xs:simpleContent>
290
							<xs:extension base="xs:string">
291
								<xs:attribute name="mime" type="common:mime"/>
292
								<xs:attribute name="encoding" type="common:encoding"/>
293
							</xs:extension>
294
						</xs:simpleContent>
295
					</xs:complexType>
296
				</xs:element>
265
				<xs:element name="content" type="common:message-content"/>
297
266
			</xs:sequence>
298
267
		</xs:complexType>
299
268
	</xs:element>

Up to file-list protocol/intents/error.xsd:

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
	xmlns="http://codeartists.org/virtualme/protocol/1.0/intents/error"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/intents/error">
5
	
6
	<xs:element name="unsupported-protocol-version" type="xs:string"/>
7
	<xs:element name="xml-error" type="xs:string"/>
8
	<xs:element name="bad-request" type="xs:string"/>
9
	
10
</xs:schema>

Up to file-list protocol/intents/server.xsd:

1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
3
	xmlns="http://codeartists.org/virtualme/protocol/1.0/intents/server"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/intents/server">
5
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/intents/server"
5
	xmlns:common="http://codeartists.org/virtualme/protocol/1.0/common">
6
	
7
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/common"
8
		schemaLocation="../common.xsd"/>
9
	
10
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/intents/error"
11
		schemaLocation="error.xsd"/>
12
	
13
	
14
	<xs:element name="acknowledged" type="common:intent"/>
15
	<xs:element name="success" type="common:intent"/>
16
	<xs:element name="error" type="common:intent"/>
17
	
18
	<xs:element name="records">
19
		<xs:complexType>
20
			<xs:complexContent>
21
				<xs:extension base="common:intent">
22
					<xs:sequence>
23
						
24
						<xs:element name="record" minOccurs="0" maxOccurs="unbounded">
25
							<xs:complexType>
26
								
27
								<xs:sequence>
28
									<xs:any />
29
									<xs:element name="tags" type="common:tag-list" />
30
								</xs:sequence>
31
								
32
								<xs:attribute name="id" type="common:id" />
33
								
34
							</xs:complexType>
35
						</xs:element>
36
						
37
					</xs:sequence>
38
				</xs:extension>
39
			</xs:complexContent>
40
		</xs:complexType>
41
	</xs:element>
42
	
43
	<xs:element name="message">
44
		<xs:complexType>
45
			<xs:complexContent>
46
				<xs:extension base="common:intent">
47
					<xs:sequence>
48
						
49
						<xs:element name="from" type="common:user"/>
50
						<xs:element name="content" type="common:message-content"/>
51
						
52
					</xs:sequence>
53
				</xs:extension>
54
			</xs:complexContent>
55
			
56
		</xs:complexType>
57
	</xs:element>
58
	
59
	<xs:element name="contact-online">
60
		<xs:complexType>
61
			<xs:complexContent>
62
				<xs:extension base="common:intent">
63
					<xs:sequence>
64
						
65
						<xs:element name="user" type="common:user" />
66
						
67
					</xs:sequence>
68
				</xs:extension>
69
			</xs:complexContent>
70
		</xs:complexType>	
71
	</xs:element>
6
72
</xs:schema>