Schema knf.fi.Dystrybucja.xsd


schema location ..\xsd\knf.fi.Dystrybucja.xsd
attributeFormDefault unqualified
elementFormDefault qualified
 
Elements  Complex types 
Sprawozdanie  DaneTyp 
DystrybutorTyp 
IdentyfikacjaDystrybutoraTyp 
NaglowekTyp 
OkresSprawozdawczyTyp 
SprawozdanieTyp 
TransakcjeTyp 


element Sprawozdanie
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p1.png
type SprawozdanieTyp
properties
content complex
children Naglowek Dane
asserts
Test XPathDefaultNs Annotation
let $xml_file_path := string(base-uri()), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $schema_file_location := @xsi:noNamespaceSchemaLocation, $schema_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()], $schema_name := substring($schema_file_location, $schema_last_slash_pos + 1), $schema_type := substring-before(substring-after(substring-after($schema_name, '.'), '.'), '.'), $schema_type_upper := upper-case($schema_type), $regex_pattern := concat('^', $schema_type_upper, '_.*') return matches($xml_file_name, $regex_pattern) 
documentation
Typ raportu z nazwy pliku nie zgadza się z typem raportu wybranej XML schema. Typ raportu powinien być określony w nazwie pliku XML wielkimi literami.
documentation
SPRAWOZDANIE_00001
if (Naglowek/OkresSprawozdawczy) then let $periods_dict := map { 'Q1': '03', 'Q2': '06', 'Q3': '09', 'Q4': '12', 'H1': '06', 'H2': '12' }, $schema_file_location := @xsi:noNamespaceSchemaLocation, $second_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-2], $third_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-3], $schema_date := concat(substring($schema_file_location, $third_last_slash_pos + 1, 4), substring($schema_file_location, $second_last_slash_pos + 1, 2)), $quarter := string(Naglowek/OkresSprawozdawczy/Kwartal), $half := string(Naglowek/OkresSprawozdawczy/Polrocze), $report_date := if (Naglowek/OkresSprawozdawczy/DataDo) then replace(substring(string(Naglowek/OkresSprawozdawczy/DataDo), 1, 7), '-', '') else if (Naglowek/OkresSprawozdawczy/DataOd) then replace(substring(string(Naglowek/OkresSprawozdawczy/DataOd), 1, 7), '-', '') else concat(Naglowek/OkresSprawozdawczy/Rok, $periods_dict($half), $periods_dict($quarter), Naglowek/OkresSprawozdawczy/Miesiac) return $schema_date = $report_date else true() 
documentation
Należy użyć schemy XML dla odpowiedniego okresu (rok i miesiąc muszą odpowiadać dacie z elementu OkresSprawozdawczy)
documentation
SPRAWOZDANIE_00002
if (Naglowek/DzienZdarzenia) then let $schema_file_location := @xsi:noNamespaceSchemaLocation, $second_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-2], $third_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-3], $schema_date := concat(substring($schema_file_location, $third_last_slash_pos + 1, 4), substring($schema_file_location, $second_last_slash_pos + 1, 2)), $report_date := replace(string(Naglowek/DzienZdarzenia), '-', '') return $schema_date = substring($report_date, 1, 6) else true() 
documentation
Należy użyć schemy XML dla odpowiedniego okresu (rok i miesiąc muszą odpowiadać dacie z elementu DzienZdarzenia)
documentation
SPRAWOZDANIE_00003
starts-with(@xsi:noNamespaceSchemaLocation, 'https://sprawozdawczosc.knf.gov.pl/') 
documentation
Należy odwołać się do schemy XML zamieszczonej na domenie: https://sprawozdawczosc.knf.gov.pl/
documentation
SPRAWOZDANIE_00004
if (starts-with(Naglowek/IdentyfikatorFunduszuSubfunduszu, 'PLFIZ')) then every $type in Dane/Dystrybutor/Transakcje/@RodzajTransakcji satisfies matches($type, 'ZAPISY_CI|WYKUPY_CI') else every $type in Dane/Dystrybutor/Transakcje/@RodzajTransakcji satisfies matches($type, 'ZBYCIA_JU|ODKUPIENIA_JU') 
documentation
Dla FIO/SFIO dostępne rodzaje transakcji to: zbycia jednostek uczestnictwa (ZBYCIA_JU) oraz odkupienia jednostek uczestnictwa (ODKUPIENIA_JU). Natomiast dla FIZ dostępne rodzaje transakcji to: zapisy na certyfikaty inwestycyjne (ZAPISY_CI) oraz wykupy certyfikatów inwestycyjnych (WYKUPY_CI).
documentation
DYSTRYBUCJA_00001
annotation
documentation
Sprawozdanie półroczne funduszu inwestycyjnego otwartego i specjalistycznego funduszu inwestycyjnego otwartego (Załącznik nr 10)
documentation
Podmioty pośredniczące w zbywaniu i odkupywaniu jednostek uczestnictwa, o których mowa w art. 32 ust. 1 i 2 ustawy, za okres sprawozdawczy (półrocze kalendarzowe)

