<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"
  targetNamespace="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"
  elementFormDefault="qualified" attributeFormDefault="unqualified"
  xml:lang="en" version="2011-08-07"
  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">
  <xs:annotation>
    <xs:documentation>Converted from YANG file 'ietf-netconf-notifications.yang' by yangdump version 2.2.1737
      
      Module: ietf-netconf-notifications
      Organization: IETF NETCONF (Network Configuration Protocol) Working Group
      Version: 2011-08-07
      Contact: WG Web:   &lt;http://tools.ietf.org/wg/netconf/&gt;
      WG List:  &lt;mailto:netconf@ietf.org&gt;
      
      WG Chair: Bert Wijnen
      	  &lt;mailto:bertietf@bwijnen.net&gt;
      
      WG Chair: Mehmet Ersue
      	  &lt;mailto:mehmet.ersue@nsn.com&gt;
      
      Editor: Andy Bierman
      	&lt;mailto:andy.bierman@brocade.com&gt;</xs:documentation>
    <xs:documentation>This module defines an YANG data model for use with the
      NETCONF protocol that allows the NETCONF client to
      receive common NETCONF base event notifications.
      
      Copyright (c) 2011 IETF Trust and the persons identified as
      the document authors.  All rights reserved.
      
      Redistribution and use in source and binary forms, with or
      without modification, is permitted pursuant to, and subject
      to the license terms contained in, the Simplified BSD License
      set forth in Section 4.c of the IETF Trust's Legal Provisions
      Relating to IETF Documents
      (http://trustee.ietf.org/license-info).
      
      This version of this YANG module is part of RFC XXXX; see
      the RFC itself for full legal notices.</xs:documentation>
    <xs:appinfo>
      <ncx:source>/usr/share/yuma/modules/ietf/ietf-netconf-notifications.yang</ncx:source>
      <ncx:organization>IETF NETCONF (Network Configuration Protocol) Working Group</ncx:organization>
      <ncx:contact>WG Web:   &lt;http://tools.ietf.org/wg/netconf/&gt;
        WG List:  &lt;mailto:netconf@ietf.org&gt;
        
        WG Chair: Bert Wijnen
        	  &lt;mailto:bertietf@bwijnen.net&gt;
        
        WG Chair: Mehmet Ersue
        	  &lt;mailto:mehmet.ersue@nsn.com&gt;
        
        Editor: Andy Bierman
        	&lt;mailto:andy.bierman@brocade.com&gt;</ncx:contact>
    </xs:appinfo>
    <xs:appinfo>
      <ncx:revision>
        <ncx:version>2011-08-07</ncx:version>
        <ncx:description>Initial version.</ncx:description>
      </ncx:revision>
    </xs:appinfo>
  </xs:annotation>
  <xs:group name="common-session-parms">
    <xs:annotation>
      <xs:documentation>Common session parameters to identify a
        management session.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="username" type="xs:string">
        <xs:annotation>
          <xs:documentation>Name of the user for the session.</xs:documentation>
          <xs:appinfo>
            <ncx:mandatory>true</ncx:mandatory>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="session-id" type="nc:session-id-or-zero-type">
        <xs:annotation>
          <xs:documentation>Identifier of the session.
            A NETCONF session MUST be identified by a non-zero value.
            A non-NETCONF session MAY be identified by the value zero.</xs:documentation>
          <xs:appinfo>
            <ncx:mandatory>true</ncx:mandatory>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-host" 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:group name="changed-by-parms">
    <xs:annotation>
      <xs:documentation>Common parameters to identify the source
        of a change event, such as a configuration
        or capability change.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="changed-by">
        <xs:annotation>
          <xs:documentation>Indicates the source of the 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>
                  <ncx:mandatory>true</ncx:mandatory>
                </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>If present, the 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">
                  <xs:annotation>
                    <xs:documentation>Name of the user for the session.</xs:documentation>
                    <xs:appinfo>
                      <ncx:mandatory>true</ncx:mandatory>
                    </xs:appinfo>
                  </xs:annotation>
                </xs:element>
                <xs:element name="session-id"
                  type="nc:session-id-or-zero-type">
                  <xs:annotation>
                    <xs:documentation>Identifier of the session.
                      A NETCONF session MUST be identified by a non-zero value.
                      A non-NETCONF session MAY be identified by the value zero.</xs:documentation>
                    <xs:appinfo>
                      <ncx:mandatory>true</ncx:mandatory>
                    </xs:appinfo>
                  </xs:annotation>
                </xs:element>
                <xs:element name="source-host" 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:sequence>
  </xs:group>
  <xs:element name="netconf-config-change"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when the NETCONF server detects that the
        &lt;running&gt; or &lt;startup&gt; configuration datastore
        has changed by a management session.
        The notification summarizes the edits that
        have been detected.
        
        The server MAY choose to also generate this
        notification while loading a datastore during the
        boot process for the device.</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 the source of the 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>
                        <ncx:mandatory>true</ncx:mandatory>
                      </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>If present, the 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">
                        <xs:annotation>
                          <xs:documentation>Name of the user for the session.</xs:documentation>
                          <xs:appinfo>
                            <ncx:mandatory>true</ncx:mandatory>
                          </xs:appinfo>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="session-id"
                        type="nc:session-id-or-zero-type">
                        <xs:annotation>
                          <xs:documentation>Identifier of the session.
                            A NETCONF session MUST be identified by a non-zero value.
                            A non-NETCONF session MAY be identified by the value zero.</xs:documentation>
                          <xs:appinfo>
                            <ncx:mandatory>true</ncx:mandatory>
                          </xs:appinfo>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="source-host"
                        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="datastore" default="running"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>Indicates which configuration datastore has changed.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="running">
                    <xs:annotation>
                      <xs:documentation>The &lt;running&gt; datastore has changed.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>0</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="startup">
                    <xs:annotation>
                      <xs:documentation>The &lt;startup&gt; datastore has changed</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>1</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="edit" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>An edit record SHOULD be present for each distinct
                  edit operation that the server has detected on
                  the target datastore.  This list MAY be omitted
                  if the detailed edit operations are not known.
                  The server MAY report entries in this list for
                  changes not made by a NETCONF session (e.g., CLI).</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.
                        A server SHOULD set this object to the node within
                        the datastore that is being altered.  A server MAY
                        set this object to one of the ancestors of the actual
                        node that was changed, or omit this object, if the
                        exact node is not known.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="operation"
                    type="nc:edit-operation-type" default="merge"
                    minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Type of edit operation performed.
                        A server MUST set this object to the NETCONF edit
                        operation performed on the target datastore.</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="netconf-capability-change"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when the NETCONF server detects that
        the server capabilities have changed.
        Indicates which capabilities have been added, deleted,
        and/or modified.  The manner in which a server
        capability is changed is outside the scope of this
        document.</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 the source of the 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>
                        <ncx:mandatory>true</ncx:mandatory>
                      </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>If present, the 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">
                        <xs:annotation>
                          <xs:documentation>Name of the user for the session.</xs:documentation>
                          <xs:appinfo>
                            <ncx:mandatory>true</ncx:mandatory>
                          </xs:appinfo>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="session-id"
                        type="nc:session-id-or-zero-type">
                        <xs:annotation>
                          <xs:documentation>Identifier of the session.
                            A NETCONF session MUST be identified by a non-zero value.
                            A non-NETCONF session MAY be identified by the value zero.</xs:documentation>
                          <xs:appinfo>
                            <ncx:mandatory>true</ncx:mandatory>
                          </xs:appinfo>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="source-host"
                        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 just been 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 just been deleted.</xs:documentation>
                <xs:appinfo>
                  <ncx:ordered-by>system</ncx:ordered-by>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="modified-capability" type="inet:uri"
              minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>List of capabilities that have just been modified.
                  A capability is considered to be modified if the
                  base URI for the capability has not changed, but
                  one or more of the parameters encoded at the end of
                  the capability URI has changed.
                  The new modified value of the complete URI is returned.</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="netconf-session-start"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when a NETCONF server detects that a
        NETCONF session has started.  A server MAY generate
        this event for non-NETCONF management sessions.
        Indicates the identity of the user that started
        the session.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="username" type="xs:string">
              <xs:annotation>
                <xs:documentation>Name of the user for the session.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="session-id"
              type="nc:session-id-or-zero-type">
              <xs:annotation>
                <xs:documentation>Identifier of the session.
                  A NETCONF session MUST be identified by a non-zero value.
                  A non-NETCONF session MAY be identified by the value zero.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="source-host" 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="netconf-session-end"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when a NETCONF server detects that a
        NETCONF session has terminated.
        A server MAY optionally generate this event for
        non-NETCONF management sessions. Indicates the
        identity of the user that owned the session,
        and why the session was terminated.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="username" type="xs:string">
              <xs:annotation>
                <xs:documentation>Name of the user for the session.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="session-id"
              type="nc:session-id-or-zero-type">
              <xs:annotation>
                <xs:documentation>Identifier of the session.
                  A NETCONF session MUST be identified by a non-zero value.
                  A non-NETCONF session MAY be identified by the value zero.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="source-host" 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="killed-by" type="nc:session-id-type"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>The ID of the session that directly caused this session
                  to be abnormally terminated.  If this session was abnormally
                  terminated by a non-NETCONF session unknown to the server,
                  then this leaf will not be present.</xs:documentation>
                <xs:appinfo>
                  <ncx:when>../termination-reason = 'killed' and .</ncx:when>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="termination-reason">
              <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 by the client in normal
                        fashion, e.g., by the NETCONF &lt;close-session&gt;
                        protocol 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 in abnormal
                        fashion, e.g., by the NETCONF &lt;kill-session&gt;
                        protocol 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 transport layer
                        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,
                        e.g., waiting for the &lt;hello&gt; message or &lt;rpc&gt;
                        messages.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>3</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 invalid.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>4</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>5</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="netconf-confirmed-commit"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Generated when a NETCONF server detects that a confirmed-commit
        event has occurred.  Indicates the event and the current state
        of the confirmed-commit procedure in progress.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="username" type="xs:string">
              <xs:annotation>
                <xs:documentation>Name of the user for the session.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="session-id"
              type="nc:session-id-or-zero-type">
              <xs:annotation>
                <xs:documentation>Identifier of the session.
                  A NETCONF session MUST be identified by a non-zero value.
                  A non-NETCONF session MAY be identified by the value zero.</xs:documentation>
                <xs:appinfo>
                  <ncx:mandatory>true</ncx:mandatory>
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
            <xs:element name="source-host" 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="confirm-event">
              <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 confirmed-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 confirmed-commit procedure has been canceled,
                        e.g., due to the session being terminated, or an
                        explicit &lt;cancel-commit&gt; operation.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>1</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="timeout">
                    <xs:annotation>
                      <xs:documentation>The confirmed-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 confirmed-commit timeout has been extended,
                        e.g., by a new &lt;confirmed-commit&gt; operation.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>3</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="complete">
                    <xs:annotation>
                      <xs:documentation>The confirmed-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:element name="timeout" type="xs:unsignedInt"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>The configured timeout value if the event type
                  is 'start' or 'extend'.  This value represents the
                  the approximate number of seconds from the event
                  time when the 'timeout' event might occur.</xs:documentation>
                <xs:appinfo>
                  <ncx:when>../confirm-event = 'start' or ../confirm-event = 'extend'</ncx:when>
                  <ncx:units>seconds</ncx:units>
                </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:schema>

