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 7 Next »

You can copy and paste the following customized VE norm rules for OOTB display fields. After replacing the OOTB norm rule with the customized rules below, click Apply rules. No further configuration required. Click on > to expand the norm rule.

Display field

Description

Norm rule

Title

Takes title from MARC 130, if it exists. If MARC 130 does not exist, takes 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)

Takes 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

Takes 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

Takes 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