<?xml version="1.0"?>
<xs:schema targetNamespace="http://www.sdsc.edu"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:nwf="http://www.sdsc.edu/~jpg" elementFormDefault="qualified" 
attributeFormDefault="unqualified">
  <xs:element name="GAMESS">
   <xs:complexType>
     <xs:element name="OUT">
        <xs:complexType>
	      <xs:all>
	          <xs:element name="RUN_TITLE" type="xs:string"/>
		  <xs:element name="RUNTYP" type="xs:string">
		       <xs:simpleType>
		             <xs:restriction base="xs:string">
		                     <xs:enumeration value="ENERGY"/>
		                     <xs:enumeration value="GRADIENT"/>
		                     <xs:enumeration value="HESSIAN"/>
		                     <xs:enumeration value="OPTIMIZE"/>
		                     <xs:enumeration value="TRUDGE"/>
		                     <xs:enumeration value="SADPOINT"/>
		                     <xs:enumeration value="IRC"/>
		                     <xs:enumeration value="VSCF"/>
		                     <xs:enumeration value="DRC"/>
		                     <xs:enumeration value="GLOBOP"/>
		                     <xs:enumeration value="GRADEXTR"/>
		                     <xs:enumeration value="SURFACE"/>
		                     <xs:enumeration value="PROP"/>
		                     <xs:enumeration value="RAMAN"/>
		                     <xs:enumeration value="MOROKUMA"/>
		                     <xs:enumeration value="TRANSITN"/>
		                     <xs:enumeration value="FFIELD"/>
		                     <xs:enumeration value="TDHF"/>
		                     <xs:enumeration value="MAKEFP"/>
		              </xs:restriction>
		        </xs:simpleType>
		  </xs:element>
		  <xs:element name="SCFTYP">
                       <xs:simpleType>
		             <xs:restriction base="xs:string">
			             <xs:enumeration value="RHF"/>
			             <xs:enumeration value="UHF"/>
			             <xs:enumeration value="ROHF"/>
			             <xs:enumeration value="GVB"/>
		                     <xs:enumeration value="MCSCF"/>
		                     <xs:enumeration value="NONE"/>
		              </xs:restriction>
		       </xs:simpleType>
                  </xs:element>
	      </xs:all>
	      <xs:choice>
	          <xs:element name="CITYP">
                       <xs:simpleType>
		              <xs:restriction base="xs:string">
		                    <xs:enumeration value="NONE"/>
		                    <xs:enumeration value="GUGA"/>
		                    <xs:enumeration value="ALDET"/>
		                    <xs:enumeration value="GENCI"/>
		              </xs:restriction>
		       </xs:simpleType>
		  </xs:element>
	          <xs:element name="MPLEVL">
		       <xs:simpleType>
		              <xs:restriction base="xs:string">
		                    <xs:enumeration value="0"/>
		                    <xs:enumeration value="2"/>
		              </xs:restriction>
		       </xs:simpleType>
		  </xs:element>
	           <xs:element name="CCTYP">
	               <xs:simpleType>
		              <xs:restriction base="xs:string">
		                    <xs:enumeration value="NONE"/>
		                    <xs:enumeration value="LLCD"/>
		                    <xs:enumeration value="CCD"/>
		                    <xs:enumeration value="CCSD"/>
		                    <xs:enumeration value="CCSD(T)"/>
		                    <xs:enumeration value="R-CC"/>
		                    <xs:enumeration value="CR-CC"/>
		               </xs:restriction>
                       </xs:simpleType>
		   </xs:element>
	      </xs:choice>
	      <xs:element name="BASIS_SET">
                    <xs:complexType>
		       <xs:element name="BASIS">
		               <xs:simpleType>
		                     <xs:restriction base="xs:string">
		                           <xs:enumeration value="MINI"/>
		                           <xs:enumeration value="MIDI"/>
		                           <xs:enumeration value="STO"/>
		                           <xs:enumeration value="N21"/>
		                           <xs:enumeration value="N31"/>
		                           <xs:enumeration value="N311"/>
		                           <xs:enumeration value="DZV"/>
		                           <xs:enumeration value="DH"/>
		                           <xs:enumeration value="TZV"/>
		                           <xs:enumeration value="MC"/>
		                     </xs:restriction>
                                </xs:simpleType>
	                </xs:element>
		        <xs:element name="NGAUSS" type="xs:positiveInteger">
		                <xs:simpleType>
		                     <xs:restriction base="xs:positiveInteger">
		                            <xs:minInclusive value="2"/>
		                            <xs:maxInclusive value="6"/>
		                     </xs:restriction>
		                </xs:simpleType>
		        </xs:element>
			<xs:element name="NDFUNC" type="xs:positiveInteger">
			        <xs:simpleType>
			             <xs:restriction base="xs:positiveInteger">
			                    <xs:minInclusive value="0"/>
			                    <xs:maxInclusive value="3"/>
			             </xs:restriction>
			        </xs:simpleType>
			</xs:element>
			<xs:element name="NPFUNC" type="xs:positiveInteger">
			        <xs:simpleType>
				     <xs:restriction base="xs:positiveInteger">
				            <xs:minInclusive value="0"/>
					    <xs:maxInclusive value="3"/>
				     </xs:restriction>
				</xs:simpleType>
		        </xs:element>
			<xs:element name="NFFUNC" type="xs:positiveInteger">
			        <xs:simpleType>
			             <xs:restriction base="xs:positiveInteger">
			                     <xs:minInclusive value="0"/>
			                     <xs:maxInclusive value="1"/>
			             </xs:restriction>
			        </xs:simpleType>
			</xs:element>
			<xs:element name="DIFFSP" type="xs:string">
                                <xs:simpleType>
                                     <xs:restriction base="xs:string">
			                     <xs:enumeration value=".FALSE."/>
				             <xs:enumeration value=".TRUE."/>
				     </xs:restriction>
			        </xs:simpleType>
			</xs:element>
			<xs:element name="POLAR" type="xs:string">
                                <xs:simpleType>
                                     <xs:restriction base="xs:string">
                                             <xs:enumeration value="NONE"/>
				             <xs:enumeration value="POPLE"/>
					     <xs:enumeration value="POPN311"/>
					     <xs:enumeration value="DUNNING"/>
					     <xs:enumeration value="HUZINAGA"/>
					     <xs:enumeration value="HONDO7"/>
				     </xs:restriction>
				 </xs:simpleType>
                        </xs:element>
		        <xs:element name="SPLIT2" type="xs:string"/>
		        <xs:element name="SPLIT3" type="xs:string"/>
                   </xs:complexType>
	      </xs:element>
	      <xs:element name="ATOMIC_BASIS_SET" maxoccurs="unbounded">
                   <xs:attribute name="ATOMN" type="xs:positiveInteger"/>
                   <xs:attribute name="ATOMIC_NUMBER" type="xs:positiveInteger"/>
		         <xs:complexType>
			       <xs:sequence>
			       </xs:sequence>
			 </xs:complexType>
               </xs:element>
	       <xs:element name="SYMMETRY">
	           <xs:sequence>
		       <xs:element name="GROUP">
	                           <xs:simpleType>
	                                   <xs:restriction base="xs:string">
	                                        <xs:enumeration value="C1"/>
				                <xs:enumeration value="CS"/>
				                <xs:enumeration value="Ci"/>
				                <xs:enumeration value="Cn"/>
				                <xs:enumeration value="S2n"/>
				                <xs:enumeration value="Cnh"/>
				                <xs:enumeration value="Cnv"/>
				                <xs:enumeration value="Dn"/>
				                <xs:enumeration value="Dnh"/>
				                <xs:enumeration value="Dnd"/>
				                <xs:enumeration value="T"/>
				                <xs:enumeration value="Th"/>
				                <xs:enumeration value="Td"/>
				                <xs:enumeration value="O"/>
				                <xs:enumeration value="Oh"/>
					   </xs:restriction>
	                           </xs:simpleType>
		      </xs:element>
		      <xs:element name="NAXIS">
		          <xs:simpleType>
			      <xs:restriction base="xs:positiveInteger">
			           <xs:minInclusive value="0"/>
			           <xs:maxInclusive value="8"/>
			      </xs:restriction>
			  </xs:simpleType>
		      </xs:element>
		      <xs:element name="X1" type="xs:decimal"/>
		      <xs:element name="Y1" type="xs:decimal"/>
		      <xs:element name="Z1" type="xs:decimal"/>
		      <xs:element name="X2" type="xs:decimal"/>
		      <xs:element name="Y2" type="xs:decimal"/>
		      <xs:element name="Z2" type="xs:decimal"/>
		      <xs:element name="X3" type="xs:decimal"/>
		      <xs:element name="Y3" type="xs:decimal"/>
		      <xs:element name="Z3" type="xs:decimal"/>
		      <xs:element name="DIRECT">
		          <xs:simpleType>
			      <xs:restriction base="xs:string">
			           <xs:enumeration value="NORMAL"/>
			           <xs:enumeration value="PARALLEL"/>                           
                              </xs:restriction>
                          </xs:simpleType>
		      </xs:element>
	           </xs:sequence>
	       </xs:element>
	       <xs:element name="SYSTEM_STATE" maxoccurs="unbounded">
	            <xs:complexType>
		          <xs:attribute name="UNITS">
		                 <xs:simpleType>
		                      <xs:restriction base="xs:string">
		                            <xs:pattern value="BOHRS|ANGS"/>
		                      </xs:restriction>
		                 </xs:simpleType>
		          </xs:attribute>
		          <xs:attribute name="ORIGIN">
		                 <xs:simpleType>
		                      <xs:restriction base="xs:string">
		                            <xs:pattern value="GAMESS|GLOFRG|IRCGS2|IRCSTP|SIGEND"/>
	                              </xs:restriction>
	                        </xs:simpleType>
	                  </xs:attribute>
	                  <xs:attribute name="SET" type="xs:positiveInteger"/>
		          <xs:all>
			       <xs:element name="ENERGY" type="xs:decimal"/>
			       <xs:element name="ATOM_POSITION" type="xs:complex" maxoccurs=" unbounded">
				   <xs:complexType>
			              <xs:sequence>
				           <xs:element name="ATOM_NAME" type="xs:string"/>
	                                   <xs:element name="ATOM_NUMBER" type="xs:positiveInteger"/>
					   <xs:element name="X" type="xs:decimal"/>
					   <xs:element name="Y" type="xs:decimal"/>
					   <xs:element name="Z" type="xs:decimal"/>

				           <xs:element name="VEC">
					       <xs:complexType>
					             <xs:element name="ORB" maxoccurs="unbounded">
						          <xs:attribute name="NUM" type="xs:positiveInteger"/>
							     <xs:complexType>
							          <xs:element name="BASIS_FUNC"  maxoccurs="unbounded" type="xs:decimal"/>
							     </xs:complexType>
					             </xs:element>
					       </xs:complexType>
					   </xs:element>
			              </xs:sequence>
			           </xs:complexType>
                               </xs:element>
		          </xs:all>
	            </xs:complexType>
	       </xs:element>
        </xs:complexType>
     </xs:element>
   </xs:complexType>
 </xs:element>
</xs:schema>
