Hi,

back in August we started investigating why we couldn't proceed with upgrade from 2.12.6 to 3.1.4 (for more details please seehttp://libmail.georgialibraries.org/pipermail/open-ils-general/2018-August/015298.html).

After removing obviously invalid MARCXML records (which surprisingly made their way to our 2.12 installation) we still have some records which cannot be reingested (or saved).

Attached is a sample record americke_romany.xml which is one of those troublesome ones. It is a genre/form term record with the main heading in the field 155.

We have tried the SQL upgrade from 2.12.6 to 3.0.0 without authority records reingest (the particular lines were commented out) and, once we were at 3.1.4, used the web client to save this particular record (without actually making any changes in it). However, it appeared that it could not be saved:

---

open-ils.pcrud 2018-10-26 09:33:37 [ERR :49144:oils_sql.c:6570:15405352984867814] open-ils.pcrud ERROR updating authority::record_entry object with id = 356: 56966976 56966976: ERROR: runtime error: file unknown-55cee6a934f0 element attribute

xsl:attribute: Cannot add attributes to an element if children have been already added to the element.

at line 31.

CONTEXT: PL/Perl function "oils_xslt_process"

---

Using this error message, we began to suspect a XSLT transformation being the culprit. We have taken XSL files from Evergreen (those from http://git.evergreen-ils.org/?p=Evergreen.git;a=tree;f=Open-ILS/xsl;h=68fd13ffb2ad01ef9ceacf9f18695f25d284df05;hb=HEAD). When they were used (xsltproc MARC21slim2MODS33.xsl americke_romany.xml > output.xml), the contents of the 155 field (which is a heading and therefore one of the most important parts of the record) was never included in the output (please see the attached output.xml file).

Then we used a web client again to change the 155 tag to the 100 tag (and deleted another possible troublesome tag 755). After making these changes, the record could be saved.

So the question is:

Where should we add the 155 field (probably in which of the XSLT files) to make sure those records can be saved (or of course reingested)?

Thank you in advance for any hints!

Linda

<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns="http://www.loc.gov/mods/v3"; version="3.3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd";>
  <typeOfResource/>
  <originInfo>
    <place>
      <placeTerm type="code" authority="marccountry">abn</placeTerm>
    </place>
    <issuance/>
  </originInfo>
  <classification authority="udc">821.111(73)-31
</classification>
  <recordInfo>
    <recordContentSource authority="marcorg">ABA001
</recordContentSource>
    <recordCreationDate encoding="marc">001108</recordCreationDate>
    <recordChangeDate encoding="iso8601">20030527081312.0
</recordChangeDate>
    <recordIdentifier source="CONS&#10;">356
</recordIdentifier>
    <languageOfCataloging>
      <languageTerm authority="iso639-2b" type="code">cze
</languageTerm>
    </languageOfCataloging>
  </recordInfo>
</mods>
<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns="http://www.loc.gov/MARC21/slim"; xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd";>
<leader>     nz  a22     n  4500
</leader>
<controlfield tag="001">356
</controlfield>
<controlfield tag="003">CONS
</controlfield>
<controlfield tag="005">20030527081312.0
</controlfield>
<controlfield tag="008">001108|n|anznnbabn           n a|a
</controlfield>
<datafield tag="035" ind1=" " ind2=" ">
<subfield code="a">(CZ PrNK)fd131796
</subfield>
</datafield>
<datafield tag="040" ind1=" " ind2=" ">
<subfield code="a">ABA001
</subfield>
<subfield code="b">cze
</subfield>
<subfield code="d">ABA001
</subfield>
</datafield>
<datafield tag="080" ind1=" " ind2=" ">
<subfield code="a">821.111(73)-31
</subfield>
<subfield code="2">MRF_2003
</subfield>
</datafield>
<datafield tag="155" ind1=" " ind2=" ">
<subfield code="a">americké romány
</subfield>
<subfield code="7">fd131796
</subfield>
</datafield>
<datafield tag="755" ind1="0" ind2="7">
<subfield code="a">American fiction
</subfield>
<subfield code="2">eczenas
</subfield>
</datafield>
<datafield tag="901" ind1=" " ind2=" ">
<subfield code="c">356
</subfield>
<subfield code="t">authority
</subfield>
</datafield>
</record>

Reply via email to