complexType DaneTyp
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p2.png
children Dystrybutor BrakAktywow
used by
element SprawozdanieTyp/Dane
annotation
documentation
Dane sprawozdania

element DaneTyp/Dystrybutor
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p3.png
type DystrybutorTyp
properties
minOcc 1
maxOcc unbounded
content complex
children IdentyfikacjaDystrybutora WAN Wynagrodzenie Transakcje BrakTransakcji
attributes
Name  Type  Use  Default  Fixed  Annotation
RodzajDystrybutora  RodzajeDystrybutorowTyp  required      
documentation
Rodzaj dystrybutora
documentation
Rodzaj podmiotu dystrybuującego jednostki uczestnictwa lub certyfikaty inwestycyjne funduszu inwestycyjnego
identity constraints
  Name  Refer  Selector  Field(s)  Annotation
key  DYSTRYBUCJA_00002    Transakcje  @RodzajTransakcji  
documentation
Rodzaj transakcji musi być unikalny w ramach dystrybutora
documentation
Unikalność rodzaju transakcji w ramach dystrybutora
annotation
documentation
Dystrybutor

element DaneTyp/BrakAktywow
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p4.png
type WskaznikLogiczny1albotrueTyp
properties
content simple
facets
Kind Value Annotation
pattern 1|true
annotation
documentation
Oznaczenie braku aktywów na (sub)funduszu
documentation
Oznaczenie braku aktywów na (sub)funduszu, co jest równoznaczne z brakiem aktywów na żadnym dystrybutorze (oraz funduszu).

complexType DystrybutorTyp
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p5.png
children IdentyfikacjaDystrybutora WAN Wynagrodzenie Transakcje BrakTransakcji
used by
element DaneTyp/Dystrybutor
attributes
Name  Type  Use  Default  Fixed  Annotation
RodzajDystrybutora  RodzajeDystrybutorowTyp  required      
documentation
Rodzaj dystrybutora
documentation
Rodzaj podmiotu dystrybuującego jednostki uczestnictwa lub certyfikaty inwestycyjne funduszu inwestycyjnego
annotation
documentation
Dystrybutor

attribute DystrybutorTyp/@RodzajDystrybutora
type RodzajeDystrybutorowTyp
properties
use required
annotation
documentation
Rodzaj dystrybutora
documentation
Rodzaj podmiotu dystrybuującego jednostki uczestnictwa lub certyfikaty inwestycyjne funduszu inwestycyjnego

element DystrybutorTyp/IdentyfikacjaDystrybutora
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p6.png
type IdentyfikacjaDystrybutoraTyp
properties
content complex
children Identyfikator Nazwa Kraj
asserts
Test XPathDefaultNs Annotation
if(Identyfikator = 'BRAK') then Kraj else true() 
documentation
W przypadku wypełnienia elementu Identyfikator wartością: 'BRAK' należy wypełnić element Kraj
documentation
IDENTYFIKACJAPODMIOTU_00001
annotation
documentation
Identyfikacja podmiotu pośredniczącego
documentation
W przypadku wykazywania w zestawieniu osób fizycznych, co do zasady takie osoby powinny być wymienione  odrębnie (w oddzielnym wierszu zestawienia) wyłącznie w przypadku osób fizycznych posiadających zezwolenie, o którym mowa w art. 32 ust. 2 ustawy. Natomiast w przypadku osób, o których mowa w art. 33 ust. 1 ustawy, dane powinny zostać przekazane na poziomie podmiotu, w którym dana osoba fizyczna jest zatrudniona. W przypadku zaś osoby zatrudnionej w Towarzystwie na stanowisku stanowiącym element struktury organizacyjnej Towarzystwa, dane należy przekazać na poziomie Towarzystwa.

element DystrybutorTyp/WAN
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p7.png
type Liczba19.2Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 2
annotation
documentation
Wartość aktywów netto przypadająca na danego dystrybutora wg stanu na dzień wskazany w polu "DzienWyceny"
documentation
Łączna wartość jednostek uczestnictwa, które zostały zbyte za pośrednictwem danego podmiotu i nie zostały odkupione lub łączna wartość wyemitowanych certyfikatów inwestycyjnych, na które zapisy zostały przyjęte za pośrednictwem dane podmiotu i nie zostały wykupione wg stanu na dzień wskazany w polu "DzienWyceny".

element DystrybutorTyp/Wynagrodzenie
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p8.png
type Liczba19.2Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 2
annotation
documentation
Wartość wynagrodzenia podmiotu pośredniczącego należnego od towarzystwa (w tym zachęt) lub od funduszu
documentation
Wartość wszelkich opłat należnych danemu podmiotowi pośredniczącemu od TFI lub od funduszu w związku ze świadczonymi przez niego usługami we wskazanym okresie sprawozdawczym.

