<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://netconfcentral.org/ns/yuma-system"
  targetNamespace="http://netconfcentral.org/ns/yuma-system"
  elementFormDefault="qualified" attributeFormDefault="unqualified"
  xml:lang="en" version="2012-01-15"
  xmlns:ncx="http://netconfcentral.org/ns/yuma-ncx"
  xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
  xmlns:ncn="urn:ietf:params:xml:ns:netconf:notification:1.0"
  xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types"
  xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types"
  xmlns:appcmn="http://netconfcentral.org/ns/yuma-app-common"
  xmlns:yt="http://netconfcentral.org/ns/yuma-types"
  xmlns:nacm1="http://netconfcentral.org/ns/yuma-nacm">
  <xs:annotation>
    <xs:documentation>Converted from YANG file 'yuma-system.yang' by yangdump version 2.2.1737
      
      Module: yuma-system
      Organization: Netconf Central
      Version: 2012-01-15
      Contact: Andy Bierman &lt;andy@netconfcentral.org&gt;.</xs:documentation>
    <xs:documentation>NETCONF Basic System Group.</xs:documentation>
    <xs:appinfo>
      <ncx:source>/usr/share/yuma/modules/netconfcentral/yuma-system.yang</ncx:source>
      <ncx:organization>Netconf Central</ncx:organization>
      <ncx:contact>Andy Bierman &lt;andy@netconfcentral.org&gt;.</ncx:contact>
    </xs:appinfo>
    <xs:appinfo>
      <ncx:revision>
        <ncx:version>2012-01-15</ncx:version>
        <ncx:description>Add sysNetconfServerCLI monitoring data.</ncx:description>
      </ncx:revision>
      <ncx:revision>
        <ncx:version>2010-05-24</ncx:version>
        <ncx:description>Change SessionId to standard session-id-type.</ncx:description>
      </ncx:revision>
      <ncx:revision>
        <ncx:version>2009-12-27</ncx:version>
        <ncx:description>Initial version.</ncx:description>
      </ncx:revision>
    </xs:appinfo>
  </xs:annotation>
  <xs:group name="SysCommonSessionParms">
    <xs:sequence>
      <xs:element name="userName" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Name of the user for the session.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sessionId" type="nc:session-id-type">
        <xs:annotation>
          <xs:documentation>Identifier of the session.</xs:documentation>
          <xs:appinfo>
            <ncx:mandatory>true</ncx:mandatory>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="remoteHost" type="inet:ip-address"
        minOccurs="0">
        <xs:annotation>
          <xs:documentation>Address of the remote host for the session.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union memberTypes="inet:ipv4-address&#32;inet:ipv6-address"/>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:group>
  <xs:element name="system">
    <xs:annotation>
      <xs:documentation>Basic objects for NETCONF system status.</xs:documentation>
      <xs:appinfo>
        <ncx:config>false</ncx:config>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="sysName" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The system name.</xs:documentation>
            <xs:appinfo>
              <ncx:reference>
                <ncx:text>RFC 3418, sysName object</ncx:text>
                <ncx:url>http://www.ietf.org/rfc/rfc3418.txt</ncx:url>
              </ncx:reference>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="sysCurrentDateTime" type="yang:date-and-time"
          minOccurs="0">
          <xs:annotation>
            <xs:documentation>The current system date and time.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="sysBootDateTime" type="yang:date-and-time"
          minOccurs="0">
          <xs:annotation>
            <xs:documentation>The system date and time when the system
              last restarted.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="sysLogLevel" type="yt:NcDebugType"
          default="info" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The current system logging verbosity level.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="sysNetconfServerId" type="xs:string"
          minOccurs="0">
          <xs:annotation>
            <xs:documentation>The name and version ID for the NETCONF server
              running on this system.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="sysNetconfServerCLI" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The boot-time CLI and configuration parameters that
              were used by the server running on this system.
              The format is the 'netconfd' container, defined in
              netconfd.yang.  By default, only client-set
              parameters are shown.  Use with-defaults=report-all
              to see all CLI parameter values in effect.</xs:documentation>
            <xs:appinfo>
              <nacm1:very-secure/>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="xs:anyType"/>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="uname">
          <xs:annotation>
            <xs:documentation>Contains the broken out fields from the
              output of the 'uname' command on this machine.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="sysname" type="xs:string" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The name of the operating system in use.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="release" type="xs:string" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The current release level of the operating
                     system in use.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="version" type="xs:string" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The current version level of the operating
                     system in use.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="machine" type="xs:string" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>A description of the hardware in use.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="nodename" type="xs:string"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The host name of this system, as reported by
                    the uname command.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="set-log-level_output_type__">
    <xs:complexContent>
      <xs:extension base="nc:dataInlineType">
        <xs:sequence>
          <xs:any minOccurs="0" maxOccurs="unbounded"
            namespace="##other" processContents="lax"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="set-log-level" substitutionGroup="nc:rpcOperation">
    <xs:annotation>
      <xs:documentation>Sets the server log verbosity level</xs:documentation>
      <xs:appinfo>
        <ncx:rpc-output>set-log-level_output_type__</ncx:rpc-output>
        <nacm1:secure/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:annotation>
        <xs:appinfo>
          <ncx:default-parm>
            <ncx:parm>log-level</ncx:parm>
          </ncx:default-parm>
        </xs:appinfo>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="nc:rpcOperationType">
          <xs:sequence>
            <xs:element name="log-level" type="yt:NcDebugType"
              default="info">
              <xs:annotation>
                <xs:documentation>The desired verbosity level for system logging
                  messages generated by the server.
                  The current value can be obtained by retrieving
                  the /system/sysLogLevel object.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="sysStartup"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when the system restarts.
        Used for logging purposes, since no
        sessions are actually active when
        the system restarts.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="startupSource" type="xs:string"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>The filespec used to load the running configuration.
                  This leaf will only be present if there was a startup
                  configuration file used.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="bootError" minOccurs="0"
              maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>There will be one entry for each &lt;rpc-error&gt;
                  encountered during the load config operation.
                  The &lt;rpc-error&gt; fields are used directly.
                  There is no particular order, so no key is defined.</xs:documentation>
                <xs:appinfo>
                  <ncx:ordered-by>system</ncx:ordered-by>
                </xs:appinfo>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded"
                    namespace="##other" processContents="lax"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="sysConfigChange"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when the &lt;running&gt; configuration is changed.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Name of the user for the session.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="sessionId" type="nc:session-id-type">
              <xs:annotation>
                <xs:documentation>Identifier of the session.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="remoteHost" type="inet:ip-address"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>Address of the remote host for the session.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:union
                  memberTypes="inet:ipv4-address&#32;inet:ipv6-address"/>
              </xs:simpleType>
            </xs:element>
            <xs:element name="edit" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>An edit record will be present for each distinct
                  edit operation on the running config.</xs:documentation>
                <xs:appinfo>
                  <ncx:ordered-by>system</ncx:ordered-by>
                </xs:appinfo>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="target" type="xs:string"
                    minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Topmost node associated with the configuration change.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="operation"
                    type="nc:EditOperationType" default="merge"
                    minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Type of edit operation performed.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:any minOccurs="0" maxOccurs="unbounded"
                    namespace="##other" processContents="lax"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="sysCapabilityChange"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when a &lt;capability&gt; is added or deleted.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="changed-by">
              <xs:annotation>
                <xs:documentation>Indicates who caused this capability change.
                  If caused by internal action, then the
                  empty leaf 'server' will be present.
                  If caused by a management session, then
                  the name, remote host address, and session ID
                  of the session that made the change will be reported.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:choice>
                    <xs:annotation>
                      <xs:appinfo>
                        <ncx:choice-name>server-or-user</ncx:choice-name>
                      </xs:appinfo>
                    </xs:annotation>
                    <xs:sequence>
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:case-name>server</ncx:case-name>
                        </xs:appinfo>
                      </xs:annotation>
                      <xs:element name="server" minOccurs="0">
                        <xs:annotation>
                          <xs:documentation>The capability change was caused by the server.</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:any minOccurs="0" maxOccurs="unbounded"
                        namespace="##other" processContents="lax"/>
                    </xs:sequence>
                    <xs:sequence>
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:case-name>by-user</ncx:case-name>
                        </xs:appinfo>
                      </xs:annotation>
                      <xs:element name="userName" type="xs:string"
                        minOccurs="0">
                        <xs:annotation>
                          <xs:documentation>Name of the user for the session.</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="sessionId"
                        type="nc:session-id-type">
                        <xs:annotation>
                          <xs:documentation>Identifier of the session.</xs:documentation>
                          <xs:appinfo>
                            <ncx:mandatory>true</ncx:mandatory>
                          </xs:appinfo>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="remoteHost"
                        type="inet:ip-address" minOccurs="0">
                        <xs:annotation>
                          <xs:documentation>Address of the remote host for the session.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                          <xs:union
                            memberTypes="inet:ipv4-address&#32;inet:ipv6-address"/>
                        </xs:simpleType>
                      </xs:element>
                      <xs:any minOccurs="0" maxOccurs="unbounded"
                        namespace="##other" processContents="lax"/>
                    </xs:sequence>
                    <xs:any minOccurs="0" maxOccurs="unbounded"
                      namespace="##other" processContents="lax"/>
                  </xs:choice>
                  <xs:any minOccurs="0" maxOccurs="unbounded"
                    namespace="##other" processContents="lax"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="added-capability" type="inet:uri"
              minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>List of capabilities that have been just added.</xs:documentation>
                <xs:appinfo>
                  <ncx:ordered-by>system</ncx:ordered-by>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="deleted-capability" type="inet:uri"
              minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>List of capabilities that have been just deleted.</xs:documentation>
                <xs:appinfo>
                  <ncx:ordered-by>system</ncx:ordered-by>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="sysSessionStart"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when a new management session is started.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Name of the user for the session.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="sessionId" type="nc:session-id-type">
              <xs:annotation>
                <xs:documentation>Identifier of the session.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="remoteHost" type="inet:ip-address"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>Address of the remote host for the session.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:union
                  memberTypes="inet:ipv4-address&#32;inet:ipv6-address"/>
              </xs:simpleType>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="sysSessionEnd"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when a management session is terminated.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Name of the user for the session.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="sessionId" type="nc:session-id-type">
              <xs:annotation>
                <xs:documentation>Identifier of the session.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="remoteHost" type="inet:ip-address"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>Address of the remote host for the session.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:union
                  memberTypes="inet:ipv4-address&#32;inet:ipv6-address"/>
              </xs:simpleType>
            </xs:element>
            <xs:element name="killedBy" type="nc:session-id-type"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>Session ID that issued the &lt;kill-session&gt;,
                  if the session was terminated by this operation.</xs:documentation>
                <xs:appinfo>
                  <ncx:when>../terminationReason = 'killed'</ncx:when>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="terminationReason">
              <xs:annotation>
                <xs:documentation>Reason the session was terminated.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="closed">
                    <xs:annotation>
                      <xs:documentation>The session was terminated with
                        the &lt;close-session&gt; operation.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>0</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="killed">
                    <xs:annotation>
                      <xs:documentation>The session was terminated with
                        the &lt;kill-session&gt; operation.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>1</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="dropped">
                    <xs:annotation>
                      <xs:documentation>The session was terminated because
                        the SSH session or TCP connection was
                        unexpectedly closed.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>2</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="timeout">
                    <xs:annotation>
                      <xs:documentation>The session was terminated because
                        of inactivity, either waiting for
                        the &lt;hello&gt; or &lt;rpc&gt; PDUs.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>3</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="bad-start">
                    <xs:annotation>
                      <xs:documentation>The session startup sequence failed.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>4</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="bad-hello">
                    <xs:annotation>
                      <xs:documentation>The client's &lt;hello&gt; message was
                        bad or never arrived.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>5</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="other">
                    <xs:annotation>
                      <xs:documentation>The session was terminated for
                        some other reason.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>6</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="sysConfirmedCommit"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when a confirmed-commit event occurs.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Name of the user for the session.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="sessionId" type="nc:session-id-type">
              <xs:annotation>
                <xs:documentation>Identifier of the session.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="remoteHost" type="inet:ip-address"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>Address of the remote host for the session.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:union
                  memberTypes="inet:ipv4-address&#32;inet:ipv6-address"/>
              </xs:simpleType>
            </xs:element>
            <xs:element name="confirmEvent">
              <xs:annotation>
                <xs:documentation>Indicates the event that caused the notification.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="start">
                    <xs:annotation>
                      <xs:documentation>The confirm-commit procedure has started.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>0</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="cancel">
                    <xs:annotation>
                      <xs:documentation>The confirm-commit procedure has been canceled,
                        due to the session being terminated.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>1</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="timeout">
                    <xs:annotation>
                      <xs:documentation>The confirm-commit procedure has been canceled,
                        due to the confirm-timeout interval expiring.
                        The common session parameters will not be present
                        in this sub-mode.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>2</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="extend">
                    <xs:annotation>
                      <xs:documentation>The confirm-commit timeout has been extended.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>3</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="complete">
                    <xs:annotation>
                      <xs:documentation>The confirm-commit procedure has been completed.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>4</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="sequence-id" type="xs:unsignedInt" minOccurs="0"
    substitutionGroup="ncn:__.notification.A__">
    <xs:annotation>
      <xs:documentation>Global auto-increment sequence ID added to
        each notification element sent by netconfd</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="load_output_type__">
    <xs:complexContent>
      <xs:extension base="nc:dataInlineType">
        <xs:sequence>
          <xs:element name="mod-revision" type="yt:Date" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Revision date of the module in use by the server.
                Will only be present if the module has a version</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:any minOccurs="0" maxOccurs="unbounded"
            namespace="##other" processContents="lax"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="load" substitutionGroup="nc:rpcOperation">
    <xs:annotation>
      <xs:documentation>Load a module into the server, if it is not already loaded.
        Returns the module revision date (or today's date if none),
        of the module that was loaded, or an error if not found
        or the module found had errors and was not loaded
        successfully.  If the module is already loaded, then the
        revision date will simply be returned.</xs:documentation>
      <xs:appinfo>
        <ncx:rpc-output>load_output_type__</ncx:rpc-output>
        <nacm1:secure/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:annotation>
        <xs:appinfo>
          <ncx:default-parm>
            <ncx:parm>module</ncx:parm>
          </ncx:default-parm>
        </xs:appinfo>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="nc:rpcOperationType">
          <xs:sequence>
            <xs:element name="module" type="yt:NcxName">
              <xs:annotation>
                <xs:documentation>Name of the module to load.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="revision" type="yt:Date" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Module revision to load.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="restart_output_type__">
    <xs:complexContent>
      <xs:extension base="nc:dataInlineType">
        <xs:sequence>
          <xs:any minOccurs="0" maxOccurs="unbounded"
            namespace="##other" processContents="lax"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="restart" substitutionGroup="nc:rpcOperation">
    <xs:annotation>
      <xs:documentation>Restart the server. Does not reload the software image..</xs:documentation>
      <xs:appinfo>
        <ncx:rpc-output>restart_output_type__</ncx:rpc-output>
        <nacm1:secure/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="nc:rpcOperationType">
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="shutdown_output_type__">
    <xs:complexContent>
      <xs:extension base="nc:dataInlineType">
        <xs:sequence>
          <xs:any minOccurs="0" maxOccurs="unbounded"
            namespace="##other" processContents="lax"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="shutdown" substitutionGroup="nc:rpcOperation">
    <xs:annotation>
      <xs:documentation>Shutdown the server.</xs:documentation>
      <xs:appinfo>
        <ncx:rpc-output>shutdown_output_type__</ncx:rpc-output>
        <nacm1:secure/>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="nc:rpcOperationType">
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="no-op_output_type__">
    <xs:complexContent>
      <xs:extension base="nc:dataInlineType">
        <xs:sequence>
          <xs:any minOccurs="0" maxOccurs="unbounded"
            namespace="##other" processContents="lax"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="no-op" substitutionGroup="nc:rpcOperation">
    <xs:annotation>
      <xs:documentation>Just returns 'ok'. Used for debugging
        or relative performance measurements.</xs:documentation>
      <xs:appinfo>
        <ncx:rpc-output>no-op_output_type__</ncx:rpc-output>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="nc:rpcOperationType">
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded"
              namespace="##other" processContents="lax"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
</xs:schema>

