summaryrefslogtreecommitdiffstats
path: root/winery/org.eclipse.winery.model.selfservice/src/main/resources/SelfServiceModel.xsd
blob: b95e3e1ce60e2887a8ab2ad3f4c17a364f39b1f7 (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
<?xml version="1.0" encoding="utf-8"?>
<!--
/*******************************************************************************
 * Copyright (c) 2013 University of Stuttgart.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and the Apache License 2.0 which both accompany this distribution,
 * and are available at http://www.eclipse.org/legal/epl-v10.html
 * and http://www.apache.org/licenses/LICENSE-2.0
 *
 * Contributors:
 *    Tobias Binz and Uwe Breitenbücher - initial API and implementation and/or initial documentation
 *******************************************************************************/
-->
<xs:schema xmlns="http://www.eclipse.org/winery/model/selfservice" targetNamespace="http://www.eclipse.org/winery/model/selfservice"
	xmlns:tns="http://www.eclipse.org/winery/model/selfservice" xmlns:xs="http://www.w3.org/2001/XMLSchema"
	elementFormDefault="qualified" attributeFormDefault="unqualified">

	<xs:element name="Application">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="displayName" type="xs:string" />

				<xs:element name="description" type="xs:string" />

				<xs:element name="iconUrl" type="xs:string">
					<xs:annotation>
						<xs:documentation>Absolute or relative (with respect to the SELFSERVICE-Metadata folder root in the CSAR) URL to load the application icon.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="imageUrl" type="xs:string">
					<xs:annotation>
						<xs:documentation>Absolute or relative (with respect to the SELFSERVICE-Metadata folder root in the CSAR) URL to load the application image for the application's offering details.</xs:documentation>
					</xs:annotation>
				</xs:element>

				<xs:element name="options">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="option" type="ApplicationOption" minOccurs="0" maxOccurs="unbounded" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>

			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="ApplicationOption">
		<xs:sequence>
			<xs:element name="description" type="xs:string" />

			<xs:element name="iconUrl" type="xs:anyURI">
				<xs:annotation>
					<xs:documentation>Absolute or relative (with respect to the SELFSERVICE-Metadata folder root in the CSAR) URL to load the application icon.</xs:documentation>
				</xs:annotation>
			</xs:element>

			<xs:element name="planServiceName" type="xs:string" />

			<xs:element name="planInputMessageUrl" type="xs:string">
				<xs:annotation>
					<xs:documentation>Absolute or relative (with respect to the SELFSERVICE-Metadata folder root in the CSAR) URL to load the plan input message to start the build plan.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>

		<xs:attribute name="id" type="xs:string" use="required" />
		<xs:attribute name="name" type="xs:string" use="required" />
	</xs:complexType>
</xs:schema>