element DystrybutorTyp/Transakcje
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p9.png
type TransakcjeTyp
properties
minOcc 1
maxOcc unbounded
content complex
children LiczbaTransakcji Wartosc OplatyManipulacyjne
attributes
Name  Type  Use  Default  Fixed  Annotation
RodzajTransakcji  TransakcjeDystrybucjaTyp  required      
documentation
Rodzaj transakcji
documentation
Rodzaj transakcji na jednostkach uczestnictwa lub certyfikatach inwestycyjnych funduszy inwestycyjnych
annotation
documentation
Transakcje

element DystrybutorTyp/BrakTransakcji
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p10.png
type WskaznikLogiczny1albotrueTyp
properties
content simple
facets
Kind Value Annotation
pattern 1|true
annotation
documentation
Oznaczenie braku transakcji wykonanych za pośrednictwem danego dystrybutora

complexType IdentyfikacjaDystrybutoraTyp
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p11.png
type restriction of IdentyfikacjaPodmiotuTypAbs
properties
base IdentyfikacjaPodmiotuTypAbs
children Identyfikator Nazwa Kraj
used by
element DystrybutorTyp/IdentyfikacjaDystrybutora
asserts
Test XPathDefaultNs Annotation
if(Identyfikator = 'BRAK') then Kraj else true() 
documentation
W przypadku wypełnienia elementu Identyfikator wartością: 'BRAK' należy wypełnić element Kraj
documentation
IDENTYFIKACJAPODMIOTU_00001
annotation
documentation
Identyfikacja dystrybutora

element IdentyfikacjaDystrybutoraTyp/Identyfikator
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p12.png
type tpp:IdentyfikatorDystrybutoraTyp
properties
content simple
annotation
documentation
Identyfikator podmiotu pośredniczącego
documentation
Identyfikacja podmiotu pośredniczącego za pomocą następujących identyfikatorów: TFI, FIO, SFIO, FIZ, ASI, ZASI, LEI, KRS, UKNF emitenta oraz brak identyfikatora.

element IdentyfikacjaDystrybutoraTyp/Nazwa
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p13.png
type Opis300ZnakowTyp
properties
content simple
facets
Kind Value Annotation
minLength 1
maxLength 300
annotation
documentation
Nazwa podmiotu pośredniczącego
documentation
Nazwa własna

element IdentyfikacjaDystrybutoraTyp/Kraj
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p14.png
type KrajeTyp
properties
minOcc 0
maxOcc 1
content simple
annotation
documentation
Kraj rezydencji podatkowej podmiotu pośredniczącego
documentation
Kraj rezydencji podatkowej

complexType NaglowekTyp
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p15.png
type restriction of NaglowekTypAbs
properties
base NaglowekTypAbs
children IdentyfikatorZarzadzajacego NazwaZarzadzajacego IdentyfikatorFunduszuSubfunduszu NazwaFunduszuSubfunduszu IdentyfikatorDostawcyDanych DzienWyceny WalutaSprawozdania OkresSprawozdawczy CzyKorekta
used by
element SprawozdanieTyp/Naglowek
attributes
Name  Type  Use  Default  Fixed  Annotation
CzyFunduszWLikwidacji  WskaznikLogiczny0lub1albotruelubfalseTyp  prohibited      
documentation
Flaga wskazująca, czy fundusz lub subfundusz jest w likwidacji
documentation
Flaga wskazująca, czy fundusz lub subfundusz jest w likwidacji.
true - jeśli fundusz/subfundusz jest w likwidacji
false - jeśli fundusz/subfundusz nie jest w likwidacji
asserts
Test XPathDefaultNs Annotation
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $file_name_pattern := upper-case(string('[A-Z]+_[A-Z0-9]{11,11}_[A-Z0-9]{10,20}_[0-9QH]{4,8}_[01].xml')), $xml_file_name := substring($xml_file_path, $last_slash_pos + 1) return matches($xml_file_name, $file_name_pattern)  
documentation
Nazwa pliku niezgodna z maską
documentation
NAGLOWEK_00001
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_entity_id := substring($xml_file_name, $dash_pos[1] + 1, $dash_pos[2] - $dash_pos[1] - 1) return $xml_file_entity_id = IdentyfikatorFunduszuSubfunduszu or (not(IdentyfikatorFunduszuSubfunduszu) and $xml_file_entity_id = IdentyfikatorZarzadzajacego) 
documentation
Identyfikator krajowy (sub)funduszu lub TFI w treści nagłówka niezgodny z identyfikatorem w nazwie pliku
documentation
NAGLOWEK_00002
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_identyfikator_dostawcy := substring($xml_file_name, $dash_pos[2] + 1, $dash_pos[3] - $dash_pos[2] - 1) return $xml_file_identyfikator_dostawcy = IdentyfikatorDostawcyDanych 
documentation
Identyfikator dostawcy danych w treści nagłówka niezgodny z kodem w nazwie pliku
documentation
NAGLOWEK_00003
if (OkresSprawozdawczy) then let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_okres_spr := substring($xml_file_name, $dash_pos[3] + 1, $dash_pos[4] - $dash_pos[3] - 1), $okres_sprawozdawczy := if (OkresSprawozdawczy/Rok) then concat(OkresSprawozdawczy/Rok, OkresSprawozdawczy/Polrocze, OkresSprawozdawczy/Kwartal, OkresSprawozdawczy/Miesiac) else if (OkresSprawozdawczy/DataDo) then replace(string(OkresSprawozdawczy/DataDo), '-', '') else if (OkresSprawozdawczy/DataOd) then replace(string(OkresSprawozdawczy/DataOd), '-', '') else '' return $xml_file_okres_spr = $okres_sprawozdawczy else true() 
documentation
Okres sprawozdawczy w treści nagłówka niezgodny z okresem w nazwie pliku
documentation
NAGLOWEK_00004
if (DzienZdarzenia) then let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_okres_spr := substring($xml_file_name, $dash_pos[3] + 1, $dash_pos[4] - $dash_pos[3] - 1), $dzien_zdarzenia := replace(string(DzienZdarzenia), '-', '') return $xml_file_okres_spr = $dzien_zdarzenia else true() 
documentation
DzienZdarzenia w treści nagłówka niezgodny z dniem zdarzenia w nazwie pliku
documentation
NAGLOWEK_00005
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_czy_korekta := substring($xml_file_name, $dash_pos[4] + 1, 1) return xs:boolean($xml_file_czy_korekta) = CzyKorekta 
documentation
Flaga CzyKorekta w treści nagłówka niezgodna z informacją w nazwie pliku
documentation
NAGLOWEK_00006
annotation
documentation
Nagłówek sprawozdania

