1<?xml version="1.0" encoding="UTF-8"?>
2<!-- CHART Activity algorithm specification files -->
3<element name="activity" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4 <interleave>
5 <attribute name="xsi:noNamespaceSchemaLocation">
6 <value>http://chart/schemas/activity.xsd</value>
7 </attribute>
8 <element name="description">
9 <a:documentation>Give about one sentance describing what this activity does.</a:documentation>
10 <text/>
11 </element>
12 <optional>
13 <element name="url">
14 <a:documentation>Link to a web page giving more information.</a:documentation>
15 <text/>
16 </element>
17 </optional>
18 <zeroOrMore>
19 <element name="event">
20 <a:documentation>List all events this activity can raise.</a:documentation>
21 <text/>
22 </element>
23 </zeroOrMore>
24 <element name="class">
25 <a:documentation>General purpose processing algorithm or a report generator.</a:documentation>
26 <choice>
27 <value>algorithm</value>
28 <value>report</value>
29 </choice>
30 </element>
31 <optional>
32 <element name="test">
33 <a:documentation>Name of an executable to test this activity.</a:documentation>
34 <text/>
35 </element>
36 </optional>
37 <optional>
38 <element name="executable">
39 <a:documentation>For a processing algorithm name the executable file.</a:documentation>
40 <text/>
41 </element>
42 </optional>
43 <optional>
44 <element name="template">
45 <a:documentation>For a report activity name the report template XML file inside
46settings.REPORT_TEMPLATE_DIR.</a:documentation>
47 <text/>
48 </element>
49 </optional>
50 <optional>
51 <element name="weight">
52 <a:documentation>Allow heavy-weight activities to be restricted to workers with more resources</a:documentation>
53 <data type="float"/>
54 </element>
55 </optional>
56 <optional>
57 <element name="priority">
58 <a:documentation>Allows workers to target some activities first</a:documentation>
59 <data type="float"/>
60 </element>
61 </optional>
62 <element name="calling-convention">
63 <a:documentation>State which parameters the algorithm needs to be called with</a:documentation>
64 <choice>
65 <value>none</value>
66 <value>timerange</value>
67 <value>sid+timerange</value>
68 <value>filename</value>
69 <value>sid+hourly</value>
70 <value>sid+timerange+table</value>
71 </choice>
72 </element>
73 <zeroOrMore>
74 <element name="trigger">
75 <a:documentation>Tell the worker this activity should be called automatically after certain tables are written to</a:documentation>
76 <interleave>
77 <optional>
78 <element name="with-stats">
79 <data type="boolean"/>
80 </element>
81 </optional>
82 <optional>
83 <element name="type">
84 <choice>
85 <value>orbital</value>
86 <value>daily</value>
87 <value>hourly</value>
88 <value>threedaily</value>
89 <value>20min</value>
90 </choice>
91 </element>
92 </optional>
93 <optional>
94 <element name="table">
95 <text/>
96 </element>
97 </optional>
98 <optional>
99 <element name="latency">
100 <data type="duration"/>
101 </element>
102 </optional>
103 </interleave>
104 </element>
105 </zeroOrMore>
106 <zeroOrMore>
107 <element name="output-table">
108 <a:documentation>Declare all output tables we can write to.</a:documentation>
109 <text/>
110 </element>
111 </zeroOrMore>
112 <zeroOrMore>
113 <element name="group">
114 <a:documentation>This is purely cosmetic. Tell the report viewer to group together all reports with the
115same <group> value.</a:documentation>
116 <text/>
117 </element>
118 </zeroOrMore>
119 <zeroOrMore>
120 <element name="sid">
121 <a:documentation>Enable only for SIDs</a:documentation>
122 <text/>
123 </element>
124 </zeroOrMore>
125 <zeroOrMore>
126 <element name="related">
127 <a:documentation>When viewing a report in the report viewer the user can pull down a list of other
128reports to switch to. If the activity has <related> reports these are shown at the top.</a:documentation>
129 <zeroOrMore>
130 <element name="report">
131 <text/>
132 </element>
133 </zeroOrMore>
134 </element>
135 </zeroOrMore>
136 <optional>
137 <element name="weight">
138 <data type="integer"/>
139 </element>
140 </optional>
141 <optional>
142 <element name="priority">
143 <data type="integer"/>
144 </element>
145 </optional>
146 <optional>
147 <element name="configuration">
148 <oneOrMore>
149 <element name="parameter">
150 <interleave>
151 <element name="name">
152 <text/>
153 </element>
154 <element name="description">
155 <text/>
156 </element>
157 <element name="datatype">
158 <value>path</value>
159 </element>
160 <element name="value">
161 <text/>
162 </element>
163 </interleave>
164 </element>
165 </oneOrMore>
166 </element>
167 </optional>
168 </interleave>
169</element>