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)

Reply via email to