attribute NaglowekTyp/@CzyFunduszWLikwidacji
type WskaznikLogiczny0lub1albotruelubfalseTyp
properties
use prohibited
annotation
documentation
Flaga wskazująca, czy fundusz lub subfundusz jest w likwidacji
documentation
Flaga wskazująca, czy fundusz lub subfundusz jest w likwidacji.
true - jeśli fundusz/subfundusz jest w likwidacji
false - jeśli fundusz/subfundusz nie jest w likwidacji

element NaglowekTyp/IdentyfikatorZarzadzajacego
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p16.png
type IdentyfikatorTFITyp
properties
content simple
facets
Kind Value Annotation
pattern PLTFI[0-9]{6,6}
annotation
documentation
Identyfikator krajowy towarzystwa
documentation
Identyfikator krajowy towarzystwa

element NaglowekTyp/NazwaZarzadzajacego
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p17.png
type Opis300ZnakowTyp
properties
content simple
facets
Kind Value Annotation
minLength 1
maxLength 300
annotation
documentation
Nazwa towarzystwa
documentation
Nazwa towarzystwa

element NaglowekTyp/IdentyfikatorFunduszuSubfunduszu
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p18.png
type tpp:IdentyfikatorFIOSFIOFIZTyp
properties
content simple
annotation
documentation
Identyfikator krajowy funduszu lub subfunduszu
documentation
Identyfikator krajowy funduszu lub subfunduszu

element NaglowekTyp/NazwaFunduszuSubfunduszu
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p19.png
type Opis300ZnakowTyp
properties
content simple
facets
Kind Value Annotation
minLength 1
maxLength 300
annotation
documentation
Nazwa funduszu lub subfunduszu
documentation
Nazwa funduszu lub subfunduszu

element NaglowekTyp/IdentyfikatorDostawcyDanych
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p20.png
type tpp:IdentyfikatorDostawcyDanychTyp
properties
content simple
annotation
documentation
Identyfikator dostawcy danych
documentation
Identyfikator podmiotu, który przygotował dane dla podmiotu raportującego

element NaglowekTyp/DzienWyceny
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p21.png
type DataPrzedzial2Typ
properties
content simple
facets
Kind Value Annotation
minInclusive 1989-01-01
maxInclusive 2099-12-31
annotation
documentation
Dzień wyceny
documentation
Ostatni dzień wyceny w okresie sprawozdawczym

element NaglowekTyp/WalutaSprawozdania
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p22.png
type WalutyPodstawoweTyp
properties
content simple
annotation
documentation
Waluta wyceny funduszu, waluta w której są raportowane wartości. 3-znakowy kod waluty zgodny z normą ISO
documentation
Waluta wyceny funduszu, waluta w której są raportowane wartości. 3-znakowy kod waluty zgodny z normą ISO

