<?xml version="1.0" encoding="gb2312" ?>
<xs:schema targetNamespace="http://www.h3c.com/netconf/data:1.0"
                  elementFormDefault="qualified"
                  xmlns="http://www.h3c.com/netconf/data:1.0"
                  xmlns:base="http://www.h3c.com/netconf/base:1.0"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="basetype.xsd" namespace="http://www.h3c.com/netconf/base:1.0"></xs:import>
  <xs:element name="DHCP">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
      
        <xs:element name="DHCPServerIpPool" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="IpPool" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="PoolIndex" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="1"></xs:minInclusive>
                            <xs:maxInclusive value="4096"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="PoolName" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="1"></xs:minLength>
			                      <xs:maxLength value="63"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="NetworkIpv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="NetworkIpv4Mask" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="StartIpv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="EndIpv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="LeaseDay" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="0"></xs:minInclusive>
			                      <xs:maxInclusive value="365"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="LeaseHour" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="0"></xs:minInclusive>
			                      <xs:maxInclusive value="23"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="LeaseMinute" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="0"></xs:minInclusive>
			                      <xs:maxInclusive value="59"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="LeaseSecond" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="0"></xs:minInclusive>
			                      <xs:maxInclusive value="59"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="LeaseUnlimit" minOccurs="0" type="base:Boolean" nillable="true">
                    </xs:element>
                    <xs:element name="DomainName" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="1"></xs:minLength>
			                      <xs:maxLength value="50"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="GatewayIpv4Address" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="1024"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="DNSIpv4Address" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="127"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="NetbiosType" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="1"/>
                            <xs:enumeration value="2"/>
                            <xs:enumeration value="3"/>
                            <xs:enumeration value="4"/>           
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="NbnsIpv4Address" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="127"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
        
        <xs:element name="DHCPServerPoolStatic" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="IpPoolStatic" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="PoolIndex" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="1"></xs:minInclusive>
			                      <xs:maxInclusive value="4096"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="Ipv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="Ipv4Mask" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="CID" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="4"></xs:minLength>
			                      <xs:maxLength value="254"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="HAddress" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="4"></xs:minLength>
			                      <xs:maxLength value="79"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>                
                    <xs:element name="HType" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="1"/>
                            <xs:enumeration value="2"/>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>                    
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
        
        <xs:element name="DHCPServerPoolOption" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="IpPoolOption" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="PoolIndex" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="1"></xs:minInclusive>
			                      <xs:maxInclusive value="4096"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="OptionCode" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="2"></xs:minInclusive>
			                      <xs:maxInclusive value="254"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="OptionValueHex" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="2"></xs:minLength>
			                      <xs:maxLength value="256"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="OptionValueAscii" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="1"></xs:minLength>
			                      <xs:maxLength value="255"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="OptionValueIpAddresses" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="1"></xs:minLength>
			                      <xs:maxLength value="127"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
                    
        <xs:element name="DHCPServerIpInUse" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="IpInUse" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="PoolIndex" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="1"></xs:minInclusive>
			                      <xs:maxInclusive value="4096"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="Ipv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="CID" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="4"></xs:minLength>
			                      <xs:maxLength value="254"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="HAddress" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="4"></xs:minLength>
			                      <xs:maxLength value="79"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>                
                    <xs:element name="HType" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">                     
                            <xs:enumeration value="1"/>
                            <xs:enumeration value="2"/>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="VLANID" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="1"></xs:minInclusive>
                            <xs:maxInclusive value="4094"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element> 
                    <xs:element name="EndLease" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="19"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="Type" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="1"/>                          
                            <xs:enumeration value="2"/>
                            <xs:enumeration value="3"/>
                            <xs:enumeration value="4"/>                          
                            <xs:enumeration value="5"/>                        
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>                   
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
        
        <xs:element name="DHCPConfig" minOccurs="0">
          <xs:complexType>            
          <xs:all>
            <xs:element name="DHCPEnable" minOccurs="0" type="base:Boolean" nillable="true">
            </xs:element>
            <xs:element minOccurs="0" name="ServerConfig" >
             <xs:complexType>
             <xs:all>
            <xs:element name="AlwaysBroadcast" minOccurs="0" type="base:Boolean" nillable="true">
            </xs:element> 
            <xs:element name="IgnoreBOOTP" minOccurs="0" type="base:Boolean" nillable="true">
            </xs:element>
            <xs:element name="BOOTPReplyRFC1048" minOccurs="0" type="base:Boolean" nillable="true">                  
            </xs:element> 
            <xs:element name="Opt82Enabled" minOccurs="0" type="base:Boolean" nillable="true">
            </xs:element>
            <xs:element name="PingNumber" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:restriction base="base:UnsignedInteger32">
                    <xs:minInclusive value="0"></xs:minInclusive>
                    <xs:maxInclusive value="10"></xs:maxInclusive>
                  </xs:restriction>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="PingTimeout" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:restriction base="base:UnsignedInteger32">
                    <xs:minInclusive value="0"></xs:minInclusive>
                    <xs:maxInclusive value="10000"></xs:maxInclusive>
                  </xs:restriction>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element> 
             </xs:all>
            </xs:complexType>
           </xs:element>
              
           <xs:element minOccurs="0" name="RelayConfig" >
            <xs:complexType>
             <xs:all>
            <xs:element name="UserInfoRecord" minOccurs="0" type="base:Boolean" nillable="true">
              </xs:element>
              <xs:element name="UserInfoRefresh" minOccurs="0" type="base:Boolean" nillable="true">
              </xs:element>                     
              <xs:element name="UserInfoFlushTime" minOccurs="0" nillable="true">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:minInclusive value="0"></xs:minInclusive>
                      <xs:maxInclusive value="120"></xs:maxInclusive>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element> 
              </xs:all>
            </xs:complexType>
          </xs:element>                
          </xs:all>
          <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
        
        <xs:element name="DHCPIfMode" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="IfMode" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>                                    
                    <xs:element name="Mode" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="0"/>                          
                            <xs:enumeration value="1"/>
                            <xs:enumeration value="2"/>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>                    
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element> 
      
        <xs:element name="DHCPRelaySrvIPv4Address" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="RelaySrvIPv4" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>                                    
                    <xs:element name="Ipv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>                    
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
        
        <xs:element name="DHCPRelayUserInfo" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="RelayUserInfo" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="VrfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>
                    <xs:element name="Ipv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>
                    <xs:element name="MacAddress" minOccurs="0" type="base:MacAddress" nillable="true">
                    </xs:element>
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>                    
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>

        <xs:element name="DHCPRelaySourceAddress" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="RelaySrcAddr" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>                                    
                    <xs:element name="Ipv4Address" minOccurs="0" type="base:Ipv4Address" nillable="true">
                    </xs:element>                    
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>

        <xs:element name="DHCPRelayInfoEnable" minOccurs="0">
		  <xs:complexType>
		    <xs:choice maxOccurs="unbounded">
		      <xs:element name="RelayInfoEnable" minOccurs="0" maxOccurs="unbounded">
		        <xs:complexType>
		          <xs:all>
		            <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
		            </xs:element>
		            <xs:element name="InfoEnable" minOccurs="0" type="base:Boolean" nillable="true">   
		            </xs:element>
		          </xs:all>
		          <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
		        </xs:complexType>
		      </xs:element>
		    </xs:choice>
		    <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
		  </xs:complexType>
		</xs:element>

      </xs:choice>	     
      <xs:attributeGroup ref="base:NodeAttributeGroup"></xs:attributeGroup>
    </xs:complexType>
  </xs:element>
</xs:schema>
