<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://netconfcentral.org/ns/toaster"
  targetNamespace="http://netconfcentral.org/ns/toaster"
  elementFormDefault="qualified" attributeFormDefault="unqualified"
  xml:lang="en" version="2009-11-20"
  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">
  <xs:annotation>
    <xs:documentation>Converted from YANG file 'toaster.yang' by yangdump version 2.2.1737
      
      Module: toaster
      Organization: Netconf Central
      Version: 2009-11-20
      Contact: Andy Bierman &lt;andy@netconfcentral.org&gt;</xs:documentation>
    <xs:documentation>YANG version of the TOASTER-MIB.</xs:documentation>
    <xs:appinfo>
      <ncx:source>/usr/share/yuma/modules/netconfcentral/toaster.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>2009-11-20</ncx:version>
        <ncx:description>Toaster module in progress.</ncx:description>
      </ncx:revision>
    </xs:appinfo>
  </xs:annotation>
  <xs:simpleType name="DisplayString">
    <xs:annotation>
      <xs:documentation>YANG version of the SMIv2 DisplayString TEXTUAL-CONVENTION.</xs:documentation>
      <xs:appinfo>
        <ncx:reference>
          <ncx:text>RFC 2579, section 2.</ncx:text>
          <ncx:url>http://www.ietf.org/rfc/rfc2579.txt</ncx:url>
        </ncx:reference>
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="255"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="toaster">
    <xs:annotation>
      <xs:documentation>Top-level container for all toaster database objects.</xs:documentation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
        <ncx:presence>Indicates the toaster service is available</ncx:presence>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="toasterManufacturer" type="DisplayString">
          <xs:annotation>
            <xs:documentation>The name of the toaster's manufacturer. For instance,
               Microsoft Toaster.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <ncx:mandatory>true</ncx:mandatory>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="toasterModelNumber" type="DisplayString">
          <xs:annotation>
            <xs:documentation>The name of the toaster's model. For instance,
              Radiant Automatic.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <ncx:mandatory>true</ncx:mandatory>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="toasterStatus">
          <xs:annotation>
            <xs:documentation>This variable indicates the current state of
              the toaster.</xs:documentation>
            <xs:appinfo>
              <ncx:config>false</ncx:config>
              <ncx:mandatory>true</ncx:mandatory>
            </xs:appinfo>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="up">
                <xs:annotation>
                  <xs:documentation>The toaster knob position is up.
                     No toast is being made now.</xs:documentation>
                  <xs:appinfo>
                    <ncx:value>1</ncx:value>
                  </xs:appinfo>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="down">
                <xs:annotation>
                  <xs:documentation>The toaster knob position is down.
                     Toast is being made now.</xs:documentation>
                  <xs:appinfo>
                    <ncx:value>2</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:complexType>
  </xs:element>
  <xs:complexType name="make-toast_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="make-toast" substitutionGroup="nc:rpcOperation">
    <xs:annotation>
      <xs:documentation>Make some toast.
        The toastDone notification will be sent when
        the toast is finished.
        An 'in-use' error will be returned if toast
        is already being made.
        A 'resource-denied' error will be returned
        if the toaster service is disabled.</xs:documentation>
      <xs:appinfo>
        <ncx:rpc-output>make-toast_output_type__</ncx:rpc-output>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="nc:rpcOperationType">
          <xs:sequence>
            <xs:element name="toasterDoneness" default="5"
              minOccurs="0">
              <xs:annotation>
                <xs:documentation>This variable controls how well-done is the
                  ensuing toast. It should be on a scale of 1 to 10.
                  Toast made at 10 generally is considered unfit
                  for human consumption; toast made at 1 is warmed
                  lightly.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:unsignedInt">
                  <xs:minInclusive value="1"/>
                  <xs:maxInclusive value="10"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="toasterToastType" type="xs:QName"
              default="toast:wheat-bread" minOccurs="0">
              <xs:annotation>
                <xs:documentation>This variable informs the toaster of the type of
                  material that is being toasted. The toaster
                  uses this information, combined with
                  toasterDoneness, to compute for how
                  long the material must be toasted to achieve
                  the required doneness.</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="cancel-toast_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="cancel-toast" substitutionGroup="nc:rpcOperation">
    <xs:annotation>
      <xs:documentation>Stop making toast, if any is being made.
        A 'resource-denied' error will be returned
        if the toaster service is disabled.</xs:documentation>
      <xs:appinfo>
        <ncx:rpc-output>cancel-toast_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:element name="toastDone"
    substitutionGroup="ncn:notificationContent">
    <xs:annotation>
      <xs:documentation>Indicates that the toast in progress has completed.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ncn:NotificationContentType">
          <xs:sequence>
            <xs:element name="toastStatus" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Indicates the final toast status</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="done">
                    <xs:annotation>
                      <xs:documentation>The toast is done.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>0</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="cancelled">
                    <xs:annotation>
                      <xs:documentation>The toast was cancelled.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>1</ncx:value>
                      </xs:appinfo>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="error">
                    <xs:annotation>
                      <xs:documentation>The toaster service was disabled or
                        the toaster is broken.</xs:documentation>
                      <xs:appinfo>
                        <ncx:value>2</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:schema>

