Carsten Klee
and 5 contributors

NAME

Catmandu::Fix::pica_add - add new subfields to record

SYNOPSIS

    # Copy value of dc.identifier to PICA field 003A as subfield 0
    pica_add('dc.identifier', '003A0');
    
    # Same as above, but use another record path ('pica')
    pica_add('dc.identifier', '003A0', record:'pica');
    
    # force the creation of a new field 003A
    pica_add('dc.identifier', '003A0', force_new:1);
    
    # Add multiple subfields
    # "dc": {"subjects": ["foo", "bar"]}
    pica_add('dc.subjects', '004Faf')

DESCRIPTION

This fix adds subfields with value of PATH to the PICA field. The value of PATH must be either a scalar or an array.

If PICA field does not exist, it will be created.

FUNCTIONS

pica_add(PATH, PICA_PATH, [OPTIONS])

Options

  • record - alternative record key (default is 'record')

  • force_new - force the creation of a new field

SEE ALSO

See Catmandu::Fix::pica_set for setting a new value to an existing subfield.

See Catmandu::Fix::pica_map if you want to copy values from a PICA record.

See PICA::Path for a definition of PICA path expressions and PICA::Data for more methods to process parsed PICA+ records.