MARC::File::XML UNIMARC Encoding Problem
[email protected] (Henri-Damien LAURENT)
| Newsgroups | perl.perl4lib |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I have a problem with new_from_xml.
Here is my script :
my $record;
print $marcxml;
$record= MARC::Record->new_from_xml($marcxml,"UTF8","UNIMARC");
warn $record->as_xml;
Here is my data :
<?xml version="1.0" encoding="UTF-8"?>
<collection
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">
<record>
<leader>00743nac a22002171u 4500</leader>
<controlfield tag="001">2</controlfield>
<datafield tag="010" ind1=" " ind2=" ">
<subfield code="a">2729843132</subfield>
<subfield code="d">190 F</subfield>
</datafield>
<datafield tag="090" ind1=" " ind2=" ">
<subfield code="9">1</subfield>
<subfield code="a">1</subfield>
</datafield>
<datafield tag="100" ind1=" " ind2=" ">
<subfield code="a">1995 y0frey5003 ba</subfield>
</datafield>
<datafield tag="101" ind1=" " ind2=" ">
<subfield code="a">fre</subfield>
</datafield>
<datafield tag="105" ind1=" " ind2=" ">
<subfield code="a">y 00 y</subfield>
</datafield>
<datafield tag="200" ind1="1" ind2=" ">
<subfield code="a"></subfield>
<subfield code="b">LIVR</subfield>
<subfield code="f">Jean-Pierre DELMAS</subfield>
</datafield>
<datafield tag="210" ind1=" " ind2=" ">
<subfield code="5">Edition Marketing</subfield>
<subfield code="a">Paris</subfield>
<subfield code="c">Edition Marketing</subfield>
<subfield code="d">1993</subfield>
</datafield>
<datafield tag="215" ind1=" " ind2=" ">
<subfield code="a">316 p</subfield>
</datafield>
<datafield tag="225" ind1=" " ind2=" ">
<subfield code="a"></subfield>
</datafield>
<datafield tag="410" ind1=" " ind2=" ">
<subfield code="t">Collection Pedagogique de
Telecommunication</subfield>
</datafield>
<datafield tag="606" ind1=" " ind2=" ">
<subfield code="9">3339</subfield>
<subfield code="9">3321</subfield>
<subfield code="a">MATHEMATIQUES</subfield>
</datafield>
<datafield tag="700" ind1=" " ind2=" ">
<subfield code="9">6659</subfield>
<subfield code="a">DELMAS, Jean-Pierre</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">Non inventorie</subfield>
<subfield code="j">000498</subfield>
<subfield code="o">2</subfield>
<subfield code="9">1</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">Non inventorie</subfield>
<subfield code="j">005643</subfield>
<subfield code="o">2</subfield>
<subfield code="9">2</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">Non inventorie</subfield>
<subfield code="j">000527</subfield>
<subfield code="o">2</subfield>
<subfield code="9">3</subfield>
</datafield>
</record>
</collection>
And I get this as a result :
<?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>00964nac 22002531u 4500</leader>
<controlfield tag="001">4</controlfield>
<datafield tag="010" ind1=" " ind2=" ">
<subfield code="a">2729600299</subfield>
<subfield code="d">164 F</subfield>
</datafield>
<datafield tag="090" ind1=" " ind2=" ">
<subfield code="9">2</subfield>
<subfield code="a">2</subfield>
</datafield>
<datafield tag="100" ind1=" " ind2=" ">
<subfield code="a">1995 y0frey5003 ba</subfield>
</datafield>
<datafield tag="101" ind1=" " ind2=" ">
<subfield code="a">fre</subfield>
</datafield>
<datafield tag="105" ind1=" " ind2=" ">
<subfield code="a">y 00 y</subfield>
</datafield>
<datafield tag="200" ind1=" " ind2=" ">
<subfield code="b">LIVR</subfield>
<subfield code="a">Le cours de physique de Feynman</subfield>
<subfield code="e">Electromagn�tisme 2</subfield>
<subfield code="f">Richard FEYNMAN</subfield>
<subfield code="g">Robert LEIGHTON</subfield>
<subfield code="h">Tome 2</subfield>
</datafield>
<datafield tag="210" ind1=" " ind2=" ">
<subfield code="5">InterEditions</subfield>
<subfield code="a">Paris</subfield>
<subfield code="c">InterEditions</subfield>
<subfield code="d">1992</subfield>
</datafield>
<datafield tag="215" ind1=" " ind2=" ">
<subfield code="a">415 p</subfield>
</datafield>
<datafield tag="606" ind1=" " ind2=" ">
<subfield code="9">3341</subfield>
<subfield code="9">3322</subfield>
<subfield code="a">ELECTROMAGNETISME</subfield>
</datafield>
<datafield tag="606" ind1=" " ind2=" ">
<subfield code="9">3340</subfield>
<subfield code="9">3323</subfield>
<subfield code="a">PHYSIQUE</subfield>
</datafield>
<datafield tag="700" ind1=" " ind2=" ">
<subfield code="9">6660</subfield>
<subfield code="a">FEYNMAN, Richard</subfield>
</datafield>
<datafield tag="701" ind1=" " ind2=" ">
<subfield code="9">6661</subfield>
<subfield code="a">LEIGHTON, Robert</subfield>
</datafield>
<datafield tag="990" ind1=" " ind2=" ">
<subfield code="a">P 1.5 FEY</subfield>
<subfield code="e">Physique (Mauve)</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">Inventori� en juin 2004</subfield>
<subfield code="j">002470</subfield>
<subfield code="k">P 1.5 FEY</subfield>
<subfield code="o">0</subfield>
<subfield code="9">4</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">Inventori� en juin 2004</subfield>
<subfield code="j">000630</subfield>
<subfield code="k">P 1.5 FEY</subfield>
<subfield code="o">0</subfield>
<subfield code="9">5</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">Non inventorie</subfield>
<subfield code="j">002469</subfield>
<subfield code="o">2</subfield>
<subfield code="9">6</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">Non inventorie</subfield>
<subfield code="j">002473</subfield>
<subfield code="o">2</subfield>
<subfield code="9">7</subfield>
</datafield>
<datafield tag="995" ind1=" " ind2=" ">
<subfield code="b">CDI</subfield>
<subfield code="c">CDI</subfield>
<subfield code="e">SL</subfield>
<subfield code="f">INVENTAIRE 6 FAIT LE 29.07.03</subfield>
<subfield code="j">002931</subfield>
<subfield code="k">P 1.5 FEY</subfield>
<subfield code="o">0</subfield>
<subfield code="9">8</subfield>
</datafield>
</record>
encodind=UTF8 format=UNIMARC at
/usr/lib/perl5/site_perl/5.8.8/MARC/File/XML.pm line 445.
not' utf8 at /usr/lib/perl5/site_perl/5.8.8/MARC/File/XML.pm line 317.
no mapping found for [0xBF] at position 12 in Electromagn�tisme 2
g0=ASCII_DEFAULT g1=EXTENDED_LATIN at
/usr/lib/perl5/site_perl/5.8.8/MARC/Charset.pm line 210.
no mapping found for [0xBF] at position 10 in Inventori� en juin 2004
g0=ASCII_DEFAULT g1=EXTENDED_LATIN at
/usr/lib/perl5/site_perl/5.8.8/MARC/Charset.pm line 210.
no mapping found for [0xBF] at position 10 in Inventori� en juin 2004
g0=ASCII_DEFAULT g1=EXTENDED_LATIN at
/usr/lib/perl5/site_perl/5.8.8/MARC/Charset.pm line 210.
Record is utf8 encoded, UNIMARC.
There is 100$a subfield that contains 50 on position 26.
But record is double encoded.
Can you help ?
--
Henri Damien LAURENT et Paul POULAIN
Consultants indépendants
en logiciels libres et bibliothéconomie (http://www.koha-fr.org)