element NaglowekTyp/OkresSprawozdawczy
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p23.png
type OkresSprawozdawczyTyp
properties
content complex
children DataOd DataDo Rok Polrocze
asserts
Test XPathDefaultNs Annotation
if (DataOd and DataDo) then DataDo >= DataOd else true() 
documentation
DataDo musi być większa lub równa od DataOd
documentation
NAGLOWEK_00007
if (DataDo) then let $periods_start_dict := map { 'Q1': 1, 'Q2': 4, 'Q3': 7, 'Q4': 10, 'H1': 1, 'H2': 7 }, $periods_end_dict := map { 'Q1': 3, 'Q2': 6, 'Q3': 9, 'Q4': 12, 'H1': 6, 'H2': 12 }, $year := year-from-date(DataDo), $month := month-from-date(DataDo), $month_validation := if (Miesiac) then $month = number(Miesiac) else if (Kwartal) then $month >= $periods_start_dict(Kwartal) and $periods_end_dict(Kwartal) >= $month else if (Polrocze) then $month >= $periods_start_dict(Polrocze) and $periods_end_dict(Polrocze) >= $month else true() return $year = number(Rok) and $month_validation else true() 
documentation
DataDo musi zawierać się w raportowanym okresie sprawozdawczym (elementy: Rok i Polrocze/Kwartal/Miesiac)
documentation
NAGLOWEK_00008
annotation
documentation
Okres sprawozdawczy raportu

element NaglowekTyp/CzyKorekta
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p24.png
type WskaznikLogiczny0lub1Typ
properties
content simple
facets
Kind Value Annotation
pattern 0|1
annotation
documentation
Oznaczenie czy plik zawiera raport podstawowy czy korektę, 0 - podstawowy, 1 - korekta
documentation
Oznaczenie czy plik zawiera raport podstawowy czy korektę, 0 - podstawowy, 1 - korekta

complexType OkresSprawozdawczyTyp
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p25.png
type restriction of OkresSprawozdawczyTypAbs
properties
base OkresSprawozdawczyTypAbs
children DataOd DataDo Rok Polrocze
used by
element NaglowekTyp/OkresSprawozdawczy
asserts
Test XPathDefaultNs Annotation
if (DataOd and DataDo) then DataDo >= DataOd else true() 
documentation
DataDo musi być większa lub równa od DataOd
documentation
NAGLOWEK_00007
if (DataDo) then let $periods_start_dict := map { 'Q1': 1, 'Q2': 4, 'Q3': 7, 'Q4': 10, 'H1': 1, 'H2': 7 }, $periods_end_dict := map { 'Q1': 3, 'Q2': 6, 'Q3': 9, 'Q4': 12, 'H1': 6, 'H2': 12 }, $year := year-from-date(DataDo), $month := month-from-date(DataDo), $month_validation := if (Miesiac) then $month = number(Miesiac) else if (Kwartal) then $month >= $periods_start_dict(Kwartal) and $periods_end_dict(Kwartal) >= $month else if (Polrocze) then $month >= $periods_start_dict(Polrocze) and $periods_end_dict(Polrocze) >= $month else true() return $year = number(Rok) and $month_validation else true() 
documentation
DataDo musi zawierać się w raportowanym okresie sprawozdawczym (elementy: Rok i Polrocze/Kwartal/Miesiac)
documentation
NAGLOWEK_00008
annotation
documentation
Okres sprawozdawczy

element OkresSprawozdawczyTyp/DataOd
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p26.png
type DataPrzedzial1Typ
properties
content simple
facets
Kind Value Annotation
minInclusive 2022-01-01
maxInclusive 2099-12-31
annotation
documentation
Pierwszy dzień kalendarzowy okresu sprawozdawczego lub inna data, jeśli raport nie obejmuje pełnego okresu sprawozdawczego.
documentation
Pierwszy dzień kalendarzowy okresu sprawozdawczego. W przypadku raportu, który nie obejmuje pełnego okresu sprawozdawczego, należy podać inną datę (np. datę otwarcia ksiąg rachunkowych funduszu).
documentation
1) Jeśli (sub)fundusz prowadzi działalność przez pełny okres sprawozdawczy (i przez cały ten okres sprawozdawczy ma otwarte księgi rachunkowe), to w raporcie z danymi za pierwsze półrocze 2024 roku powinien w polu "DataOd" wpisać "2024-01-01".
2) Jeśli (sub)fundusz otworzył księgi rachunkowe 15.03.2024, to w raporcie z danymi za pierwsze półrocze 2024 roku powinien w polu „DataOd” wpisać „2024-03-15”.

element OkresSprawozdawczyTyp/DataDo
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p27.png
type DataPrzedzial1Typ
properties
content simple
facets
Kind Value Annotation
minInclusive 2022-01-01
maxInclusive 2099-12-31
annotation
documentation
Ostatni dzień kalendarzowy okresu sprawozdawczego lub inna data, jeśli raport nie obejmuje pełnego okresu sprawozdawczego.
documentation
Ostatni dzień kalendarzowy okresu sprawozdawczego. W przypadku raportu, który nie obejmuje pełnego okresu sprawozdawczego, należy podać inną datę (np. datę likwidacji funduszu).
documentation
1) Jeśli (sub)fundusz prowadzi działalność i przesyła raport za 1H 2024, to w polu „DataDo” należy wpisać „2024-06-30”.
2) Jeśli (sub)fundusz otworzył likwidację 2024-05-15, to w polu „DataDo” należy wpisać „2024-05-15”.

