Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Display field

Description

Norm rule

Title

Take title from MARC 130, if it exists. If MARC 130 does not exist, take title from MARC 245 $a, $b, and $c

Expand
titleTitle norm rule

rule "Primo VE - Title"
when
MARC is "130"."a"
then
create pnx."display"."title" with MARC "130"."a"
end

rule "Primo VE - Title1"
when
MARC."245" has any "a,b,c" AND NOT
MARC is "130"
then
create pnx."display"."title" with MARC "245" subfields "a,b,c"
end

Creator (Author)

Take author from MARC 100, 700 (if $e author exists), 110, 111.

Expand
titleCreator norm rule

rule "Primo VE Display - Creator 100"
when
MARC."100" has any "a,b,c"
then
set TEMP"1" to MARC."100" excluding num subfields without sort
set TEMP"2" to MARC."100" sub without sort "a"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "100" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end

rule "Primo VE Display - Creator 700"
when
MARC."700" has any "a,b,c,d,e" AND
MARC."700"."e" match "author."
then
set TEMP"1" to MARC."700" excluding num subfields without sort
set TEMP"2" to MARC."700" sub without sort "a"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "700" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end

rule "Primo VE - Creator 110"
when
MARC."110" has any "a,b,c"
then
set TEMP"1" to MARC."110" excluding num subfields without sort
set TEMP"2" to MARC."110" sub without sort "a,b"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "110" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end

rule "Primo VE Display - Creator 111"
when
MARC."111" has any "a,b,c"
then
set TEMP"1" to MARC."111" excluding num subfields without sort
set TEMP"2" to MARC."111" sub without sort "a"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "111" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end

rule "Primo VE Display - alternate creator 880-100"
when
MARC."880" has any "a,b,c,d,n" AND
MARC."880"."6" match "100-.*"
then
set TEMP"1" to MARC."880" excluding num subfields without sort
set TEMP"2" to MARC."880" sub without sort "a"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "880" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end

rule "Primo VE Display - alternate creator 880-700"
when
MARC."880" has any "a,b,c,d,e,n" AND
MARC."880"."6" match "700-.*" AND
MARC."880"."e" match "author."
then
set TEMP"1" to MARC."880" excluding num subfields without sort
set TEMP"2" to MARC."880" sub without sort "a"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "880" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end

rule "Primo VE Display - alternate creator 880-110"
when
MARC."880" has any "a,b,c,d,n" AND
MARC."880"."6" match "110-.*"
then
set TEMP"1" to MARC."880" excluding num subfields without sort
set TEMP"2" to MARC."880" sub without sort "a,b"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "880" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end

rule "Primo VE Display - alternate creator 880-111"
when
MARC."880" has any "a,b,c,d,n" AND
MARC."880"."6" match "111-.*"
then
set TEMP"1" to MARC."880" excluding num subfields without sort
set TEMP"2" to MARC."880" sub without sort "a"
remove substring using regex (TEMP"1","\.+$")
remove substring using regex (TEMP"2","(/|:|;|=|,)+$")
add prefix (TEMP"2","$$Q")
remove substring using regex (TEMP"2","^$$Q$")
concatenate with delimiter (TEMP"1",TEMP"2","")
set TEMP"3" to multilingual by "880" "Creator" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."creator" with TEMP"1"
end