<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:complexType name="head">
    <xs:attribute name="passwd" type="xs:string" use="required"/>
    <xs:attribute name="task_name" type="xs:string" use="required"/>
    <xs:attribute name="task_type" type="xs:string" use="required"/>
    <xs:attribute name="userid" type="xs:string" use="required"/>
    <xs:attribute name="error" type="xs:string"/>
    <xs:attribute name="req_app" type="xs:string"/>
    <xs:attribute name="req_host" type="xs:string"/>
    <xs:attribute name="status" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="ext_attr">
    <xs:attribute name="rfc" type="xs:string"/>
    <xs:attribute name="CI" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="host">
    <xs:sequence>
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element name="ext_attr" type="ext_attr"/>
      </xs:sequence>
      <xs:element name="subnet_addr" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="comment" type="xs:string" use="required"/>
    <xs:attribute name="host_domain" type="xs:string" use="required"/>
    <xs:attribute name="host_name" type="xs:string" use="required"/>
    <xs:attribute name="record_type" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:complexType name="request" mixed="true">
    <xs:sequence minOccurs="0" maxOccurs="1">
      <xs:choice>
        <xs:element name="host" type="host"/>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
          <xs:element name="custom" type="custom"/>
        </xs:sequence>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="action_type" type="xs:string"/>
    <xs:attribute name="client_type" type="xs:string"/>
    <xs:attribute name="service_class" type="xs:string"/>
    <xs:attribute name="service_task" type="xs:string"/>
    <xs:attribute name="service_type" type="xs:string"/>
    <xs:attribute name="servername" type="xs:string"/>
    <xs:attribute name="action" type="xs:string"/>
    <xs:attribute name="command" type="xs:string"/>
    <xs:attribute name="detail" type="xs:string"/>
    <xs:attribute name="nodename" type="xs:string"/>
    <xs:attribute name="filename" type="xs:string"/>
  </xs:complexType>
  <xs:element name="task" type="task"/>
  <xs:complexType name="task">
    <xs:sequence>
      <xs:element name="head" type="head"/>
      <xs:element name="request" type="request"/>
    </xs:sequence>
    <xs:attribute name="response" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:complexType name="custom">
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="type" type="xs:string" use="required"/>
    <xs:attribute name="value" type="xs:string" use="required"/>
  </xs:complexType>
</xs:schema>
