Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Publish LHR to OCLC - alternative, with Normalization Rules

    • Product: Alma

     

     

    Question

    We had chosen the general profile "Publish your Local Holdings Records (LHRs) to OCLC" and have the FTP set up correctly. However, the OCLC system does not recognize the files published as valid because they contain invalid leader values. The number or pound sign (#) cannot be used to represent a 'blank space'.

    We have a Normalization Rule that was shared by another library, and which I used successfully for a publishing profile I created for our Reclamation project. We'd like to be able to just add that to the LHR data sync publishing profile. Is it possible? 

    Answer

    The library's successful solution was this - they created a set, ran a Normalization Rule on the records, and then relied on: “Publish local holdings records to OCLC”.

    The following is what worked for this library - a rule to replace blanks, and a rule to replace dashes. Thank you so much!

    1) Replace Blanks

    rule "Fix 007 - replace hashtag with blank"
    when
    true
    then
    replaceControlContents "007.{2,1}.#" with " "
    end

    rule "Fix 006 - replace hashtag with blank" 
    when 
    true 
    then 
    replaceControlContents "006.{1,1}.#" with " " 
    replaceControlContents "006.{2,1}.#" with " " 
    replaceControlContents "006.{3,1}.#" with " " 
    replaceControlContents "006.{4,1}.#" with " " 
    replaceControlContents "006.{5,1}.#" with " " 
    replaceControlContents "006.{7,1}.#" with " " 
    replaceControlContents "006.{8,1}.#" with " " 
    replaceControlContents "006.{10,1}.#" with " " 
    replaceControlContents "006.{11,1}.#" with " " 
    replaceControlContents "006.{12,1}.#" with " " 
    replaceControlContents "006.{13,1}.#" with " " 
    replaceControlContents "006.{14,1}.#" with " " 
    replaceControlContents "006.{15,1}.#" with " " 
    replaceControlContents "006.{16,1}.#" with " "
    replaceControlContents "006.{17,1}.#" with " "
    end

    rule "Fix 008 - replace hashtag with blank" 
    when 
    true 
    then 
    replaceControlContents "008.{0,1}.#" with " " 
    replaceControlContents "008.{1,1}.#" with " " 
    replaceControlContents "008.{2,1}.#" with " " 
    replaceControlContents "008.{3,1}.#" with " " 
    replaceControlContents "008.{4,1}.#" with " " 
    replaceControlContents "008.{5,1}.#" with " " 
    replaceControlContents "008.{7,1}.#" with " " 
    replaceControlContents "008.{8,1}.#" with " " 
    replaceControlContents "008.{9,1}.#" with " " 
    replaceControlContents "008.{10,1}.#" with " " 
    replaceControlContents "008.{11,1}.#" with " " 
    replaceControlContents "008.{12,1}.#" with " " 
    replaceControlContents "008.{13,1}.#" with " " 
    replaceControlContents "008.{14,1}.#" with " " 
    replaceControlContents "008.{15,1}.#" with " " 
    replaceControlContents "008.{16,1}.#" with " " 
    replaceControlContents "008.{19,1}.#" with " " 
    replaceControlContents "008.{20,1}.#" with " " 
    replaceControlContents "008.{21,1}.#" with " " 
    replaceControlContents "008.{22,1}.#" with " " 
    replaceControlContents "008.{23,1}.#" with " " 
    replaceControlContents "008.{24,1}.#" with " " 
    replaceControlContents "008.{25,1}.#" with " "
    replaceControlContents "008.{26,1}.#" with " "
    replaceControlContents "008.{27,1}.#" with " "
    replaceControlContents "008.{28,1}.#" with " "
    replaceControlContents "008.{29,1}.#" with " "
    replaceControlContents "008.{30,1}.#" with " "
    replaceControlContents "008.{31,1}.#" with " "
    replaceControlContents "008.{32,1}.#" with " "
    replaceControlContents "008.{33,1}.#" with " "
    replaceControlContents "008.{34,1}.#" with " "
    replaceControlContents "008.{35,1}.#" with " "
    replaceControlContents "008.{36,1}.#" with " "
    replaceControlContents "008.{37,1}.#" with " "
    replaceControlContents "008.{38,1}.#" with " "
    replaceControlContents "008.{39,1}.#" with " "
    end 

    rule "fix LDR - replace hashtag with blank" 
    when
    true
    then
    replaceControlContents "LDR.{0,1}.#" with " "
    replaceControlContents "LDR.{1,1}.#" with " "
    replaceControlContents "LDR.{2,1}.#" with " "
    replaceControlContents "LDR.{3,1}.#" with " "
    replaceControlContents "LDR.{4,1}.#" with " "
    replaceControlContents "LDR.{5,1}.#" with " "
    replaceControlContents "LDR.{7,1}.#" with " "
    replaceControlContents "LDR.{8,1}.#" with " "
    replaceControlContents "LDR.{9,1}.#" with " "
    replaceControlContents "LDR.{17,1}.#" with " "
    replaceControlContents "LDR.{19,1}.#" with " "
    replaceControlContents "LDR.{20,1}.#" with " "
    replaceControlContents "LDR.{21,1}.#" with " "
    replaceControlContents "LDR.{22,1}.#" with " "
    replaceControlContents "LDR.{23,1}.#" with " "
    end

    2) Remove dashes

    rule "Fix 007 - replace hyphen with blank"
    when
    true
    then
    replaceControlContents "007.{2,1}.-" with " "
    end

    rule "Fix 006 - replace hyphen with blank" 
    when 
    true 
    then 
    replaceControlContents "006.{1,1}.-" with " " 
    replaceControlContents "006.{2,1}.-" with " " 
    replaceControlContents "006.{3,1}.-" with " " 
    replaceControlContents "006.{4,1}.-" with " " 
    replaceControlContents "006.{5,1}.-" with " " 
    replaceControlContents "006.{7,1}.-" with " " 
    replaceControlContents "006.{8,1}.-" with " " 
    replaceControlContents "006.{10,1}.-" with " " 
    replaceControlContents "006.{11,1}.-" with " " 
    replaceControlContents "006.{12,1}.-" with " " 
    replaceControlContents "006.{13,1}.-" with " " 
    replaceControlContents "006.{14,1}.-" with " " 
    replaceControlContents "006.{15,1}.-" with " " 
    replaceControlContents "006.{16,1}.-" with " "
    replaceControlContents "006.{17,1}.-" with " "
    end

    rule "Fix 008 - replace hyphen with blank" 
    when 
    true 
    then 
    replaceControlContents "008.{0,1}.-" with " " 
    replaceControlContents "008.{1,1}.-" with " " 
    replaceControlContents "008.{2,1}.-" with " " 
    replaceControlContents "008.{3,1}.-" with " " 
    replaceControlContents "008.{4,1}.-" with " " 
    replaceControlContents "008.{5,1}.-" with " " 
    replaceControlContents "008.{7,1}.-" with " " 
    replaceControlContents "008.{8,1}.-" with " " 
    replaceControlContents "008.{9,1}.-" with " " 
    replaceControlContents "008.{10,1}.-" with " " 
    replaceControlContents "008.{11,1}.-" with " " 
    replaceControlContents "008.{12,1}.-" with " " 
    replaceControlContents "008.{13,1}.-" with " " 
    replaceControlContents "008.{14,1}.-" with " " 
    replaceControlContents "008.{15,1}.-" with " " 
    replaceControlContents "008.{16,1}.-" with " " 
    replaceControlContents "008.{19,1}.-" with " " 
    replaceControlContents "008.{20,1}.-" with " " 
    replaceControlContents "008.{21,1}.-" with " " 
    replaceControlContents "008.{22,1}.-" with " " 
    replaceControlContents "008.{23,1}.-" with " " 
    replaceControlContents "008.{24,1}.-" with " " 
    replaceControlContents "008.{25,1}.-" with " "
    replaceControlContents "008.{26,1}.-" with " "
    replaceControlContents "008.{27,1}.-" with " "
    replaceControlContents "008.{28,1}.-" with " "
    replaceControlContents "008.{29,1}.-" with " "
    replaceControlContents "008.{30,1}.-" with " "
    replaceControlContents "008.{31,1}.-" with " "
    replaceControlContents "008.{32,1}.-" with " "
    replaceControlContents "008.{33,1}.-" with " "
    replaceControlContents "008.{34,1}.-" with " "
    replaceControlContents "008.{35,1}.-" with " "
    replaceControlContents "008.{36,1}.-" with " "
    replaceControlContents "008.{37,1}.-" with " "
    replaceControlContents "008.{38,1}.-" with " "
    replaceControlContents "008.{39,1}.-" with " "
    end 

    rule "fix LDR - replace hyphen with blank" 
    when
    true
    then
    replaceControlContents "LDR.{0,1}.-" with " "
    replaceControlContents "LDR.{1,1}.-" with " "
    replaceControlContents "LDR.{2,1}.-" with " "
    replaceControlContents "LDR.{3,1}.-" with " "
    replaceControlContents "LDR.{4,1}.-" with " "
    replaceControlContents "LDR.{5,1}.-" with " "
    replaceControlContents "LDR.{7,1}.-" with " "
    replaceControlContents "LDR.{8,1}.-" with " "
    replaceControlContents "LDR.{9,1}.-" with " "
    replaceControlContents "LDR.{17,1}.-" with " "
    replaceControlContents "LDR.{19,1}.-" with " "
    replaceControlContents "LDR.{20,1}.-" with " "
    replaceControlContents "LDR.{21,1}.-" with " "
    replaceControlContents "LDR.{22,1}.-" with " "
    replaceControlContents "LDR.{23,1}.-" with " "
    end
     

    Additional Information

    Click here for more about "Publishing to OCLC"

    And here for a trove of articles regarding Normalization Rules, How to run on Holding records, and more.

     


    • Article last edited: 15-AUG-2022
    • Was this article helpful?