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: organisation.rng 
1:
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/organisation/1.0">
2:
  <start>
3:
    <element name="organisation">
4:
      <ref name="units"/>
5:
      <ref name="roles"/>
6:
      <ref name="subjects"/>
7:
     </element>
8:
  </start>
9:
 
10:
  <define name="units">
11:
    <element name='units'>
12:
      <zeroOrMore>
13:
        <element name='unit'>
14:
          <ref name="thing"/>
15:
        </element>
16:
      </zeroOrMore>
17:
    </element>
18:
  </define>
19:
 
20:
  <define name="roles">
21:
    <element name='roles'>
22:
      <zeroOrMore>
23:
        <element name='role'>
24:
          <ref name="thing"/>
25:
        </element>
26:
      </zeroOrMore>
27:
    </element>
28:
  </define>
29:
 
30:
  <define name="thing">
31:
    <attribute name="id">
32:
      <data type="string"/>
33:
    </attribute>
34:
    <zeroOrMore>
35:
      <element name='parent'>
36:
        <data type="string"/>
37:
      </element>
38:
    </zeroOrMore>
39:
    <ref name="permissions"/>
40:
  </define>
41:
 
42:
  <define name="subjects">
43:
    <element name='subjects'>
44:
      <zeroOrMore>
45:
        <ref name="subject"/>
46:
      </zeroOrMore>
47:
    </element>
48:
  </define>
49:
 
50:
  <define name="subject">
51:
    <element name='subject'>
52:
      <attribute name="id">
53:
        <data type="string"/>
54:
      </attribute>
55:
      <optional>
56:
        <attribute name="uid">
57:
          <data type="string"/>
58:
        </attribute>
59:
      </optional>
60:
      <oneOrMore>
61:
        <choice>
62:
          <element name='relation'>
63:
            <attribute name="role">
64:
              <data type="string"/>
65:
            </attribute>
66:
            <attribute name="unit">
67:
              <data type="string"/>
68:
            </attribute>
69:
          </element>
70:
        </choice>
71:
      </oneOrMore>
72:
    </element>
73:
  </define>
74:
 
75:
  <define name="permissions">
76:
    <element name='permissions'>
77:
      <empty/>
78:
    </element>
79:
  </define>
80:
 
81:
</grammar>