<?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 namespace="http://www.h3c.com/netconf/base:1.0" schemaLocation="basetype.xsd"></xs:import>

  <xs:annotation>
    <xs:documentation>
      PKI data definition
    </xs:documentation>
  </xs:annotation>

  <xs:annotation>
   <xs:documentation>
       Key name, case insensitive, only containe character, number, "-"
   </xs:documentation>
  </xs:annotation>
  <xs:complexType name="PKI_PkeyName">
    <xs:simpleContent>
      <xs:restriction base="base:String">
        <xs:pattern value="^[-A-Za-z0-9]{0,}$"></xs:pattern>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:annotation>
   <xs:documentation>
   The common name, the state name, the locality name, the organization name, the unit name,comma can not be contained
   </xs:documentation>
  </xs:annotation>
  <xs:complexType name="PKI_EntityDN">
    <xs:simpleContent>
      <xs:restriction base="base:Text">
        <xs:pattern value="^[^,]{0,}$"></xs:pattern>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  
  <!--PKI module-->
  <xs:element name="PKI">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <!--PKI Table-->    
        
        <!--Domains Table-->
        <xs:element name="Domains" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get information of PKI domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Domain" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
					<xs:element name="Name" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    
                    <xs:element name="CAIdentifier" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          CA identifier name, 1 to 63 characters, case sensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:Text">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    
					<xs:element name="Entity" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Reference a PKI entity for the PKI domain, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>

                    <xs:element name="CertRequestFrom" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The type of certificate request reception authority
                          Enumeration
                          1-CA
                          2-RA
						</xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>                   

                    <xs:element name="CertRequestURL" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The URL of the certificate request reception authority (CA or RA), data structure, members include: URL, VRF
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="URL" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The value of URL, 1 to 511 characters, case sensitive
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
                             <xs:restriction base="base:URLString">
                             </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
						<xs:element name="VRF" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The VPN instance which the address is belongs to, 1 to 31 characters, case sensitive
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
                             <xs:restriction base="base:String">
                             </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
					  </xs:all>
					 </xs:complexType>
                    </xs:element>

                    <xs:element name="CertRequestMode" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The certificate request mode, data structure, members include: Mode, Password
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="Mode" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                             The type of Mode
                             Enumeration:
                             1-Auto
                             2-Manual
                             Default value is 2
                            </xs:documentation>
                          </xs:annotation> 
                         <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType> 
                        </xs:element>
                      </xs:all>
					 </xs:complexType>
                    </xs:element>

                    <xs:element name="RootCertFingerprint" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The fingerprint for verifying the validity of the CA root certificate, data structure, members include: Type, Value
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="Type" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                             The fingerprint type
                             Enumeration:
                             1-MD5
                             2-SHA1
                            </xs:documentation>
                          </xs:annotation> 
                         <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                           </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType> 
                        </xs:element>
						<xs:element name="Value" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The fingerprint value, type MD5 is 32 hex string length, type SHA1 is 40 hex string length
                            </xs:documentation>
                          </xs:annotation> 
                          <xs:complexType>
                            <xs:simpleContent>
                             <xs:restriction base="base:String">
                             </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
					  </xs:all>
					 </xs:complexType>
                    </xs:element>

                    <xs:element name="LDAPServer" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          An LDAP server for a PKI domain, data structure, members include: Host, PortNumber, VRF
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="Host" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The hostname of the LDAP server, 1 to 255 characters, the string can be IPv4 address, IPv6 address, or domain name, case sensitive
                            </xs:documentation>
                          </xs:annotation> 
                         <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType> 
                        </xs:element>
						<xs:element name="PortNumber" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The port number of the LDAP server, unsigned integer, default value is 389
                            </xs:documentation>
                          </xs:annotation> 
                          <xs:complexType>
                            <xs:simpleContent>
                             <xs:restriction base="base:UnsignedInteger32">
                             </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="VRF" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The VPN instance which the address is belongs to, 1 to 31 characters, case sensitive
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
                             <xs:restriction base="base:String">
                             </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
					  </xs:all>
					 </xs:complexType>
                    </xs:element>

                    <xs:element name="CRLURL" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The URL of the CRL repository, data structure, members include: URL, VRF
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="URL" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The value of URL,1 to 511 characters, case sensitive, The URL format is ldap://server_location or 
                              http://server_location, Server_location can be an IP address or a domain name
                            </xs:documentation>
                          </xs:annotation> 
                         <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType> 
                        </xs:element>
                        <xs:element name="VRF" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The VPN instance which the address is belongs to, 1 to 31 characters, case sensitive
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
                             <xs:restriction base="base:String">
                             </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
					  </xs:all>
					 </xs:complexType>
                    </xs:element>
                    
                   <xs:element name="CRLCheck" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          If check whether the certificate has been revoked by CRL
                          Boolean:
                          true, Enable
                          false, Disable
                          Default value is false
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="Usage" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Certificate usage for requesting certificate, members include IKE, SSLServer, SSLClient, can include one or more certificate usage at the same time
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="IKE" type="base:Boolean" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                             Use certificate as the IKE
                             Boolean:
                             true, Enable
                             false, Disable
                            </xs:documentation>
                          </xs:annotation>
                        </xs:element>
						<xs:element name="SSLServer" type="base:Boolean" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                             Use certificate as the SSL server certificates
                             Boolean:
                             true, Enable
                             false, Disable
                            </xs:documentation>
                          </xs:annotation>
                        </xs:element>
						<xs:element name="SSLClient" type="base:Boolean" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                             Use certificate as the SSL client certificates
                             Boolean:
                             true, Enable
                             false, Disable
                            </xs:documentation>
                          </xs:annotation>
                        </xs:element>
					  </xs:all>
					  </xs:complexType>
                    </xs:element>
                    <xs:element name="CertRequestPoll" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The polling interval and the maximum number of attempts to query certificate request status, data structure, members include: Count, Interval
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					   <xs:element name="Count" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The value of the maximum number, unsigned integer, 1 to 100, default value is 50
                            </xs:documentation>
                          </xs:annotation> 
	                         <xs:complexType>
		                      <xs:simpleContent>
		    				      <xs:restriction base="base:UnsignedInteger32">
						          </xs:restriction>
		                        </xs:simpleContent>   
	                         </xs:complexType> 
                        </xs:element>
                        
                        <xs:element name="Interval" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The value of the polling interval, unsigned integer 5 to 168, default value is 20
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
                             <xs:restriction base="base:UnsignedInteger32">
                             </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element> 
					  </xs:all>
					 </xs:complexType>
                    </xs:element>

                  <xs:element name="SourceIP" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The source IP address for PKI protocol packets, data structure, members include: AddressType, Address, IfIndex
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>

					  <xs:element name="AddressType" minOccurs="0" nillable="true">
                         <xs:annotation>
                            <xs:documentation>
                              The type of IP Address
                              Enumeration:
                              1-IPv4
                              2-IPv6
                            </xs:documentation>
                          </xs:annotation> 
                         <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType> 
                     </xs:element>
                        
				    <xs:element name="Address" type="base:IpAddress" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The value of IP Address, IPv4 or IPv6
                        </xs:documentation>
                      </xs:annotation>                          
                    </xs:element>
                        <xs:element name="IfIndex" type="base:NameAndIndexUnion" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The index of interface, get the primary IP address of the interface, unsigned integer
                        </xs:documentation>
                      </xs:annotation>                          
                    </xs:element>
				  </xs:all>
				 </xs:complexType>
                </xs:element>
                  </xs:all>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>

        <!--CertAttributeGroups Table-->
        <xs:element name="CertAttributeGroups" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the certificate attribute groups</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Group" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>           
                    <xs:element name="Name" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The name of certificate attribute group, 1 to 31 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></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>

        <!--CertAttributes Table-->
        <xs:element name="CertAttributes" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the attributes of the certificate attribute group</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Attribute" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
					<xs:element name="Group" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The name of certificate attribute group, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
					<xs:element name="AttributeID" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Unsigned integer, 1 to 16
                        </xs:documentation>
                      </xs:annotation>
    				  <xs:complexType>
                        <xs:simpleContent>
    				    <xs:restriction base="base:UnsignedInteger32">
    				      <xs:minInclusive value ="1"></xs:minInclusive>
    				      <xs:maxInclusive value ="16"></xs:maxInclusive>
				        </xs:restriction>
    				    </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Object" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Enumeration:
						  1-alt-subject-name
						  2-issuer-name
						  3-subject-name
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element> 
                    <xs:element name="Item" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Enumeration:
						  1-DN
						  2-FQDN
						  3-IpAddress
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element> 
                    <xs:element name="Operator" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						 Enumeration:
						  1-contain
						  2-equal
						  3-not contain
						  4-not equal
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>  
					<xs:element name="Value" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          1 to 255 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </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>

        <!--CertAccessPolicies Table-->
        <xs:element name="CertAccessPolicies" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the certificate access control policies</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Policy" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Name" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The name of certificate access control policy, 1 to 31 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></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>

		<!--Entities Table-->
        <xs:element name="Entities" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the PKI entities</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Entity" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
					<xs:element name="EntityName" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          PKI entity name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
					<xs:element name="CommonName" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The common name, 1 to 63 characters, case sensitive, comma can not be contained
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="PKI_EntityDN">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Country" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The country code, 2 to 2 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="State" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The state name, 1 to 63 characters, case sensitive, comma can not be contained
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="PKI_EntityDN">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Locality" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The locality name, 1 to 63 characters, case sensitive, comma can not be contained
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="PKI_EntityDN">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Organization" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The organization name, 1 to 63 characters, case sensitive, comma can not be contained
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="PKI_EntityDN">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="OrganizationUnit" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The unit name,  1 to 63 characters, case sensitive, comma can not be contained
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="PKI_EntityDN">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                     <xs:element name="FQDN" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The FQDN name, 1 to 255 characters, case sensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="IP" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The IP address, sata structure, members include: Ipv4Address, rcIEfIndex
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="Ipv4Address" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              Ipv4 address
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:restriction base="base:Ipv4Address">                                
                              </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
			              <xs:element name="IfIndex" type="base:NameAndIndexUnion" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The index of interface, Unsigned integer
                            </xs:documentation>
                          </xs:annotation>
                        </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>

     <!--CertAccessRules Table-->
        <xs:element name="CertAccessRules" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the rules of the certificate access control policy</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Rule" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Policy" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The name of certificate access control policy, 1 to 31 characters, Case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="RuleID" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Index of the rule in the access control policy, unsigned integer, 1 to 16
						</xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="1"></xs:minInclusive>
                            <xs:maxInclusive value="16"></xs:maxInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Action" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  How to operate the certificate that match the rule
						  Enumeration:
						  1-Permit
						  2-Deny
						</xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="AttributeGroup" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The name of certificate attribute group, 1 to 31 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </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>

        <!--DomainPubkeys Table-->
        <xs:element name="DomainPubkeys" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the asymmetric keys of PKI domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Pubkey" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Type" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Type of algorithm
						  Enumeration:
                          1-RSA
                          2-DSA
                          3-ECDSA
						</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="Purpose" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Key purpose
						  Enumeration:
						  1-General
						  2-Signature
						  3-Encryption
						</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="Name" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Key name, 1 to 64 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="PKI_PkeyName">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Length" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Length of public key, see table PKI/AuthorityAlgs for supported length
						</xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                          </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>

 <!--DomainCACerts Table-->
        <xs:element name="DomainCACerts" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the CA certificates of the PKI domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Cert" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>                                                  
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="SerialNumber" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The serial number of the, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>                    
                    <xs:element name="Issuer" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The issuer name, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Subject" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The subject name, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element> 
                    <xs:element name="Validity" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The validity date of the certificate, data structure, members include: NotBefore, NotAfter
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="NotBefore" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The begin time of the validity
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
	                         <xs:restriction base="base:DateTime">
                              </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
					    <xs:element name="NotAfter" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The end time of the validity
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
	                         <xs:restriction base="base:DateTime">
                              </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element> 
                      </xs:all>
					  </xs:complexType>
                      </xs:element> 
                    <xs:element name="IsLowestCA" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         If the CA certificate is the lowest in the PKI domain
                          Boolean:
                             true, The CA certificate is lowest
                             false, The CA certificate isn¡¯t lowest
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>     
                    <xs:element name="DetailInfoText" minOccurs="0" type="base:OctectString" nillable="true">
                       <xs:annotation>
                         <xs:documentation>
                           The text of the ca certificate  or the certificate chain, string
                         </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>   

        <!--DomainLocalCerts Table-->
        <xs:element name="DomainLocalCerts" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the local certificates of the PKI domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">

              <xs:element name="Cert" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>                                                  
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="KeyUsage" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  The key usage of the certificate
						  Enumeration:
						  1-General
						  2-Signature
						  3-Encryption
						</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="SerialNumber" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The serial number of the ceritificate, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>                    
                    <xs:element name="Issuer" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The issuer name, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Subject" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The Subject name, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element> 
                    <xs:element name="Validity" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The validity date of the certificate, data structure, members include: NotBefore, NotAfter
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="NotBefore" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The begin time of the validit
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
	                         <xs:restriction base="base:DateTime">
                              </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
					    <xs:element name="NotAfter" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The end time of the validity
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
	                         <xs:restriction base="base:DateTime">
                              </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element> 
                      </xs:all>
					  </xs:complexType>
                      </xs:element> 
                      <xs:element name="DetailInfoText" minOccurs="0" type="base:OctectString" nillable="true">
                        <xs:annotation>
                          <xs:documentation>
                            The text of the local certificate or the certicicate chain, string
                          </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>
        
        <!--StoragePath Table-->
        <xs:element name="StoragePath" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the PKI storage path</xs:documentation>
          </xs:annotation>
			<xs:complexType>
			  <xs:all>                                    
				<xs:element name="StorageCertPath" minOccurs="0" type="base:String" nillable="true">                    
				  <xs:annotation>
					<xs:documentation>
					  The PKI certificate storage path, string, case sensitive, the path can¡¯t begin with ''/'' or ''../''
					</xs:documentation>                        
				  </xs:annotation>                                        
				</xs:element>                   
				<xs:element name="StorageCRLPath" minOccurs="0" type="base:String" nillable="true">                    
				  <xs:annotation>
					<xs:documentation>
					  The PKI CRL storage path, string, case sensitive, the path can¡¯t begin with ''/'' or ''../''
					</xs:documentation>                        
				  </xs:annotation>                                         
				</xs:element>                                                       
			  </xs:all>   
		      <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>     
            </xs:complexType>         
        </xs:element>

        <!--PKICapabilities Table-->
        <xs:element name="PKICapabilities" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the PKI capabilities</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
            <xs:element name="PKICapability" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all> 
					<xs:element name="EncAlgID" minOccurs="0" nillable="true">
					  <xs:annotation>
						 <xs:documentation>
						    Identity of encryption algorithm, unsigned integer 
						 </xs:documentation>
					  </xs:annotation>
   					  <xs:complexType>
   					    <xs:simpleContent>
   					      <xs:restriction base="base:UnsignedInteger32">
   					        <xs:minInclusive value="1"></xs:minInclusive>
   					      </xs:restriction>
   					    </xs:simpleContent>
   					  </xs:complexType>
					</xs:element>
					<xs:element name="Name" minOccurs="0" nillable="true">
					  <xs:annotation>
					    <xs:documentation>
						 Name of encryption  algorithm
						</xs:documentation>
					  </xs:annotation>
					   <xs:complexType>
					    <xs:simpleContent>
					      <xs:restriction base="base:String">
					      </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>
        
        <!--AuthorityAlgs Table-->
        <xs:element name="AuthorityAlgs" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the authority algorithm</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Alg" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>                                                  
                    <xs:element name="AlgID" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Identity of algorithm, unsigned integer
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:minInclusive value="1"></xs:minInclusive>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="AlgName" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Name of algorithm, 1 to 255 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="MinLength" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Minimal length of supported algorithm, unsigned integer
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="MaxLength" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Maximal length of supported, unsigned integer
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="DefaultLength" type="base:UnsignedInteger32" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Default length of supported algorithm, unsigned integer
                        </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>

		<!--CertificateRequests Table-->
        <xs:element name="CertificateRequests" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the certificate requests for the domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Request" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
					<xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
					<xs:element name="Password" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The challenge word which is needed when, 1 to 31 characters, case sensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Value" type="base:OctectString" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The certificate request value
                        </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>
  
   <!--ImportCertStatus Table-->
        <xs:element name="ImportCertStatus" minOccurs="0">
          <xs:annotation>
            <xs:documentation> Get the status when import certificate to a domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Status" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>                                                  
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The PKI domain name
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="CertificateType" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The type of certificate Enumeration:
						  1-CA
						  2-Local
                        </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:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                   <xs:element name="FilePath" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The path of the file contain certificate
                        </xs:documentation>
                      </xs:annotation>
                      <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="Password" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                        String, case sensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="0"></xs:minLength>
                            <xs:maxLength value="1024"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>	
					 <xs:element name="NewPubKeyName" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          1 to 64 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="PKI_PkeyName">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="64"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>	
					<xs:element name="IsNewPubKeyExist" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="IsPubKeyConfiged" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="IsCorrectFormat" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="IsNoCA" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="IsKeyPairExist" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="IsKeyPairMatched" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="CertFingerprint" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          1 to 127 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
					<xs:element name="DomainFingerprint" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          1 to 127 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>						
					<xs:element name="IsFingerprintMatched" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="NeedReplaceCACert" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="NeedReplaceLocalCert" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="NeedReplaceKeyPair" type="base:Boolean" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
					      Boolean:
					      true, Yes
					      false, No
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					<xs:element name="CertVerifyErrStr" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          1 to 255 characters
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:OctectString">
                          </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>

     <!--DomainsCertRequestStatus Table-->
        <xs:element name="CertRequestStatus" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the certificate request status</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Status" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>  
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="KeyUsage" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Key usage for requesting certificate
                          Enumeration:
                          1-General
                          2-Encryption
                          3-Signature
                        </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="PollingInterval" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The polling interval, unsigned integer, 5 to 168, in minutes
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                         <xs:restriction base="base:UnsignedInteger32">
                         </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>                    
			    <xs:element name="LastPollingTime" minOccurs="0" nillable="true">
                  <xs:annotation>
                    <xs:documentation>
                      The last polling time
                    </xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:simpleContent>
                     <xs:restriction base="base:DateTime">
                      </xs:restriction>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element> 
                <xs:element name="RemainPollingCount" minOccurs="0" nillable="true">
                  <xs:annotation>
                    <xs:documentation>
                      Remain polling attempts
                    </xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:simpleContent>
                     <xs:restriction base="base:UnsignedInteger32">
                     </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>
		
 <!--DomainPeerCerts Table-->
        <xs:element name="DomainPeerCerts" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the peer certificates of the PKI domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Cert" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>                                                  
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="SerialNumber" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The serial number of the ceritificate, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>                    
                    <xs:element name="Issuer" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The issuer name, sring
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Subject" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The subject name, sring
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element> 
                    <xs:element name="Validity" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The validity date of the certificate, data structure, members include: NotBefore, NotAfter
                        </xs:documentation>
                      </xs:annotation>
					  <xs:complexType>
					  <xs:all>
					    <xs:element name="NotBefore" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The begin time of the validity
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
	                         <xs:restriction base="base:DateTime">
                              </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
					    <xs:element name="NotAfter" minOccurs="0" nillable="true">
                          <xs:annotation>
                            <xs:documentation>
                              The end time of the validity
                            </xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:simpleContent>
	                         <xs:restriction base="base:DateTime">
                              </xs:restriction>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element> 
                      </xs:all>
					  </xs:complexType>
                      </xs:element>   
                      <xs:element name="DetailInfoText" minOccurs="0" type="base:OctectString" nillable="true">
                        <xs:annotation>
                          <xs:documentation>
                            The text of the peer certificate, string
                          </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>   
		
		 <!--DomainsCRL Table-->
        <xs:element name="DomainsCRL" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the CRL saved at the local for a PKI domain</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="DomainCRL" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>                                                  
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>      
                    <xs:element name="Issuer" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The issuer name
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                     <xs:element name="LastUpdate" minOccurs="0" type="base:DateTime" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The last update time
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
					 <xs:element name="NextUpdate" minOccurs="0" type="base:DateTime" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The next update time
                        </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>  
		
	  <!--PKIValidateResults Table-->
        <xs:element name="PKIValidateResults" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Get the validity of certificates</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="Result" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Row name</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>                                                  
                    <xs:element name="Domain" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                         The PKI domain name, 1 to 31 characters, case insensitive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="31"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="CertType" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
						  Enumeration:
                          1-CA
						  2-Local
						</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:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="SerialNum" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The serial number of the ceritificate, string
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:String">
                            <xs:minLength value="1"></xs:minLength>
                            <xs:maxLength value="127"></xs:maxLength>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>                    
                    <xs:element name="Issuer" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The issuer name, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Subject" minOccurs="0" type="base:String" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The subject name, string
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element> 
                    <xs:element name="ErrCode" minOccurs="0" type="base:UnsignedInteger32" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          The error code
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="ErrDescription" minOccurs="0" type="base:String" nillable="true">
                       <xs:annotation>
                         <xs:documentation>
                           The error description
                         </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:choice>
      <xs:attributeGroup ref="base:NodeAttributeGroup"></xs:attributeGroup>
    </xs:complexType>
  </xs:element>
</xs:schema>