datagov-cz / otevrene-formalni-normy

V tomto repozitáři jsou otevřené formální normy pro otevřená data v ČR a sbíráme zde na ně další požadavky. Tento repozitář je udržován v rámci projektu OPZ č. CZ.03.4.74/0.0/0.0/15_025/0013983.
https://ofn.gov.cz
17 stars 13 forks source link

Je validní Json schema pro úřední desku #426

Closed skoopec closed 2 years ago

skoopec commented 2 years ago

Dobrý den, začal jsem se zaobírat ofn pro úřední desku. Zarazilo mě, že v Json schema je $ref definováno jako IRI a ne jako URI dle specifikace https://json-schema.org/understanding-json-schema/structuring.html#ref.

jakubklimek commented 2 years ago

Máte pravdu že striktně dle verze 2019 specifikace by IRI mělo být kódováno do URI. Nicméně podpora IRI už v příští verzi specifikace bude a řada validátorů IRI zvládá již nyní, což je důvod proč jsme ho již použili rovnou místo čekání a kódování.

skoopec commented 2 years ago

Co jsem se díval do specifikace verze Draft 2020-12 tak $ref by mělo být pořád URI. Jakou příští verzi specifikace máte na mysli?

jakubklimek commented 2 years ago

https://github.com/json-schema-org/json-schema-spec draft-next

pro-chi commented 2 years ago

Chápu to tedy správně, že jsou vaše schémata (OFN) definována na základě obecného schématu 2019-09 (https://json-schema.org/draft/2019-09/schema), ale sama toto schéma 2019-09 nesplňují?

Asi jako když v HTML 4.0.1 použiji značky z HTML 5 a budu říkat, že je to v OK, protože v příští verzi 6.0 už to určitě bude, ačkoliv to ještě není oficiální standard?

Nestačilo by tedy jen upravit typ schéma, podle kterého OFN schémata tvoříte?

jakubklimek commented 2 years ago

Můžete popsat konkrétní problém, který vám způsobuje to, že indikujeme verzi 2019-09, i když používáme IRI místo URI? Je to jediný rozdíl oproti draftu 2019-09, důvod viz výše. Změna měla původně být už v draftu 2020-12, ale bylo rozhodnuto o odložení do další verze. Před 11 dny byl další verzi přidán testovací identifikátor "draft/next", ale jeho dočasné promítnutí do OFN by aktuálně nic nevyřešilo. Až dostane finální identifikátor, bude v JSON schématu aktualizován.

Do té doby stačí používat validátory, které tuto feature již mají.

jakubklimek commented 2 years ago

Problematiku považuji za vysvětlenou - s validací poskytovatelé (150+) problém nemají.