Schema knf.fi.WycenaJU.xsd


schema location ..\xsd\knf.fi.WycenaJU.xsd
attributeFormDefault unqualified
elementFormDefault qualified
 
Elements  Complex types 
Sprawozdanie  DaneTyp 
NaglowekTyp 
OkresSprawozdawczyTyp 
SprawozdanieTyp 
WycenaJUKategoriaTyp 
WycenaJUTyp 


element Sprawozdanie
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_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
every $valuation_day in Dane/WycenaJU/@DzienWyceny satisfies $valuation_day >= Naglowek/OkresSprawozdawczy/DataOd and Naglowek/OkresSprawozdawczy/DataDo >= $valuation_day 
documentation
Dzień wyceny musi zawierać się w okresie pomiędzy DataOd i DataDo z elementu OkresSprawozdawczy
documentation
WYCENAJU_00002
annotation
documentation
Sprawozdanie miesięczne funduszu inwestycyjnego otwartego i specjalistycznego funduszu inwestycyjnego otwartego (Załącznik nr 7)
documentation
Wartość aktywów, wartość aktywów netto, wartość aktywów netto na każdą kategorię jednostek uczestnictwa oraz liczba jednostek uczestnictwa w każdym dniu wyceny

complexType DaneTyp
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p2.png
children WycenaJU
used by
element SprawozdanieTyp/Dane
annotation
documentation
Dane sprawozdania

element DaneTyp/WycenaJU
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p3.png
type WycenaJUTyp
properties
minOcc 1
maxOcc unbounded
content complex
children WAFunduszuOgolem WANFunduszuOgolem WycenaJUKategoria
attributes
Name  Type  Use  Default  Fixed  Annotation
DzienWyceny  DataPrzedzial1Typ  required      
documentation
Dzień wyceny
documentation
Dzień wyceny
asserts
Test XPathDefaultNs Annotation
not(exists(WycenaJUKategoria[some $other in ../WycenaJUKategoria satisfies (upper-case(@KategoriaJU) = upper-case($other/@KategoriaJU) and @Waluta = $other/@Waluta) and generate-id() != generate-id($other)])) 
documentation
Kombinacja wartości atrybutów KategoriaJU i Waluta nie może się powtarzać w ramach dnia wyceny. Wielkość liter nie jest uwzględniana.
documentation
WYCENAJU_00004
count(WycenaJUKategoria[@OznaczenieKategoriiPodstawowej = true()]) = 1 
documentation
Tylko jedna kategoria jednostki uczestnictwa może być oznaczona jako podstawowa
documentation
WYCENAJU_00005
annotation
documentation
Wycena jednostki uczestnictwa

complexType NaglowekTyp
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p4.png
type restriction of NaglowekTypAbs
properties
base NaglowekTypAbs
children IdentyfikatorZarzadzajacego NazwaZarzadzajacego IdentyfikatorFunduszuSubfunduszu NazwaFunduszuSubfunduszu IdentyfikatorDostawcyDanych 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.WycenaJU_diagrams/knf.fi.WycenaJU_p5.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.WycenaJU_diagrams/knf.fi.WycenaJU_p6.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.WycenaJU_diagrams/knf.fi.WycenaJU_p7.png
type tpp:IdentyfikatorFIOSFIOTyp
properties
content simple
annotation
documentation
Identyfikator krajowy funduszu lub subfunduszu
documentation
Identyfikator krajowy funduszu lub subfunduszu

element NaglowekTyp/NazwaFunduszuSubfunduszu
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p8.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.WycenaJU_diagrams/knf.fi.WycenaJU_p9.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/WalutaSprawozdania
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p10.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.WycenaJU_diagrams/knf.fi.WycenaJU_p11.png
type OkresSprawozdawczyTyp
properties
content complex
children DataOd DataDo Rok Miesiac
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
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(DataOd), $month := month-from-date(DataOd), $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 
documentation
DataOd musi zawierać się w raportowanym okresie sprawozdawczym (elementy: Rok i Miesiac)
documentation
WYCENAJU_00003
annotation
documentation
Okres sprawozdawczy raportu

