Project

General

Profile

Tehtävä #3417

Tarkista MARCXML slim skeemaa vasten

Added by Mace Ojala over 7 years ago. Updated over 7 years ago.

Status:
Hylätty
Priority:
Normaali
Assignee:
Start date:
26.11.2012
Due date:
% Done:

20%

Estimated time:
Google Doc:

Description

Yksi aika ilmeinen idea olisi tarkistaa Kongressin kirjaston MARCXML slim -skeemaa http://www.loc.gov/MARC21/slim vasten. Skeema on nimensä mukaisesti aika slim, mutta Axiellin toimittamat tietueet erityisesti väittävät olevansa sen mukaisia joten olisi ihan reilu homma.

Toi skeema asustelee osoitteessa http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd. Vuonna 2009 päivitetty skeema valvoo yleistä rakennetta, eli collection, record, leader, controlfield, datafield, subfield -elementtien sekä indikaattorien keskenäistä hierarkiaa. Tarkemmin se valvoo vain nimiön sisältöä ja kontrollikenttien nimiä.


Related issues

Related to PIKI-tietokannan siivousmenetelmät - Tehtävä #3406: Korjaa väärän mittaiset nimiötSuljettu21.11.2012

Related to PIKI-tietokannan siivousmenetelmät - Tehtävä #3418: Etsi 035:n tyhjät indikaattoritSuljettu26.11.2012

Related to PIKI-tietokannan siivousmenetelmät - Bugi #3420: MARCXML-dumppi on korruptoitunutHylätty27.11.2012

Related to PIKI-tietokannan siivousmenetelmät - Tehtävä #3434: Tarkista formaattikoodit nimiön merkkipaikasta 06Suljettu03.12.2012

Related to PIKI-tietokannan siivousmenetelmät - Tehtävä #3435: Tarkista tilakoodit nimiön merkkipaikasta 05Suljettu03.12.2012

Related to PIKI-tietokannan siivousmenetelmät - Tehtävä #3459: Katso millaisia herjoja USEMARCON on FinMARC→MARC21 -konversiossa PIKIlle antanutSuljettu13.12.2012

History

#1 Updated by Mace Ojala over 7 years ago

  • Description updated (diff)

Tarkistamiseen voi käyttää vaikkapa xmllint -ohjelmaa, ja sen käyttö BaseX dokumenttivarastona menisi esim. näin

basex -i piki-otanta -L 'declare namespace srw="http://www.loc.gov/zing/srw/"; declare namespace mx="http://www.loc.gov/MARC21/slim"; /records/record[13131]/srw:recordData/mx:record' |xmllint --noout --schema http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd /dev/stdin

Tuo noutaa BaseX:stä yhden tietueen (13131:n), ja tulostaa tämänkaltaista tavaraa:

/dev/stdin:2: element leader: Schemas validity error : Element '{http://www.loc.gov/MARC21/slim}leader': [facet 'pattern'] The value '00460nja a2200121   45  ' is not accepted by the pattern '[\d ]{5}[\dA-Za-z ]{1}[\dA-Za-z]{1}[\dA-Za-z ]{3}(2| )(2| )[\d ]{5}[\dA-Za-z ]{3}(4500|    )'.
/dev/stdin:2: element leader: Schemas validity error : Element '{http://www.loc.gov/MARC21/slim}leader': '00460nja a2200121   45  ' is not a valid value of the atomic type '{http://www.loc.gov/MARC21/slim}leaderDataType'.
/dev/stdin:8: element datafield: Schemas validity error : Element '{http://www.loc.gov/MARC21/slim}datafield', attribute 'ind1': [facet 'pattern'] The value '' is not accepted by the pattern '[\da-z ]{1}'.
/dev/stdin:8: element datafield: Schemas validity error : Element '{http://www.loc.gov/MARC21/slim}datafield', attribute 'ind1': '' is not a valid value of the atomic type '{http://www.loc.gov/MARC21/slim}indicatorDataType'.
/dev/stdin:8: element datafield: Schemas validity error : Element '{http://www.loc.gov/MARC21/slim}datafield', attribute 'ind2': [facet 'pattern'] The value '' is not accepted by the pattern '[\da-z ]{1}'.
/dev/stdin:8: element datafield: Schemas validity error : Element '{http://www.loc.gov/MARC21/slim}datafield', attribute 'ind2': '' is not a valid value of the atomic type '{http://www.loc.gov/MARC21/slim}indicatorDataType'.
/dev/stdin fails to validate

