<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://netconfcentral.org/ns/yuma-types"
  targetNamespace="http://netconfcentral.org/ns/yuma-types"
  elementFormDefault="qualified" attributeFormDefault="unqualified"
  xml:lang="en" version="2011-12-18"
  xmlns:ncx="http://netconfcentral.org/ns/yuma-ncx">
  <xs:annotation>
    <xs:documentation>Converted from YANG file 'yuma-types.yang' by yangdump version 2.2.1737
      
      Module: yuma-types
      Organization: Netconf Central
      Version: 2011-12-18
      Contact: Andy Bierman &lt;andy at netconfcentral.org&gt;</xs:documentation>
    <xs:documentation>Yuma Common Data Types</xs:documentation>
    <xs:appinfo>
      <ncx:source>/usr/share/yuma/modules/netconfcentral/yuma-types.yang</ncx:source>
      <ncx:organization>Netconf Central</ncx:organization>
      <ncx:contact>Andy Bierman &lt;andy at netconfcentral.org&gt;</ncx:contact>
    </xs:appinfo>
    <xs:appinfo>
      <ncx:revision>
        <ncx:version>2011-12-18</ncx:version>
        <ncx:description>Added TransactionId data type.</ncx:description>
      </ncx:revision>
      <ncx:revision>
        <ncx:version>2010-11-28</ncx:version>
        <ncx:description>Change default indent from 3 to 2.</ncx:description>
      </ncx:revision>
      <ncx:revision>
        <ncx:version>2010-01-25</ncx:version>
        <ncx:description>Adjust name lengths in ranges and patterns.</ncx:description>
      </ncx:revision>
      <ncx:revision>
        <ncx:version>2008-11-21</ncx:version>
        <ncx:description>Renamed ncxtypes to yuma-types.</ncx:description>
      </ncx:revision>
      <ncx:revision>
        <ncx:version>2008-07-20</ncx:version>
        <ncx:description>Converted from ncxtypes.ncx.</ncx:description>
      </ncx:revision>
    </xs:appinfo>
  </xs:annotation>
  <xs:simpleType name="int">
    <xs:annotation>
      <xs:documentation>Changed int base type to int32 for YANG</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:int"/>
  </xs:simpleType>
  <xs:simpleType name="uint">
    <xs:annotation>
      <xs:documentation>Changed uint base type to uint32 for YANG</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt"/>
  </xs:simpleType>
  <xs:simpleType name="long">
    <xs:annotation>
      <xs:documentation>Changed long base type to int64 for YANG</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:long"/>
  </xs:simpleType>
  <xs:simpleType name="ulong">
    <xs:annotation>
      <xs:documentation>Changed ulong base type to uint64 for YANG</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedLong"/>
  </xs:simpleType>
  <xs:simpleType name="ustring">
    <xs:annotation>
      <xs:documentation>Changed ustring base type to binary for YANG</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:base64Binary"/>
  </xs:simpleType>
  <xs:simpleType name="NcxName">
    <xs:annotation>
      <xs:documentation>General Purpose NCX Name string.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-z,A-Z,_][a-z,A-Z,0-9,\-,_,\.]{0,63}"/>
      <xs:minLength value="1"/>
      <xs:maxLength value="64"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcxQName">
    <xs:annotation>
      <xs:documentation>Qualified Name:
         module-name:NcxName OR owner-name:NcxName.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern
        value="(([a-z,A-Z,_][a-z,A-Z,0-9,\-,_,\.]{0,63}):)?([a-z,A-Z][a-z,A-Z,0-9,\-,_,\.]{0,63})"/>
      <xs:minLength value="1"/>
      <xs:maxLength value="129"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcxIdentifier">
    <xs:annotation>
      <xs:documentation>Union of all the Identifier types.</xs:documentation>
    </xs:annotation>
    <xs:union memberTypes="NcxName&#32;NcxQName"/>
  </xs:simpleType>
  <xs:simpleType name="NcxSessionId">
    <xs:annotation>
      <xs:documentation>NCX Session ID number</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcxLineLength">
    <xs:annotation>
      <xs:documentation>Requested Maximum Line Length</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="32"/>
      <xs:maxInclusive value="65535"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcxUserName">
    <xs:annotation>
      <xs:documentation>NCX User Name string.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="NcxName"/>
  </xs:simpleType>
  <xs:simpleType name="NcxGroupName">
    <xs:annotation>
      <xs:documentation>NCX Group Name string.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="NcxName"/>
  </xs:simpleType>
  <xs:simpleType name="NcAccessControlType">
    <xs:annotation>
      <xs:documentation>NCX System access control mode.</xs:documentation>
      <xs:appinfo>
        <ncx:default>strict</ncx:default>
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="open">
        <xs:annotation>
          <xs:documentation>no access control checking enforced</xs:documentation>
          <xs:appinfo>
            <ncx:value>0</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="loose">
        <xs:annotation>
          <xs:documentation>any RPC method in the netconf namespace can
            be invoked;  read-only data allowed for all</xs:documentation>
          <xs:appinfo>
            <ncx:value>1</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="strict">
        <xs:annotation>
          <xs:documentation>RPC entry must be present to invoke
            an RPC method; ncxacl Data entry must be present
            to access any data. (Except for user == 'root'.)</xs:documentation>
          <xs:appinfo>
            <ncx:value>2</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcxRpcType">
    <xs:annotation>
      <xs:documentation>NCX RPC Type Classifications</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>0</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="config">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>1</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exec">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>2</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="monitor">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>3</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="debug">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>4</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcDebugType">
    <xs:annotation>
      <xs:documentation>NCX Session debug logging control enumeration.
        Each successive value includes all the previous
        messages from lower value enumeration values,
        plus the messages for the specified value.
        
        off == no logging is done
        error == log error messages
        warn == log warning messages
        info == log info messages
        debug == log debug level 1 messages
        debug2 == log debug level 2 messages
        debug3 == log debug level 3 messages
        debug4 == log debug level 4 messages</xs:documentation>
      <xs:appinfo>
        <ncx:default>info</ncx:default>
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="off">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>0</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="error">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>1</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="warn">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>2</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="info">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>3</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="debug">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>4</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="debug2">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>5</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="debug3">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>6</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="debug4">
        <xs:annotation>
          <xs:appinfo>
            <ncx:value>7</ncx:value>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcPortNumber">
    <xs:annotation>
      <xs:documentation>Transport layer port number.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="65535"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcIndex">
    <xs:annotation>
      <xs:documentation>Non-negative index value</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcPathList">
    <xs:annotation>
      <xs:documentation>PATHSPEC formatted string indicating the machine-dependent
        search path for the NCX programs to use.  Parameters
        with this data type can be used to override the
        default search order, and insert special work
        directories in the search path.
        
        Each component in the string is an absolute or
        relative directory path specification.
        The colon char ':' is used to separate the path strings.
        Whitespace is not allowed in the string at all.
        
        For example, the following string contains 3 paths
        that would be used in the order given:
        
        /home/users/testbed1/yang:/home/users/yang:/usr/share/yang</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcModuleSpec">
    <xs:annotation>
      <xs:documentation>A string which specifies a module name, or a filespec
        which represents a module, with an optional revision date.
        
              If this string represents a filespec,
              containing any path separation characters, and/or
              ending with the '.yang' or '.yin' extension,
              then only that file location will be checked.
        
              If this string represents a module name, then
              the module search path will be checked for
              a file with the module name and the '.yang'
              or '.yin.' extension.
        
              If this string contains a module name
              followed by an 'at sign' character (@),
              followed by a revision string (e.g., foo@2010-01-01),
              then that specific version of the module will be used.
        
              If this string begins with a '~' character,
              then a username is expected to follow or
              a directory separator character.  If it begins
              with a '$' character, then an environment variable
              name is expected to follow.
        
              ~/some/path ==&gt; &lt;my-home-dir&gt;/some/path
        
              ~fred/some/path ==&gt; &lt;fred-home-dir&gt;/some/path
        
              $workdir/some/path ==&gt; &lt;workdir-env-var&gt;/some/path
           </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="4095"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NcPathSpec">
    <xs:annotation>
      <xs:documentation>A string which specifies a directory name.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="4095"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="IndentType">
    <xs:annotation>
      <xs:documentation>Requested indent amount.
        Only a limited range of line indent values are allowed.</xs:documentation>
      <xs:appinfo>
        <ncx:default>2</ncx:default>
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:maxInclusive value="9"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Timeout">
    <xs:annotation>
      <xs:documentation>Number of seconds to wait for a response
        from the NETCONF peer before declaring a timeout.
        Zero means no timeout at all.</xs:documentation>
      <xs:appinfo>
        <ncx:units>seconds</ncx:units>
        <ncx:default>30</ncx:default>
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt"/>
  </xs:simpleType>
  <xs:simpleType name="Date">
    <xs:annotation>
      <xs:documentation>Represents a specific date in YYYY-MM-DD format.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="\d{4}-\d{2}-\d{2}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FeatureSpec">
    <xs:annotation>
      <xs:documentation>Represents a feature specifier, which consists
        of a module-name, colon character ':' and then
        a feature name (e.g., 'foo:bar')</xs:documentation>
    </xs:annotation>
    <xs:restriction base="NcxQName"/>
  </xs:simpleType>
  <xs:simpleType name="TransactionId">
    <xs:annotation>
      <xs:documentation>Database edit transaction identifier.
        This is not a permanent identifier, and should only
        be used for 'equal or not-equal' comparison tests.
        The value will wrap after the maximum value is reached.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedLong">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

