Hi all When I do a "rebuild_zebra.pl -b" I allways get the following error: problem with :577 : :38: parser error : Premature end of data in tag subfield line 38 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag datafield line 33 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag record line 2 <subfield code="6">SCH ^ at /usr/lib/perl5/XML/LibXML/SAX/Parser.pm line 31 <?xml version="1.0" encoding="UTF-8"?> <record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim"> <leader>00521nam a2200133 4500</leader> <controlfield tag="008"> 960105s1970||||||||||||||||||||||||||||ger</controlfield> <datafield tag="245" ind1="0" ind2="4"> <subfield code="a">Die schönsten Helden- und Rittersagen des Mittelalters /</subfield> <subfield code="c">[Für die Jugend bearb. von] Gerhard Aick ; Mit vielen Zeichnungen von Erich Hölle</subfield> </datafield> <datafield tag="260" ind1=" " ind2=" "> <subfield code="a">Wien :</subfield> <subfield code="b">Tosa Verlag,</subfield> <subfield code="c">[ca. 1970]</subfield> </datafield> <datafield tag="300" ind1=" " ind2=" "> <subfield code="a">508 S. :</subfield> <subfield code="b">Ill. ;</subfield> <subfield code="c">23 cm</subfield> </datafield> <datafield tag="700" ind1="1" ind2=" "> <subfield code="a">Aick, Gerhard</subfield> </datafield> <datafield tag="700" ind1="1" ind2=" "> <subfield code="a">Hölle, Erich</subfield> </datafield> <datafield tag="942" ind1=" " ind2=" "> <subfield code="c">BUCH</subfield> <subfield code="k">SCHÃ</subfield> </datafield> <datafield tag="952" ind1=" " ind2=" "> <subfield code="7">0</subfield> <subfield code="p">160</subfield> <subfield code="4">0</subfield> <subfield code="0">0</subfield> <subfield code="6">SCH at /usr/share/koha/lib/C4/Biblio.pm line 836. 07:49:09-19/06 zebraidx(23461) [log] zebra_start 2.0.30 /etc/koha/zebradb/zebra-biblios.cfg 07:49:09-19/06 zebraidx(23461) [log] Loaded filter module /usr/lib/idzebra-2.0/modules/mod-text.so 07:49:09-19/06 zebraidx(23461) [log] Loaded filter module /usr/lib/idzebra-2.0/modules/mod-grs-xml.so 07:49:09-19/06 zebraidx(23461) [log] Loaded filter module /usr/lib/idzebra-2.0/modules/mod-grs-regx.so 07:49:09-19/06 zebraidx(23461) [log] Loaded filter module /usr/lib/idzebra-2.0/modules/mod-alvis.so 07:49:09-19/06 zebraidx(23461) [log] Loaded filter module /usr/lib/idzebra-2.0/modules/mod-grs-marc.so 07:49:09-19/06 zebraidx(23461) [log] Loaded filter module /usr/lib/idzebra-2.0/modules/mod-dom.so 07:49:09-19/06 zebraidx(23461) [log] enabling shadow spec=/var/lib/koha/zebradb/biblios/shadow:4G 07:49:09-19/06 zebraidx(23461) [log] cache_fname = /var/lib/koha/zebradb/biblios/shadow/cache 07:49:09-19/06 zebraidx(23461) [log] dir /tmp/Ar02gqTnVB/biblio 07:49:09-19/06 zebraidx(23461) [log] update grs.marcxml.record /tmp/Ar02gqTnVB/biblio/exported_records 0 The correspondig record seems to be lost. I can't search on any of the terms on it. But in the Inventory the record show up. If I click on it I get: Koha error The following fatal error has occurred: Can't call method "fields" on an undefined value at /usr/share/koha/intranet/cgi-bin/catalogue/MARCdetail.pl line 123. Apache Server version: Apache/2.2.3 Server built: Jan 27 2008 18:13:21 Koha 3.00.00.067 Koha DB 3.0000067 MySQL mysql Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2 OS Linux verwaltung 2.6.18-6-686 #1 SMP Sat May 24 10:24:42 UTC 2008 i686 GNU/Linux Perl 5.008008 Is there a way to edit (or delete) this corrupted record. (I guess the mistake lies in the SCHÖ of the call number. Thank you Beda
When I do a "rebuild_zebra.pl -b" I allways get the following error:
problem with :577 : :38: parser error : Premature end of data in tag subfield line 38 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag datafield line 33 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag record line 2 <subfield code="6">SCH ^ at /usr/lib/perl5/XML/LibXML/SAX/Parser.pm line 31
<?xml version="1.0" encoding="UTF-8"?> <record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim">
<leader>00521nam a2200133 4500</leader> <controlfield tag="008"> 960105s1970||||||||||||||||||||||||||||ger</controlfield> <datafield tag="245" ind1="0" ind2="4"> <subfield code="a">Die schönsten Helden- und Rittersagen des Mittelalters /</subfield> <subfield code="c">[Für die Jugend bearb. von] Gerhard Aick ; Mit
It looks like you biblio records are not encoded in UTF8 but in ISO-8859-1. For whatever reason, utf8 records are transcoded into iso-8859-1. In this case, a properly encoded character like ö (schönsten) is transformed in several octets ö Consequently, you get a new line in the middle of a tag, which is not accepted by SAX parser. You have to determine if your biblio records are properly encoded in Koha DB. If this is not the case, something get wrong when you imported them. You have to tell more about your source of biblio records and send an sample. If your records are correct in Koha DB, it means that rebuild_zebra is responsible to transform them. Hope this help.
Frederic Demians a écrit :
When I do a "rebuild_zebra.pl -b" I allways get the following error:
problem with :577 : :38: parser error : Premature end of data in tag subfield line 38 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag datafield line 33 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag record line 2 <subfield code="6">SCH ^ at /usr/lib/perl5/XML/LibXML/SAX/Parser.pm line 31
<?xml version="1.0" encoding="UTF-8"?> <record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim">
<leader>00521nam a2200133 4500</leader> <controlfield tag="008"> 960105s1970||||||||||||||||||||||||||||ger</controlfield> <datafield tag="245" ind1="0" ind2="4"> <subfield code="a">Die schönsten Helden- und Rittersagen des Mittelalters /</subfield> <subfield code="c">[Für die Jugend bearb. von] Gerhard Aick ; Mit
That record seems to be in UTF8 and MARC21. Leader has correct value on leader 8th position. But the characters has been double encoded. Maybe the import of this record was not properly done. Do you know its origin ? -- Henri-Damien LAURENT
Henri-Damien LAURENT schrieb:
Frederic Demians a écrit :
When I do a "rebuild_zebra.pl -b" I allways get the following error:
problem with :577 : :38: parser error : Premature end of data in tag subfield line 38 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag datafield line 33 <subfield code="6">SCH ^ :38: parser error : Premature end of data in tag record line 2 <subfield code="6">SCH ^ at /usr/lib/perl5/XML/LibXML/SAX/Parser.pm line 31
<?xml version="1.0" encoding="UTF-8"?> <record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim">
<leader>00521nam a2200133 4500</leader> <controlfield tag="008"> 960105s1970||||||||||||||||||||||||||||ger</controlfield> <datafield tag="245" ind1="0" ind2="4"> <subfield code="a">Die schönsten Helden- und Rittersagen des Mittelalters /</subfield> <subfield code="c">[Für die Jugend bearb. von] Gerhard Aick ; Mit
That record seems to be in UTF8 and MARC21. Leader has correct value on leader 8th position. But the characters has been double encoded. Maybe the import of this record was not properly done.
Do you know its origin ?
This particular record was part of an import I did some time ago. Its origin is my old "handmade" lybrary management. I used a german program called FAUST to manage the biblios of the library in question. I used its printing facilities to create the marc-records. Those record were in ISO-8859-1. I did a second step importing them in OO and then exporting the file using the filter off OO to create an UTF-8 file. This one I imported in MarcEdit, did some corrections, compiled it and then imported them in koha. Everything went fine so far. Now there are about 5000 records in my database and the only one giving trouble is the one above. The problem seems to be the call number with in this case is "SCHÖ" (I usually avoided to use non-ASCII-caracters in call-numbers, this one seems to be the only exception). Somehow the record can't be deleted or edited in any way using the usual methods of koha. So it seems that a need an unusual way to get rid of that Ö or of the whole record so I could enter a corrected version of it. (The somehow corrupted way of representing the data above seems to be the result of my copiing and pasting the files from a linux to a windows system). The record wich I imported is (un-compiled with MarcEdit): =LDR 00438nam 2200109 45e0 =008 \\960105s1970||||||||||||||||||||||||||||ger =245 04$aDie schönsten Helden- und Rittersagen des Mittelalters /$c[Für die Jugend bearb. von] Gerhard Aick ; Mit vielen Zeichnungen von Erich Hölle =260 \\$aWien :$bTosa Verlag,$c[ca. 1970] =300 \\$a508 S. :$bIll. ;$c23 cm =700 1\$aAick, Gerhard =700 1\$aHölle, Erich =942 \\$cBUCH$kSCHÖ =952 \\$p160$oSCHÖ$aSB$bSB$yBUCH Hope that gives some hints Thank you Beda
(The somehow corrupted way of representing the data above seems to be the result of my copiing and pasting the files from a linux to a windows system).
The record wich I imported is (un-compiled with MarcEdit):
=LDR 00438nam 2200109 45e0 =008 \\960105s1970||||||||||||||||||||||||||||ger =245 04$aDie schönsten Helden- und Rittersagen des Mittelalters /$c[Für die Jugend bearb. von] Gerhard Aick ; Mit vielen Zeichnungen von Erich Hölle =260 \\$aWien :$bTosa Verlag,$c[ca. 1970] =300 \\$a508 S. :$bIll. ;$c23 cm =700 1\$aAick, Gerhard =700 1\$aHölle, Erich =942 \\$cBUCH$kSCHÖ =952 \\$p160$oSCHÖ$aSB$bSB$yBUCH
I you just have one corrupted record in you DB, just delete it! Find you corrupted record biblionumber. Delete matching records in 'biblio' and 'biblioitems' table. Do it with a MySQL front -end like PhpMyAdmin or directly with MySQL command line.
Frederic Demians schrieb:
The record wich I imported is (un-compiled with MarcEdit):
=LDR 00438nam 2200109 45e0 =008 \\960105s1970||||||||||||||||||||||||||||ger =245 04$aDie schönsten Helden- und Rittersagen des Mittelalters /$c[Für die Jugend bearb. von] Gerhard Aick ; Mit vielen Zeichnungen von Erich Hölle =260 \\$aWien :$bTosa Verlag,$c[ca. 1970] =300 \\$a508 S. :$bIll. ;$c23 cm =700 1\$aAick, Gerhard =700 1\$aHölle, Erich =942 \\$cBUCH$kSCHÖ =952 \\$p160$oSCHÖ$aSB$bSB$yBUCH
I you just have one corrupted record in you DB, just delete it! Find you corrupted record biblionumber. Delete matching records in 'biblio' and 'biblioitems' table. Do it with a MySQL front -end like PhpMyAdmin or directly with MySQL command line.
OK - just to be shure: there is no way to delete this currupted record in Koha. I have to do that using the tools of MySQL itself? How many tuplets in what tables do I have to delete? Do I understand you rightly assuming there are 3 records to delete? Thank you Beda
OK - just to be shure: there is no way to delete this currupted record in Koha. I have to do that using the tools of MySQL itself?
Usually you delete biblio records directly in Koha but you've explained you can't (I don't know why). Did you use this procedure ? * you search a biblio record * you display it * you choose Edit > Edit Items * you delete each item * then, you choose Edit > Delete record
How many tuplets in what tables do I have to delete? Do I understand you rightly assuming there are 3 records to delete?
In MySQL, I would do something like: DELETE FROM biblio WHERE biblionumber = 1234; DELETE FROM biblioitems WHERE biblionumber = 1234; DELETE FROM items WHERE biblionumber = 1234; A better method method would be using Koha API in a Perl script...
Hi Frederic Frederic Demians schrieb:
OK - just to be shure: there is no way to delete this currupted record in Koha. I have to do that using the tools of MySQL itself?
Usually you delete biblio records directly in Koha but you've explained you can't (I don't know why). Did you use this procedure ?
* you search a biblio record * you display it
I can't search the record. The only way to make it appear is to use the inventory. There it shows up. Trying to display the record clicking on the blue title I get the answer: Koha error The following fatal error has occurred: |Can't call method "fields" on an undefined value at /usr/share/koha/intranet/cgi-bin/catalogue/MARCdetail.pl line 123. | Apache Server version: Apache/2.2.3 Server built: Jan 27 2008 18:13:21 Koha 3.00.00.067 Koha DB 3.0000067 MySQL mysql Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2 OS Linux web-kso1.eduilz.ch 2.6.18-6-486 #1 Thu May 8 06:59:18 UTC 2008 i686 GNU/Linux Perl 5.008008
* you choose Edit > Edit Items * you delete each item * then, you choose Edit > Delete record
How many tuplets in what tables do I have to delete? Do I understand you rightly assuming there are 3 records to delete?
In MySQL, I would do something like:
DELETE FROM biblio WHERE biblionumber = 1234; DELETE FROM biblioitems WHERE biblionumber = 1234; DELETE FROM items WHERE biblionumber = 1234; I did that. I had to search first the record in the biblioitems table.
There in biblioitems.marcxml I see: <?xml version="1.0" encoding="UTF-8"?> <record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim"> <leader>00521nam a2200133 4500</leader> <controlfield tag="008"> 960105s1970||||||||||||||||||||||||||||ger</controlfield> <datafield tag="245" ind1="0" ind2="4"> <subfield code="a">Die schönsten Helden- und Rittersagen des Mittelalters /</subfield> <subfield code="c">[Für die Jugend bearb. von] Gerhard Aick ; Mit vielen Zeichnungen von Erich Hölle</subfield> </datafield> <datafield tag="260" ind1=" " ind2=" "> <subfield code="a">Wien :</subfield> <subfield code="b">Tosa Verlag,</subfield> <subfield code="c">[ca. 1970]</subfield> </datafield> <datafield tag="300" ind1=" " ind2=" "> <subfield code="a">508 S. :</subfield> <subfield code="b">Ill. ;</subfield> <subfield code="c">23 cm</subfield> </datafield> <datafield tag="700" ind1="1" ind2=" "> <subfield code="a">Aick, Gerhard</subfield> </datafield> <datafield tag="700" ind1="1" ind2=" "> <subfield code="a">Hölle, Erich</subfield> </datafield> <datafield tag="942" ind1=" " ind2=" "> <subfield code="c">BUCH</subfield> <subfield code="k">SCHÖ</subfield> </datafield> <datafield tag="952" ind1=" " ind2=" "> <subfield code="7">0</subfield> <subfield code="p">160</subfield> <subfield code="4">0</subfield> <subfield code="0">0</subfield> <subfield code="6">SCH The record is obviously incomplete. Have you any idea why? (It's the only record with a non-ASCII-character in the callnumber.
A better method method would be using Koha API in a Perl script...
That's a whole lot of learning to do ... :-) cu Beda
Try to replace =LDR last 4 integers from 45e0 to 4500 Regards, Ata LISolutions http://www.lisolutions.org/ On Fri, Jun 20, 2008 at 12:03 PM, Frederic Demians <frederic@tamil.fr> wrote:
(The somehow corrupted way of representing the data above seems to be the result of my copiing and pasting the files from a linux to a windows system).
The record wich I imported is (un-compiled with MarcEdit):
=LDR 00438nam 2200109 45e0 =008 \\960105s1970||||||||||||||||||||||||||||ger =245 04$aDie schönsten Helden- und Rittersagen des Mittelalters /$c[Für die Jugend bearb. von] Gerhard Aick ; Mit vielen Zeichnungen von Erich Hölle =260 \\$aWien :$bTosa Verlag,$c[ca. 1970] =300 \\$a508 S. :$bIll. ;$c23 cm =700 1\$aAick, Gerhard =700 1\$aHölle, Erich =942 \\$cBUCH$kSCHÖ =952 \\$p160$oSCHÖ$aSB$bSB$yBUCH
I you just have one corrupted record in you DB, just delete it! Find you corrupted record biblionumber. Delete matching records in 'biblio' and 'biblioitems' table. Do it with a MySQL front -end like PhpMyAdmin or directly with MySQL command line. _______________________________________________ Koha mailing list Koha@lists.katipo.co.nz http://lists.katipo.co.nz/mailman/listinfo/koha
I found the same problem with my records, look post http://old.nabble.com/Problem-with-some-imported-records-td28635689.html Problem with some imported records Field biblioitems.marcxml was corrupted after ./bulkmarcimport.pl -file myfile.mrc -c UNIMARC It's maybe connected with cyrillic (or not only latin) call numbers. I use transiteration to latin but is not very good. -- View this message in context: http://old.nabble.com/Corrupted-record-tp18012477p28665815.html Sent from the Koha - Discuss mailing list archive at Nabble.com.
participants (5)
-
Ata ur Rehman -
Beda Szukics -
Frederic Demians -
Henri-Damien LAURENT -
Serhij Dubyk *Сергі й Дубик