Tätä näpläillessä löytyi ongelma, että 035 :n indikaattoreilla näkyy olevan tyhjiä arvoja (siis ''), joita skeema ei salli. Kirjaan #3418.

#2 Updated by Mace Ojala over 7 years ago

  • % Done changed from 0 to 10

#3 Updated by Mace Ojala over 7 years ago

  • % Done changed from 10 to 20

Nakkasin dumpin koko sisällön xmllintin tarkastettavaksi näin

for xmldoc in $(unzip -qq -l piki_dump.zip |awk '{print($4)}') \
  ;do echo $xmldoc \
  ;unzip -p piki_dump.zip $xmldoc \
  |xmllint --noout --schema http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd /dev/stdin >xmllint/${xmldoc}.err 2>&1 \
;done

Ja virheilmoituksia tuli niin maan pirusti. xmllint ei edes alkanut tarkistaa XML:ää, vaan hajoili rikkinäisiin XML-rakenteisiin. Tämä MARC-dumppi tosiaankin on korruptoitunut :( #3420

#4 Updated by Mace Ojala over 7 years ago

Okei eli ei ollutkaan korruptoitunut, vaan omassa koneessani on bugi jossain joka rikkoo zip-tiedostoja. Okei no voin kiertää sitä.

Meanwhile, kysyin sekä Kansalliskirjastolta että Kongressin kirjastolta että onko MARC21:stä kattavampaa skeemaa kuin toi MARC21 slim. Ulla Ikäheimo vastasi:

Hei

Tarkistin, että tääläkin on käytetty juuri tuota MARCXML slimiä. Kongressin kirjaston sivuilta löytyy myös linkki kattavampaan DTD-tiedostoon http://www.loc.gov./standards/marcxml/mrcbxmlfile.dtd

terv. Ulla

Toi DTD on vanhentunut, mutta ehkä sitäkin voisi käyttää. Harkitaan...

#5 Updated by Mace Ojala over 7 years ago

No ei kyllä onnistunut tämä tänään, yritin laatia Perlillä sellaista työkalua joka söisi noita XML-tiedostoja ja tsekkaisi tietueen kerrallaan, koska kokonaiset 100 000 tietueen tiedostot ei mahdu muistiin.

Ehkä toi BaseX + xmllint -jumppa sitten. Varmaan syytä laittaa rouskuttelemaan jonkun yön yli. Sinällään tän informaatioarvo on ehkä heikko just ton skeeman hoikkuuden johdosta, mutta olis ihan hyvä homma tarkistaa kuitenkin... katsotaan...

#6 Updated by Mace Ojala over 7 years ago

  • Status changed from Osoitettu to Hylätty

Jätin tekemättä koska toi Library of Congressin skeema on niin laiha.

#7 Updated by Petri Tonteri over 7 years ago

Mace Ojala kirjoitti:

Jätin tekemättä koska toi Library of Congressin skeema on niin laiha.

Voitko avata, mitä laihuus tarkoittaa käytännössä? Onko vajava määrityksiltään vai miten? Mikä olisi parempi vaihtoehto? Mietin, että onko kirjastolle mitään hyötyä siitä, että tietueet ovat tuon skeeman mukaisia?

#8 Updated by Petri Tonteri over 7 years ago

kokeilin tätä osoitetta: http://www.loc.gov/MARC21/slim

Tuli virheilmo Page not found.

Onko kyse näistä sivuista:
http://www.loc.gov/standards/marcxml/
http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd

Also available in: Atom PDF