-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathipca-configuration-v1.xsd
150 lines (150 loc) · 6.17 KB
/
ipca-configuration-v1.xsd
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ipca="urn:ipca-configuration-v1"
targetNamespace="urn:ipca-configuration-v1" elementFormDefault="qualified">
<xs:element name="configuration">
<xs:annotation>
<xs:documentation>root element for configuring the IpcAdapter</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="param-lists">
<xs:annotation>
<xs:documentation>optional shared parameter lists</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="param-list" type="ipca:configurableType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="components">
<xs:annotation>
<xs:documentation>mandatory list of all components to create and configure</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="component" type="ipca:componentType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pipelines">
<xs:annotation>
<xs:documentation>mandatory list of pipelines to configure</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="pipeline">
<xs:annotation>
<xs:documentation>a pipeline to setup</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="source" type="ipca:referenceType">
<xs:annotation>
<xs:documentation>a source reference</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="converter"
type="ipca:referenceType">
<xs:annotation>
<xs:documentation>a converter reference</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" name="sink" type="ipca:referenceType">
<xs:annotation>
<xs:documentation>a sink reference</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>unique identification of the pipeline</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="version" use="required">
<xs:annotation>
<xs:documentation>Version of the configuration schema in use.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:complexType name="configurableType">
<xs:annotation>
<xs:documentation>configurable component in the IpcAdapter</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:sequence maxOccurs="unbounded">
<xs:element maxOccurs="unbounded" minOccurs="0" name="param">
<xs:annotation>
<xs:documentation>parameter given to the component when configuring</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="key" use="required">
<xs:annotation>
<xs:documentation>configuration parameter id to set</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>configuration value to set</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="param-list" type="ipca:referenceType">
<xs:annotation>
<xs:documentation>a reference to a named parameter-list in the runtime</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:attribute name="id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>ID used for referencing this instance of the component.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="referenceType">
<xs:annotation>
<xs:documentation>a reference to a named runtime element</xs:documentation>
</xs:annotation>
<xs:attribute name="ref" use="required" type="xs:IDREF">
<xs:annotation>
<xs:documentation>component to reference</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="componentType">
<xs:complexContent>
<xs:extension base="ipca:configurableType">
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="AmqpExchangeSink"/>
<xs:enumeration value="ReverseBytesConverter"/>
<xs:enumeration value="UdpSink"/>
<xs:enumeration value="UdpSource"/>
<xs:enumeration value="XmlToMetaDataConverter"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>