<?xml version="1.0" encoding="gb2312" ?>
<xs:schema targetNamespace="http://www.h3c.com/netconf/config:1.0"
                  elementFormDefault="qualified"
                  xmlns="http://www.h3c.com/netconf/config:1.0"
                  xmlns:base="http://www.h3c.com/netconf/base:1.0"
                  xmlns:netconf ="urn:ietf:params:xml:ns:netconf:base:1.0"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://www.h3c.com/netconf/base:1.0" schemaLocation="basetype.xsd"></xs:import>
  <xs:import schemaLocation="netconf.xsd" namespace="urn:ietf:params:xml:ns:netconf:base:1.0"></xs:import>
  <xs:element name="DHCPSP">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">    
        <xs:element name="DHCPSPInterface" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Interface" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>                    
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>
                    <xs:element name="BindingRecord" minOccurs="0" type="base:Boolean" nillable="true">
		                </xs:element>
		                <xs:element name="CheckMacAddress" minOccurs="0" type="base:Boolean" nillable="true">
		                </xs:element>
		                <xs:element name="CheckRequestMessage" minOccurs="0" type="base:Boolean" nillable="true">
		                </xs:element>
		                <xs:element name="Trust" minOccurs="0" type="base:Boolean" nillable="true">
		                </xs:element>
		                <xs:element name="LearnMaxNum" minOccurs="0" type="base:UnsignedInteger32" nillable="true">
		                </xs:element>
		                <xs:element name="RateLimitNum" minOccurs="0" type="base:UnsignedInteger32" 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="DHCPSPOpt82CircuitIDVLAN" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="VLANCircuitID" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>                    
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </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="CircuitID" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="3"></xs:minLength>
			                      <xs:maxLength value="63"></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="DHCPSPOpt82RemoteIDVLAN" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="VLANRemoteID" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>                    
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </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="RemoteID" 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="Sysname" 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:element name="DHCPSPOpt82" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Option82" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>                    
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                    </xs:element>
                    <xs:element name="Option82Enable" minOccurs="0" type="base:Boolean"  nillable="true">
                    </xs:element>
                    <xs:element name="Strategy" 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:element name="Circuit" minOccurs="0">
                     <xs:complexType>
                     <xs:all>
                      <xs:element name="CircuitID" minOccurs="0" nillable="true">
                        <xs:complexType>
			                    <xs:simpleContent>
			                      <xs:restriction base="base:String">
			                        <xs:minLength value="3"></xs:minLength>
			                        <xs:maxLength value="63"></xs:maxLength>
			                      </xs:restriction>
			                    </xs:simpleContent>
			                  </xs:complexType>
                      </xs:element>
                      <xs:element name="CircuitIDMode" 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:element name="CircuitIDNodeIDType" 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:element name="CircuitIDNodeID" 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="CircuitIDFormat" 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:complexType>
                    </xs:element>
                    <xs:element name="Remote" minOccurs="0">
                     <xs:complexType>
                     <xs:all>
                      <xs:element name="RemoteIDMode" 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:element name="RemoteID" 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="RemoteIDFormat" minOccurs="0" nillable="true">
                        <xs:complexType>
                          <xs:simpleContent>
                            <xs:restriction base="base:UnsignedInteger32">
                              <xs:enumeration value="0" />
                              <xs:enumeration value="1" />
                            </xs:restriction>
                          </xs:simpleContent>
                        </xs:complexType>
                      </xs:element>
                     </xs:all>
                     </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="DHCPSPConfig" minOccurs="0">
          <xs:complexType>
                  <xs:all>
                    <xs:element name="DHCPSPEnable" minOccurs="0" type="base:Boolean"  nillable="true">
                    </xs:element>
                  </xs:all>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
       
       
        <xs:element name="DHCPSPBindingDatabase" minOccurs="0">
          <xs:complexType>
                  <xs:all>
                    <xs:element name="FileName" 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="URL" 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="Username" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="1"></xs:minLength>
			                      <xs:maxLength value="32"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="Password" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:String">
			                      <xs:minLength value="1"></xs:minLength>
			                      <xs:maxLength value="32"></xs:maxLength>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                    <xs:element name="UpdateInterval" minOccurs="0" nillable="true">
                      <xs:complexType>
			                  <xs:simpleContent>
			                    <xs:restriction base="base:UnsignedInteger32">
			                      <xs:minInclusive value="60"></xs:minInclusive>
			                      <xs:maxInclusive value="864000"></xs:maxInclusive>
			                    </xs:restriction>
			                  </xs:simpleContent>
			                </xs:complexType>
                    </xs:element>
                  </xs:all>
            <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>
