<?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_PROPs.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                                                     -->
<!-- @(#)44	1.1  src/43haes/usr/sbin/cluster/sa/config/valid_PROPs.xsd, hacmp, 61haes_r714 11/28/11 15:02:27 -->
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>

 <xs:element name="APPLICATIONS">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="APPLICATION" minOccurs='0' 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='unbounded' />
   </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='1' />
   </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='1' />
   </xs:sequence>
 </xs:complexType>
</xs:element>

 <xs:element name="INSTANCE">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="PROPERTIES" minOccurs='1' maxOccurs='1' />
   </xs:sequence>
  <xs:attribute name="instid"  type="xs:string"    />
  <xs:attribute name="instname"  type="xs:string"  />
  <xs:attribute name="instnodes"  type="xs:string" />
  <xs:attribute name="insttype"  type="xs:string" />
 </xs:complexType>
</xs:element>

 <xs:element name="PROPERTIES">
  <xs:complexType>
   <xs:sequence>
     <xs:element ref="PROPERTY" minOccurs='1' maxOccurs='unbounded' />
     <xs:element ref="CFGCMD" minOccurs='1' maxOccurs='1' />
   </xs:sequence>
 </xs:complexType>
</xs:element>

 <xs:element name="PROPERTY">
  <xs:complexType>
   <xs:sequence>
     <xs:element name="DUMMY3" type="xs:string" minOccurs='0' maxOccurs='0' />
   </xs:sequence>
  <xs:attribute name="id"  		type="xs:string" use="required" />
  <xs:attribute name="name"  		type="xs:string" use="required" />
  <xs:attribute name="label"  		type="xs:string" use="required" />
  <xs:attribute name="labelid"  	type="xs:string" />
  <xs:attribute name="value"  		type="xs:string" />
  <xs:attribute name="list"  		type="xs:string" />
  <xs:attribute name="range"  		type="xs:string" />
  <xs:attribute name="excludearg"  	type="xs:string" use="required" />
  <xs:attribute name="prefix"  		type="xs:string" />
  <xs:attribute name="type"  		type="xs:string" use="required"/>
  <xs:attribute name="editable"  	type="xs:string" use="required"/>
  <xs:attribute name="required"  	type="xs:string" use="required"/>
  <xs:attribute name="multiselect"  	type="xs:string" use="required"/>
  <xs:attribute name="visible"  	type="xs:string" use="required"/>
  <xs:attribute name="help"  		type="xs:string" />
  <xs:attribute name="helpid"  		type="xs:string" />
 </xs:complexType>
</xs:element>

 <xs:element name="CFGCMD">
  <xs:complexType>
   <xs:sequence>
     <xs:element name="DUMMY" type="xs:string" minOccurs='0' maxOccurs='0' />
   </xs:sequence>
  <xs:attribute name="cmd" 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: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>


