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

    Invalid content of DEL field avoids records from being deleted in Primo

    • Article Type: General
    • Product: Aleph
    • Product Version: 18.01

    Desired Outcome Goal:
    This is only relevant for Scandinavian customers:
    The DEL field in deleted catalog records must have content “DEL Y” in order to delete the record also in Primo. For Scandinavian customers the content of field DEL is different, it holds the cataloger and the deletion date. This content is created by a special fix program fix_elib_del which will be called even when you have no regarding entry in tab_fix.

    Procedure:
    To fix the problem in Primo, we provide an xsl-stylesheet that should be added as a transformation script in Primo. It will take care of the OAI-header and set the attribute “deleted” if the DEL-field exists.

    Create the transformation file on the primo server: /exlibris/primo/p3_1/ng/primo/home/profile/publish/publish/production/conf/xsl/Aleph-AddHeaderDeleted.xsl

    With the content:

    <xsl:stylesheet
    xmlns="http://www.openarchives.org/OAI/2.0/"
    xmlns:oai="http://www.openarchives.org/OAI/2.0/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    exclude-result-prefixes="xsl xsi"
    version="1.0">

    <xsl:output method="xml" indent="no" encoding="UTF-8"/>

    <xsl:template match="/">
    <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="oai:header">
    <xsl:element name="{local-name()}">
    <xsl:choose>
    <xsl:when test="../oai:metadata/*[local-name() = 'record']/*[local-name() = 'controlfield' and @tag='DEL']">
    <xsl:attribute name="status">deleted</xsl:attribute>
    </xsl:when>
    </xsl:choose>
    <xsl:apply-templates />
    </xsl:element>
    </xsl:template>

    <xsl:template match="*[parent::oai:metadata]">
    <xsl:element name="{local-name()}">
    <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
    </xsl:template>

    <xsl:template match="@xsi:*"></xsl:template>
    <xsl:template match="@*">
    <xsl:copy><xsl:value-of select="."/></xsl:copy>
    </xsl:template>
    <xsl:template match="*">
    <xsl:element name="{name()}"><xsl:apply-templates select="@*|node()" /></xsl:element>
    </xsl:template>
    <xsl:template match="text()"><xsl:value-of select="."/>
    </xsl:template>
    </xsl:stylesheet>

    Then you should add this transformation in the data-source configuration in Primo BO.

    Category: Cataloging (500)

    Subject: Table configuration


    • Article last edited: 10/8/2013