<?xml version="1.0" encoding="gb2312"?>
<xs:schema xmlns="http://www.h3c.com/netconf/config:1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:base="http://www.h3c.com/netconf/base:1.0"
           xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0"
           targetNamespace="http://www.h3c.com/netconf/config:1.0"
           elementFormDefault="qualified">
  <xs:import namespace="http://www.h3c.com/netconf/base:1.0" schemaLocation="basetype.xsd"/>
  <xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0" schemaLocation="netconf.xsd"/>
  <xs:annotation>
    <xs:documentation>
      define elements of CONFIG operation for STP module
    </xs:documentation>
  </xs:annotation>
  <xs:element name="STP">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Base" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The global configuration information of STP feature</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:all>
              <xs:element name="Enable" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Control whether STP is globally enabled.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:Boolean"/>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="Mode" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The spanning-tree working modes:
                         0--STP; 2--RSTP; 3--MSTP; 4--PVST;
                  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:enumeration value="0"></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="BPDUProtect" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Control whether BPDU-Protect function is enabled.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:Boolean"/>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="TcProtect" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Control whether or not BPDU-Protect function is enabled.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:Boolean"/>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="TcThreshold" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The max TCs that will be processed within the TC-protection period.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:minInclusive value="1"></xs:minInclusive>
                      <xs:maxInclusive value="255"></xs:maxInclusive>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="PathCostMethod" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The path cost calculation method:
                         0--Leagcy; 1--IEEE 802.1D-1998; 2--IEEE 802.1t;
                  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:enumeration value="0"></xs:enumeration>
                      <xs:enumeration value="1"></xs:enumeration>
                      <xs:enumeration value="2"></xs:enumeration>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="HelloTime" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The intervals in seconds.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:minInclusive value="1"></xs:minInclusive>
                      <xs:maxInclusive value="10"></xs:maxInclusive>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="MaxHops" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The maximum hops.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:minInclusive value="1"></xs:minInclusive>
                      <xs:maxInclusive value="40"></xs:maxInclusive>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element> 
              <xs:element name="MaxAge" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The maximum message age.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:minInclusive value="6"></xs:minInclusive>
                      <xs:maxInclusive value="40"></xs:maxInclusive>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="ForwardDelay" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The forward delay timer in seconds.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:minInclusive value="4"></xs:minInclusive>
                      <xs:maxInclusive value="30"></xs:maxInclusive>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="TcSnooping" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Control whether TC-snooping function is enabled.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:Boolean"/>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="DigestSnooping" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Control whether digest-snooping function is enabled.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:Boolean"/>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:all>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
        <xs:element name="Region" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The region configuration information of MST</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:all>
              <xs:element name="Name" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>MST region name</xs:documentation>
                </xs:annotation>
                <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="RevisionLevel" nillable="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The revision level of a MST region configuration</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:UnsignedInteger32">
                      <xs:minInclusive value="0"></xs:minInclusive>
                      <xs:maxInclusive value="65535"></xs:maxInclusive>
                    </xs:restriction>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:all>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
        <xs:element name="StiVlans" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Allocation of VLANs per STI</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="StiVlan" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="StiId" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of a STI</xs:documentation>
                      </xs:annotation>
                      <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="VlanList" nillable="true" minOccurs="0" type="base:VlanRange">
                      <xs:annotation>
                        <xs:documentation>The VLANs mapped to a STI</xs:documentation>
                      </xs:annotation>
                    </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="STIs" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Configuration information per STIs</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="STI" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="StiId" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of a STI</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="4094"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Priority" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The priority of a STI, which should be zero or a multiple of 4096.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="61440"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="RootType" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The preferred root type with different priority:
                          0--Normal(not configured); 1--Secondary root; 2--Primary root;
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="0"></xs:enumeration>
                            <xs:enumeration value="1"></xs:enumeration>
                            <xs:enumeration value="2"></xs:enumeration>
                          </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="Interfaces" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Configuration information per port</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Interface" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="IfIndex" nillable="true" type="base:NameAndIndexUnion" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of a Interface</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Enable" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether STP is enabled on the port.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="EdgedPort" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether a port is edged-port.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="RootProtect" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether the root-protection function is enabled</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="LoopProtect" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether the loop-protection function is enabled</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="PointToPoint" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control the point-to-point status of a port:
                         1--Force-true; 2--Force-false; 3--Auto-negotiated by the link;
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <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:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="RoleRestrict" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether the role-restriction function is enabled</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="TcRestrict" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether the TC-restriction function is enabled</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="DigestSnooping" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether the digest-snooping function is enabled</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="TransmitHoldCount" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The transmit hold count on an interface</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="1"></xs:minInclusive>
                            <xs:maxInclusive value="255"></xs:maxInclusive>
                          </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="StiInterfaces" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Configuration information per STIs on an interface</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="StiInterface" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="StiId" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of a STI</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="4094"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="IfIndex" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of an Interface</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:IfIndex"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Priority" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The port-priority of a STI, which should be zero or a multiple of 16.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="240"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="PathCost" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The path cost configuration of a STI on a port, the actual max value of which is
                           different according to the cost calculation method configured at present.
                           Leagcy:      0-200000;
                           802.1D-1998: 0-65535;
                           802.1t:      0-200000000
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="200000000"></xs:maxInclusive>
                          </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="VLANs" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Configuration information per VLANs for PVST</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="VLAN" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="VlanId" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of a VLAN</xs:documentation>
                      </xs:annotation>
                      <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="Enable" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Control whether PVST is enabled on the VLAN.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Boolean"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Priority" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The priority of a VLAN, which should be zero or a multiple of 4096.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="61440"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element> 
                    <xs:element name="RootType" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The preferred root type with different priority:
                          0--Normal(not configured); 1--Secondary root; 2--Primary root;
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="0"></xs:enumeration>
                            <xs:enumeration value="1"></xs:enumeration>
                            <xs:enumeration value="2"></xs:enumeration>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="BridgeTimes" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Topology change informations per spanning-tree,including HelloTime, 
                          MaxAge, ForwardDelay.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="HelloTime" nillable="true" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>The hello intervals of the bridge in seconds.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:restriction base="base:UnsignedInteger32">
                                  <xs:minInclusive value="1"></xs:minInclusive>
                                  <xs:maxInclusive value="10"></xs:maxInclusive>
                                </xs:restriction>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="MaxAge" nillable="true" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>The maximum message age of the bridge.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:restriction base="base:UnsignedInteger32">
                                  <xs:minInclusive value="6"></xs:minInclusive>
                                  <xs:maxInclusive value="40"></xs:maxInclusive>
                                </xs:restriction>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="ForwardDelay" nillable="true" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>The forward delay time of the bridge in seconds.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:restriction base="base:UnsignedInteger32">
                                  <xs:minInclusive value="4"></xs:minInclusive>
                                  <xs:maxInclusive value="30"></xs:maxInclusive>
                                </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="VlanInterfaces" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Configuration information per VLAN on an interface for PVST</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="VlanInterface" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="VlanId" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of a VLAN</xs:documentation>
                      </xs:annotation>
                      <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="IfIndex" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The index of an Interface</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:IfIndex"/>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Priority" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The port-priority of a VLAN, which should be zero or a multiple of 16.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="240"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>    
                    <xs:element name="PathCost" nillable="true" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The path cost configuration of a VLAN on a port, the actual max value of which is 
                           different according to the cost calculation method configured at present.
                           Leagcy:      0-200000; 
                           802.1D-1998: 0-65535; 
                           802.1t:      0-200000000
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="0"></xs:minInclusive>
                            <xs:maxInclusive value="200000000"></xs:maxInclusive>
                          </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:choice>
      <xs:attributeGroup ref="base:NodeAttributeGroup"></xs:attributeGroup>
    </xs:complexType>
  </xs:element>
</xs:schema>
