PLP: Redirection rules Table §

A crosscheck redirection rules table looks like this: 


An XCRR consists of 6 fields: 

  1. 'serial' number–uniquely identifying the rule 
  2. 'enabled' flag–so you can turn off a rule without deleting it 
  3. 'primary' key–from the PLP Match Rules 
  4. 'crosschecks'–one or more crosschecks from the PLP Match rules 
  5. 'destination'–where the record should be redirected to 
  6. 'match only' flag–determines whether the rule will match if other crosschecks also fail (More Details

To access the Crosscheck Redirection rules, open a PLP config and click on the 'Redirection Rules' button at the bottom of the form. This will display an empty table (the first time that you do it) with the 6 columns described above listed across the top. Once you have created some rules, this table will contain one row for each rule.  

To add a new rule, click on the 'Add new rule' button on the bottom left. This will display the XCRR workform.  

Back To Top

'Destination' Field §

There are two destinations supported in this version: XcFail-To-Match, and XcFail-To-NoMatch.  

XCFail-To-NoMatch is the default destination. 

Each destination has the potential to create a MARC file of records in the PLP Results folder. Therefore, in addition to the MARC result files for Matches, NoMatches, Max-Hits, and XCFails, there will now be the possibility of two additional files: XCFail-NoMatch, and XCFail-Match.  

Records that go to the XCFail-NoMatch file should be loaded into the system as if they were standard NoMatches; this file will contain only library records. Records that go to the XCFail-Match file should be loaded into the system as if they were standard Matches; in this file, the system ID of the matching DB record will have been inserted into each library record. 

Back To Top

Editing existing rules §

Three fields can be changed directly in the table view: Enabled, Destination, and Match Only. All three of these fields use pushbuttons (or radio buttons), and you can change them whenever you want.  

If you want to change the Primary key, or the crosschecks, however, you will need to use the workform. To do this, simply double-click on the rule: the workform will open and a new button named 'Update rule' will appear. Use that button to update the rule that you started with. 

To Delete a rule from the table, click on the rule and then press <Ctrl> and <Delete> at the same time. 

Back To Top

Redirection Menu options §

You can quickly set the Enabled flag to either Yes or No for all of the rules in the table by clicking the respective option in the top menu bar (Enable All, Disable All). 

If you are starting a new config, and have other redirection rules you would like to use as a basis, click the 'Create from' menu item–the program will list all the other non-empty redirection rule tables, and you can pick one to populate your new config with. 

You can also add XCRR from another config to the one you are working on using the 'Add rules' menu item. Again, the program will list all the other non-empty XCRR tables; when you pick one, the program will add all of the rules from that table to the current one.  

The 'Add rules' option is more like an 'Append To' option, whereas the 'Create from' option is more like a 'Replace' option. Note that when either of these two batch options are used, the program will check each rule being added and reject any rules that are not valid for the current config. A count of these rejected rules will pop-up when the batch operation concludes. 

Finally, you can delete all of the XCRR in a table by pressing the 'Clear all' menu item. 

Back To Top

Duplicate and 'Unreachable' rules §

Since this table will be used at runtime, and consulted every time that a record is retrieved from the DB and run through the crosscheck process, it needs to be somewhat efficient. For this reason, the program carefully checks for both duplicate and unreachable rules. This checking takes place 1) when adding a rule using the workform 2) when using Enable all or Disable all 3) when adding rules from another config 4) when saving the rules and exiting the XCRR table 

A duplicate is any rule that would match another rule on the Primary-Crosschecks-Destination fields. The Enabled and the 'Match Only' flags are not considered when determining duplicates. Duplicate rules are rejected or discarded. 

An Unreachable rule is any rule that can never be reached because another rule will be executed before it is reached. For example, if you already have a rule in the table for TITLE/XAUTH, and 'Match Only' is turned off, and you try to add a rule for TITLE/XAUTH, and X300A, and 'Match Only' is also off, then the rule being added is 'unreachable'. This is because all records that can match TITLE/XAUTH, and X300A will always match TITLE/XAUTH first (unless the Match Only flag is set).  

Also, if two redirection rules are exactly the same except for the 'Destination', then the rule with the destination that is lower in priority will also become an 'unreachable' rule. In the current version, XcFail-To-Match has a higher priority than XCFail-To-NoMatch. 

Unreachable rules are not discarded; instead, they will have their Enabled flags turned off so that they are not loaded at runtime. Whenever an unreachable rule is encountered, a full description of the problem is added to a temporary log (which you can view by clicking the View Log menu item). 

Back To Top

Verifying redirection results §

The redirection rules cause library records to be output to either the XcFails-Nomatch file, or the XcFails-Match file. How can you look closer at these redirection to ascertain if they are working as designed or not?  

Since these two output files are designed for loading into your system, none of the records retrieved from the database during PLP processing have been saved to them–they contain only the library records. However, there is an easy way to get a look at these DB records in MCU (juast as if you were reviewing a XCFails file). 

Start PLP and go to the Match Rules containing the XCRR that you want to debug. Click the redirection rules button, and then in the table view, select 'Disable All', and save the changes. Press Save on the Match Rules form, and on the main PLP form, then set-up the run exactly as you did before. But once that's done, change the MARC file to be the XCRR file that you are troubleshooting (either XcFails-Nomatch or XcFails-Match, located in the \Results\4-plp\ folder).  

Start PLP. Every library record in the file will be sent to XCFails (along with the matching DB records), and when the run is done, you can follow the 'Open in MCU' option and look at the results. Hopefully you will find that your XCRR are functioning just as you had intended. 

Back To Top

Statistics §

At the end of a PLP run, detailed statistics on the XCRR are added to the detailed report (this report can be accessed from either the PLP menu when the run completes, or in the session 'Results' folder named '4-plp'. An example of this report follows: 

Crosscheck redirection rule Statistics

These stats are organized by redirection destination, and within each 
destination, by primary key and crosschecks. For each item, column 1 
lists the number of DB Hits on the rule, and column 2 lists the number 
of redirections (from the XCFail file) that resulted from these hits.


  ISBN/XAUTH:                                             33	16
  ISSN/XAUTH:                                             9	8
  TITLE/XAUTH:                                            41	35


  TITLE/XISSN:                                            6	6


The use of crosscheck redirection rules assumes that a fairly standard set of PLP match rules is in place. Since the XCRR is a new feature in PLP, its possible that many of your existing configs have made use of other parameters to achieve similar results (i.e., a reduced number of crosschecks, the use of the MaxHits or MaxXcFails options, etc.). For this reason, before embarking upon a major XCRR project, it may be a good idea to also start with a new set of Match Rules based on the TMQ defaults. 

plp/xcrr_table.txt · Last modified: 2013/04/27 09:09 (external edit)
Back to top
CC Attribution-Noncommercial-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed