Skip to main content
ExLibris

Knowledge Assistant

BETA
 
  • Subscribe by RSS
  • Back
    SFX

     

    Ex Libris Knowledge Center
    1. Search site
      Go back to previous article
      1. Sign in
        • Sign in
        • Forgot password
    1. Home
    2. SFX
    3. Product Documentation
    4. Version 4.0
    5. SFX General User's Guide
    6. KBManager
    7. Thresholds

    Thresholds

    1. Last updated
    2. Save as PDF
    3. Share
      1. Share
      2. Tweet
      3. Share
    1. Thresholds Overview
    2. Local and Global Thresholds
    3. Threshold Composer
    4. Threshold Types
      1. Parsed Date
      2. Moving Wall/Embargo
      3. Need Attribute
      4. Authentication
      5. In List
      6. Plug In
    5. Backward Compatibility of OpenURL 0.1 Thresholds
    6. List of Threshold Attributes

    Thresholds Overview

    Thresholds are conditions placed on targets, services, or object portfolios. They determine whether or not a given source links to a given target, and whether or not a service is displayed in the SFX menu. Thresholds can be set in the following windows:
    • List of Targets – Conditions for linking to a vendor
    • List of Target Services – Conditions for linking to a type of service at a vendor—for example, full-text or abstracts at a publisher.
    • List of Object Portfolios – Conditions for linking to an object. For example, a journal for the getFullTxt service of HighWire may be available only from 1997 volume 2 issue 3 and later.
    Thresholds are written as boolean conditions in Perl. Thresholds are conditions that affect the SFX request. The data in the SFX request should match the thresholds. This SFX request begins with the following Perl statement:

    $obj

    The following is a list of threshold types:

    $obj->need(attribute_name, [operator, [value]])

    $obj->parsedDate(operator, date_value, volume_value,

    issue_value)

    $obj->timediff(operator,timestring)

    $obj->plugIn(name_of_plugin_program)

    $obj->inList(‘@array’,'string');

    $obj->NotInList('@array','string')

    The maximum length of a threshold is 2048 characters.
    In addition, another type of threshold exists, dealing with authentication issues. See Authentication for more information.
    The following is a list of threshold operators:
    Operators
    Operator Description
    > Greater than
    < Less than
    >= Greater or equal
    <= Less or equal
    != Not equal
    == Equal
    gt Greater than (alpha-numeric)
    lt Less than (alpha-numeric)
    ge Greater or equal (alpha-numeric)
    le Less or equal (alpha-numeric)
    ne Not equal (alpha-numeric)
    eq Equal (alpha-numeric)

    Local and Global Thresholds

    In each database table where thresholds can be used, two thresholds exist: global and local.
    • Global thresholds – Thresholds supplied by Ex Libris. Global thresholds are used by default. If an institution does not fill in the local threshold field, the global threshold is used.

    During the update procedure, global thresholds are automatically updated if necessary—for example, if a particular journal has more electronic back-files than it had before. When the global threshold is active in an institution’s SFX database and Ex Libris changes this threshold during an update, the updated threshold is automatically available to the institution.

    • Local threshold – Thresholds created by an institution to reflect local conditions. If an institution creates a local threshold, this threshold overrides the global threshold field. The local threshold is used instead.

    Local thresholds are typically used to specify an institution’s subscription dates of electronic journals. For example, although an electronic journal is available from 1990 and later on a publisher’s Web site, an institution has access only from 1999 and later because the subscription started only in 1999. In this case, the global threshold is 1990, and the local threshold is 1999. During the update procedure, local thresholds are never removed or changed.

    You can combine local and global thresholds. For example, you can specify:
    • Local threshold AND global threshold: GLOBAL && LOCAL
    • Local threshold OR global threshold: GLOBAL || LOCAL
    For example, if a librarian wants to test the addition of certain objects before releasing them to users, the librarian could define the following:
    • The global threshold is:

    $obj->parsedDate(“>=”,1994,26,2)

    • The local threshold is:

    GLOBAL && $ENV{'HTTP_X_FORWARDED_FOR'}=~/^207.31.245./

    Together the threshold is:

    $obj->parsedDate(“>=”,1994,26,2) && $ENV{'HTTP_X_FORWARDED_FOR'}=~/^207.31.245./

    In a different example, you can construct the following threshold for an object portfolio where the global threshold consists of $obj->parsedDate(“>=”,1998,60,1) and the local subscription begins in 1996:

    GLOBAL || $obj->parsedDate(“>=”,1996,58,1)

    In this way, you can tell the SFX server to take note of the local threshold, but should the global threshold change to an earlier date, the library can take advantage of it immediately upon the update.

    Threshold Composer

    For those not familiar with Perl, a threshold composer is provided to assist in the creation of thresholds in the proper Perl syntax.
    To compose a threshold:
    1. Click Compose from the threshold field when editing or adding targets, target services, and object portfolios. The Compose Threshold dialog box opens:
    compose_threshold.gif
    Compose Threshold
    1. Fill in the fields of the Compose Threshold dialog box according to the following table:
    Compose Thresholds
    Field Description
    Use Global and/or local threshold
    Genre Select one type of object that may link to this target.
    Needs Select one or more ContextObject (CTXO) attributes that need to be defined in the SFX request. (See more about the CTXO in the Context Object section of the SFX Advanced User’s Guide.)
    First/Last/Exact Publication Fill in the date boundaries for publication dates.
    Only use this field for object portfolios - not for target or target services.
    Embargo/Moving Wall Indicates an embargo period.
    Only use this field for object portfolios - not for target or target services.
    Plugin Program for conditional display of an SFX target or target service
    IP Range Authentication threshold
    1. To confirm your changes, click Submit.
    Not every value has to be set to create a valid Perl threshold. For example, you can select only Book in Genre to create a threshold stating that only books can link to this target service. Similarly, you can just type 1998 in the Year field of FIRST_PUB to link all objects with a publication year later than 1998 to this target service.
    You can use the threshold composer more than once to create complex thresholds by combining previous thresholds with && (and) or || (or). In the following example, you create a new threshold that means that the target service needs an ISSN or an ISBN:
    To create a complex threshold:
    1. Select rft.issn in the Needs section.
    2. Click Submit and select any of the three options in the Confirm Threshold window.
    3. Go back to the threshold composer and select rft.isbn in the Needs section.
    4. Click Submit. The Confirm Threshold dialog box opens:
    confirm_threshold.gif
    Confirm Threshold
    1. Select OR existing threshold.
    2. Click Submit.
    The Perl threshold in the Edit window is now set to the following:
    threshold(local).gif
    Threshold
    1. In the Edit window, click Submit to store the new threshold in the SFX database.
    The maximum length of a threshold is 2048 characters.

    Threshold Types

    Date threshold information for the parsed date, current time, and moving wall thresholds stored in the OBJECT_PORTFOLIO table are displayed in the SFX menu and the A-Z list Available from section. For example:
    date_threshold.gif
    Date Threshold
    It is recommended to use date and embargo/moving wall thresholds only for object portfolios and not for target services or targets, since the threshold information in the TARGET and TARGET_SERVICE tables is not displayed in the Availability from section of the SFX menu, is ignored during exports, and is disregarded when building the Rapid Service Indicator index.
    This section explains and describes several threshold types:
    • Parsed Date
    • Moving Wall/Embargo
    • Need Attribute
    • Authentication
    • In List
    • Plug In

    Parsed Date

    Use the Parsed Date threshold to construct a threshold telling the SFX scripts which date boundaries to match. This threshold is often used in object portfolios because you typically store license boundaries in this table.

    $obj->parsedDate(

    “<“| “>” | “<=” | “>=” | “gt” | “lt” | “ge” | “le” | “==”

    | “eq”

    , <date> | undef

    , <volume> | undef

    , <issue> | undef

    );

    Where <date> can be in one of the following formats: <YYYY> | <YYYYMM> | <YYYYMMDD>
    For example:
    • You have access from 1998 volume 23 issue 1; the threshold is:

    $obj->parsedDate(“>=”,1998,23,1).

    • You have access from 1994 volume 2 issue 1 to 1998 volume 6 issue 11; the threshold is:

    $obj->parsedDate(“>=”,1994,2,1) && $obj->parsedDate(“<=”,1998,6,11).

    • You have access from 1997 issue 23 to 1999 issue 35; the threshold is:

    $obj->parsedDate(“>=”,1997,undef,23) &&

    $obj->parsedDate(“<=”,1998,undef,35).

    • You have access from January 1st 1998 volume 23 issue 1; the threshold is:
    $obj->parsedDate(“>=”,19980101,23,1)
    • You have access from March 1st 1997 until December 31 1999; the threshold is:
    $obj->parsedDate(“>=”,19970301,undef,undef) &&
    $obj->parsedDate(“<=”,19981231,undef,undef).
    Use the value undef in parsedDate for volume or issue if this value is not relevant.
    The following are the threshold rules for the parsedDate threshold:
    • Both the month/day information AND the volume/issue information are taken into account as part of the threshold calculation, if they exist. If either month/day or volume/issue information match, this is treated as threshold passes.
    • If either volume/issue or month/day information exist and are not undef, only volume/issue or month/day information is taken into account during the threshold calculation.

    An exception to this rule is a case of partial data – for example, a day without a month. This is ignored.

    • If month/day do not exist (or are undef), and volume/issue do not exist either (or are undef), the parsedDate threshold passes or fails based on year information.

    Moving Wall/Embargo

    An embargo is a time period for which a journal is not available in a full text database. Embargoes allow publishers to make available their most recent journal articles only via journal subscription or pay per view, while older content is made available in aggregator full text databases.
    A moving wall (also called a rolling year) is any period of 12 consecutive months for which coverage is available. What is available is always the most recent months.
    The following are examples of vendors or hosting services that use moving walls or embargo periods:
    • EBSCOHOST
    • ELSEVIER_WEB_EDITIONS
    To solve the problems of embargo periods or moving walls, SFX uses a special type of threshold called a moving wall threshold.
    For example, some HighWire journals are free if the publication date is more than six months prior to the current date. You can write the threshold above as:

    $obj->timediff('>','6m')

    The threshold is true if the year and month attributes of the Generic Request are more than six months (6m) from the current date. This, of course, works only if you have a month attribute in the request.
    The following is the syntax of the threshold:

    $obj->timediff(<operator>,<timestring>)

    <timestring> can be:

    '[0-9]?[Yy]?[0-9][Mm]'

    For example:
    • 9y – 9 years
    • 9Y – 9 years (command is case-insensitive)
    • 14m – 14 months
    • 1y6m – 1 year and six months
    The following threshold means that the article is published after 1995, volume 10, issue 2 but more than six months ago:

    $obj->parsedDate('>',1995,10,2) && $obj->timediff('>','6m')

    When no month or day details are sent in the OpenURL (which is the case for the majority of SFX sources) SFX cannot determine the availability status. In such situations, SFX displays the full text and only matches the year.

    You can configure the SFX menu to display a warning if an article may not be available because of an embargo or moving wall period. For more information on configuring this warning, see Menu Design – General Configuration.

    Need Attribute

    Use the Need Attribute threshold to indicate which attributes should be defined in the SFX request.

    Syntax

    $obj->need(

    <attribute>

    [,”<“| “>” | “<=” | “>=” | “gt” | “lt” | “ge” | “le” | “==” | “!=” | “eq” | “ne”,<value>]

    );

    For example:
    • The SFX request should contain the last name of the (first) author. This threshold is written as:

    $obj->need(‘@rft.aulast’)

    • The SFX request should have a year later than or equal to 1998 and should have a volume defined. This threshold is written as:

    $obj->need('rft.year','>=','1998')) && ($obj->need('rft.volume')

    You can build complex thresholds in the following way:

    $obj->need('@rft.aulast') &&

    $obj->need('rft.year','>=','1998')) &&

    ($obj->need('rft.volume') &&

    (

    $obj->need('rft.jtitle') ||

    $obj->need('@rft.abbrev')

    The above threshold indicates the following: The SFX request needs at least the last name of the (first) author and a publication year later than or equal to 1998, the volume must be set, and there should be a journalTitle or abbreviated title.
    The following is another example of a needAttribute threshold: The SFX request should contain specific information about the source database. The following two source attributes can be used in thresholds:
    • sfx.sourcename – corresponds to the source ID field entry in the SFX database
    • sfx.sid – corresponds to the sid value in the OpenURL
    For example:
    • The following threshold lists a specific service in the SFX menu only if you are using a CSA database as a source. The source ID field in the SFX database for CSA databases is CSA. This threshold is written as:

    $obj->need('sfx.sourcename','eq','CSA')

    • The following threshold prevents a particular service from being listed in the SFX menu if the user is using the Aleph database as a source.

    The sid sent in the OpenURL is ALEPH. For example:

    http://demo.exlibrisgroup.com:9003/demo?sid=ALEPH:EXU01&genre=book&isbn=039304839X&date=1999&title=The+return+of+depression+economics&aulast=Krugman&aufirst=Paul

    This threshold is written as:

    $obj->need('sfx.sid','ne','ALEPH:EXU01')

    It is possible to use regular expressions in the Need Attribute threshold. However, you need to use the following operators:
    • !~ (for negative)
    • ~= (for positive)
    It is not possible to use eq or ne in this case.
    If the sid of the OpenURL could be either ALEPH:EXU01 or ALEPH:ADR01, the threshold needs to include a regular expression to indicate that the sid value should not start with Aleph. For example:

    $obj->need('sfx.sid','!~','/^ALEPH/')

    If a link to Amazon.com should appear only if the ISBN starts with 0 (for English books), the threshold is:

    $obj->need('rft.isbn','=~','/^0/')

    Authentication

    The Authentication threshold lets you present services for particular groups of users only. The authentication can be based on an IP address, IP range, or domain. You can also protect your SFX site with WWWAuthenticate.
    For example:
    • To display only services for the local domain, you can add thresholds such as:
    $ENV{'HTTP_X_FORWARDED_FOR'} =~ /^157.193./
    or
    $obj->iprange('157.193..')
    • To display this test target only to the administrator, enter a threshold such as:
    $ENV{'HTTP_X_FORWARDED_FOR'} eq '157.193.59.119'
    or
    $obj->iprange('157.193..')
    • You can password-protect the SFX site with a WWWAuthenticate. You can make users or groups this way and state in the threshold:

    $ENV{'REMOTE_USER'} eq 'administrator'

    or

    $ENV{'REMOTE_GROUP'} eq 'staff'

    The first example shows the service only if the user is authenticated on the Apache server as an administrator. The second example shows the service only if the user is authenticated on the Apache server and belongs to the Apache group staff.

    In List

    The In List threshold lets you present services if a specific string exists or does not exist in an array:
    The following is the syntax of the In List threshold:

    $obj->InList(‘@array’,'string');

    $obj->NotInList('@array','string')

    Examples:

    $obj->InList('@rft.subject','sculpture')

    $obj->NotInList('@sfx.category','Health Sciences')

    Plug In

    The Plug In threshold is used to set up a specific target to appear in the SFX menu only after a plug-in program performs an additional check and receives a positive reply.
    The following is the threshold of the syntax of the Plug In threshold:

    $obj->plugIn(‘name_of_plugin_program’)

    For example:

    $obj->plugIn(‘ALEPH’)

    More information about the Plug-In feature can be found in the Plug-In Feature section of the SFX Advanced User’s Guide.

    Backward Compatibility of OpenURL 0.1 Thresholds

    Thresholds created in the SFX KnowledgeBase before version 4 use OpenURL 0.1 attributes. For example:

    ($obj->need('ISBN') || $obj->need('ISSN') || $obj->need('eISSN') || $obj->need('bookTitle') || $obj->need('journalTitle') || $obj->need('@abbrevTitle'))

    When defining new thresholds, it is recommended that you use the OpenURL 1.0 attributes. In the above example, this would be:

    ($obj->need('rft.isbn') || $obj->need('rft.issn') || $obj->need('rft.eissn') || $obj->need('rft.btitle') || $obj->need('rft.jtitle') || $obj->need('@rft.abbrev'))

    or:

    $obj->need('sfx.sourcename','ne','CSA')

    List of Threshold Attributes

    The following table lists the threshold attributes.
    Threshold Attributes
    Attribute Has to Match Regular Expression
    url_ver ^.*$
    url_tim ^.*$
    url_ctx_fmt ^.*$
    # Resolver attributes  
    @res_id ^.*$
    # Referrer attributes  
    @rfr_id ^.*$
    rfr_dat ^.*$
    rfr_val_fmt ^.*$
    rfr_ref_fmt ^.*$
    rfr_ref ^.*$
    # Context attributes  
    ctx_ver ^.*$
    ctx_enc ^.*$
    ctx_id ^.*$
    ctx_tim ^.*$
    # Service-type attributes  
    @svc_id ^.*$
    svc_val_fmt ^.*$
    svc_ref_fmt ^.*$
    svc_ref ^.*$
    svc_dat ^.*$
    svc.fulltext ^yes|no$
    svc.abstract ^yes|no$
    svc.citation ^yes|no$
    svc.holdings ^yes|no$
    svc.ill ^yes|no$
    svc.any ^yes|no$
    # Requester attributes  
    @req_id ^.*$
    req_val_fmt ^.*$
    req_ref_fmt ^.*$
    req_ref ^.*$
    req_dat ^.*$
    # Referrent attributes  
    @rft_id ^.*$
    @rfe_id ^.*$
    rft_val_fmt ^.*$
    rfe_val_fmt ^.*$
    rft_ref_fmt ^.*$
    rfe_ref_fmt ^.*$
    rft_ref ^.*$
    rfe_ref ^.*$
    rft_dat ^.*$
    rfe_dat ^.*$
    rft.genre ^(article|book|bookitem|conference|document|dissertation
    |issue|journal|patent|preprint|proceeding|report)$
    rfe.genre ^(article|book|bookitem|conference|document|dissertation
    |issue|journal|patent|preprint|proceeding|report)$
    # These  
    rft.object_type ^(BOOK|JOURNAL)$
    rfe.object_type ^(BOOK|JOURNAL)$
    rft.isbn ^(\d-?){9}[0-9xX]$
    rft.isbn_additional ^(\d-?){9}[0-9xX]$
    rfe.isbn ^(\d-?){9}[0-9xX]$
    rft.eisbn ^(\d-?){9}[0-9xX]$
    rft.eisbn.additional ^(\d-?){9}[0-9xX]$
    rft.issn ^\d{4}-?\d{3}[-0-9xX]$
    rfe.issn ^\d{4}-?\d{3}[-0-9xX]$
    rft.eissn ^\d{4}-?\d{3}[-0-9xX]$
    rfe.eissn ^\d{4}-?\d{3}[-0-9xX]$
    rft.coden ^[A-Z]{5}[A-Z0-9]$
    rfe.coden ^[A-Z]{5}[A-Z0-9]$
    rft.sici ^\S+$
    rfe.sici ^\S+$
    rft.bici ^\S+$
    rfe.bici ^\S+$
    rft.atitle ^.*$
    rfe.atitle ^.*$
    rft.btitle ^.*$
    rfe.btitle ^.*$
    rft.jtitle ^.*$
    rfe.jtitle ^.*$
    @rft.stitle ^.*$
    @rfe.stitle ^.*$
    rft.title ^.*$
    rfe.title ^.*$
    rft.volume ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$
    rfe.volume ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$
    rft.volume_alphastart ^[a-zA-Z]{0,6}
    rfe.volume_alphastart ^[a-zA-Z]{0,6}
    rft.volume_alphaend ^[a-zA-Z]{0,6}
    rfe.volume_alphaend ^[a-zA-Z]{0,6}
    rft.volume_start ^[1-9][0-9]{0,5}$
    rfe.volume_start ^[1-9][0-9]{0,5}$
    rft.volume_end ^[1-9][0-9]{0,5}$
    rfe.volume_end ^[1-9][0-9]{0,5}$
    rft.issue ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$
    rfe.issue ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$
    rft.issue_alphastart ^[a-zA-Z]{0,6}
    rfe.issue_alphastart ^[a-zA-Z]{0,6}
    rft.issue_alphaend ^[a-zA-Z]{0,6}
    rfe.issue_alphaend ^[a-zA-Z]{0,6}
    rft.issue_start ^[1-9]-?\d{0,5}$
    rfe.issue_start ^[1-9]-?\d{0,5}$
    rft.issue_end ^[1-9]-?\d{0,5}$
    rfe.issue_end ^[1-9]-?\d{0,5}$
    rft.spage ^[1-9][0-9]{0,4}$
    rfe.spage ^[1-9][0-9]{0,4}$
    rft.epage ^[1-9][0-9]{0,4}$
    rfe.epage ^[1-9][0-9]{0,4}$
    rft.pages ^.*$
    rfe.pages ^.*$
    rft.tpages ^.*$
    rfe.tpages ^.*$
    rft.date ^[\d\-]+$# to accept backwards compatible 999
    rfe.date ^[1-9][0-9]{3}[-0-9]{0,3}[-0-9]{0,3}$
    rft.year ^[1-9][0-9]{3}$
    rfe.year ^[1-9][0-9]{3}$
    rft.month ^[0-9]{1,2}$
    rfe.month ^[0-9]{1,2}$
    rft.day ^[0-9]{1,2}$
    rfe.day ^[0-9]{1,2}$
    rft.archive ^\S+$
    rfe.archive ^\S+$
    rft.archiveId ^\S+$
    rfe.archiveId ^\S+$
    rft.au ^.*$
    rfe.au ^.*$
    @rft.aulast ^.*$
    @rfe.aulast ^.*$
    @rft.aufirst ^.*$
    @rfe.aufirst ^.*$
    @rft.auinit ^.*$
    @rfe.auinit ^.*$
    @rft.auinit1 ^.*$
    @rfe.auinit1 ^.*$
    @rft.auinitm ^.*$
    @rfe.auinitm ^.*$
    @rft.aucorp ^.*$
    @rfe.aucorp ^.*$
    @rft.ausuffix ^.*$
    @rfe.ausuffix ^.*$
    rft.place ^.*$
    rfe.place ^.*$
    rft.pub ^.*$
    rfe.pub ^.*$
    rft.edition ^.*$
    rfe.edition ^.*$
    rft.co ^.*$
    rfe.co ^.*$
    rft.cc ^[a-zA-Z]{2}$
    rfe.cc ^[a-zA-Z]{2}$
    rft.inst ^.*$
    rfe.inst ^.*$
    rft.advisor ^.*$
    rfe.advisor ^.*$
    rft.degree ^.*$
    rfe.degree ^.*$
    rft.chron ^.*$
    rfe.chron ^.*$
    rft.ssn ^(winter|summer|spring|fall)$
    rfe.ssn ^(winter|summer|spring|fall)$
    rft.quarter ^[1-4]{1}$
    rfe.quarter ^[1-4]{1}$
    rft.part ^\w+$
    rfe.part ^\w+$
    rft.artnum ^\d+$
    rfe.artnum ^\d+$
    rft.inventor ^.*$
    rfe.inventor ^.*$
    rft.invlast ^.*$
    rfe.invlast ^.*$
    rft.invfirst ^.*$
    rfe.invfirst ^.*$
    rft.kind ^.*$
    rfe.kind ^.*$
    rft.applcc ^.*$
    rfe.applcc ^.*$
    rft.applnumber ^.*$
    rfe.applnumber ^.*$
    rft.number ^.*$
    rfe.number ^.*$
    rft.appldate ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$
    rfe.appldate ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$
    rft.applyear ^[1-9][0-9]{3}$
    rfe.applyear ^[1-9][0-9]{3}$
    rft.applmonth ^[0-9]{1,2}$
    rfe.applmonth ^[0-9]{1,2}$
    rft.applday ^[0-9]{1,2}$
    rfe.applday ^[0-9]{1,2}$
    rft.assignee ^.*$
    rfe.assignee ^.*$
    rft.pubdate ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$
    rfe.pubdate ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$
    rft.pubyear ^[1-9][0-9]{3}$
    rfe.pubyear ^[1-9][0-9]{3}$
    rft.pubmonth ^[0-9]{1,2}$
    rfe.pubmonth ^[0-9]{1,2}$
    rft.pubday ^[0-9]{1,2}$
    rfe.pubday ^[0-9]{1,2}$
    rft.prioritydate ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$
    rfe.prioritydate ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$
    rft.priorityyear ^[1-9][0-9]{3}$
    rfe.priorityyear ^[1-9][0-9]{3}$
    rft.prioritymonth ^[0-9]{1,2}$
    rfe.prioritymonth ^[0-9]{1,2}$
    rft.priorityday ^[0-9]{1,2}$
    rfe.priorityday ^[0-9]{1,2}$
    rft.series ^.*$
    rfe.series ^.*$
    rft.creator ^.*$
    rft.description ^.*$
    rft.publisher ^.*$
    rft.contributor ^.*$
    rft.type ^.*$
    rft.format ^.*$
    rft.identifier ^.*$
    rft.relation ^.*$
    rft.coverage ^.*$
    rft.rights ^.*$
    #local attributes  
    rft.medUID \d{8,10}
    rfe.medUID \d{8,10}
    @rft.tickUID \w{3,10}
    @rfe.tickUID \w{3,10}
    rft.LCCN ^[0-9]{8,10}$
    rfe.LCCN ^[0-9]{8,10}$
    rft.ED_NUMBER ^[A-Z0-9]+$
    rfe.ED_NUMBER ^[A-Z0-9]+$
    rft.EJ_NUMBER ^[A-Z0-9]+$
    rfe.EJ_NUMBER ^[A-Z0-9]+$
    @rft.relatedISSN ^\d{4}-?\d{3}[-0-9xX]$
    @rfe.relatedISSN ^\d{4}-?\d{3}[-0-9xX]$
    @rft.subject ^.*$
    @rfe.subject ^.*$
    @rft.Attribute ^.*$
    @rfe.Attribute ^.*$
    rft.user ^.*$
    rfe.user ^.*$
    @rft.Institute ^.*$
    @rfe.Institute ^.*$
    rft.Faculty ^.*$
    rfe.Faculty ^.*$
    rft.UserGroup ^.*$
    rfe.UserGroup ^.*$
    rft.Language ^.*$
    rfe.Language ^.*$
    rft.OpenURL ^.*$
    rfe.OpenURL ^.*$
    rft.SOURCE ^.*$
    rfe.SOURCE ^.*$
    rft.dcTitle ^.*$
    rfe.dcTitle ^.*$
    rft.dcCreator ^.*$
    rfe.dcCreator ^.*$
    rft.dcSubject ^.*$
    rfe.dcSubject ^.*$
    rft.dcDescription ^.*$
    rfe.dcDescription ^.*$
    rft.dcPublisher ^.*$
    rfe.dcPublisher ^.*$
    rft.dcContributor ^.*$
    rfe.dcContributor ^.*$
    rft.dcType ^.*$
    rfe.dcType ^.*$
    rft.dcFormat ^.*$
    rfe.dcFormat ^.*$
    rft.dcIdentifier ^.*$
    rfe.dcIdentifier ^.*$
    rft.dcSource ^.*$
    rfe.dcSource ^.*$
    rft.dcLanguage ^.*$
    rfe.dcLanguage ^.*$
    rft.dcRelation ^.*$
    rfe.dcRelation ^.*$
    rft.dcCoverage ^.*$
    rfe.dcCoverage ^.*$
    rft.dcRights ^.*$
    rfe.dcRights ^.*$
    rft.dcYear ^[0-9][0-9]{2,3}$
    rfe.dcYear ^[0-9][0-9]{2,3}$
    rft.dcMonth ^[0-9]{1,2}$
    rfe.dcMonth ^[0-9]{1,2}$
    rft.dcDay ^[0-9]{1,2}$
    rfe.dcDay ^[0-9]{1,2}$
    # SFX specific attributes  
    # With entity  
    rft.object_id ^\d+$
    rft.local_attribute ^.*$
    @rft.abbrev ^.*$
    @svc.constraints ^.*$
    req.ip ^.*$
    req.user_group ^.*$
    req.faculty ^.*$
    req.language ^.*$
    @req.institutes ^.*$
    rft.oai ^.*$
    rft.oai_repository_id ^.*$
    rft.oai_record_id ^.*$
    rfe.oai ^.*$
    rfe.oai_repository_id ^.*$
    rfe.oai_record_id ^.*$
    rft.doi ^.*$
    # With sfx entity  
    @sfx.related_objects ^.*$
    @sfx.related_object_ids ^.*$
    @sfx.category ^.*$
    @sfx.subcategory ^.*$
    sfx.response_type ^(html|simplexml|directlink|sfx_api_0_1_xml)$
    sfx.ignore_date_threshold ^(1|0)$
    sfx.show_availability ^(1|0)$
    sfx.title_search ^(contains|begins|exact)$
    sfx.request_id ^\d+$
    sfx.augment_if_multi ^(0|1)$
    sfx.has_full_text ^(yes|no)$
    sfx.tmp_svc .*
    sfx.doi_url .*
    sfx.openurl .*
    sfx.char_set ^.+$
    View article in the Exlibris Knowledge Center
    1. Back to top
      • Institutes
      • Using KBManager: Examples and Scenarios
    • Was this article helpful?

    Recommended articles

    1. Article type
      Topic
      Content Type
      Documentation
      Language
      English
      Product
      SFX
    2. Tags
      This page has no tags.
    1. © Copyright 2025 Ex Libris Knowledge Center
    2. Powered by CXone Expert ®
    • Term of Use
    • Privacy Policy
    • Contact Us
    2025 Ex Libris. All rights reserved