<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns="http://www.myCompany.com/xml/reference" 
xmlns:reference="http://www.myCompany.com/xml/reference" 
targetNamespace="http://www.myCompany.com/xml/reference" 
elementFormDefault="qualified" attributeFormDefault="unqualified">
	
	<xsd:complexType name="SystemReference">
		<xsd:annotation>
			<xsd:documentation>A system reference for an object</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="system" type="xsd:string"/>
			<xsd:element name="code" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="UserReference">
		<xsd:complexContent>
			<xsd:extension base="SystemReference">
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="SystemReferenceList">
		<xsd:sequence>
			<xsd:element ref="systemReference" minOccurs="1" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>	
	<xsd:complexType name="UserReferenceList">
		<xsd:complexContent>
			<xsd:restriction base="SystemReferenceList">
				<xsd:sequence>
					<xsd:element ref="userReference" minOccurs="1" maxOccurs="1"/>
				</xsd:sequence>
			</xsd:restriction>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:element name="systemReference" type="SystemReference"/>
	<xsd:element name="userReference" type="UserReference" substitutionGroup="systemReference"/>
</xsd:schema>