element NaglowekTyp/CzyKorekta
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p12.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.WycenaJU_diagrams/knf.fi.WycenaJU_p13.png
type restriction of OkresSprawozdawczyTypAbs
properties
base OkresSprawozdawczyTypAbs
children DataOd DataDo Rok Miesiac
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
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(DataOd), $month := month-from-date(DataOd), $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 
documentation
DataOd musi zawierać się w raportowanym okresie sprawozdawczym (elementy: Rok i Miesiac)
documentation
WYCENAJU_00003
annotation
documentation
Okres sprawozdawczy

element OkresSprawozdawczyTyp/DataOd
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p14.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ę otworzenia ksiąg rachunkowych funduszu).
documentation
Jeśli (sub)fundusz otworzył księgi rachunkowe 15.03.2024, to w raporcie z danymi za marzec 2024 powinien w pole „DataOd” wpisać „2024-03-15”.
W kolejnym raporcie, z danymi za kwiecień 2024, powinien w pole „DataOd” wpisać standardowo „2024-04-01”.

element OkresSprawozdawczyTyp/DataDo
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p15.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 kalendarzowy dzień okresu sprawozdawczego. W przypadku raportu, który nie obejmuje pełnego okresu sprawozdawczego, należy podać inną datę (np. datę otwarcia likwidacji funduszu).
documentation
Jeśli (sub)fundusz rozpoczął likwidację 15.03.2024, to w raporcie z danymi za marzec 2024 powinien w pole „DataDo” wpisać „15.03.2024”.

element OkresSprawozdawczyTyp/Rok
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p16.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
Jeśli pole „DataDo”jest wypełnione „2024-03-15”, to należy wpisać „2024” w polu „Rok”.

element OkresSprawozdawczyTyp/Miesiac
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p17.png
type OkresSprawozdawczyMiesiacTyp
properties
content simple
facets
Kind Value Annotation
pattern 0[1-9]|1[0-2]
annotation
documentation
Miesiąc, w którym przypada data określona w polu „DataDo” elementu „OkresSprawozdawczy”.
documentation
Miesiąc, w którym przypada data określona w polu „DataDo” elementu „OkresSprawozdawczy”.
documentation
Jeśli pole „DataDo”jest wypełnione „2024-03-15”, to należy wpisać „03” w polu „Miesiac”.

complexType SprawozdanieTyp
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p18.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
every $valuation_day in Dane/WycenaJU/@DzienWyceny satisfies $valuation_day >= Naglowek/OkresSprawozdawczy/DataOd and Naglowek/OkresSprawozdawczy/DataDo >= $valuation_day 
documentation
Dzień wyceny musi zawierać się w okresie pomiędzy DataOd i DataDo z elementu OkresSprawozdawczy
documentation
WYCENAJU_00002
annotation
documentation
Sprawozdanie

element SprawozdanieTyp/Naglowek
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p19.png
type NaglowekTyp
properties
content complex
children IdentyfikatorZarzadzajacego NazwaZarzadzajacego IdentyfikatorFunduszuSubfunduszu NazwaFunduszuSubfunduszu IdentyfikatorDostawcyDanych 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.WycenaJU_diagrams/knf.fi.WycenaJU_p20.png
type DaneTyp
properties
content complex
children WycenaJU
identity constraints
  Name  Refer  Selector  Field(s)  Annotation
key  WYCENAJU_00001    WycenaJU  @DzienWyceny  
documentation
Wartość atrybutu DzienWyceny nie może się powtarzać w ramach pliku
documentation
Unikalność dnia wyceny w ramach pliku
annotation
documentation
Dane sprawozdania