element OkresSprawozdawczyTyp/Rok
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p28.png
type OkresSprawozdawczyRokTyp
properties
content simple
facets
Kind Value Annotation
pattern 202[3-9]|20[3-9][0-9]
annotation
documentation
Rok, w którym przypada data określona w polu „DataDo” elementu „OkresSprawozdawczy”.
documentation
Rok, w którym przypada data określona w polu „DataDo” elementu „OkresSprawozdawczy”.
documentation
1) Jeśli (sub)fundusz prowadzi działalność i pole „DataDo” jest wypełnione „2024-06-30”, to należy wpisać „2024” w polu „Rok”.
2) Jeśli (sub)fundusz otworzył likwidację w dniu 15.03.2024 i pole „DataDo” jest wypełnione „2024-03-15”, to należy wpisać „2024” w polu „Rok”.

element OkresSprawozdawczyTyp/Polrocze
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p29.png
type OkresSprawozdawczyPolroczeTyp
properties
content simple
facets
Kind Value Annotation
pattern H[12]
annotation
documentation
Półrocze, w którym przypada data określona w polu „DataDo” elementu „OkresSprawozdawczy”.
documentation
Półrocze, w którym przypada data określona w polu „DataDo” elementu „OkresSprawozdawczy”.
documentation
1) Jeśli (sub)fundusz prowadzi działalność i pole „DataDo” jest wypełnione „2024-06-30”, to należy wpisać „H1” w polu „Polrocze”.
2) Jeśli (sub)fundusz otworzył likwidację w dniu 15.03.2024 i pole „DataDo” jest wypełnione „2024-03-15”, to należy wpisać „H1” w polu „Polrocze”.

complexType SprawozdanieTyp
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p30.png
type extension of SprawozdanieTypAbs
properties
base SprawozdanieTypAbs
children Naglowek Dane
used by
element Sprawozdanie
asserts
Test XPathDefaultNs Annotation
let $xml_file_path := string(base-uri()), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $schema_file_location := @xsi:noNamespaceSchemaLocation, $schema_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()], $schema_name := substring($schema_file_location, $schema_last_slash_pos + 1), $schema_type := substring-before(substring-after(substring-after($schema_name, '.'), '.'), '.'), $schema_type_upper := upper-case($schema_type), $regex_pattern := concat('^', $schema_type_upper, '_.*') return matches($xml_file_name, $regex_pattern) 
documentation
Typ raportu z nazwy pliku nie zgadza się z typem raportu wybranej XML schema. Typ raportu powinien być określony w nazwie pliku XML wielkimi literami.
documentation
SPRAWOZDANIE_00001
if (Naglowek/OkresSprawozdawczy) then let $periods_dict := map { 'Q1': '03', 'Q2': '06', 'Q3': '09', 'Q4': '12', 'H1': '06', 'H2': '12' }, $schema_file_location := @xsi:noNamespaceSchemaLocation, $second_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-2], $third_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-3], $schema_date := concat(substring($schema_file_location, $third_last_slash_pos + 1, 4), substring($schema_file_location, $second_last_slash_pos + 1, 2)), $quarter := string(Naglowek/OkresSprawozdawczy/Kwartal), $half := string(Naglowek/OkresSprawozdawczy/Polrocze), $report_date := if (Naglowek/OkresSprawozdawczy/DataDo) then replace(substring(string(Naglowek/OkresSprawozdawczy/DataDo), 1, 7), '-', '') else if (Naglowek/OkresSprawozdawczy/DataOd) then replace(substring(string(Naglowek/OkresSprawozdawczy/DataOd), 1, 7), '-', '') else concat(Naglowek/OkresSprawozdawczy/Rok, $periods_dict($half), $periods_dict($quarter), Naglowek/OkresSprawozdawczy/Miesiac) return $schema_date = $report_date else true() 
documentation
Należy użyć schemy XML dla odpowiedniego okresu (rok i miesiąc muszą odpowiadać dacie z elementu OkresSprawozdawczy)
documentation
SPRAWOZDANIE_00002
if (Naglowek/DzienZdarzenia) then let $schema_file_location := @xsi:noNamespaceSchemaLocation, $second_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-2], $third_last_slash_pos := index-of(string-to-codepoints($schema_file_location), string-to-codepoints('/'))[last()-3], $schema_date := concat(substring($schema_file_location, $third_last_slash_pos + 1, 4), substring($schema_file_location, $second_last_slash_pos + 1, 2)), $report_date := replace(string(Naglowek/DzienZdarzenia), '-', '') return $schema_date = substring($report_date, 1, 6) else true() 
documentation
Należy użyć schemy XML dla odpowiedniego okresu (rok i miesiąc muszą odpowiadać dacie z elementu DzienZdarzenia)
documentation
SPRAWOZDANIE_00003
starts-with(@xsi:noNamespaceSchemaLocation, 'https://sprawozdawczosc.knf.gov.pl/') 
documentation
Należy odwołać się do schemy XML zamieszczonej na domenie: https://sprawozdawczosc.knf.gov.pl/
documentation
SPRAWOZDANIE_00004
if (starts-with(Naglowek/IdentyfikatorFunduszuSubfunduszu, 'PLFIZ')) then every $type in Dane/Dystrybutor/Transakcje/@RodzajTransakcji satisfies matches($type, 'ZAPISY_CI|WYKUPY_CI') else every $type in Dane/Dystrybutor/Transakcje/@RodzajTransakcji satisfies matches($type, 'ZBYCIA_JU|ODKUPIENIA_JU') 
documentation
Dla FIO/SFIO dostępne rodzaje transakcji to: zbycia jednostek uczestnictwa (ZBYCIA_JU) oraz odkupienia jednostek uczestnictwa (ODKUPIENIA_JU). Natomiast dla FIZ dostępne rodzaje transakcji to: zapisy na certyfikaty inwestycyjne (ZAPISY_CI) oraz wykupy certyfikatów inwestycyjnych (WYKUPY_CI).
documentation
DYSTRYBUCJA_00001
annotation
documentation
Sprawozdanie

