<?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="Configuration">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Files" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Configuration files information</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="File" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Name" minOccurs="0"  nillable="true">
                      <xs:annotation>
                        <xs:documentation>File name as table index</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Text">
                            <xs:minLength value ="1"></xs:minLength>
                            <xs:maxLength value="255"> </xs:maxLength>
                            <xs:pattern value="^[^/ ][^ ]*:/[^/ ][^ ]*\.cfg$"></xs:pattern>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Running" minOccurs="0" type="base:Boolean" nillable="true" >
                      <xs:annotation>
                        <xs:documentation>Whether the configuration file is the current startup configuration file.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="NextMain" minOccurs="0" type="base:Boolean" nillable="true" >
                      <xs:annotation>
                        <xs:documentation>Whether the configuration file is the main next-startup configuration file.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="NextBackup" minOccurs="0" type="base:Boolean" nillable="true" >
                      <xs:annotation>
                        <xs:documentation>Whether the configuration file is the backup next-startup configuration file.</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="System" minOccurs="0">
          <xs:complexType >
            <xs:all>
              <xs:element name="Encryption" minOccurs="0" nillable="true"  >
                <xs:annotation>
                  <xs:documentation>
                   Encryption mode:
                   0 Unencrypted
                   1 Private-key encryption
                   2 Public-key encryption
                  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:restriction base="base:Integer32">
                      <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:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
      </xs:choice>
      <xs:attributeGroup ref="base:NodeAttributeGroup"></xs:attributeGroup>
    </xs:complexType>
  </xs:element>
</xs:schema>