<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en">

  <xsd:annotation>
    <xsd:documentation>
      string enumeration definitions for bcfg2
      Narayan Desai, Argonne National Laboratory
    </xsd:documentation>
  </xsd:annotation>

  <xsd:include schemaLocation="servicetype.xsd"/>
  <xsd:include schemaLocation="types.xsd"/>
  <xsd:include schemaLocation="pkgtype.xsd"/>

  <xsd:complexType name="DContainerType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Service" type="ServiceType"/>
      <xsd:element name="Package" type="PackageType"/>
      <xsd:element name="Path" type="PathType"/>
      <xsd:element name="Action" type="ActionType"/>
      <xsd:element name="Group" type="DContainerType"/>
      <xsd:element name="Client" type="DContainerType"/>
    </xsd:choice>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="negate" type="xsd:boolean"/>
  </xsd:complexType>

  <xsd:element name="Defaults">
    <xsd:complexType>
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element name="Service" type="ServiceType"/>
        <xsd:element name="Package" type="PackageType"/>
        <xsd:element name="Path" type="PathType"/>
        <xsd:element name="Action" type="ActionType"/>
        <xsd:element name="Group" type="DContainerType"/>
        <xsd:element name="Client" type="DContainerType"/>
      </xsd:choice>
      <xsd:attribute name="priority" type="xsd:integer" use="required"/>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
