<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schema.omg.org/spec/XMI/2.1" targetNamespace="http://schema.omg.org/spec/XMI/2.1">
	<xsd:annotation>
		<xsd:documentation>
The following attribute and attribute group declarations are included in the types for MOF classes, but they are not defined in the XMI model.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:attribute name="id" type="xsd:ID"/>
	<xsd:attributeGroup name="IdentityAttribs">
		<xsd:attribute name="label" type="xsd:string" use="optional" form="qualified"/>
		<xsd:attribute name="uuid" type="xsd:string" use="optional" form="qualified"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="LinkAttribs">
		<xsd:attribute name="href" type="xsd:string" use="optional"/>
		<xsd:attribute name="idref" type="xsd:IDREF" use="optional" form="qualified"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="ObjectAttribs">
		<xsd:attributeGroup ref="IdentityAttribs"/>
		<xsd:attributeGroup ref="LinkAttribs"/>
		<xsd:attribute name="version" type="xsd:string" use="optional" fixed="2.1" form="qualified"/>
		<xsd:attribute name="type" type="xsd:QName" use="optional" form="qualified"/>
	</xsd:attributeGroup>
	<xsd:annotation>
		<xsd:documentation>PACKAGE: XMIPackage</xsd:documentation>
	</xsd:annotation>
	<xsd:annotation>
		<xsd:documentation>CLASS: XMI</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="XMI">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:any processContents="strict"/>
		</xsd:choice>
		<xsd:attribute ref="id"/>
		<xsd:attributeGroup ref="IdentityAttribs"/>
		<xsd:attributeGroup ref="LinkAttribs"/>
		<xsd:attribute name="type" type="xsd:QName" use="optional" form="qualified"/>
		<xsd:attribute name="version" type="xsd:string" use="required" fixed="2.1" form="qualified"/>
	</xsd:complexType>
	<xsd:element name="documentation" type="Documentation"/>
	<xsd:element name="difference" type="Difference"/>
	<xsd:element name="extension" type="Extension"/>
	<xsd:element name="XMI" type="XMI"/>
	<xsd:annotation>
		<xsd:documentation>CLASS: Documentation</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="Documentation">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:element name="contact" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="exporter" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="exporterVersion" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="exporterID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="longDescription" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="shortDescription" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="notice" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="owner" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Extension"/>
		</xsd:choice>
		<xsd:attribute ref="id"/>
		<xsd:attributeGroup ref="ObjectAttribs"/>
		<xsd:attribute name="contact" type="xsd:string" use="optional"/>
		<xsd:attribute name="exporter" type="xsd:string" use="optional"/>
		<xsd:attribute name="exporterVersion" type="xsd:string" use="optional"/>
		<xsd:attribute name="longDescription" type="xsd:string" use="optional"/>
		<xsd:attribute name="shortDescription" type="xsd:string" use="optional"/>
		<xsd:attribute name="notice" type="xsd:string" use="optional"/>
		<xsd:attribute name="owner" type="xsd:string" use="optional"/>
	</xsd:complexType>
	<xsd:element name="Documentation" type="Documentation"/>
	<xsd:annotation>
		<xsd:documentation>CLASS: Extension</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="Extension">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:any processContents="lax"/>
		</xsd:choice>
		<xsd:attribute ref="id"/>
		<xsd:attributeGroup ref="ObjectAttribs"/>
		<xsd:attribute name="extender" type="xsd:string" use="optional"/>
		<xsd:attribute name="extenderID" type="xsd:string" use="optional"/>
	</xsd:complexType>
	<xsd:element name="Extension" type="Extension"/>
	<xsd:annotation>
		<xsd:documentation>CLASS: Difference</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="Difference">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:element name="target">
				<xsd:complexType>
					<xsd:choice minOccurs="0" maxOccurs="unbounded">
						<xsd:any processContents="skip"/>
					</xsd:choice>
					<xsd:anyAttribute processContents="skip"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="difference" type="Difference"/>
			<xsd:element name="container" type="Difference"/>
			<xsd:element ref="Extension"/>
		</xsd:choice>
		<xsd:attribute ref="id"/>
		<xsd:attributeGroup ref="ObjectAttribs"/>
		<xsd:attribute name="target" type="xsd:IDREFS" use="optional"/>
		<xsd:attribute name="container" type="xsd:IDREFS" use="optional"/>
	</xsd:complexType>
	<xsd:element name="Difference" type="Difference"/>
	<xsd:annotation>
		<xsd:documentation>CLASS: Add</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="Add">
		<xsd:complexContent>
			<xsd:extension base="Difference">
				<xsd:attribute name="position" type="xsd:string" use="optional"/>
				<xsd:attribute name="addition" type="xsd:IDREFS" use="optional"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="Add" type="Add"/>
	<xsd:annotation>
		<xsd:documentation>CLASS: Replace</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="Replace">
		<xsd:complexContent>
			<xsd:extension base="Difference">
				<xsd:attribute name="position" type="xsd:string" use="optional"/>
				<xsd:attribute name="replacement" type="xsd:IDREFS" use="optional"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="Replace" type="Replace"/>
	<xsd:annotation>
		<xsd:documentation>CLASS: Delete</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="Delete">
		<xsd:complexContent>
			<xsd:extension base="Difference"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="Delete" type="Delete"/>
	<xsd:complexType name="Any">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:any processContents="skip"/>
		</xsd:choice>
		<xsd:anyAttribute processContents="skip"/>
	</xsd:complexType>
	<xsd:element name="XMIPackage">
		<xsd:complexType>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="Difference"/>
				<xsd:element ref="Add"/>
				<xsd:element ref="Replace"/>
				<xsd:element ref="Delete"/>
				<xsd:element ref="XMI"/>
				<xsd:element ref="Documentation"/>
				<xsd:element ref="Extension"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
