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 5: 7cbdab4f5d93
parent 4: 12a7abe003c1
branch: default
First attempt to unify intents.
Simon Hirscher / codethief
11 months ago

Changed (Δ8.4 KB):

raw changeset »

docs/intents.txt (1 lines added, 1 lines removed)

protocol/client-server.xsd

protocol/client.xsd (59 lines added, 0 lines removed)

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

protocol/intents/client.xsd (49 lines added, 0 lines removed)

protocol/intents/peer.xsd (49 lines added, 0 lines removed)

protocol/intents/server.xsd (6 lines added, 0 lines removed)

protocol/intents/service.xsd (6 lines added, 0 lines removed)

protocol/peer.xsd (6 lines added, 0 lines removed)

protocol/service.xsd (6 lines added, 0 lines removed)

protocol/stream.xsd (97 lines added, 0 lines removed)

Up to file-list docs/intents.txt:

@@ -11,4 +11,4 @@ 1.
11
11
12
12
2.
13
13
	- <stream> enthält beliebige Elemente des Namespaces 
14
	  http://codeartists.org/virtualme/protocol/1.0/intents
14
	  http://codeartists.org/virtualme/protocol/1.0/intents/[client|peer|service]

Up to file-list protocol/client.xsd:

1
<?xml version="1.0" encoding="UTF-8"?>
2
3
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
	xmlns="http://codeartists.org/virtualme/protocol/1.0"
5
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/client"
6
	elementFormDefault="qualified"
7
	xmlns:common="http://codeartists.org/virtualme/protocol/1.0/common">
8
	
9
	
10
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/common"
11
		schemaLocation="common.xsd"/>
12
	
13
	
14
	<xs:element name="register">
15
		<xs:complexType>
16
			<xs:sequence>
17
				<xs:element ref="common:user"/>
18
				<xs:element name="password" type="xs:string" minOccurs="1" maxOccurs="1"/>
19
				<xs:element name="public-key" type="xs:string" minOccurs="0" maxOccurs="1"/>
20
			</xs:sequence>
21
		</xs:complexType>
22
	</xs:element>
23
24
	<xs:element name="authenticate">
25
		<xs:complexType>
26
			<xs:sequence>
27
28
				<xs:element ref="common:user"/>
29
30
				<xs:choice>
31
					<xs:element name="password" type="xs:string"/>
32
					<xs:element name="key-encrypted">
33
						<xs:complexType>
34
							<xs:simpleContent>
35
								<xs:extension base="xs:string">
36
									<xs:attribute name="plain-value" type="xs:string" use="optional"/>
37
								</xs:extension>
38
							</xs:simpleContent>
39
						</xs:complexType>
40
					</xs:element>
41
				</xs:choice>
42
43
			</xs:sequence>
44
		</xs:complexType>
45
	</xs:element>
46
47
48
	<xs:element name="intent">
49
		<xs:complexType>
50
			<xs:sequence>
51
				<xs:any minOccurs="0" maxOccurs="unbounded" namespace="http://codeartists.org/virtualme/protocol/1.0/intents"/>
52
			</xs:sequence>
53
54
			<xs:attribute name="id" type="xs:string" use="required"/>
55
			<xs:attribute name="name" type="xs:string" use="required"/>
56
		</xs:complexType>
57
	</xs:element>
58
	
59
</xs:schema>

Up to file-list protocol/common.xsd:

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/common"
4
	xmlns="http://codeartists.org/virtualme/protocol/1.0/common">
5
	
6
	
7
	<xs:element name="user">
8
		<xs:complexType>
9
			<xs:attribute name="name" type="xs:string"/>
10
			<xs:attribute name="host" type="xs:string"/>
11
		</xs:complexType>
12
	</xs:element>
13
	
14
	
15
	<xs:simpleType name="version-number">
16
		<xs:restriction base="xs:string">
17
			<xs:pattern value="([0-9]+)(\.([0-9]+))+"/>
18
		</xs:restriction>
19
	</xs:simpleType>
20
</xs:schema>
21

Up to file-list protocol/intents/client.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/client"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/intents/client">
5
	
6
	
7
	<xs:element name="create-contact">
8
	</xs:element>
9
	
10
	<xs:element name="update-contact">
11
	</xs:element>
12
	
13
	<xs:element name="delete-contact">
14
	</xs:element>
15
	
16
	
17
	<xs:element name="create-tag">
18
	</xs:element>
19
	
20
	<xs:element name="update-tag">
21
	</xs:element>
22
	
23
	<xs:element name="delete-tag">
24
	</xs:element>
25
	
26
	
27
	<xs:element name="create-service">
28
	</xs:element>
29
	
30
	<xs:element name="update-service">
31
	</xs:element>
32
	
33
	<xs:element name="delete-service">
34
	</xs:element>
35
	
36
	
37
	<xs:element name="create-record">
38
	</xs:element>
39
	
40
	<xs:element name="update-record">
41
	</xs:element>
42
	
43
	<xs:element name="delete-record">
44
	</xs:element>
45
	
46
	<xs:element name="get-record">
47
	</xs:element>
48
	
49
</xs:schema>

Up to file-list protocol/intents/peer.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/peer"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/intents/peer">
5
	
6
	
7
	<xs:element name="create-contact">
8
	</xs:element>
9
	
10
	<xs:element name="update-contact">
