<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema targetNamespace="http://www.omg.org/spec/rms/20101201/rms-core/ManagedRecord"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:mr="http://www.omg.org/spec/rms/20101201/rms-core/ManagedRecord"
	xmlns:auth="http://www.omg.org/spec/rms/20101201/rms-core/Authenticity"
	xmlns:disp="http://www.omg.org/spec/rms/20101201/rms-core/Disposition"
	xmlns:ap="http://www.omg.org/spec/rms/20101201/AttributeProfile">
	<xs:annotation>
		<xs:documentation>The ManagedRecord  package collects the elements needed to support the basic concepts of a ManagedRecord. It is shown here in its full context of many of  the key concepts associated with  managing a record. </xs:documentation>
	</xs:annotation>
	<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
	<xs:import namespace="http://www.omg.org/spec/rms/20101201/AttributeProfile" schemaLocation="AttributeProfile.xsd"/>
	<xs:import namespace="http://www.omg.org/spec/rms/20101201/rms-core/Disposition"/>
	<xs:import namespace="http://www.omg.org/spec/rms/20101201/rms-core/Authenticity" schemaLocation="Authenticity.xsd"/>
	<xs:element name="ManagedRecordSet" type="mr:ManagedRecordSet"/>
	<xs:complexType name="ManagedRecordSet">
		<xs:sequence minOccurs="1" maxOccurs="1">
			<xs:element name="ManagedRecordAssociation" type="mr:ManagedRecordAssociation" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="CaseFileActionType" type="mr:CaseFileActionType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ManagedRecordAssociationMember" type="mr:ManagedRecordAssociationMember" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="CaseFileRecordDefinition" type="mr:CaseFileRecordDefinition" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ProvenanceAssociation" type="mr:ProvenanceAssociation" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ManagedRecord" type="mr:ManagedRecord" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CaseFileRecordDefinition" type="mr:CaseFileRecordDefinition"/>
	<xs:complexType name="CaseFileRecordDefinition">
		<xs:annotation>
			<xs:documentation>The definition of a CaseFileRecord, serving together with CaseFilePartDefinition as a template for creating CaseFileRecord's.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="authorityID" type="xs:NCName" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The Authority authorizing the CaseFileRecordDefinition.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="creationdate" type="xs:dateTime" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The date/time that the CaseFileRecordDefinition was created.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="creatorID" type="xs:NCName" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The creator of the CaseFileRecordDefinition</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="description" type="xs:integer" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>A description of the CaseFileRecordDefinition</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="id" type="xs:ID" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Unique Identifier</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="recordID" type="xs:NCName" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The defined CaseFileRecord.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The type of CaseFileRecord</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="partDefinition" type="mr:CaseFilePartDefinition" minOccurs="1"
				maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Definition of a CaseFileRecord</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="CaseFileActionType">
		<xs:annotation>
			<xs:documentation>The possible actions that can be taken on a CaseFile. These are represented as an enumeration of constant integers to identify the action.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="add">
				<xs:annotation>
					<xs:documentation>Add a CaseFilePart, associating a Document with the CaseFileRecord</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="append">
				<xs:annotation>
					<xs:documentation>Append a Document that is associated with a CaseFileRecord through a CaseFilePart</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="replace">
				<xs:annotation>
					<xs:documentation>The CaseFilePart is made to point to a different Document, effectively  replacing it in the CaseFileRecord</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="remove">
				<xs:annotation>
					<xs:documentation>The Document is removed from the CaseFileRecord. It is in support of this functionality that a Document is optional for a CaseFilePart unlike being required for a ManagedRecordPart.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="ManagedRecordAssociation" type="mr:ManagedRecordAssociation"/>
	<xs:complexType name="ManagedRecordAssociation">
		<xs:annotation>
			<xs:documentation>An Association (group) in which a ManagedRecord can participate. The ManagedRecordAssociation may be ordered.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="associatedRecordID" type="xs:NCName" minOccurs="0"
				maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The ID of the ManagedRecordAssociation(s) that point(s) to the ManagedRecord(s) in the ManagedRecordAssociation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Textual description of the association (grouping) of ManagedRecords.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="id" type="xs:ID" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Unique Identifier</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="orderedassociation" type="xs:boolean" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>When "True" it means that the ManagedRecordAssociation is ordered. The order of a particular ManagedRecord is designated by ManagedRecordAssociationMember.orderIndex</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ProvenanceAssociation" type="mr:ProvenanceAssociation"/>
	<xs:complexType name="ProvenanceAssociation">
		<xs:annotation>
			<xs:documentation>Documents the custodial organization responsible for the ManagedRecord. The initial organization is derived from the RecordCreator.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="ap:AttributableObject">
				<xs:sequence>
					<xs:element name="associationdate" type="xs:dateTime" minOccurs="1"
						maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The date/time that the Provenance was assigned.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="nextID" type="xs:NCName" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The ProvenanceAssociation superceding this one. (If there is none, this is the current ProvenanceAssociation).</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="previousID" type="xs:NCName" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The ProvenanceAssociation preceding this one.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="assignedProvenanceID" type="xs:NCName" minOccurs="1"
						maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The ID of the Role to whom or which the Provenance of the ManagedRecord is assigned in this ProvenanceAssociation.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element maxOccurs="1" minOccurs="1" name="recordWithProvenanceID"
						type="xs:NCName">
						<xs:annotation>
							<xs:documentation>The ID of the ManagedRecord as recorded in this ProvenanceAssociation.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="ManagedRecordAssociationMember" type="mr:ManagedRecordAssociationMember"/>
	<xs:complexType name="ManagedRecordAssociationMember">
		<xs:annotation>
			<xs:documentation>Records membership of a ManagedRecord in a ManagedRecordAssociation. It documents the role (if any) of the ManagedRecord membership in the ManagedRecordAssociation, and the order (if any) of the membership in the ManagedRecordAssociation.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="associationdate" type="xs:dateTime" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The date/time that the ManagedRecord was added to the ManagedRecordAssociation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="orderindex" type="xs:integer" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The order (if any) of the ManagedRecord in the ManagedRecordAssociation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="role" type="xs:string" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The role of the ManagedRecord in the ManagedRecordAssociation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="associatedRecordID" type="xs:NCName" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The ID of the ManagedRecord in the ManagedRecordAssociation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="recordAssosciationID" type="xs:NCName" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The ID of the ManagedRecordAssociation to which the ManagedRecord belongs.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ManagedRecord" type="mr:ManagedRecord"/>
	<xs:complexType name="ManagedRecord">
		<xs:annotation>
			<xs:documentation>An instance of this class represents one distinct managed record. All information associated with this particular managed record is held in instances of related classes linked to this instance of ManagedRecord.
    
    All relationships between ManagedRecord and the associated classes constituting the complete information set for one managed record are designed in a way, so that deletion of the ManagedRecord instance causes the automatic deletion of all other instances constituting this information set.
    
    This specification is not prescriptive as to what is and what is not a record to be managed under these services. Each organization should comply with what is legally ascribed to their definition of record. In order to eliminate conflict for implementation, the description used to create the services is provided without prejudice to any formal, legal, or socially accepted definitions that may exist. "The reader is reminded the business owner decides when and what to set aside as a record. When that decision is made the functions described in the services can be applied to the record, assuring its proper management and disposition. The record as set aside by the business owner remains unchanged even as the records management attributes are populated and updated during its life-cycle. The sum of a record and its records management attributes (current and historical) is a managed record." Interagency Project Team and the Records Management Service Components Program Office of the National Archives and Records Administration, Functional Requirements, Attributes, and Unified Modeling Language Class Diagrams for Records Management Services, September 7, 2006</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="ap:AttributableObject">
				<xs:sequence>
					<xs:element name="annotationAssociationID" type="xs:NCName" minOccurs="0"
						maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The associations of the ManagedRecord to its associations with Annotations.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="assignedProvenanceID" type="xs:NCName" minOccurs="1"
						maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The ID of the ProvenanceAssociation that points to the Role to whom or which the Provenance of the ManagedRecord is assigned in this ProvenanceAssociation.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="assignmentID" type="xs:NCName" minOccurs="1"
						maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The Category to which the ManagedRecord has been assigned through RecordCategoryAssociation.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="authorityID" type="xs:NCName" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The Authority that authorized the creation of the CaseFileRecord.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="closeddate" type="xs:dateTime" minOccurs="1" maxOccurs="1"/>
					<xs:element name="creationdate" type="xs:dateTime" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The date/time that the Record was set-aside for treatment as a ManagedRecord.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="creatorID" type="xs:NCName" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The Party that set-aside (created) the ManagedRecord. This has nothing to do with who created the Documents that comprise the ManagedRecord.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="definitionID" type="xs:NCName" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The CaseFileRecord defnition.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Text describing the ManagedRecord</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="id" type="xs:ID" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Unique Identifier</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="iscasefile" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
					<xs:element name="recordAssosciationID" type="xs:NCName" minOccurs="0"
						maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The ID(s) of the ManagedRecordAssociation(s) that point(s) to the ManagedRecordAssociation(s) to which the ManagedRecord belongs.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="action" type="mr:CaseFileAction" minOccurs="0"
						maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The CaseFileRecord whose history the CaseFileAction belongs.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="recordPart" type="mr:RecordPart" minOccurs="1"
						maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>One of the Documents (perhaps the only) that comprise the ManagedRecord.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="authenticationResults" type="auth:AuthenticationResult"
						minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The ManagedRecord to which an AuthenticationResult applies.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="CaseFilePartDefinition" type="mr:CaseFilePartDefinition"/>
	<xs:complexType name="CaseFilePartDefinition">
		<xs:annotation>
			<xs:documentation>Defines the Parts of a CaseFile described in a CaseFileDefinition</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="appendable" type="xs:boolean" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>A CaseFilePart of this type is appendable if this is set "True".</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="chronicled" type="xs:boolean" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>A CaseFilePart of this type is chronicled if this is set "True". When a chronicled CaseFilePart, any change to Document (append or replace)  tracks the history through the next/previous association.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="date" type="xs:dateTime" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The date/time that the CaseFilePartDefinition was created.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Description of the CaseFilePart</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="id" type="xs:ID" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Unique Identifier.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="partID" type="xs:NCName" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The CaseFilePart that is defined.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="removeable" type="xs:boolean" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>A CaseFilePart of this type is removeable if this is set "True".</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="replaceable" type="xs:boolean" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>A CaseFilePart of this type is replaceable if this is set "True".</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The name of the type of the CaseFilePart</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CaseFileAction" type="mr:CaseFileAction"/>
	<xs:complexType name="CaseFileAction">
		<xs:annotation>
			<xs:documentation>Provides a record of the CaseFileAction's performed on a CaseFileRecord. Documenting who (via Role).</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="action" type="mr:CaseFileActionType" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The action taken on the CaseFilePart. Can be one of those enumerated by CaseFileActionType</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="actorID" type="xs:NCName" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The actor performing the action on the CaseFileRecord.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="authorityID" type="xs:NCName" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The Authority under which the CaseFileAction was performed.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="date" type="xs:dateTime" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The date/time that the action was taken.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>A description, if necessary describing the circumstances or details surrounding the action.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="partID" type="xs:NCName" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The CaseFilePart involved in the CaseFileAction</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="RecordPart" type="mr:RecordPart"/>
	<xs:complexType name="RecordPart">
		<xs:annotation>
			<xs:documentation>Associates Documents with a ManagedRecord. If the ManagedRecord is a Case File then the attributes of the associated CaseFilePartdefinition constrain what types of actions can be taken against the Document that is linked into the record. 
    
    If CaseFilePart.chronicled is "True" then the prev/next relationship is used to keep the history. (If the part is appendable, the old copy is maintained in the history and a new appended one is added as current. Similarly if it is replaceable. When deleting a chronicled CaseFilePart all that are linke in the history are deleted.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="ap:AttributableObject">
				<xs:sequence>
					<xs:element name="actionID" type="xs:NCName" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The action taken on the CaseFileRecord.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="definitionID" type="xs:NCName" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The CaseFilePartDefinition that defines the CaseFilePart in the context of its CaseFileRecord.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Any text that helps describe the association of the CaseFilePart with the CaseFileRecord.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="documentID" type="xs:NCName" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The document that is part of the ManagedRecord</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="id" type="xs:ID" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Unique Identifier.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="nextID" type="xs:NCName" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Next CaseFilePart. (If there is none, then this is the current CaseFilePart)</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="previousID" type="xs:NCName" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Previous CaseFilePart</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
</xs:schema>
