summaryrefslogtreecommitdiff
path: root/src/main/resources/boot/OD/ModuleProperties.xsd
blob: b79f49de71bacbe6b6b50cf7011ca26ab9fac4ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="ModuleProperties">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Info">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Description" type="xs:string" />
							<xs:element name="Version" type="xs:string" />
							<xs:element name="Dependency" type="xs:string"
								minOccurs="0" maxOccurs="unbounded" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="ResourceURL" type="xs:string"
					minOccurs="0" />
				<xs:element name="Config" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Configuration parameters to add to the Cristal
							VM on launch. May target either client or server processes.
						</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="name" type="xs:string" use="required" />
								<xs:attribute ref="target" />
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="Script" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute ref="event" />
								<xs:attribute ref="target" />
								<xs:attribute name="lang" type="xs:string" />
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="required" />
			<xs:attribute name="ns" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>Prefix for module components</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:attribute name="target">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="client" />
				<xs:enumeration value="server" />
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
	<xs:attribute name="event">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="startup" />
				<xs:enumeration value="shutdown" />
				<xs:enumeration value="install" />
				<xs:enumeration value="uninstall" />
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
</xs:schema>