11
	</xs:element>
12
	
13
	<xs:element name="delete-contact">
14
	</xs:element>
15
	
16
	
17
	<xs:element name="create-tag">
18
	</xs:element>
19
	
20
	<xs:element name="update-tag">
21
	</xs:element>
22
	
23
	<xs:element name="delete-tag">
24
	</xs:element>
25
	
26
	
27
	<xs:element name="create-service">
28
	</xs:element>
29
	
30
	<xs:element name="update-service">
31
	</xs:element>
32
	
33
	<xs:element name="delete-service">
34
	</xs:element>
35
	
36
	
37
	<xs:element name="create-record">
38
	</xs:element>
39
	
40
	<xs:element name="update-record">
41
	</xs:element>
42
	
43
	<xs:element name="delete-record">
44
	</xs:element>
45
	
46
	<xs:element name="get-record">
47
	</xs:element>
48
	
49
</xs:schema>

Up to file-list protocol/intents/server.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/server"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/intents/server">
5
6
</xs:schema>

Up to file-list protocol/intents/service.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/service"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/intents/service">
5
6
</xs:schema>

Up to file-list protocol/peer.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/peer"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/peer">
5
6
</xs:schema>

Up to file-list protocol/service.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/service"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/service">
5
6
</xs:schema>

Up to file-list protocol/stream.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/stream"
4
	targetNamespace="http://codeartists.org/virtualme/protocol/1.0/stream"
5
	elementFormDefault="qualified"
6
	xmlns:common="http://codeartists.org/virtualme/protocol/1.0/common"
7
	xmlns:client="http://codeartists.org/virtualme/protocol/1.0/client">
8
	
9
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/common" 
10
		schemaLocation="common.xsd" />
11
		<!-- http://codeartists.org/virtualme/schema/1.0/common -->
12
	
13
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/client"
14
		schemaLocation="client.xsd" />
15
	<!-- http://codeartists.org/virtualme/schema/1.0/client.xsd -->
16
	
17
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/peer"
18
		schemaLocation="peer.xsd" />
19
		<!-- http://codeartists.org/virtualme/schema/1.0/peer.xsd -->
20
	
21
	<xs:import namespace="http://codeartists.org/virtualme/protocol/1.0/service"
22
		schemaLocation="service.xsd" />
23
		<!-- http://codeartists.org/virtualme/schema/1.0/service.xsd -->
24
	
25
	
26
	<xs:element name="stream">
27
		
28
		<xs:complexType>
29
			<xs:sequence>
30
				<xs:element ref="hello" minOccurs="1" maxOccurs="1"/>
31
				
32
				<xs:choice>
33
					<!-- Client (= client communicating with a server)-->
34
					<xs:sequence>
35
						<xs:choice>
36
							<xs:sequence>
37
								<xs:element ref="client:register"/>
38
								<xs:element ref="client:authenticate" minOccurs="0" maxOccurs="unbounded"/>
39
							</xs:sequence>
40
							<xs:element ref="client:authenticate" minOccurs="1" maxOccurs="unbounded"/>
41
						</xs:choice>
42
						
43
						<xs:any namespace="http://codeartists.org/virtualme/protocol/1.0/intents/client" minOccurs="0" maxOccurs="unbounded" />
44
					</xs:sequence>
45
					
46
					<!-- Server (= server communicating with a client) -->
47
					<xs:sequence>
48
						<xs:any namespace="http://codeartists.org/virtualme/protocol/1.0/intents/server" minOccurs="0" maxOccurs="unbounded" />
49
					</xs:sequence>
50
					
51
					<!-- Peer (= server communicating with a peer) -->
52
					<xs:sequence>
53
						<xs:any namespace="http://codeartists.org/virtualme/protocol/1.0/intents/peer" minOccurs="0" maxOccurs="unbounded" />
54
					</xs:sequence>
55
					
56
					<!-- Service (= service communicating with a server) -->
57
					<xs:sequence>
58
						<xs:any namespace="http://codeartists.org/virtualme/protocol/1.0/intents/service" minOccurs="0" maxOccurs="unbounded" />
59
					</xs:sequence>
60
				</xs:choice>
61
				
62
			</xs:sequence>
63
			
64
			<xs:attribute name="protocol-version" type="common:version-number" use="required"/>
65
		</xs:complexType>
66
	</xs:element>
67
	
68
	<xs:element name="hello">
69
		<xs:complexType>
70
			<xs:sequence>
71
				
72
				<xs:element name="software">
73
					<xs:complexType>
74
						<xs:attribute name="name" type="xs:string" use="required"/>
75
						<xs:attribute name="version" type="common:version-number"/>
76
						<xs:attribute name="release" type="xs:string"/>
77
					</xs:complexType>
78
				</xs:element>
79
				
80
				<xs:element name="features">
81
					<xs:complexType>
82
						<xs:sequence>
83
							
84
							<xs:element name="feature" minOccurs="0" maxOccurs="unbounded">
85
								<xs:complexType>
86
									<xs:attribute name="name" type="xs:string" use="required"/>
87
								</xs:complexType>
88
							</xs:element>
89
							
90
						</xs:sequence>
91
					</xs:complexType>
92
				</xs:element>
93
				
94
			</xs:sequence>
95
		</xs:complexType>
96
	</xs:element>
97
</xs:schema>