complexType WycenaJUKategoriaTyp
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p21.png
children WANJU LiczbaJU WAN
used by
element WycenaJUTyp/WycenaJUKategoria
attributes
Name  Type  Use  Default  Fixed  Annotation
KategoriaJU  Opis100ZnakowTyp  required      
documentation
Kategoria jednostki uczestnictwa
documentation
Kategoria jednostki uczestnictwa
Waluta  WalutyPodstawoweTyp  required      
documentation
Waluta wyceny
documentation
Waluta wyceny kategorii jednostki uczestnictwa
OznaczenieKategoriiPodstawowej  WskaznikLogiczny0lub1albotruelubfalseTyp  required      
documentation
Oznaczenie kategorii podstawowej jednostki uczestnictwa
documentation
Najbardziej reprezentatywna kategoria jednostek uczestnictwa. Powinna cechować się najszerszą dostępnością dla uczestników. Jeśli więcej niż 1 kategoria ma taką samą lub zbliżoną dostępność dla uczestników, to należy wybrać tę z najwyższymi kosztami.
OznaczenieKategoriiArt83aUst1Pkt1  WskaznikLogiczny0lub1albotruelubfalseTyp  required      
documentation
Oznaczenie kategorii jednostki uczestnictwa, o której mowa w art. 83a ust. 1 pkt 1 ustawy
documentation
Oznaczenie kategorii jednostki uczestnictwa, o której mowa w art. 83a ust. 1 pkt 1 ustawy
asserts
Test XPathDefaultNs Annotation
(if (abs(WAN) >= 100) then abs(WAN*0.01) else 1) >= abs(WAN - WANJU*LiczbaJU) 
documentation
WAN przypadająca na daną kategorię JU musi równać się iloczynowi WANJU funduszu danej kategorii i liczby JU funduszu danej kategorii z tolerancją 1% (min. 1 jednostki) WAN
documentation
WYCENAJU_00006
annotation
documentation
Wycena kategorii jednostki uczestnictwa

attribute WycenaJUKategoriaTyp/@KategoriaJU
type Opis100ZnakowTyp
properties
use required
facets
Kind Value Annotation
minLength 1
maxLength 100
annotation
documentation
Kategoria jednostki uczestnictwa
documentation
Kategoria jednostki uczestnictwa

attribute WycenaJUKategoriaTyp/@Waluta
type WalutyPodstawoweTyp
properties
use required
annotation
documentation
Waluta wyceny
documentation
Waluta wyceny kategorii jednostki uczestnictwa

attribute WycenaJUKategoriaTyp/@OznaczenieKategoriiPodstawowej
type WskaznikLogiczny0lub1albotruelubfalseTyp
properties
use required
annotation
documentation
Oznaczenie kategorii podstawowej jednostki uczestnictwa
documentation
Najbardziej reprezentatywna kategoria jednostek uczestnictwa. Powinna cechować się najszerszą dostępnością dla uczestników. Jeśli więcej niż 1 kategoria ma taką samą lub zbliżoną dostępność dla uczestników, to należy wybrać tę z najwyższymi kosztami.

attribute WycenaJUKategoriaTyp/@OznaczenieKategoriiArt83aUst1Pkt1
type WskaznikLogiczny0lub1albotruelubfalseTyp
properties
use required
annotation
documentation
Oznaczenie kategorii jednostki uczestnictwa, o której mowa w art. 83a ust. 1 pkt 1 ustawy
documentation
Oznaczenie kategorii jednostki uczestnictwa, o której mowa w art. 83a ust. 1 pkt 1 ustawy

element WycenaJUKategoriaTyp/WANJU
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p22.png
type Liczba19.8Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 8
annotation
documentation
Wartość aktywów netto na jednostkę uczestnictwa funduszu danej kategorii
documentation
Wartość aktywów netto na jednostkę uczestnictwa funduszu danej kategorii w danym dniu wyceny.

element WycenaJUKategoriaTyp/LiczbaJU
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p23.png
type LiczbaNieujemna19.8Typ
properties
content simple
facets
Kind Value Annotation
minInclusive 0
totalDigits 19
fractionDigits 8
annotation
documentation
Liczba jednostek uczestnictwa funduszu danej kategorii
documentation
Liczba jednostek uczestnictwa funduszu danej kategorii w danym dniu wyceny.

element WycenaJUKategoriaTyp/WAN
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p24.png
type Liczba19.2Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 2
annotation
documentation
Wartość aktywów netto przypadająca na daną kategorię jednostek uczestnictwa
documentation
Wartość aktywów netto przypadająca na daną kategorię jednostek uczestnictwa w danym dniu wyceny

