Page MenuHomec4science

oaidc2marcxml.bfx
No OneTemporary

File Metadata

Created
Sun, Sep 15, 10:41

oaidc2marcxml.bfx

<?xml version="1.0" encoding="utf-8"?>
<bx:style xmlns:bx="http://invenio-software.org/">
<bx:format name="oaidc2marcxml" description="Convert OAIdc to XML MARC using bfx engine" content-type="text/xml">
<collection>
<bx:loop object="//record[header[@status!='deleted']]">
<record>
<bx:if name='./metadata/oaidc:dc/dc:language'>
<bx:then>
<datafield tag="041" ind1="" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:language"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:creator[1]'>
<bx:then>
<datafield tag="100" ind1="" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:creator[1]"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:title'>
<bx:then>
<datafield tag="245" ind1="" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:title"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:title | ./metadata/oaidc:dc/dc:date'>
<bx:then>
<datafield tag="260" ind1="" ind2="">
<bx:if name='./metadata/oaidc:dc/dc:publisher'>
<bx:then>
<subfield code="b"><bx:field name="./metadata/oaidc:dc/dc:publisher"/></subfield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:date'>
<bx:then>
<subfield code="c"><bx:field name="./metadata/oaidc:dc/dc:date"/></subfield>
</bx:then>
</bx:if>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:coverage'>
<bx:then>
<datafield tag="500" ind1="" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:coverage"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:description'>
<bx:then>
<datafield tag="520" ind1="" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:description"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:rights'>
<bx:then>
<datafield tag="540" ind1="" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:rights"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:subject'>
<bx:then>
<datafield tag="650" ind1="1" ind2="7">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:subject"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:type'>
<bx:then>
<datafield tag="655" ind1="7" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:type"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:loop object="./metadata/oaidc:dc/dc:creator[position()>1]">
<datafield tag="700" ind1="" ind2="">
<subfield code="a"><bx:field name="."/></subfield>
</datafield>
</bx:loop>
<bx:if name='./metadata/oaidc:dc/dc:contributor'>
<bx:then>
<datafield tag="720" ind1="" ind2="">
<subfield code="a"><bx:field name="./metadata/oaidc:dc/dc:contributor"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:source'>
<bx:then>
<datafield tag="786" ind1="0" ind2="">
<subfield code="n"><bx:field name="./metadata/oaidc:dc/dc:source"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:relation'>
<bx:then>
<datafield tag="786" ind1="0" ind2="">
<subfield code="n"><bx:field name="./metadata/oaidc:dc/dc:relation"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./metadata/oaidc:dc/dc:format'>
<bx:then>
<datafield tag="856" ind1="" ind2="">
<subfield code="q"><bx:field name="./metadata/oaidc:dc/dc:format"/></subfield>
</datafield>
</bx:then>
</bx:if>
<bx:if name='./header/oaidc:dc/dc:identifier'>
<bx:then>
<datafield tag="909" ind1="C" ind2="O">
<subfield code="u"><bx:field name="./metadata/oaidc:dc/dc:identifier"/></subfield>
</datafield>
</bx:then>
</bx:if>
</record>
</bx:loop>
<bx:loop object="//record[header[@status='deleted']]">
<record>
<bx:if name='./header/identifier | ./header/setSpec'>
<bx:then>
<datafield tag="909" ind1="C" ind2="O">
<subfield code="o"><bx:field name="./header/identifier"/></subfield>
<subfield code="p"><bx:field name="./header/setSpec"/></subfield>
</datafield>
</bx:then>
</bx:if>
<datafield tag="980" ind1="" ind2="">
<subfield code="c">DELETED</subfield>
</datafield>
</record>
</bx:loop>
</collection>
</bx:format>
</bx:style>

Event Timeline