<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by William A Wagner (private) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:annotation>
		<xsd:documentation xml:lang="en">
    IEEE/ISTO Printer Working Group (PWG)
    Web-Based Monitoring and Management (WBMM)
    Actionule XML Schema
    - Actionule-20030930.xsd
    - prototype version 0.20 - 30 Sept 2003 - Ira McDonald
    - based on IETF Actionule MIB [RFC3231] with extensions

    References
    ----------
    [IPP-ADM] Internet Printing Protocol (IPP): Job and Printer
              Administrative Operations (July 2001)
              ftp://ftp.pwg.org/pub/pwg/ipp/new_ADM/
                draft-ietf-ipp-ops-set2-03.txt

    [IPP-NOT] Internet Printing Protocol (IPP): Event Notifications
              And Subscriptions (August 2001)
              ftp://ftp.pwg.org/pub/pwg/ipp/new_NOT/
                draft-ietf-ipp-not-spec-07.txt

    [IPP-NOT] Internet Printing Protocol (IPP): Resource Objects
              (September 2000)
              ftp://ftp.pwg.org/pub/pwg/ipp/new_RES/
                draft-ietf-ipp-get-resource-01.txt

    [RFC2911] Internet Printing Protocol/1.1: Model and Semantics
              (September 2000)
              ftp://ftp.isi.edu/in-notes/rfc2911.txt

    [RFC3231] Definitions of Managed Objects for Actionuling
              Management Operations (Actionule MIB, January 2002)
              ftp://ftp.isi.edu/in-notes/rfc3231.txt

    [RFC3380] Internet Printing Protocol (IPP): Job and Printer
              Set Operations (September 2002)
              ftp://ftp.isi.edu/in-notes/rfc3380.txt
  </xsd:documentation>
	</xsd:annotation>
	<!--                  -->
	<!-- type definitions -->
	<!--                  -->
	<xsd:simpleType name="ActionIndexType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1"/>
		</xsd:restriction>
		<!-- unique integer key of this Actionule entry -->
		<!-- see ActionName - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionStateType">
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="Enabled"/>
			<xsd:enumeration value="Disabled"/>
			<xsd:enumeration value="Finished"/>
		</xsd:restriction>
		<!-- state of this Actionule entry -->
		<!-- see ActionOperStatus - section 4 [RFC3231] -->
		<!-- see IPP job-state - section 4.3.7 [RFC2911] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionOperationType">
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="None"/>
			<xsd:enumeration value="Other"/>
			<xsd:enumeration value="Disable"/>
			<xsd:enumeration value="Enable"/>
			<xsd:enumeration value="Pause"/>
			<xsd:enumeration value="Resume"/>
			<xsd:enumeration value="PauseAndDisable"/>
			<xsd:enumeration value="ResumeAndEnable"/>
			<xsd:enumeration value="Purge"/>
			<xsd:enumeration value="Restart"/>
			<xsd:enumeration value="Shutdown"/>
			<xsd:enumeration value="Startup"/>
			<xsd:enumeration value="GetElementList"/>
			<xsd:enumeration value="SetElementList"/>
			<xsd:enumeration value="GetResource"/>
			<xsd:enumeration value="SetResource"/>
			<xsd:enumeration value="Subscribe"/>
			<xsd:enumeration value="Unsubscribe"/>
			<xsd:enumeration value="Wakeup"/>
		</xsd:restriction>
		<!-- operation to perform, according to value of ActionMode -->
		<!-- see ActionVariable and ActionValue - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionModeType">
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="Periodic"/>
			<xsd:enumeration value="Calendar"/>
			<xsd:enumeration value="Oneshot"/>
		</xsd:restriction>
		<!-- timing mode of this Actionuled operation -->
		<!-- see ActionType - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionIntervalType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="0"/>
		</xsd:restriction>
		<!-- minimum (not exact) interval in seconds between operations -->
		<!-- when value of ActionMode is 'Periodic' -->
		<!-- see ActionInterval - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionWeekDayType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1"/>
			<xsd:maxInclusive value="7"/>
		</xsd:restriction>
		<!-- day of week to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
		<!-- see ActionInterval - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionMonthType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1"/>
			<xsd:maxInclusive value="12"/>
		</xsd:restriction>
		<!-- month to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
		<!-- see ActionMonth - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionDayType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1"/>
			<xsd:maxInclusive value="31"/>
		</xsd:restriction>
		<!-- day of month to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
		<!-- see ActionDay - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionHourType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="23"/>
		</xsd:restriction>
		<!-- hour of day to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
		<!-- see ActionHour - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionMinuteType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="59"/>
		</xsd:restriction>
		<!-- minute of hour to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
		<!-- see ActionMinute - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionTriggersType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="0"/>
		</xsd:restriction>
		<!-- count of attempts to perform operation in ActionOperation -->
		<!-- see ActionTriggers - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionFailuresType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="0"/>
		</xsd:restriction>
		<!-- count of failures to perform operation in ActionOperation -->
		<!-- see ActionFailures - section 4 [RFC3231] -->
	</xsd:simpleType>
	<xsd:simpleType name="ActionErrorType">
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="NoResponse"/>
			<xsd:enumeration value="NoError"/>
			<xsd:enumeration value="TooBig"/>
			<xsd:enumeration value="NoSuchName"/>
			<xsd:enumeration value="BadValue"/>
			<xsd:enumeration value="ReadOnly"/>
			<xsd:enumeration value="GeneralError"/>
			<xsd:enumeration value="NoAccess"/>
			<xsd:enumeration value="WrongType"/>
			<xsd:enumeration value="WrongLength"/>
			<xsd:enumeration value="WrongEncoding"/>
			<xsd:enumeration value="WrongValue"/>
			<xsd:enumeration value="NoCreation"/>
			<xsd:enumeration value="InconsistentValue"/>
			<xsd:enumeration value="ResourceUnavailable"/>
			<xsd:enumeration value="CommitFailed"/>
			<xsd:enumeration value="UndoFailed"/>
			<xsd:enumeration value="AuthorizationError"/>
			<xsd:enumeration value="NotWritable"/>
			<xsd:enumeration value="InconsistentName"/>
		</xsd:restriction>
		<!-- specific error (or none) when performing ActionOperation -->
		<!-- see ActionLastFailure - section 4 [RFC3231] -->
	</xsd:simpleType>
	<!--                            -->
	<!-- simple element definitions -->
	<!--                            -->
	<xsd:element name="ActionIndex" type="ActionIndexType"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- unique integer key of this Actionule entry -->
	<!-- see ActionName - section 4 [RFC3231] -->
	<xsd:element name="ActionDescription" type="xsd:string"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- description of this Actionule entry -->
	<!-- see ActionDescr - section 4 [RFC3231] -->
	<xsd:element name="ActionState" type="ActionStateType"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- state of this Actionule entry -->
	<!-- see ActionOperStatus - section 4 [RFC3231] -->
	<!-- see IPP job-state - section 4.3.7 [RFC2911] -->
	<xsd:element name="ActionStateReasonList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionStateReason" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- list of state reasons for this Actionule entry -->
	</xsd:element>
	<xsd:element name="ActionStateReason" type="xsd:NMTOKEN"/>
	<!-- OPTIONAL - see list element above -->
	<!-- state reason (qualifier) for this Actionule entry -->
	<!-- see IPP job-state-reasons - section 4.3.8 [RFC2911] -->
	<xsd:element name="ActionStateMessageList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionStateMessage" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- list of state messages for this Actionule entry -->
	</xsd:element>
	<xsd:element name="ActionStateMessage" type="xsd:string"/>
	<!-- OPTIONAL - see list element above -->
	<!-- human-readable state message for this Actionule entry -->
	<!-- see IPP job-state-message - section 4.3.9 [RFC2911] -->
	<xsd:element name="ActionOperation" type="ActionOperationType"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- operation to perform, according to value of ActionMode -->
	<!-- see ActionVariable and ActionValue - section 4 [RFC3231] -->
	<xsd:element name="ActionParameterList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionParameter" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- list of parameter names (and optional values) for operation -->
	</xsd:element>
	<xsd:element name="ActionParameter" type="xsd:string"/>
	<!-- OPTIONAL - see list element above -->
	<!-- parameter name (and optional value) for operation -->
	<!-- see ActionVariable and ActionValue - section 4 [RFC3231] -->
	<xsd:element name="ActionTargetURIList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionTargetURI" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- list of target service or device URIs for operation -->
	</xsd:element>
	<xsd:element name="ActionTargetURI" type="xsd:anyURI"/>
	<!-- OPTIONAL - see list element above -->
	<!-- target service or device URI for operation -->
	<xsd:element name="ActionObject" type="xsd:string"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- target object name or URI for operation -->
	<xsd:element name="ActionElementList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionElement" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- list of element names (and optional values) for operation -->
	</xsd:element>
	<xsd:element name="ActionElement" type="xsd:string"/>
	<!-- OPTIONAL - see list element above -->
	<!-- element name (and optional value) for operation -->
	<xsd:element name="ActionMode" type="ActionModeType"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- timing mode of this Actionuled operation -->
	<!-- see ActionType - section 4 [RFC3231] -->
	<xsd:element name="ActionInterval" type="ActionIntervalType"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- minimum (not exact) interval in seconds between operations -->
	<!-- when value of ActionMode is 'Periodic' -->
	<!-- see ActionInterval - section 4 [RFC3231] -->
	<xsd:element name="ActionWeekDayList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionWeekDay" minOccurs="0" maxOccurs="7"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- list of days of week to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	</xsd:element>
	<xsd:element name="ActionWeekDay" type="ActionWeekDayType"/>
	<!-- OPTIONAL - see list element above -->
	<!-- day of week to perform operation in ActionOperation -->
	<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	<!-- see ActionWeekDay - section 4 [RFC3231] -->
	<xsd:element name="ActionMonthList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionMonth" minOccurs="0" maxOccurs="12"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- list of months to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	</xsd:element>
	<xsd:element name="ActionMonth" type="ActionMonthType"/>
	<!-- OPTIONAL - see list element above -->
	<!-- month to perform operation in ActionOperation -->
	<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	<!-- see ActionMonth - section 4 [RFC3231] -->
	<xsd:element name="ActionDayList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionDay" minOccurs="0" maxOccurs="31"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- days of month(s) to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	</xsd:element>
	<xsd:element name="ActionDay" type="ActionDayType"/>
	<!-- OPTIONAL - see list element above -->
	<!-- day of month(s) to perform operation in ActionOperation -->
	<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	<!-- see ActionDay - section 4 [RFC3231] -->
	<xsd:element name="ActionHourList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionHour" minOccurs="0" maxOccurs="24"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- hours of day(s) to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	</xsd:element>
	<xsd:element name="ActionHour" type="ActionHourType"/>
	<!-- OPTIONAL - see list element above -->
	<!-- hour of day(s) to perform operation in ActionOperation -->
	<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	<!-- see ActionHour - section 4 [RFC3231] -->
	<xsd:element name="ActionMinuteList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ActionMinute" minOccurs="0" maxOccurs="60"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- OPTIONAL -->
		<!-- minutes of hour(s) to perform operation in ActionOperation -->
		<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	</xsd:element>
	<xsd:element name="ActionMinute" type="ActionMinuteType"/>
	<!-- OPTIONAL - see list element above -->
	<!-- minute of hour(s) to perform operation in ActionOperation -->
	<!-- when value of ActionMode is 'Calendar' or 'Oneshot' -->
	<!-- see ActionMinute - section 4 [RFC3231] -->
	<xsd:element name="ActionTriggers" type="ActionTriggersType"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- count of attempts to perform operation in ActionOperation -->
	<!-- see ActionTriggers - section 4 [RFC3231] -->
	<xsd:element name="ActionFailures" type="ActionFailuresType"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- count of failures to perform operation in ActionOperation -->
	<!-- see ActionFailures - section 4 [RFC3231] -->
	<xsd:element name="ActionLastError" type="ActionErrorType"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- specific error of last failure performing ActionOperation -->
	<!-- see ActionLastFailure - section 4 [RFC3231] -->
	<xsd:element name="ActionErrorDate" type="xsd:dateTime"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- date/time of last failure performing ActionOperation -->
	<!-- see ActionLastFailed - section 4 [RFC3231] -->
	<!--                             -->
	<!-- complex element definitions -->
	<!--                             -->
	<xsd:element name="ScheduleActionItems">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ActionDescription">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="ActionIndex"/>
							<xsd:element ref="ActionDescription" minOccurs="0"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="ActionStatus">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="ActionState"/>
							<xsd:element ref="ActionFailures" minOccurs="0"/>
							<xsd:element ref="ActionErrorDate" minOccurs="0"/>
							<xsd:element ref="ActionTriggers" minOccurs="0"/>
							<xsd:element ref="ActionStateMessageList" minOccurs="0"/>
							<xsd:element ref="ActionLastError" minOccurs="0"/>
							<xsd:element ref="ActionStateReasonList" minOccurs="0"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="ActionOperation">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="OperationParameterList">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="OperationParameterList"/>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
							<xsd:element name="OperationName"/>
							<xsd:element name="OperationTargetURIList">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="OperationTargetURI" type="xsd:anyURI" maxOccurs="unbounded"/>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
							<xsd:element name="OperationTargetElementList">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="OperationTargetElement" type="xsd:anyType" maxOccurs="unbounded"/>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="ActionOccurance">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="ActionMode"/>
							<xsd:choice>
								<xsd:element ref="ActionInterval" minOccurs="0"/>
								<xsd:element name="ActionCalaendar">
									<xsd:complexType>
										<xsd:sequence>
											<xsd:element ref="ActionHourList" minOccurs="0"/>
											<xsd:element ref="ActionMinuteList" minOccurs="0"/>
											<xsd:element ref="ActionMonthList" minOccurs="0"/>
											<xsd:element ref="ActionDayList" minOccurs="0"/>
											<xsd:element ref="ActionWeekDayList" minOccurs="0"/>
										</xsd:sequence>
									</xsd:complexType>
								</xsd:element>
							</xsd:choice>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
		<!-- entry for one Actionuled management operation -->
		<!-- element names ending in 'List' denote multi-valued lists -->
		<!-- element names ending in 's' denote single-valued counters -->
		<!-- see individual element descriptions for their cardinality -->
		<!-- and REQUIRED versus OPTIONAL presence in a Actionule entry -->
		<!-- see ActionEntry - section 4 [RFC3231] -->
	</xsd:element>
	<!--                    -->
	<!-- object definitions -->
	<!--                    -->
	<xsd:element name="Schedule">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ScheduleActionItems" maxOccurs="unbounded"/>
				<xsd:element name="ScheduleDescription"/>
				<xsd:element name="ScheduleSourceURI"/>
			</xsd:sequence>
		</xsd:complexType>
		<!-- table of Actionuled management operations -->
		<!-- see ActionTable - section 4 [RFC3231] -->
	</xsd:element>
</xsd:schema>
