<?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:annotation>
    <xs:documentation>
      VCF module data definition.
    </xs:documentation>
  </xs:annotation>
  <xs:element name="VCF">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded" minOccurs="0">
        <xs:element name="Topos" minOccurs="0">
          <xs:annotation>
            <xs:documentation>VCF Topo table.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
              <xs:element name="TopoItem" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name of Topos table.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="IfIndex"  minOccurs="0"  type="base:IfIndex" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Interface index.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="MacAddress" minOccurs="0" type="base:MacAddress" nillable="true">
                    	<xs:annotation>
                        <xs:documentation>MAC.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="PeerInterface" minOccurs="0" type="base:InterfaceName" nillable="true" >
                      <xs:annotation>
                        <xs:documentation>Full name of the interface, including the interface type and number.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="LocalInterface" minOccurs="0" type="base:InterfaceName" nillable="true" >
                      <xs:annotation>
                        <xs:documentation>Full name of the interface, including the interface type and number.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Role" minOccurs="0" nillable="true">
                    	<xs:annotation>
                        <xs:documentation>VCF ROLE</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:annotation>
                          <xs:documentation>
                            role type as follows:
                            1 spine.
                            2 leaf.
                            3 access.
                            4 computer.
                          </xs:documentation>
                        </xs:annotation>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="1"></xs:enumeration>
                            <xs:enumeration value="2"></xs:enumeration>
                            <xs:enumeration value="3"></xs:enumeration>
                            <xs:enumeration value="4"></xs:enumeration>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="SystemName" 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="PeerIP" minOccurs="0" nillable="true">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="46"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="LoopbackIP" minOccurs="0" nillable="true">
                      <xs:complexType>
                         <xs:simpleContent>
                            <xs:restriction base="base:String">
                               <xs:minLength value="1"></xs:minLength>
                               <xs:maxLength value="46"></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="Role" minOccurs="0">
          <xs:annotation>
            <xs:documentation>VCF Role table.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:all>
              <xs:element name="Name" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Full name of role.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:String">
                      <xs:minLength value="1"/>
                      <xs:maxLength value="63"/>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:all>
            <xs:attributeGroup ref="base:TableAttributeGroup"/>
          </xs:complexType>
        </xs:element>
      <xs:element name="Underlay" minOccurs="0">
          <xs:annotation>
            <xs:documentation>VCF Underlay table.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:all>
              <xs:element name="PauseStatus" nillable="true" minOccurs="0" type="base:Boolean">
                <xs:annotation>
                  <xs:documentation>auto underlay status.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Completion" nillable="true" minOccurs="0" type="base:Boolean">
                <xs:annotation>
                  <xs:documentation>underlay complete.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Maddr" minOccurs="0" type="base:Ipv4Address" nillable="true">
                <xs:annotation>
                  <xs:documentation>underlay vlan 4094 or vsi 4094 addr.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Mask" minOccurs="0" type="base:Ipv4Address" nillable="true">
                <xs:annotation>
                  <xs:documentation>underlay vlan 4094 or vsi 4094 mask.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Mac" minOccurs="0" type="base:MacAddress" nillable="true">
              	<xs:annotation>
                  <xs:documentation>MAC.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="StandByMac" minOccurs="0" type="base:MacAddress" nillable="true">
              	<xs:annotation>
                  <xs:documentation>StandByMac.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="SN" minOccurs="0" nillable="true">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:String">
                      <xs:minLength value="1"></xs:minLength>
                      <xs:maxLength value="64"></xs:maxLength>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="Execution" minOccurs="0" nillable="true">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:String">
                      <xs:minLength value="1"></xs:minLength>
                      <xs:maxLength value="512"></xs:maxLength>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:all>
            <xs:attributeGroup ref="base:TableAttributeGroup"/>
          </xs:complexType>
        </xs:element>
      </xs:choice>
      <xs:attributeGroup ref="base:NodeAttributeGroup"></xs:attributeGroup>
    </xs:complexType>
  </xs:element>
</xs:schema>
