Closed motyc closed 1 year ago
add 2) O jaký příkaz se jedná? např. v ListMetadataFormats je vše v pořádku. Prosím o u přesnění. Stejně tak pro 3 a 4.
Body 2-4 a 6 jsou jsou relevantní pro "ListRecords" a "GetRecord".
Ad 2:
Ano, já to vidim, ale potřebuji udělat někam poznámky.
Pardon, myslel jsem, že to nemůžete najít.
Na stávající odpovědi jsou zkoušela validátor : http://validator.oaipmh.com/ a vše bylo v pořádku, včetně tohoto prázdného "". Jak a kde způsobuje api uživatelům problémy, že je nevalidni?
Jenže validátor takovou chybu může těžko odhalit. Problém totiž není, ve vlastní syntaxi, ale v obsahu parametrů. Proto validátor nic neříká, přesto to při zpracování dělá problémy (stejný namespace je definován v rámci jednoho dokumentu vícekrát, resp. dokonce různě, protože prázdné xmlns se chápe jako příslušné k aktuálnímů elementu). Upozorněn jsem na to byl ze strany mezinárodních partnerů, kteří službu využívají. Problémy mi to samotnému dělalo, když jsem potřeboval udělat mapování XML na jinou ontologii pomocí nástroje 3M.
Ad "3 - při odstranění z metadata_oai_amcr.xsl není xml validní a selhávají testy." - to je zvláštní; není důvod, aby to bylo chybně, když stejným principem je definován gml namespace, resp. u něj definice chybí zatím úplně; spíš si myslím, že bude chyba někde v implementaci... Může to souviset s problémem č. 2, protože po odstranění tam zůstane jen prázdný atribut xmlns.
Problém je, že se pak není čeho chytnout. Zkoušela jsem asi 3 validátory přímo pro konkrétní odpovědi a nikdy žádná chyba nebyla. Způsobuje problém 2 i 3, nebo jenom ten prázdný string u 2.
Oboje. Namespace by v jednom dokumentu měl být definován jen jednou, ne pokaždé, když se vyskytne. Prázdný namespace pak vyvolává chyby při interpretaci XML. Na druhou stranu nemyslím, že je třeba řešit validátory, ale upravit to podle popisu. Vždyť jde jen o přidání/ubrání atributů. Moc nerozumím, kde vznikají ty obtíže...
Potíže vzniknou při automatických testech při deploy. Bude nutné je předělat, prosím ,abychom si ujasnili zadání. Zadejte požadovanou syntaxi k tomuto ukázkovému dotazu GetRecord. getRecord.txt
Mělo by to vypadat takto: getRecord_DN.txt
Ještě si musíme říci, jak to má vypadat u rdf. Tam je namespace také definovaný až v metadatech.
Dívala jsem se na design a tam je logika taková, že tag
Tam to teď není podstatné, takže bych to odložil, v klidu se na to podíval a případně to vyřešíme později.
`
Body 3 a 4 zatím nechme být, pro aplikaci to problém není, resp. nejde o chybu.
Bod 1 - není sjednoceno všude, prosím dodělat v ListRecords a GetRecord:
Pro opravný release, který vyřeší #44 , #54 navrhuji revertovat commit, který řešil bod 2, tedy vrátit xmlns="". Tím se dostáváme zpátky do verze, která má platné všechny testy. A můžeme řešit 1,2 a 7 najednou. Release (v.1.2.0) je připraven na testu.
Dobře, udělejme to tak, ať mám na doladění klid.
Zbývá dořešit pouze bod 1, zbylé body řešeny jinde nebo hotovy.
Je třeba opravit některé drobné chyby v syntaxi odpovědí a namespace, jinak není API standardní a špatně se napojuje z vnějšku:
DODĚLAT - všude opravit namespace oai_amcr a oai_rdf tak, aby končily "/" (tj. https://api.aiscr.cz/schema/oai_amcr/ a https://api.aiscr.cz/schema/oai_rdf/). Je to třeba jak v ListMetadataFormats, tak v ListRecords
Nově řešeno v #63 - V
<oai_amcr:amcr>
se špatně (navíc) vypisuje xmlns="". To je třeba odstranit.ZRUŠENO - Attribut xmlns:oai_amcr="https://api.aiscr.cz/schema/oai_amcr" by měl být přímo v tagu
<OAI-PMH>
, nikoli opakovaně až u<oai_amcr:amcr>
.ZRUŠENO - Atribut xsi:schemaLocation="https://api.aiscr.cz/schema/oai_amcr https://api.aiscr.cz/dapro/media/oai_amcr.xsd" je podle mne v tagu
<oai_amcr:amcr>
zcela nadbytečný, když je to definováno v rámci ListMetadataFormats a bude platit bod 5.HOTOVO - Adresy https://api.aiscr.cz/schema/oai_amcr/ a https://api.aiscr.cz/schema/oai_rdf/ by měly automaticky resolvovat xsd (tedy https://api.aiscr.cz/dapro/media/oai_rdf.xsd a https://api.aiscr.cz/dapro/media/oai_amcr.xsd).
HOTOVO - Do
<OAI-PMH>
přidat definici namespace pro GML (xmlns:gml="http://www.opengis.net/gml/3.2").Nově řešeno v #63 - Vzhledem k úpravě podle bodu 2 (což bylo nestandardní řešení), je třeba k tagům vypisovaným podle schématu oai_amcr doplnit tento namespace (jako je tomu u samotného tagu amcr, nebo jako je to RDF verzi).