<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.08c" targetNamespace="http://www.millicom.com" xmlns="http://www.millicom.com" xpathDefaultNamespace="http://www.millicom.com">
	<xs:element name="root">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="r" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="DataFeedDate" use="required" type="xs:date"/>
		</xs:complexType>
		<xs:key name="CountryCompanyPOandPOLineNumber">
			<xs:selector xpath="./r"/>
			<xs:field xpath="CountryAbbr"/>
			<xs:field xpath="Company"/>
			<xs:field xpath="PONumber"/>
			<xs:field xpath="POLineNumber"/>
		</xs:key>
	</xs:element>
	<xs:element name="r">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="PONumber"/>
				<xs:element ref="PODescription" minOccurs="0"/>
				<xs:element ref="Company"/>
				<xs:element ref="OrderType"/>
				<xs:element ref="SupplierCode"/>
				<xs:element ref="SupplierName"/>
				<xs:element ref="OrderDate"/>
				<xs:element ref="OrderApprovalDate"/>
				<xs:element ref="OrderStatusDescription" minOccurs="0"/>
				<xs:element ref="OrderCurrency"/>
				<xs:element ref="ExchangeRateUSD" minOccurs="0"/>
				<xs:element ref="RequisitionNo" minOccurs="0"/>
				<xs:element ref="CAR" minOccurs="0"/>
				<xs:element ref="CARDescription" minOccurs="0"/>
				<xs:element ref="UnitOfMeasure"/>
				<xs:element ref="POLineNumber"/>
				<xs:element ref="ItemCode"/>
				<xs:element ref="ItemDescription"/>
				<xs:element ref="POQty"/>
				<xs:element ref="UnitPriceUSD"/>
				<xs:element ref="TaxUSD" minOccurs="0"/>
				<xs:element ref="TotalCostUSD"/>
				<xs:element ref="CategoryMIC"/>
				<xs:element ref="SubCategoryMIC"/>
				<xs:element ref="BuyersGroup" minOccurs="0"/>
				<xs:element ref="ConsolidatedSupplierName" minOccurs="0"/>
				<xs:element ref="SupplierCategory" minOccurs="0"/>
				<xs:element ref="GRDDate" minOccurs="0"/>
				<xs:element ref="CountryAbbr"/>
				<xs:element ref="Commodity" minOccurs="0"/>
				<xs:element ref="CostCenterCode" minOccurs="0"/>
			</xs:sequence>
			<xs:assert test="if (OrderApprovalDate ge OrderDate) then true() else false()" xpathDefaultNamespace="##targetNamespace"></xs:assert>
		</xs:complexType>
	</xs:element>
	<xs:element name="PONumber">
		<xs:simpleType>
			<xs:restriction base="xs:token">
				<xs:maxLength value="30"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="PODescription">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="200"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Company">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="240"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="OrderType">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:annotation>
					<xs:documentation>We need all the Order types</xs:documentation>
				</xs:annotation>
				<!--<xs:enumeration value=""/>-->
				<xs:enumeration value="PPC"/>
				<xs:enumeration value="PPO"/>
				<xs:enumeration value="PPI"/>
				<xs:enumeration value="Goods"/>
				<xs:enumeration value="OPEX"/>
				<xs:enumeration value="CAPEX"/>
				<xs:enumeration value="INVENTORY"/>
				<xs:enumeration value="TBD"/>
				<xs:enumeration value="N/A"/>
				<xs:enumeration value="STOCK"/>
				<xs:enumeration value="PPX"/>
				<xs:enumeration value="TAX"/>
				<xs:enumeration value="PPC_ACV"/>
				<xs:enumeration value="PPI_ACV"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="SupplierCode">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="30"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="SupplierName">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<!--<xs:pattern value="(^[^a-z]*$)"/>-->
				<!--<xs:pattern value="\p{Lu}*"/>-->
				<xs:maxLength value="80"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="OrderDate">
		<xs:simpleType>
			<xs:restriction base="xs:date">
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="OrderApprovalDate">
		<xs:simpleType>
			<xs:restriction base="xs:date">
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="OrderStatusDescription">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="30"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="OrderCurrency">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:annotation>
					<xs:documentation>We need all countries currency codes
						Colombia = COP
						Guatemala = GTQ
						Bolivia = BOB
						Paraguay = PYG
						Honduras = HNL
						El Salvador = USD
						Tanzania = TZS
						Ghana = GHC
						Rwanda = RWF
						Chad = XAF
						DRC = CDF
						Senegal = XOF
						Senegal = CHF (Swiss Franc)
						Mauritius = MUR
						British Pound = GBP
						Euro = EUR
						South African Rand = ZAR
						Swedish Krona = SEK
					</xs:documentation>
				</xs:annotation>
				<xs:enumeration value="USD"/>
				<xs:enumeration value="HNL"/>
				<xs:enumeration value="COP"/>
				<xs:enumeration value="GTQ"/>
				<xs:enumeration value="PYG"/>
				<xs:enumeration value="BOB"/>
				<xs:enumeration value="TZS"/>
				<xs:enumeration value="GHC"/>
				<xs:enumeration value="RWF"/>
				<xs:enumeration value="XAF"/>
				<xs:enumeration value="CDF"/>
				<xs:enumeration value="XOF"/>
				<xs:enumeration value="MUR"/>
				<xs:enumeration value="GBP"/>
				<xs:enumeration value="EUR"/>
				<xs:enumeration value="ZAR"/>
				<xs:enumeration value="CHF"/>
				<xs:enumeration value="SEK"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="ExchangeRateUSD">
		<xs:simpleType>
			<xs:restriction base="xs:decimal">
				<xs:totalDigits value="8"/>
				<xs:fractionDigits value="4"/>
				<xs:pattern value="[0-9]{1,4}[.][0-9]{4}"/>
				<xs:minExclusive value="0"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="RequisitionNo">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="30"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CAR">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="30"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CARDescription">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="80"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="UnitOfMeasure">
		<xs:simpleType>
			<xs:restriction base="xs:token">
				<xs:minLength value="1"/>
				<xs:maxLength value="4"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="POLineNumber">
		<xs:simpleType>
			<xs:restriction base="xs:positiveInteger">
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="ItemCode">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="20"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="ItemDescription">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="200"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="POQty">
		<!--<xs:simpleType>
			<xs:restriction base="xs:nonNegativeInteger">
			</xs:restriction>
		</xs:simpleType>-->
		<xs:simpleType>
			<xs:restriction base="xs:decimal">
				<xs:totalDigits value="28"/>
				<xs:fractionDigits value="15"/>
				<!--<xs:pattern value="[0-9]{1,8}[.][0-9]{2}"/>-->
				<xs:minExclusive value="0"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="UnitPriceUSD">
		<xs:simpleType>
			<xs:restriction base="xs:decimal">
				<xs:totalDigits value="15"/>
				<xs:fractionDigits value="5"/>
				<!--<xs:pattern value="[0-9]{1,8}[.][0-9]{2}"/>-->
				<xs:minExclusive value="0"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="TaxUSD">
		<xs:simpleType>
			<xs:restriction base="xs:decimal">
				<xs:totalDigits value="15"/>
				<xs:fractionDigits value="5"/>
				<!--<xs:pattern value="[0-9]{1,8}[.][0-9]{2}"/>-->
				<xs:minExclusive value="0"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="TotalCostUSD">
		<xs:simpleType>
			<xs:restriction base="xs:decimal">
				<xs:totalDigits value="15"/>
				<xs:fractionDigits value="5"/>
				<!--<xs:pattern value="[0-9]{1,8}[.][0-9]{2}"/>-->
				<xs:minExclusive value="0"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CategoryMIC">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="60"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="SubCategoryMIC">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="60"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="BuyersGroup">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="60"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="ConsolidatedSupplierName">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="60"/>
				<!--<xs:pattern value="^(?:(?!((Kim|Jean|Peter)).)*)$"/>-->
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="SupplierCategory">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="60"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="GRDDate">
		<xs:simpleType>
			<xs:restriction base="xs:date">
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CountryAbbr">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:enumeration value="GT"/>
				<xs:enumeration value="SV"/>
				<xs:enumeration value="HN"/>
				<xs:enumeration value="CO"/>
				<xs:enumeration value="BO"/>
				<xs:enumeration value="PY"/>
				<xs:enumeration value="GH"/>
				<xs:enumeration value="TZ"/>
				<xs:enumeration value="DR"/>
				<xs:enumeration value="CH"/>
				<xs:enumeration value="SN"/>
				<xs:enumeration value="RW"/>
				<xs:enumeration value="MU"/>
				<xs:enumeration value="LU"/>
				<xs:enumeration value="US"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Commodity">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="20"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CostCenterCode">
		<xs:simpleType>
			<xs:restriction base="xs:normalizedString">
				<xs:maxLength value="60"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
</xs:schema>