<?xml version="1.0" encoding="UTF-8"?>
<!-- IBM_PROLOG_BEGIN_TAG                                                   -->
<!-- This is an automatically generated prolog.                             -->
<!--                                                                        -->
<!-- 61haes_r714 src/43haes/usr/sbin/cluster/sa/config/valid_COMPs.xsd 1.1  -->
<!--                                                                        -->
<!-- Licensed Materials - Property of IBM                                   -->
<!--                                                                        -->
<!-- COPYRIGHT International Business Machines Corp. 2010                   -->
<!-- All Rights Reserved                                                    -->
<!--                                                                        -->
<!-- US Government Users Restricted Rights - Use, duplication or            -->
<!-- disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      -->
<!--                                                                        -->
<!-- IBM_PROLOG_END_TAG                                                     -->
<!-- @(#)12	1.1  src/43haes/usr/sbin/cluster/sa/config/valid_COMPs.xsd, hacmp, 61haes_r714 11/28/11 15:01:21 -->
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>

 <xs:element name="APPLICATIONS">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="APPLICATION" minOccurs='1' maxOccurs='unbounded' />
     <xs:element ref="ERROR" minOccurs='0' maxOccurs='1' />
     <xs:element ref="WARNING" minOccurs='0' maxOccurs='1' />
     <xs:element ref="HELP" minOccurs='0' maxOccurs='1' />
   </xs:sequence>
   <xs:attribute name="version"  type="xs:string" fixed="1.0" use="required" />
 </xs:complexType>
</xs:element>

 <xs:element name="APPLICATION">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="ENVS" minOccurs='0' maxOccurs='1' />
     <xs:element ref="COMPONENTS" minOccurs='1' maxOccurs='1' />
   </xs:sequence>
  <xs:attribute name="said"  type="NameType"    use="required" />
  <xs:attribute name="saname"  type="xs:string"  use="required" />
  <xs:attribute name="sanodes"  type="xs:string" use="required" />
 </xs:complexType>
</xs:element>

 <xs:element name="ENVS">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="ENV" minOccurs='1' maxOccurs='unbounded' />
   </xs:sequence>
 </xs:complexType>
</xs:element>

 <xs:element name="ENV">
  <xs:complexType>
   <xs:sequence>
     <xs:element name="DUMMY" type="xs:string" minOccurs='0' maxOccurs='0' />
   </xs:sequence>
  <xs:attribute name="envid"  type="NameType"    use="required" />
  <xs:attribute name="envname"  type="NameType"  use="required" />
  <xs:attribute name="envvalue"  type="xs:string" use="required" />
 </xs:complexType>
</xs:element>

 <xs:element name="COMPONENTS">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="COMPONENT" minOccurs='1' maxOccurs='unbounded' />
   </xs:sequence>
 </xs:complexType>
</xs:element>

 <xs:element name="COMPONENT">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="INSTANCES" minOccurs='0' maxOccurs='1' />
   </xs:sequence>
  <xs:attribute name="compid"  type="NameType"    use="required" />
  <xs:attribute name="compname"  type="xs:string"  use="required" />
  <xs:attribute name="compnodes"  type="xs:string" use="required" />
 </xs:complexType>
</xs:element>

 <xs:element name="INSTANCES">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="INSTANCE" minOccurs='1' maxOccurs='unbounded' />
   </xs:sequence>
 </xs:complexType>
</xs:element>

 <xs:element name="INSTANCE">
  <xs:complexType>
   <xs:sequence>
     <xs:element name="DUMMY2" type="xs:string" minOccurs='0' maxOccurs='0' />
   </xs:sequence>
  <xs:attribute name="instid"  type="NameType"    use="required" />
  <xs:attribute name="instname"  type="xs:string"  use="required" />
  <xs:attribute name="instnodes"  type="xs:string" />
  <xs:attribute name="insttype"  type="xs:string" />
 </xs:complexType>
</xs:element>

 <xs:element name="HELP">
  <xs:complexType>
   <xs:sequence>
   </xs:sequence>
  <xs:attribute name="msgfile"  type="xs:string"  />
  <xs:attribute name="setid"  type="xs:string" />
  <xs:attribute name="seqid"  type="xs:string" />
  <xs:attribute name="defaultmsg" type="xs:string" />
 </xs:complexType>
</xs:element>

 <xs:element name="WARNING">
  <xs:complexType>
   <xs:sequence>
   </xs:sequence>
  <xs:attribute name="msgfile"  type="xs:string"  />
  <xs:attribute name="setid"  type="xs:string" />
  <xs:attribute name="seqid"  type="xs:string" />
  <xs:attribute name="defaultmsg" type="xs:string" />
 </xs:complexType>
</xs:element>


 <xs:element name="ERROR">
  <xs:complexType>
   <xs:sequence>
   </xs:sequence>
  <xs:attribute name="msgfile"  type="xs:string"  />
  <xs:attribute name="setid"  type="xs:string" />
  <xs:attribute name="seqid"  type="xs:string" />
  <xs:attribute name="defaultmsg" type="xs:string" />
 </xs:complexType>
</xs:element>

<!-- Data types defination -->

  <xs:simpleType name="NameType">
    <xs:restriction base="xs:string">
    <xs:pattern value="([a-zA-Z])([a-zA-Z0-9_\.@]){0,63}"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>