complexType WycenaJUTyp
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p25.png
children WAFunduszuOgolem WANFunduszuOgolem WycenaJUKategoria
used by
element DaneTyp/WycenaJU
attributes
Name  Type  Use  Default  Fixed  Annotation
DzienWyceny  DataPrzedzial1Typ  required      
documentation
Dzień wyceny
documentation
Dzień wyceny
asserts
Test XPathDefaultNs Annotation
not(exists(WycenaJUKategoria[some $other in ../WycenaJUKategoria satisfies (upper-case(@KategoriaJU) = upper-case($other/@KategoriaJU) and @Waluta = $other/@Waluta) and generate-id() != generate-id($other)])) 
documentation
Kombinacja wartości atrybutów KategoriaJU i Waluta nie może się powtarzać w ramach dnia wyceny. Wielkość liter nie jest uwzględniana.
documentation
WYCENAJU_00004
count(WycenaJUKategoria[@OznaczenieKategoriiPodstawowej = true()]) = 1 
documentation
Tylko jedna kategoria jednostki uczestnictwa może być oznaczona jako podstawowa
documentation
WYCENAJU_00005
annotation
documentation
Wycena jednostki uczestnictwa

attribute WycenaJUTyp/@DzienWyceny
type DataPrzedzial1Typ
properties
use required
facets
Kind Value Annotation
minInclusive 2022-01-01
maxInclusive 2099-12-31
annotation
documentation
Dzień wyceny
documentation
Dzień wyceny

element WycenaJUTyp/WAFunduszuOgolem
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p26.png
type Liczba19.2Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 2
annotation
documentation
Wartość aktywów funduszu
documentation
Wartość aktywów funduszu ogółem na datę wskazaną w polu "DzienWyceny".

element WycenaJUTyp/WANFunduszuOgolem
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p27.png
type Liczba19.2Typ
properties
content simple
facets
Kind Value Annotation
totalDigits 19
fractionDigits 2
annotation
documentation
Wartość aktywów netto funduszu
documentation
Wartość aktywów netto funduszu ogółem na datę wskazaną w polu "DzienWyceny".

element WycenaJUTyp/WycenaJUKategoria
diagram knf.fi.WycenaJU_diagrams/knf.fi.WycenaJU_p28.png
type WycenaJUKategoriaTyp
properties
minOcc 1
maxOcc unbounded
content complex
children WANJU LiczbaJU WAN
attributes
Name  Type  Use  Default  Fixed  Annotation
KategoriaJU  Opis100ZnakowTyp  required      
documentation
Kategoria jednostki uczestnictwa
documentation
Kategoria jednostki uczestnictwa
Waluta  WalutyPodstawoweTyp  required      
documentation
Waluta wyceny
documentation
Waluta wyceny kategorii jednostki uczestnictwa
OznaczenieKategoriiPodstawowej  WskaznikLogiczny0lub1albotruelubfalseTyp  required      
documentation
Oznaczenie kategorii podstawowej jednostki uczestnictwa
documentation
Najbardziej reprezentatywna kategoria jednostek uczestnictwa. Powinna cechować się najszerszą dostępnością dla uczestników. Jeśli więcej niż 1 kategoria ma taką samą lub zbliżoną dostępność dla uczestników, to należy wybrać tę z najwyższymi kosztami.
OznaczenieKategoriiArt83aUst1Pkt1  WskaznikLogiczny0lub1albotruelubfalseTyp  required      
documentation
Oznaczenie kategorii jednostki uczestnictwa, o której mowa w art. 83a ust. 1 pkt 1 ustawy
documentation
Oznaczenie kategorii jednostki uczestnictwa, o której mowa w art. 83a ust. 1 pkt 1 ustawy
asserts
Test XPathDefaultNs Annotation
(if (abs(WAN) >= 100) then abs(WAN*0.01) else 1) >= abs(WAN - WANJU*LiczbaJU) 
documentation
WAN przypadająca na daną kategorię JU musi równać się iloczynowi WANJU funduszu danej kategorii i liczby JU funduszu danej kategorii z tolerancją 1% (min. 1 jednostki) WAN
documentation
WYCENAJU_00006
annotation
documentation
Wycena kategorii jednostki uczestnictwa


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