summaryrefslogtreecommitdiffstats
path: root/schemas/metadata.xsd
blob: c3cb46b28e9280f0bbde684d33638f8b176bdfa9 (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
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xi="http://www.w3.org/2001/XInclude" xml:lang="en">

  <xsd:annotation>
    <xsd:documentation>
      metadata schema for bcfg2
      Narayan Desai, Argonne National Laboratory
    </xsd:documentation>
  </xsd:annotation>

  <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
              schemaLocation="xml.xsd"/>
  <xsd:import namespace="http://www.w3.org/2001/XInclude"
              schemaLocation="xinclude.xsd"/>

  <xsd:complexType name='bundleDeclaration'>
    <xsd:attribute type='xsd:string' name='name' use='required'/>
  </xsd:complexType>

  <xsd:complexType name='groupType'>
    <xsd:choice minOccurs='0' maxOccurs='unbounded'>
      <xsd:element name='Bundle' type='bundleDeclaration'/>
      <xsd:element name='Group' type='groupType'/>
      <xsd:element name='Client' type='clientType'/>
      <xsd:element name='Groups' type='groupsType'/>
      <xsd:element name='Options' type='optionsType'/>
    </xsd:choice>
    <xsd:attribute type='xsd:string' name='name' use='required'/>
    <xsd:attribute type='xsd:boolean' name='profile'/>
    <xsd:attribute type='xsd:boolean' name='public'/>
    <xsd:attribute type='xsd:boolean' name='default'/>
    <xsd:attribute type='xsd:string' name='auth'/>
    <xsd:attribute type='xsd:string' name='category'/>
    <xsd:attribute type='xsd:string' name='comment'/>
    <xsd:attribute type='xsd:string' name='negate'/>
  </xsd:complexType>

  <xsd:complexType name='clientType'>
    <xsd:choice minOccurs='0' maxOccurs='unbounded'>
      <xsd:element name='Bundle' type='bundleDeclaration'/>
      <xsd:element name='Group' type='groupType'/>
      <xsd:element name='Client' type='clientType'/>
      <xsd:element name='Groups' type='groupsType'/>
      <xsd:element name='Options' type='optionsType'/>
    </xsd:choice>
    <xsd:attribute type='xsd:string' name='name' use='required'/>
    <xsd:attribute type='xsd:string' name='negate'/>
  </xsd:complexType>

  <xsd:complexType name='groupsType'>
    <xsd:choice minOccurs='0' maxOccurs='unbounded'>
      <xsd:element name='Group' type='groupType'/>
      <xsd:element name='Client' type='clientType'/>
      <xsd:element name='Groups' type='groupsType'/>
      <xsd:element ref="xi:include"/>
    </xsd:choice>
    <xsd:attribute name='version' type='xsd:string'/>
    <xsd:attribute name='origin' type='xsd:string'/>
    <xsd:attribute name='revision' type='xsd:string'/>
    <xsd:attribute ref='xml:base'/>
  </xsd:complexType>

  <xsd:element name='Groups' type='groupsType'/>
</xsd:schema>