<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Urząd Komisji Nadzoru Finansowego (Komisja Nadzoru Finansowego) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" xmlns:tpp="knf.tpp" xmlns:tpw="knf.tpw" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
	<xs:import namespace="knf.tpp" schemaLocation="../tpp/knf.tpp.xsd"/>
	<xs:import namespace="knf.tpw" schemaLocation="../tpw/knf.tpw.xsd"/>
	<xs:include schemaLocation="knf.abs.IdentyfikacjaInstrumentu.xsd"/>
	<xs:include schemaLocation="knf.abs.IdentyfikacjaPodmiotu.xsd"/>
	<xs:complexType name="KapitalyFIZZdarzenieTypAbs" abstract="true">
		<xs:annotation>
			<xs:documentation source="Name" xml:lang="PL">Kapitały FIZ zdarzenie typ abstrakcyjny</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ZdarzenieSeria" type="KapitalyFIZTypAbs" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Seria certyfikatu inwestycyjnego funduszu</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="RodzajZdarzenia" type="tpw:ZdarzeniaKapitalyFIZRodzajZdarzeniaTyp" use="required">
			<xs:annotation>
				<xs:documentation source="Name" xml:lang="PL">Rodzaj zdarzenia</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="DzienWyceny" type="tpp:DataPrzedzial2Typ" use="required">
			<xs:annotation>
				<xs:documentation source="Name" xml:lang="PL">Dzień, z którego brana jest wartość certyfikatów inwestycyjnych do zdarzenia</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:assert test="not(exists(ZdarzenieSeria[some $other in ../ZdarzenieSeria satisfies (upper-case(@SeriaCI) = upper-case($other/@SeriaCI) and @Waluta = $other/@Waluta) and generate-id() != generate-id($other)]))">
			<xs:annotation>
				<xs:documentation source="Definition" xml:lang="PL">Kombinacja wartości atrybutów SeriaCI i Waluta nie może się powtarzać w ramach zdarzenia. Wielkość liter nie jest uwzględniana.</xs:documentation>
				<xs:documentation source="Name" xml:lang="PL">ZDARZENIAKAPITALYFIZ_00001</xs:documentation>
			</xs:annotation>
		</xs:assert>
	</xs:complexType>
	<xs:complexType name="KapitalyFIZTypAbs" abstract="true">
		<xs:annotation>
			<xs:documentation source="Name" xml:lang="PL">Kapitały FIZ typ abstrakcyjny</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="WANCI" type="tpp:Liczba19.8Typ">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Wartość aktywów netto na certyfikat inwestycyjny</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LiczbaCIZmianyKapitalu" type="tpp:LiczbaNieujemna19.8Typ">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Liczba certyfikatów, o którą zmienia się kapitał</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OperacjeZblizonejWartosci" type="OperacjeZblizonejWartosciTypAbs" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Operacje na certyfikatach inwestycyjnych polegających na jednoczesnej realizacji dyspozycji uczestnika dotyczącej wpłat i wypłat o tej samej lub zbliżonej wartości</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ZdarzenieSeriaSposobOplacenia" type="SposobOplaceniaTypAbs" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Informacja o sposobie opłacenia</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OznaczeniePierwszejEmisji" type="tpp:WskaznikLogiczny0lub1albotruelubfalseTyp" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Oznaczenie pierwszej emisji</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LiczbaCIZapisWykup" type="tpp:LiczbaNieujemna19.8Typ" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Liczba certyfikatów objętych żądaniem wykupu lub certyfikatów, na które złożono zapisy</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PropozycjaNabycia" type="PropozycjaNabyciaTypAbs" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Propozycja nabycia</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LiczbaOsobPrzydzial" type="tpp:LiczbaCalkowitaNieujemna19Typ" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Liczba osób, którym zostały przydzielone certyfikaty</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="KwotaDoplatyDoKapitalu" type="tpp:Liczba19.2Typ" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Kwota dopłaty do kapitału</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PrzyczynaDoplatyDoKapitalu" type="tpp:Opis5000ZnakowTyp" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Przyczyna dopłaty do kapitału</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="IdentyfikacjaPodmiotuPosredniczacego" type="IdentyfikacjaPodmiotuTypAbs" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Identyfikacja podmiotu pośredniczącego w oferowaniu certyfikatów inwestycyjnych</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="SeriaCI" type="tpp:Opis100ZnakowTyp" use="required">
			<xs:annotation>
				<xs:documentation source="Name" xml:lang="PL">Seria certyfikatu inwestycyjnego funduszu</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Waluta" type="tpw:WalutyPodstawoweTyp" use="required">
			<xs:annotation>
				<xs:documentation source="Name" xml:lang="PL">Waluta</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:assert test="not(LiczbaCIZapisWykup) or (LiczbaCIZapisWykup >= LiczbaCIZmianyKapitalu)">
			<xs:annotation>
				<xs:documentation source="Definition" xml:lang="PL">Liczba certyfikatów, o którą zmienia się kapitał nie może być większa niż liczba certyfikatów objętych żądaniem wykupu lub certyfikatów, na które złożono zapisy</xs:documentation>
				<xs:documentation source="Name" xml:lang="PL">ZDARZENIAKAPITALYFIZ_00004</xs:documentation>
			</xs:annotation>
		</xs:assert>
	</xs:complexType>
	<xs:complexType name="SposobOplaceniaTypAbs" abstract="true">
		<xs:annotation>
			<xs:documentation>Sposób opłacenia typ abstrakcyjny</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ProcentOplacenia" type="tpp:Liczba19.8Typ">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Procent opłacenia</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="IdentyfikacjaPrawMajatkowych" type="IdentyfikacjaInstrumentuTypAbs" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Identyfikacja wniesionych praw majątkowych </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="SposobOplacenia" type="tpw:SposobyOplaceniaCITyp" use="required">
			<xs:annotation>
				<xs:documentation source="Name" xml:lang="PL">Informacja o sposobie opłacenia jednostek uczestnictwa</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:assert test="if(@SposobOplacenia = ('GOTOWKA', 'CERTYFIKATY_NIE_W_PELNI_OPLACONE')) then
										not(IdentyfikacjaPrawMajatkowych)
									else
										IdentyfikacjaPrawMajatkowych">
			<xs:annotation>
				<xs:documentation source="Definition" xml:lang="PL">W przypadku, gdy SposobOplacenia = 'GOTOWKA' lub 'CERTYFIKATY_NIE_W_PELNI_OPLACONE' raportowanie pola IdentyfikacjaPrawMajatkowych jest zabronione. W przypadku innnego sposobu opłacenia raportowanie pola IdentyfikacjaPrawMajatkowych jest obowiązkowe</xs:documentation>
				<xs:documentation source="Name" xml:lang="PL">ZDARZENIAKAPITALYFIZ_00002</xs:documentation>
			</xs:annotation>
		</xs:assert>
	</xs:complexType>
	<xs:complexType name="OperacjeZblizonejWartosciTypAbs" abstract="true">
		<xs:annotation>
			<xs:documentation source="Name" xml:lang="PL">Operacje zbliżonej wartości typ abstrakcyjny</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="LiczbaCIZblizonaWartosc" type="tpp:LiczbaNieujemna19.8Typ" minOccurs="0">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Liczba certyfikatów, o którą zmienia się kapitał, w związku z realizacją dyspozycji uczestnika dotyczącej jednoczesnej wpłaty i wypłaty o tej samej lub zbliżonej wartości</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="OperacjeZblizonejWartosciOznaczenie" type="tpp:WskaznikLogiczny0lub1albotruelubfalseTyp" use="required">
			<xs:annotation>
				<xs:documentation source="Name" xml:lang="PL">Oznaczenie rodzaju operacji na certyfikatach inwestycyjnych polegających na jednoczesnej realizacji dyspozycji uczestnika dotyczącej wpłat i wypłat o tej samej lub zbliżonej wartości</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:assert test="if (@OperacjeZblizonejWartosciOznaczenie = true()) 
							then LiczbaCIZblizonaWartosc > 0
						else 
							not(LiczbaCIZblizonaWartosc)">
			<xs:annotation>
				<xs:documentation source="Definition" xml:lang="PL">Pole LiczbaCIZblizonaWartosc musi być większe od 0 dla wartości atrybutu OperacjaZblizonejWartosciOznaczenie = true oraz zabronione w przeciwnym wypadku</xs:documentation>
				<xs:documentation source="Name" xml:lang="PL">ZDARZENIAKAPITALYFIZ_00003</xs:documentation>
			</xs:annotation>
		</xs:assert>
	</xs:complexType>
	<xs:complexType name="PropozycjaNabyciaTypAbs" abstract="true">
		<xs:annotation>
			<xs:documentation source="Name" xml:lang="PL">Rodzaj emisji typ abstrakcyjny</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="LiczbaOsob" type="tpp:LiczbaCalkowitaNieujemna19Typ">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Liczba osób, do których została skierowana propozycja nabycia</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LiczbaOsobNieokreslona" type="tpp:WskaznikLogiczny1albotrueTyp">
				<xs:annotation>
					<xs:documentation source="Name" xml:lang="PL">Oznaczenie nieokreślonej liczby osób</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:complexType>
</xs:schema>