<?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>CAR data define</xs:documentation>
  </xs:annotation>

  <xs:complexType name="CAR_Carl">
    <xs:simpleContent>
      <xs:restriction base="base:UnsignedInteger32">
        <xs:minInclusive value ="1"></xs:minInclusive>
        <xs:maxInclusive value ="199"></xs:maxInclusive>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="CAR_Pre">
    <xs:simpleContent>
      <xs:restriction base="base:UnsignedInteger32">
        <xs:minInclusive value ="0"></xs:minInclusive>
        <xs:maxInclusive value ="7"></xs:maxInclusive>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="CAR_DSCP">
    <xs:simpleContent>
      <xs:restriction base="base:UnsignedInteger32">
        <xs:minInclusive value ="0"></xs:minInclusive>
        <xs:maxInclusive value ="63"></xs:maxInclusive>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="CAR_MaskLength">
    <xs:simpleContent>
      <xs:restriction base="base:UnsignedInteger32">
        <xs:minInclusive value ="0"></xs:minInclusive>
        <xs:maxInclusive value ="31"></xs:maxInclusive>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="CAR_Mode">
    <xs:simpleContent >
      <xs:restriction base="base:UnsignedInteger32">
        <xs:annotation>
          <xs:documentation>
          Enumeration:
          1£º(PerAddress is true,SharedBandWidth is false)
          2£º(PerAddress is true,SharedBandWidth is true)
          </xs:documentation>
        </xs:annotation>
        <xs:enumeration value="1" />
        <xs:enumeration value="2" />
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="CAR_Direction">
    <xs:simpleContent >
      <xs:restriction base="base:UnsignedInteger32">
        <xs:annotation>
          <xs:documentation>Enumeration: 0(inbound) 1(outbound)</xs:documentation>
        </xs:annotation>
        <xs:enumeration value="0" />
        <xs:enumeration value="1" />
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="CAR_Type">
    <xs:simpleContent >
      <xs:restriction base="base:UnsignedInteger32">
        <xs:annotation>
          <xs:documentation>Enumeration: 1(acl Ipv4) 2(acl Ipv6) 3(carl) 4(any)</xs:documentation>
        </xs:annotation>
        <xs:enumeration value="1" />
        <xs:enumeration value="2" />
        <xs:enumeration value="3" />
        <xs:enumeration value="4" />
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="CAR_TokenPara">
    <xs:simpleContent>
      <xs:restriction base="base:UnsignedInteger32">
        <xs:minInclusive value ="0"></xs:minInclusive>
        <xs:maxInclusive value ="4294967294"></xs:maxInclusive>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="CAR_ActionType">
    <xs:simpleContent >
      <xs:restriction base="base:UnsignedInteger32">
        <xs:annotation>
          <xs:documentation>
            Enumeration:
            1(pass)
            2(remark-dscp-pass)
            3(remark-precedence-pass)
            4(remark-mpls-exp-pass)
            5(remark-dot1p-pass)
            6(remark-atm-clp-pass)
            7(remark-fr-de-pass)
            8(remark-local-prec-pass)
            10(discard)
            11(remark-dscp-continue)
            12(remark-precedence-continue)
            13(remark-mpls-exp-continue)
            14(remark-dot1p-continue)
            15(remark-atm-clp-continue)
            16(remark-fr-de-continue)
            17(remark-local-prec-continue)
            19(continue)
          </xs:documentation>
        </xs:annotation>
        <xs:enumeration value="1" />
        <xs:enumeration value="2" />
        <xs:enumeration value="3" />
        <xs:enumeration value="4" />
        <xs:enumeration value="5" />
        <xs:enumeration value="6" />
        <xs:enumeration value="7" />
        <xs:enumeration value="8" />
        <xs:enumeration value="10" />
        <xs:enumeration value="11" />
        <xs:enumeration value="12" />
        <xs:enumeration value="13" />
        <xs:enumeration value="14" />
        <xs:enumeration value="15" />
        <xs:enumeration value="16" />
        <xs:enumeration value="17" />
        <xs:enumeration value="19" />
       </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="CAR">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="CarLists">
          <xs:annotation>
            <xs:documentation>CarList table</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="List">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="CarlID" type="CAR_Carl" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Carlist ID</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Mac" type="base:MacAddress" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Matches a source MAC address</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="DscpList" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Matches DSCP values</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="8">
                          <xs:element name="Dscp" type="CAR_DSCP" nillable="true">
                          </xs:element>
                        </xs:choice>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="ExpList" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Matches MPLS EXP values</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="8">
                          <xs:element name="Exp" type="CAR_Pre" nillable="true">
                          </xs:element>
                        </xs:choice>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="IPPrecedenceList" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Matches IP precedence</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="8">
                          <xs:element name="IPPrecedence" type="CAR_Pre" nillable="true">
                          </xs:element>
                        </xs:choice>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="DestIPRange" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Specifies a DestIPAddress range</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="DestIPStart" type="base:Ipv4Address" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies start Address</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="DestIPEnd" type="base:Ipv4Address" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies end Address</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="SrcIPRange" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Specifies a SrcIPAddress range</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="SrcIPStart" type="base:Ipv4Address" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies start Address</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="SrcIPEnd" type="base:Ipv4Address" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies end Address</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="DestIPSubnet" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Specifies DestSubnetIP and DestMaskLength</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="DestSubnetIP" type="base:Ipv4Address" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies a DestSubnetIP</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="DestMaskLength" type="CAR_MaskLength" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies a DestMaskLength</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="SrcIPSubnet" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Specifies SrcSubnetIP and SrcMaskLength</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="SrcSubnetIP" type="base:Ipv4Address" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies a SrcSubnetIP</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="SrcMaskLength" type="CAR_MaskLength" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>Specifies a SrcMaskLength</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Mode" minOccurs="0" type="CAR_Mode" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Specifies a Mode</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="CarPolicies">
          <xs:annotation>
            <xs:documentation>commited access rate policy table</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="Policy">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="IfIndex" type="base:NameAndIndexUnion" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Interface index</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Direction" type="CAR_Direction" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Apply direction</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Type" type="CAR_Type" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>match type</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Value" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>match value</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="CIR" type="CAR_TokenPara" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>CIR in kbps</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="CBS" type="CAR_TokenPara" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>CBS in bytes</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="EBS" type="CAR_TokenPara" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>EBS in bytes</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="PIR" type="CAR_TokenPara" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>PIR in kbps</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="GreenAction" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>action color</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="GreenActionType" type="CAR_ActionType" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>action type</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="GreenActionValue" type="CAR_DSCP" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>action value</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="YellowAction" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>action color</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="YellowActionType" type="CAR_ActionType" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>action type</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="YellowActionValue" type="CAR_DSCP" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>action value</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="RedAction" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>action color</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="RedActionType" type="CAR_ActionType" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>action type</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="RedActionValue" type="CAR_DSCP" minOccurs="0" nillable="true">
                            <xs:annotation>
                              <xs:documentation>action value</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="GreenPkts" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Number of green packets that have passed</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="GreenBytes" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Bytes of green packets that have passed</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="YellowPkts" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Number of yellow packets that have passed</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="YellowBytes" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Bytes of yellow packets that have passed</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="RedPkts" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Number of red packets that have passed</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="RedBytes" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Bytes of red packets that have passed</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="Capability">
          <xs:annotation>
            <xs:documentation>committed access rate capability table</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:all>
              <xs:element name="MQCTokenPara" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Token Bucket Capability</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CIRMin" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Minimum CIR value in kbps</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CIRMax" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Maximum CIR value in kbps</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CIRGranularity" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Granularity of CIR in kbps</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CBSMin" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Minimum CBS value in bytes</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CBSMax" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Maximum CBS value in bytes</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CBSGranularity" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Granularity of CBS in bytes</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="EBSMin" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Minimum EBS value in bytes</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="EBSMax" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Maximum EBS value in bytes</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="EBSGranularity" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Granularity of EBS in bytes</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="PIRMin" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Minimum PIR value in kbps</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="PIRMax" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Maximum PIR value in kbps</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="PIRGranularity" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>Granularity of PIR in kbps</xs:documentation>
                </xs:annotation>
              </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>