element SprawozdanieTyp/Naglowek
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p31.png
type NaglowekTyp
properties
content complex
children IdentyfikatorZarzadzajacego NazwaZarzadzajacego IdentyfikatorFunduszuSubfunduszu NazwaFunduszuSubfunduszu IdentyfikatorDostawcyDanych DzienWyceny WalutaSprawozdania OkresSprawozdawczy CzyKorekta
asserts
Test XPathDefaultNs Annotation
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $file_name_pattern := upper-case(string('[A-Z]+_[A-Z0-9]{11,11}_[A-Z0-9]{10,20}_[0-9QH]{4,8}_[01].xml')), $xml_file_name := substring($xml_file_path, $last_slash_pos + 1) return matches($xml_file_name, $file_name_pattern)  
documentation
Nazwa pliku niezgodna z maską
documentation
NAGLOWEK_00001
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_entity_id := substring($xml_file_name, $dash_pos[1] + 1, $dash_pos[2] - $dash_pos[1] - 1) return $xml_file_entity_id = IdentyfikatorFunduszuSubfunduszu or (not(IdentyfikatorFunduszuSubfunduszu) and $xml_file_entity_id = IdentyfikatorZarzadzajacego) 
documentation
Identyfikator krajowy (sub)funduszu lub TFI w treści nagłówka niezgodny z identyfikatorem w nazwie pliku
documentation
NAGLOWEK_00002
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_identyfikator_dostawcy := substring($xml_file_name, $dash_pos[2] + 1, $dash_pos[3] - $dash_pos[2] - 1) return $xml_file_identyfikator_dostawcy = IdentyfikatorDostawcyDanych 
documentation
Identyfikator dostawcy danych w treści nagłówka niezgodny z kodem w nazwie pliku
documentation
NAGLOWEK_00003
if (OkresSprawozdawczy) then let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_okres_spr := substring($xml_file_name, $dash_pos[3] + 1, $dash_pos[4] - $dash_pos[3] - 1), $okres_sprawozdawczy := if (OkresSprawozdawczy/Rok) then concat(OkresSprawozdawczy/Rok, OkresSprawozdawczy/Polrocze, OkresSprawozdawczy/Kwartal, OkresSprawozdawczy/Miesiac) else if (OkresSprawozdawczy/DataDo) then replace(string(OkresSprawozdawczy/DataDo), '-', '') else if (OkresSprawozdawczy/DataOd) then replace(string(OkresSprawozdawczy/DataOd), '-', '') else '' return $xml_file_okres_spr = $okres_sprawozdawczy else true() 
documentation
Okres sprawozdawczy w treści nagłówka niezgodny z okresem w nazwie pliku
documentation
NAGLOWEK_00004
if (DzienZdarzenia) then let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_okres_spr := substring($xml_file_name, $dash_pos[3] + 1, $dash_pos[4] - $dash_pos[3] - 1), $dzien_zdarzenia := replace(string(DzienZdarzenia), '-', '') return $xml_file_okres_spr = $dzien_zdarzenia else true() 
documentation
DzienZdarzenia w treści nagłówka niezgodny z dniem zdarzenia w nazwie pliku
documentation
NAGLOWEK_00005
let $xml_file_path := upper-case(string(base-uri())), $last_slash_pos := index-of(string-to-codepoints(upper-case(string(base-uri()))), string-to-codepoints('/'))[last()], $xml_file_name := substring($xml_file_path, $last_slash_pos + 1), $dash_pos := index-of(string-to-codepoints($xml_file_name), string-to-codepoints('_')), $xml_file_czy_korekta := substring($xml_file_name, $dash_pos[4] + 1, 1) return xs:boolean($xml_file_czy_korekta) = CzyKorekta 
documentation
Flaga CzyKorekta w treści nagłówka niezgodna z informacją w nazwie pliku
documentation
NAGLOWEK_00006
annotation
documentation
Nagłówek sprawozdania

