Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

You can copy and paste the following customized VE norm rules for OOTB display fields.

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

 Title 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. Removes ending period.

 Creator 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

Contributor

Take contributor from MARC 700 (if $e author does not exist), 710, 711. Removes ending period.

 Contributor norm rule

rule "Primo VE Display - contributor 700"
when
MARC."700" has any "a,b,c,d,e,j,q,u" AND NOT
MARC."700"."e" match "author."
then
set TEMP"1" to MARC."700" sub without sort "a,b,c,d,e,j,q,u"
remove substring using regex (TEMP"1","(/|:|;|=|,|\.)+$")
set TEMP"2" to MARC."700" sub without sort "a"
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" "Contributor" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."contributor" with TEMP"1"
end

rule "Primo VE Display - contributor 710"
when
MARC."710" has any "a,b,c,d,e"
then
set TEMP"1" to MARC."710" sub without sort "a,b,c,d,e"
remove substring using regex (TEMP"1","(/|:|;|=|,|\.)+$")
set TEMP"2" to MARC."710" sub without sort "a,b"
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 "710" "Contributor" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."contributor" with TEMP"1"
end
rule "Primo VE Display - contributor 711"
when
MARC."711" has any "a,b,c,d,n"
then
set TEMP"1" to MARC."711" sub without sort "a,b,c,d,n"
remove substring using regex (TEMP"1","(/|:|;|=|,|\.)+$")
set TEMP"2" to MARC."711" sub without sort "a"
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 "711" "Contributor" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."contributor" with TEMP"1"
end

rule "Primo VE Display - alternate contributor 880-700"
when
MARC."880" has any "a,b,c,d,e,j,q,u" AND
MARC."880"."6" match "700-.*" AND NOT
MARC."880"."e" match "author."
then
set TEMP"1" to MARC."880" sub without sort "a,b,c,d,e,j,q,u"
remove substring using regex (TEMP"1","(/|:|;|=|,|\.)+$")
set TEMP"2" to MARC."880" sub without sort "a"
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" "Contributor" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."alternate_contributor" with TEMP"1"
end

rule "Primo VE Display - alternate contributor 880-710 "
when
MARC."880" has any "a,b,c,d,e" AND
MARC."880"."6" match "710-.*"
then
set TEMP"1" to MARC."880" sub without sort "a,b,c,d,e"
remove substring using regex (TEMP"1","(/|:|;|=|,|\.)+$")
set TEMP"2" to MARC."880" sub without sort "a,b"
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" "Contributor" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."alternate_contributor" with TEMP"1"
end

rule "Primo VE Display - alternate contributor 880-711"
when
MARC."880" has any "a,b,c,d,n" AND
MARC."880"."6" match "711-.*"
then
set TEMP"1" to MARC."880" sub without sort "a,b,c,d,n"
remove substring using regex (TEMP"1","(/|:|;|=|,|\.)+$")
set TEMP"2" to MARC."880" sub without sort "a"
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" "Contributor" "display"
concatenate with delimiter (TEMP"1",TEMP"3","")
create pnx."display"."alternate_contributor" with TEMP"1"
end

Genre

Take genre from MARC 655 if second indicator is 7, and the value in $2 is any of the following: lcgft, gsafd, gmgpc, rbbin, rbgenr, rbmscv, rbpap, rbpri, rbprov, rbpub, rbtyp.

Also takes genre from 694 $a.

Removes ending periods.

 Genre norm rule

rule "Primo VE - Genre 655"
when
MARC is "655"."a" AND
MARC."655".ind"2" equals "7" AND
(MARC."655"."2" match "lcgft" OR
MARC."655"."2" match "gsafd" OR
MARC."655"."2" match "gmgpc" OR
MARC."655"."2" match "rbbin" OR
MARC."655"."2" match "rbgenr" OR
MARC."655"."2" match "rbmscv" OR
MARC."655"."2" match "rbpap" OR
MARC."655"."2" match "rbpri" OR
MARC."655"."2" match "rbprov" OR
MARC."655"."2" match "rbpub" OR
MARC."655"."2" match "rbtyp")
then
set TEMP"1" to MARC."655"."a"
remove substring using regex (TEMP"1","\.+$")
create pnx."display"."genre" with TEMP"1"
end

rule "Primo VE - Genre 694"
when
MARC is "694"."a"
then
set TEMP"1" to MARC."694"."a"
remove substring using regex (TEMP"1","\.+$")
create pnx."display"."genre" with TEMP"1"
end

  • No labels