<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
	xmlns:crsap="urn:oid:0.0.22.1125" 
	xmlns:crs="urn:oid:0.0.22.1125" 
	targetNamespace="urn:oid:0.0.22.1125" 
	elementFormDefault="qualified" 
	attributeFormDefault="unqualified" 
	version="1.0" id="CRSAP-Message">

<!-- ====================================================================== -->
	<!-- ==========================  CRSAP-Message  =========================== -->
	<!-- ====================================================================== -->
	
    <element name="CRSAP-Message">
		<complexType>
			<sequence>
				<element name="Header-Unit" type="crsap:Header-Unit"/>
				<element name="Body-Unit" type="crsap:Body-Unit"/>
				<element name="Tail-Unit" type="crsap:Tail-Unit"/>
			</sequence>
		</complexType>
	</element>

	<!-- ======================================================================= -->
	<!-- =============================  Header-Unit  =========================== -->
	<!-- ======================================================================= -->
	
    <complexType name="Header-Unit">
		<attribute name="Version" type="xs:string" use="required"/>
		<attribute name="Flag" type="crsap:FlagEnumeration" use="required"/>
		<attribute name="Type" type="crsap:TypeEnumeration" use="required"/>
       <attribute name="Precedence" type="xs:nonNegativeInteger" use="required"/>
		<attribute name="Length" type="xs:nonNegativeInteger" use="required"/>
		<attribute name="SCS-ID" type="crsap:ID" use="required"/>
		<attribute name="SCA-ID" type="crsap:ID" use="required"/>
	</complexType>
	<simpleType name="FlagEnumeration">
		<restriction base="xs:string">
			<enumeration value="M">
				<annotation>
					<documentation>Multicast message without message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="MT">
				<annotation>
					<documentation>Multicast message with message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="U">
				<annotation>
					<documentation>Unicast message without message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="UT">
				<annotation>
					<documentation>Unicast message with message tail.</documentation>
				</annotation>
			</enumeration>
		</restriction>
	</simpleType>
	<simpleType name="TypeEnumeration">
		<restriction base="xs:string">
			<enumeration value="U_SCI_Rpt">
				<annotation>
					<documentation>Multicast message without message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="U_SCA_Prb_Rsp">
				<annotation>
					<documentation>Multicast message with message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="U_Ack">
				<annotation>
					<documentation>Unicast message without message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="U_Err_Ntf">
				<annotation>
					<documentation>Unicast message with message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="D_SCI_Rsp">
				<annotation>
					<documentation>Multicast message without message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="D_Prb_Req">
				<annotation>
					<documentation>Multicast message with message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="D_Rep_Req">
				<annotation>
					<documentation>Unicast message without message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="D_Ack">
				<annotation>
					<documentation>Unicast message with message tail.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="D_Err_Ntf">
				<annotation>
					<documentation>Unicast message with message tail.</documentation>
				</annotation>
			</enumeration>
		</restriction>
	</simpleType>

	<!-- ======================================================================== -->
	<!-- ===========================  Body-Unit  ================================ -->
	<!-- ======================================================================== -->
	
    <complexType name="Body-Unit">
		<choice>
			<element name="SCIReport" type="crsap:SCIReportType" />
			<element name="SCIResponse" type="crsap:SCIResponseType" />
			<element name="SCAProbeRequest" type="crsap:SCAProbeRequestType" />
			<element name="SCAProbeResponse" type="crsap:SCAProbeResponseType" />
			<element name="SCIReportRequest" type="crsap:SCIReportRequestType" />
			<element name="Acknowledgement" type="crsap:AcknowledgementType" />
		</choice>
	</complexType>
	<complexType name="SCIReportType">
		<sequence>
			<element name="Rpt_ID" type="xs:string"/>
			<element name="MS_Usr_ID" type="xs:string"/>
			<element name="MS_ISDN" type="xs:string" minOccurs="0"/>
			<element name="MT_ID" type="xs:string"/>
			<element name="MS_OSPlt_TypVer" type="xs:string" minOccurs="0"/>
			<element name="MS_OSPlt_PatLst" type="xs:string" minOccurs="0"/>
			<element name="MS_SAS_Inf" type="xs:string" minOccurs="0"/>
			<element name="MS_Sec_Evt" type="xs:string" minOccurs="0"/>
			<element name="MS_Hrd_Inf" type="xs:string" minOccurs="0"/>
			<element name="SCI_Cur_RptPol" type="xs:string" minOccurs="0"/>
			<element name="SCS_LstCom_Inf" type="xs:string" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="SCIResponseType">
		<sequence>
			<element name="MS_Sec_Lev" type="xs:string" minOccurs="0"/>
			<element name="SCI_New_RptPol" type="xs:string" minOccurs="0"/>
			<element name="SCS_Lmt_Ntf" type="xs:string" minOccurs="0"/>
			<element name="Ack_SCI_Rpt" type="xs:string" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="SCAProbeRequestType">
		<sequence>
			<element name="SCS_Domain" type="xs:string" minOccurs="0"/>
			<element name="SCS_Address" type="xs:string" minOccurs="0"/>
			<element name="SCS_Port" type="xs:string" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="SCAProbeResponseType">
		<sequence>
			<element name="Lst_SCS_Domain" type="xs:string" minOccurs="0"/>
			<element name="Lst_SCS_Address" type="xs:string" minOccurs="0"/>
			<element name="Lst_SCS_ID" type="xs:string" minOccurs="0"/>
			<element name="Lst_SCA_ID" type="xs:string" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="SCIReportRequestType">
		<sequence>
			<element name="Lst_SCS_Domain" type="xs:string"/>
			<element name="Tim_Rpt" type="xs:string" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="AcknowledgementType">
		<sequence>
			<element name="MsgID_Ack" type="xs:string"/>
		</sequence>
	</complexType>
	
     <!-- ======================================================================== -->
	<!-- ===========================  Tail-Unit  ================================ -->
	<!-- ======================================================================== -->
	
    <complexType name="Tail-Unit">
		<sequence>
			<element name="AlgorithmID" type="crsap:ID"/>
			<element name="MsgID" type="crsap:ID"/>
			<element name="MsgDigest" type="crsap:MsgDigest"/>
		</sequence>
	</complexType>
	<simpleType name="ID">
		<restriction base="xs:string">
			<minLength value="1"/>
			<maxLength value="32"/>
		</restriction>
	</simpleType>
	<simpleType name="MsgDigest">
		<restriction base="xs:string">
			<minLength value="8"/>
			<maxLength value="32"/>
		</restriction>
	</simpleType>
</schema>
