﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="DataTopic_LifeCycleData" 
			targetNamespace="https://imde.io/schema/azlon/1.2/lifecycledata" 
			elementFormDefault="qualified" xmlns="https://imde.io/schema/azlon/1.2/lifecycledata" 
			xmlns:code="https://imde.io/schema/azlon/1.0/codelists" 
			xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/fieldType.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/userGroupCodeType.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/marketCodeType.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/digitalLifeCycleStatusCode.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>

	<xsd:element name="LifeCycleData">
		<xsd:complexType>
			<xsd:all>
				<xsd:element name ="DigitalLifeCycleStatus" minOccurs="0" maxOccurs="1">
					<xsd:complexType>
						<xsd:simpleContent>
							<xsd:extension base="code:digitalLifeCycleStatusCode" />
						</xsd:simpleContent>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="ProductLifeCycle" minOccurs="0">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="PhaseInDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1"/>
							<xsd:element name="FirstShipmentDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1"/>
							<xsd:element name="PhaseOutDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1" />
							<xsd:element name="LastShipmentDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="TradeLifeCycle" minOccurs="0">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="Markets" minOccurs="1" maxOccurs="1">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="Market" minOccurs="1" maxOccurs="unbounded" >
											<xsd:complexType>
												<xsd:all>
													<xsd:element name="Codes">
														<xsd:complexType>
															<xsd:sequence>
																<xsd:element maxOccurs="unbounded" name="Code">
																	<xsd:complexType>
																		<xsd:simpleContent>
																			<xsd:extension base="xsd:string">
																				<xsd:attribute name="Type" type="code:marketCodeType" use="required" />
																			</xsd:extension>
																		</xsd:simpleContent>
																	</xsd:complexType>
																</xsd:element>
															</xsd:sequence>
														</xsd:complexType>
													</xsd:element>
													<xsd:element name="FirstTradeDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1"/>
													<xsd:element name="LastTradeDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1"/>
												</xsd:all>
												<xsd:attribute name="Active" type="xsd:boolean" use="required" />
											</xsd:complexType>
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="DigitalLifeCycle" minOccurs="0">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="UserGroups" minOccurs="1" maxOccurs="1">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="UserGroup" minOccurs="1" maxOccurs="unbounded">
											<xsd:complexType>
												<xsd:all>
													<xsd:element name="Codes" minOccurs="1" maxOccurs="1">
														<xsd:complexType>
															<xsd:sequence>
																<xsd:element name="Code" minOccurs="1" maxOccurs="unbounded">
																	<xsd:complexType>
																		<xsd:simpleContent>
																			<xsd:extension base="xsd:string">
																				<xsd:attribute name="Type" type="code:userGroupCodeType" use="required" />
																			</xsd:extension>
																		</xsd:simpleContent>
																	</xsd:complexType>
																</xsd:element>
															</xsd:sequence>
														</xsd:complexType>
													</xsd:element>
													<xsd:element name="FirstVisibilityDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1"/>
													<xsd:element name="LastVisibilityDate" type="code:common_datetime_empty" minOccurs="0" maxOccurs="1"/>
												</xsd:all>
												<xsd:attribute name="Active" type="xsd:boolean" use="required" />
											</xsd:complexType>
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:all>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>