<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:epcglobal:rm:xsd:1" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.0" xmlns:rm="urn:epcglobal:rm:xsd:1" xmlns:epcglobal="urn:epcglobal:xsd:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:annotation>
		<xsd:documentation xml:lang="en">
			<epcglobal:copyright>Copyright&#169;2005-2006 Epcglobal Inc., All Rights Reserved.</epcglobal:copyright>
			<epcglobal:disclaimer>EPCglobal Inc., its members, officers, directors, employees, or
                agents shall not be liable for any injury, loss, damages, financial or otherwise,
                arising from, related to, or caused by the use of this document. The use of said
                document shall constitute your express consent to the foregoing exculpation.</epcglobal:disclaimer>
			<epcglobal:specification>Reader Management (RM) version 1.0</epcglobal:specification>
		</xsd:documentation>
	</xsd:annotation>
	<xsd:include schemaLocation="RmCommon.xsd"/>
	<xsd:import namespace="urn:epcglobal:xsd:1" schemaLocation="./EpcGlobal.xsd"/>
	<!-- Reader Management Command -->
	<xsd:element name="command">
		<xsd:annotation>
			<xsd:documentation xml:lang="en"> This element defines a reader management command.
The commands are grouped by the object they belong to. To specify the object a command relates to,
the name of the object is used. Therefore, all commands that return the name of the object
become useless, since the name must be known before it can be queried. All the names of a
particular object type are global irrespective of where they belong to. Hence names need to
be unique within their object type. All the commands are encoded by its straight forward
conversion from UML notation. Each command is wrapped in its object type and contains its
parameters as child elements. </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="epcglobal:Document">
					<xsd:sequence>
						<xsd:element name="id" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">The id of the command</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="targetName" type="xsd:string" minOccurs="0">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">The name of the object on which this command should be executed. It can be left out for static methods/ or commands targeted to ReaderDevice object</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:choice>
							<!-- Reader Management (Target) Object Types -->
							<!-- elements inside are ordered in alphabetical order -->
							<xsd:element name="alarmChannel" type="rm:AlarmChannelCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">An Alarm channel</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="alarmControl" type="rm:AlarmControlCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">AlarmControl is the base class for all of classes within the RMP object model responsible for controlling the generation of alarm messages within an EPCglobal compliant Reader.</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="antennaReadPoint" type="rm:AntennaReadPointCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">Extension of Read point object for antenna.</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="edgeTriggeredAlarmControl" type="rm:EdgeTriggeredAlarmControlCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">This class extends AlarmControl to control alarms generated when a monitored, integer-valued, model element first crosses a threshold value (the AlarmThreshold).</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="iOPort" type="rm:IOPortCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">The hardware element that provides external input and output lines to connect to other components outside the reader device.</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="notificationChannel" type="rm:NotificationChannelCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">The notification channel         carries messages issued asynchronously by the Reader to the Host.</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="readerDevice" type="rm:ReaderDeviceCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">A Reader</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="readPoint" type="rm:ReadPointCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">A ReadPoint</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="source" type="rm:SourceCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">A Read source</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="trigger" type="rm:TriggerCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">A Read/Notify Trigger</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="tTOperationalStatusAlarmControl" type="rm:TTOperationalStatusAlarmControlCommand">
								<xsd:annotation>
									<xsd:documentation xml:lang="en">This class extends AlarmControl to control alarms generated when a monitored model element of type OperationalStatus transitions to a new value.</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:any namespace="##any" processContents="lax">
								<xsd:annotation>
									<xsd:documentation>For standard and vendor extensions</xsd:documentation>
								</xsd:annotation>
							</xsd:any>
						</xsd:choice>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<!-- Reader Management (Target) Object Types -->
	<!-- types are ordered in alphabetical order -->
	<!-- inside each type commands are listed in the order in which it is defined in the RM specification. -->
	<xsd:complexType name="AlarmChannelCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en"> Alarm channel object commands.</xsd:documentation>
			</xsd:annotation>
			<xsd:element name="create">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">static method to create an Alarm channel. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="name" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> Alarm channel name </xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="addr" type="rm:AddressParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> The (host) address of where alarms will be sent to.</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getName">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the alarm channel name</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getAddress">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the (host) address to which this AlarmChannel object sends its alarms.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setAddress">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the (host) address to which this AlarmChannel object sends its alarms.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="addr" type="rm:AddressParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> address to set.</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="AlarmControlCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en"> Alarm control object commands. </xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getName">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the alarm control name</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getEnabled">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the AlarmControl’s Enabled attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setEnabled">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">enable or disable alarm generation.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="enable" type="xsd:boolean">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">whether to enable the alarm generation.</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getLevel">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the AlarmControl’s Level attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setLevel">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the Level attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="alarmLevel" type="rm:AlarmLevelParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">Alarm level to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getSuppressInterval">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the AlarmControl’s SuppressInterval attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setSuppressInterval">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the SuppressInterval attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="suppressInterval" type="xsd:int">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">SuppressInterval to set in seconds</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="AntennaReadPointCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en"> Antenna read point object commands </xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getIdentificationCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of the successful tags that have been
					identified  across an AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedIdentificationCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of the failed tag identification attempts at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getMemReadCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of tag memory reads at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedMemReadCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of the failed tag memory reads at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedMemReadAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the AntennaReadPoint's failed memory read alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getWriteCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of successful tag writes at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedWriteCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of the failed attempts to write tags at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedWriteAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the AntennaReadPoint's failed write alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getKillCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of tags successfully killed at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedKillCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of the failed tag kills at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedKillAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the AntennaReadPoint's failed kill alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getEraseCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of tags successfully erased at the AntennaReadPoint.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedEraseCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of the failed tag erasures at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedEraseAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the AntennaReadPoint's failed erase alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getLockCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of tags successfully locked at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedLockCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of the failed tag locks at the AntennaReadPoint. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFailedLockAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the AntennaReadPoint's failed lock alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getTimeEnergized">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the number of milliseconds the AntennaReadPoint has been energized in order to communicate with tags.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getPowerLevel">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the current transmit power level.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getNoiseLevel">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the current noise level.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="EdgeTriggeredAlarmControlCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en"> Edge triggered alarm control object commands. </xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getAlarmThreshold">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the EdgeTriggeredAlarmControl’s AlarmThreshold attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setAlarmThreshold">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the current value of the EdgeTriggeredAlarmControl’s AlarmThreshold attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="alarmThreshold" type="xsd:int">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">threshold to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getRearmThreshold">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the EdgeTriggeredAlarmControl’s RearmThreshold attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setRearmThreshold">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the current value of the RearmThreshold attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="rearmThreshold" type="xsd:int">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">threshold to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getDirection">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the EdgeTriggeredAlarmControl’s Direction attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setDirection">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the current value of the EdgeTriggeredAlarmControl’s Direction attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="direction" type="rm:EdgeTriggeredAlarmDirectionParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">direction to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the EdgeTriggeredAlarmControl’s Status attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="IOPortCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en">IO port object commands. </xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getName">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the IO port name</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get a textual description of the IO-port.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set (associate) a textual description with an IO-port.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="description" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">description to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getOperStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query for the operational status of an IO-port.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query for the administrative status of an IO-port.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the administrative status of an IO-port.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="adminstrativeStatus" type="rm:AdministrativeStatusParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">Adminstrative status to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getOperStatusAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the IOPort's operational status alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="NotificationChannelCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en">Notification channel object commands</xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getLastNotificationAttempt">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the timestamp (TimeTicks) when the last attempt was made to send a notification to the given address.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getLastSuccessfulNotification">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the timestamp (TimeTicks) when the last successful notification was send to the given address.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getOperStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the NotificationChannel for its OperationalStatus object.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the administrative status of Notification channel.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="administrativeStatus" type="rm:AdministrativeStatusParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> administrative status to set. </xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the NotificationChannel for its administrative status.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getOperStatusAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the notification channel for its operational status alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="ReaderDeviceCommand">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Reader Device object commands. </xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element name="getDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the Reader for its user defined description.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the reader's user-defined description.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="description" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> description to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getLocationDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for its user defined location description.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setLocationDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the reader's user-defined location description.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="locationDescription" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> location description to set. </xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getContact">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for its user-defined contact description.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setContact">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the reader's user-defined contact description.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="contact" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> contact to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getSerialNumber">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for its serial number.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getOperStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for its OperationalStatus object.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getOperStatusAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for its operational status alarm control.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFreeMemory">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for its available free memory.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getFreeMemoryAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for its FreeMemoryAlarmControl object.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getNTPServers">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for a list of NTP servers used by it to synchronize its current UTC clock (TimeUTC).</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getDHCPServer">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the DHCP server currently used by the device for DHCP requests.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getIOPort">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the IO Port with the specified name currently associated with this Reader.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="name" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> IO port name </xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getAllIOPorts">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for all its IOPort objects.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="resetStatistics">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">reset reader's entire internal statistic counters to zero.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="removeAlarmChannels">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">remove the specified AlarmChannels from the list of AlarmChannels currently associated with the reader.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="channels" type="rm:AlarmChannelListParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> alarm channels to remove. </xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="removeAllAlarmChannels">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">remove all AlarmChannels currently associated with the reader.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getAlarmChannel">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the AlarmChannel with the specified name currently associated with the reader.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="name" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> Alarm channel name </xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getAllAlarmChannels">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get all AlarmChannels currently associated with the reader.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="ReadPointCommand">
		<xsd:annotation>
			<xsd:documentation xml:lang="en"> Read point object commands.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element name="getClassName">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the class name of the ReadPoint object.  In the current specification, the only supported read point class is an "AntennaReadPoint".</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the description of the ReadPoint.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setDescription">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the  ReadPoint description.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="description" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> description to set.</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the current ReadPoint administrative status.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the current ReadPoint administrative status.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="status" type="rm:AdministrativeStatusParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en"> administrative status to set. </xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getOperStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the ReadPoint's current operational status.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getOperStatusAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get the ReadPoint's operational status alarm control. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="SourceCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en">Source object commands. </xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getUnknownToGlimpsedCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the number of times a transition from state Unknown to state Glimpsed have been detected for the particular source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getGlimpsedToUnknownCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the number of times a transition from state Glimpsed to state Unknown have been detected for the particular source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getGlimpsedToObservedCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the number of times a transition from state Glimpsed to state Observed have been detected for the particular source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getObservedToLostCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the number of times a transition from state Observed to state Lost have been detected for the particular source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getLostToGlimpsedCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the number of times a transition from state Lost to state Glimpsed have been detected for the particular source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getLostToUnknownCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the number of times a transition from state Lost to state Unknown have been detected for the particular source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getOperStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the operational status of this particular Source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="getAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the administrative status of this particular Source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setAdminStatus">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the administrative status of this particular Source.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="administrativeStatus" type="rm:AdministrativeStatusParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">administrative status to set.</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getOperStatusAlarmControl">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">get this particular source's operational status alarm control. </xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="TriggerCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en"> Trigger object commands. </xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getFireCount">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the number of times a particular trigger has fired.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="TTOperationalStatusAlarmControlCommand">
		<xsd:choice>
			<xsd:annotation>
				<xsd:documentation xml:lang="en"> Transition triggered alarm control object commands. </xsd:documentation>
			</xsd:annotation>
			<xsd:element name="getTriggerFromState">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the TTOperationalStatusAlarmControl’s TriggerFromState attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setTriggerFromState">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the current value of the TTOperatonalStatusAlarmControl’s TriggerFromState attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="triggerFromState" type="rm:OperationalStatusParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">trigger from state to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getTriggerToState">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">query the reader for the current value of the TTOperationalStatusAlarmControl’s TriggerToState attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType/>
			</xsd:element>
			<xsd:element name="setTriggerToState">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">set the current value of the TTOperatonalStatusAlarmControl’s TriggerToState attribute.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="triggerToState" type="rm:OperationalStatusParamType">
							<xsd:annotation>
								<xsd:documentation xml:lang="en">trigger to state to set</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:any namespace="##any" processContents="lax">
				<xsd:annotation>
					<xsd:documentation>For standard and vendor extensions</xsd:documentation>
				</xsd:annotation>
			</xsd:any>
		</xsd:choice>
	</xsd:complexType>
</xsd:schema>