element SprawozdanieTyp/Dane
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p32.png
type DaneTyp
properties
content complex
children Dystrybutor BrakAktywow
annotation
documentation
Dane sprawozdania

complexType TransakcjeTyp
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p33.png
children LiczbaTransakcji Wartosc OplatyManipulacyjne
used by
element DystrybutorTyp/Transakcje
attributes
Name  Type  Use  Default  Fixed  Annotation
RodzajTransakcji  TransakcjeDystrybucjaTyp  required      
documentation
Rodzaj transakcji
documentation
Rodzaj transakcji na jednostkach uczestnictwa lub certyfikatach inwestycyjnych funduszy inwestycyjnych
annotation
documentation
Transakcje

attribute TransakcjeTyp/@RodzajTransakcji
type TransakcjeDystrybucjaTyp
properties
use required
annotation
documentation
Rodzaj transakcji
documentation
Rodzaj transakcji na jednostkach uczestnictwa lub certyfikatach inwestycyjnych funduszy inwestycyjnych

element TransakcjeTyp/LiczbaTransakcji
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p34.png
type LiczbaCalkowitaNieujemna19Typ
properties
content simple
facets
Kind Value Annotation
minInclusive 0
totalDigits 19
fractionDigits 0
annotation
documentation
Liczba transakcji
documentation
Liczba zrealizowanych zleceń zbycia jednostek uczestnictwa za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym
lub
liczba zrealizowanych zleceń odkupienia jednostek uczestnictwa za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym
lub
liczba zapisów na CI, które zostały zrealizowane (nastąpił przydział CI), za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym
lub
liczba zrealizowanych żądań wykupów CI złożonych za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym.

W przypadku operacji konwersji/zamian należy zaraportować to jako dwie oddzielne transakcje (odkupienie i zbycie JU) na dwóch (sub)funduszach.

W przypadku FIO/SFIO dane w okresie sprawozdawczym powinny obejmować operacje wg momentu zbycia i odkupienia JU zgodnie z definicją art. 88 ust. 2 i art. 89 ust. 2 ustawy o funduszach inwestycyjnych tj. wg chwili wpisania do rejestru.

element TransakcjeTyp/Wartosc
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p35.png
type Liczba19.2Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 2
annotation
documentation
Łączna wartość transakcji
documentation
Łączna wartość odkupionych jednostek uczestnictwa za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym
lub
łączna wartość zbytych jednostek uczestnictwa za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym
lub 
łączna wartość wyemitowanych certyfikatów inwestycyjnych, na które zostały przyjęte zapisy, za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym
lub
łączna wartość wykupionych certyfikatów inwestycyjnych, na które zostały złożone żądania wykupu, za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym.

W przypadku operacji konwersji/zamian należy zaraportować to jako dwie oddzielne transakcje (odkupienie i zbycie JU) na dwóch (sub)funduszach.

W przypadku FIO/SFIO dane w okresie sprawozdawczym powinny obejmować operacje wg momentu zbycia i odkupienia JU zgodnie z definicją art. 88 ust. 2 i art. 89 ust. 2 ustawy o funduszach inwestycyjnych tj. wg chwili wpisania do rejestru.

element TransakcjeTyp/OplatyManipulacyjne
diagram knf.fi.Dystrybucja_diagrams/knf.fi.Dystrybucja_p36.png
type Liczba19.2Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 2
annotation
documentation
Wartość opłat manipulacyjnych, o których mowa w art. 86. ust. 2 ustawy
documentation
Łączna wartość opłat manipulacyjnych, o których mowa w art. 86. ust. 2 ustawy, pobranych przy zleceniach zbycia jednostek uczestnictwa lub zleceniach odkupienia jednostek uczestnictwa lub przy prowadzeniu zapisów na certyfikaty inwestycyjnego za pośrednictwem danego podmiotu we wskazanym okresie sprawozdawczym.

W przypadku FIO/SFIO dane w okresie sprawozdawczym powinny obejmować operacje wg momentu zbycia i odkupienia JU zgodnie z definicją art. 88 ust. 2 i art. 89 ust. 2 ustawy o funduszach inwestycyjnych tj. wg chwili wpisania do rejestru.


XML Schema documentation generated by XMLSpy Schema Editor http://www.altova.com/xmlspy