Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.

Name: wlengine.xml 
1:
<description xmlns="http://riddl.org/ns/description/1.0" xmlns:ann="http://riddl.org/ns/annotation/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2:
  <message name="activityhappens"> <!--{{{-->
3:
    <parameter name="orgmodel" type="string"/>
4:
    <parameter name="domain" type="string"/>
5:
    <parameter name="form" type="string"/>
6:
    <choice>
7:
      <parameter name="unit" type="string"/>
8:
      <parameter name="role" type="string"/>
9:
      <group>
10:
        <parameter name="unit" type="string"/>
11:
        <parameter name="role" type="string"/>
12:
      </group>
13:
    </choice>  
14:
    <zeroOrMore>
15:
      <parameter name="*" type="string"/>
16:
    </zeroOrMore>
17:
  </message> <!--}}}-->
18:
 
19:
  <message name="uid">
20:
    <parameter name="userid" type="string"/>
21:
  </message>
22:
  <message name="take">
23:
    <parameter name="operation" fixed="take"/>
24:
  </message>
25:
  <message name="giveback">
26:
    <parameter name="operation" fixed="giveback"/>
27:
  </message>
28:
 
29:
  <message name="domains">
30:
    <parameter name="domains" mimetype="text/xml" handler="http://riddl.org/ns/handlers/relaxng">
31:
      <element name="domains" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0">
32:
        <zeroOrMore>
33:
          <element name="domain">
34:
            <attribute name="name">
35:
              <data type="string"/>
36:
            </attribute>  
37:
          </element>  
38:
        </zeroOrMore>  
39:
      </element>
40:
    </parameter>            
41:
  </message>
42:
  <message name="domain_tasks">
43:
    <parameter name="domain_tasks" mimetype="text/xml" handler="http://riddl.org/ns/handlers/relaxng">
44:
      <element name="tasks" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0">
45:
        <zeroOrMore>
46:
          <element name="task">
47:
            <attribute name="callback_id">
48:
              <data type="string"/>
49:
            </attribute>
50:
            <attribute name="cpee_callback">
51:
              <data type="string"/>
52:
            </attribute>
53:
            <attribute name="cpee_instance">
54:
              <data type="string"/>
55:
            </attribute>
56:
            <attribute name="cpee_base">
57:
              <data type="string"/>
58:
            </attribute>
59:
            <attribute name="cpee_label">
60:
              <data type="string"/>
61:
            </attribute>
62:
            <attribute name="cpee_activity">
63:
              <data type="string"/>
64:
            </attribute>
65:
            <element name="label">
66:
                  <data type="string"/>
67:
            </element>
68:
            <element name="role">
69:
                  <data type="string"/>
70:
            </element>
71:
            <element name="unit">
72:
                  <data type="string"/>
73:
            </element>
74:
            <oneOrMore>
75:
              <element name="user">
76:
                    <attribute name="uid">
77:
                      <data type="string"/>
78:
                    </attribute>  
79:
                    <data type="string"/>
80:
              </element>
81:
            </oneOrMore>
82:
          </element>
83:
        </zeroOrMore>  
84:
      </element>
85:
    </parameter>            
86:
  </message>
87:
  <message name="xml">
88:
    <parameter name="return" mimetype="text/xml"/>
89:
  </message>
90:
  <message name="json">
91:
    <parameter name="data" mimetype="application/json"/>
92:
  </message>
93:
  <message name="callbacks">
94:
    <parameter name="info" mimetype="text/xml" handler="http://riddl.org/ns/handlers/relaxng">
95:
      <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
96:
        <start>
97:
          <element name="callbacks">
98:
            <attribute name="details">
99:
              <choice>
100:
                <value>debug</value>
101:
                <value>production</value>
102:
              </choice>  
103:
            </attribute>
104:
            <zeroOrMore>
105:
              <ref name="callback"/>
106:
            </zeroOrMore>  
107:
          </element>
108:
        </start>
109:
 
110:
        <define name="callback">
111:
          <element name='callback'>
112:
            <attribute name='id'>
113:
              <data type="string"/>
114:
            </attribute>
115:
            <data type="string"/>
116:
          </element>
117:
        </define>  
118:
 
119:
      </grammar>
120:
    </parameter>
121:
  </message>
122:
 
123:
  <resource>
124:
    <get in="*" out="domains"/>
125:
    <post in="activityhappens"/>
126:
    <resource> <!-- domain -->
127:
      <get out="domain_tasks"/>
128:
      <resource relative="orgmodels">
129:
        <get out="xml"/>
130:
      </resource>
131:
      <resource relative="tasks"> <!-- all tasks in domain -->
132:
        <resource> <!-- task -->
133:
          <delete/>
134:
          <put in="uid"/>
135:
        </resource>
136:
      </resource>
137:
      <resource relative="callbacks">
138:
        <get in="*" out="callbacks"/>
139:
        <resource>
140:
          <put in="*"/>
141:
        </resource>
142:
      </resource>
143:
      <resource> <!-- user -->
144:
        <resource relative="tasks">
145:
          <get out="xml"/>
146:
          <resource> <!-- task -->
147:
            <get out="json"/>
148:
            <put in="take"/>
149:
            <put in="giveback"/>
150:
            <delete/>
151:
          </resource>
152:
        </resource>
153:
      </resource>
154:
    </resource>
155:
  </resource>
156:
</description>