Skip to main content
ExLibris

Knowledge Assistant

BETA
 
  • Subscribe by RSS
  • Back
    Primo

     

    Ex Libris Knowledge Center
    1. Search site
      Go back to previous article
      1. Sign in
        • Sign in
        • Forgot password
    1. Home
    2. Primo
    3. Product Documentation
    4. Primo VE
    5. Primo VE (Español)
    6. Cargar registros de fuentes externas en Primo VE
    7. Configurar reglas de normalización para recursos externos (Primo VE)

    Configurar reglas de normalización para recursos externos (Primo VE)

    1. Last updated
    2. Save as PDF
    3. Share
      1. Share
      2. Tweet
      3. Share
    1. Usar el esquema DC expandido
      1. Mapear Tipos de recurso desde fuentes de datos externas
        1. Ejemplos
        2. Tipos de recursos admitidos en Primo VE
      2. Mapear a campos de descubrimiento locales
        1. Ejemplos
    2. Crear reglas de normalización
    3. Sintaxis de las reglas de normalización para los formatos DC y XML
      1. Condiciones
      2. Acciones
      3. Ejemplos DC
      4. Ejemplos XML
    4. Añadir registros externos a colecciones para su descubrimiento en Primo VE
    Last Updated: May 14, 2025

    Volver al menú

    Las reglas de normalización definen transformaciones que se aplican a registros de fuentes externas (DC o XML genérico) para crear los registros de Dublin Core expandidos de Primo VE para el descubrimiento. Se pueden crear las propias reglas de normalización y aplicarlas a los registros cargados externamente.

    Certificación de administración de Primo VE > Fuentes de datos externas (12 min.)

    Para obtener información sobre cómo crear reglas de normalización para registros Marc21 desde fuentes externas, véase Trabajar con reglas de normalización.

    Usar el esquema DC expandido

    El esquema expandido Dublin Core de Primo VE incluye campos de descubrimiento adicionales que se pueden rellenar según sea necesario usando reglas de normalización. Los siguientes campos son compatibles con el esquema DC expandido:

    • discovery.resourceType – Estos campos mantienen los tipos de recursos que se muestran en Primo, que pueden ser diferentes a los valores en los campos dc:type y dcterms:type que se cargan desde los registros externos. Para más información, véase Mapear tipos de recursos desde fuentes de datos externas.

    • discovery.local1 hasta discovery.local50 – Estos campos contienen información adicional que puede usar para mostrar información adicional de la fuente y como índice de búsqueda. Para más información, véase Mapear a campos de descubrimiento locales.

    Mapear Tipos de recurso desde fuentes de datos externas

    Debido a que los valores de los tipos de recursos Dublin Core pueden ser cualquiera y pueden no coincidir con los códigos admitidos que se usan en Primo VE, es posible que sea necesario mapear el tipo de recurso desde el campo dc:type o dcterms:type del registro fuente para un código de tipo de recurso admitido en Primo VE (véase Tipos de recurso admitidos en Primo VE) o para un tipo de recurso local definido en Primo VE (véase Configurar tipos de recursos para Primo VE).

    Se puede usar cualquiera de los siguientes métodos para mapear los tipos de recursos a Primo VE:

    • Crear reglas de normalización que sustituyen el valor del campo dc:type o dcterms:type correspondiente.

    • Crear reglas de normalización que mapean un valor de tipo de recurso al campo discovery:resourceType y dejan el campo DC original tal como está.

    • Añadir mapeos de tipos de recursos a la tabla de mapeo Mapear tipo Dublin Core a tipo Descubrimiento. Para más información, véase Usar la tabla de mapeo para mapear tipos de recursos.

    Primo VE determina el tipo de recurso de un registro en base a la existencia de los siguientes campos en orden:

    1. campo discovery:resourceType

    2. campo dcterms:type

    3. Campo dc:type

    Si el procesamiento continúa a los ejemplares 2 y 3, el sistema compara el valor de un ejemplar con los mapeos en la tabla de mapeo Mapear tipo Dublin Core a tipo Descubrimiento. Si se encuentra una coincidencia, el valor coincidente en la tabla de mapeo se usa y se guarda en el campo discovery:resourceType. Si no se encuentra ninguna coincidencia y la tabla de mapeo tiene un valor por defecto, se usa el valor por defecto. En caso contrario, el sistema usa el valor del campo DC tal cual.

    Ejemplos

    Para más información sobre crear reglas de normalización, véase Crear reglas de normalización.

    El siguiente ejemplo mapea el tipo de recurso de Procedimientos en dc:type a un código admitido en Primo VE.

    Se pueden mapear distintos tipos de recursos en la fuente (tales como Póster y Fotografía) al mismo tipo de recurso (tal como imagen) en Primo VE.


    regla "desde dc:type A hasta discovery:type B"

    when

    "dc"."type" es igual a "Procedimientos"

    entonces

    set "conference_proceedings" in "discovery"."resourceType"

    end


    El siguiente ejemplo mapea el tipo de recurso LibGuides en dcterms:type a un nuevo tipo de recurso local que tiene que definirse en Primo VE.

    Si el tipo de recurso local se ha definido como LibGuides en Primo VE, la siguiente regla de normalización no sería necesaria, y el sistema simplemente usaría el tipo de recurso que fue mapeado a dcterms:type en Primo VE.


    regla "desde dcterms:type A hasta discovery:type B"

    cuando

    "dcterms"."type" es igual a "LibGuides"

    then

    configurar "library_guides" en "disvovery"."resourceType"

    fin


    Tipos de recursos admitidos en Primo VE

    La tabla a continuación enumera los códigos de tipos de recursos admitidos por Primo VE. Se deben mapear los valores de su fuente a uno de los códigos admitidos o a un tipo de recurso local (si es necesario). Para más información sobre cómo modificar tipos de recursos de sistema, véase Configurar tipos de recursos para Primo VE.

    Tipos de recursos admitidos en Primo VE
    Código de tipo de recurso Mostrar nombre
    archival_material_manuscript Material de archivo/Manuscrito
    materiales_de archivo Material de archivo
    artículos Artículo
    audios Audio
    libros Libro
    libro_capítulos Capítulo Libro
    colección Colección
    computer_file Fichero del ordenador
    conferencia_procedimientos Procedimiento de la conferencia
    bases de datos Base de datos
    conjunto de datos Conjunto de datos
    disertaciones Disertación
    documentos_oficiales Documento oficial
    imágenes Imagen
    revistas Revista
    kits Kit
    documentos_legales Documento legal
    manuscritos Manuscrito
    revista Revista
    magazinearticle Artículo de revista
    mapas Mapa
    market_research Búsqueda de mercado
    microform Microforma
    newsletterarticle newsletterarticle
    periódicos Periódico
    periódico_artículos Artículos de periódico
    otro Otro
    patentes Patente
    questionnaire Cuestionario
    realia Realia
    referencia_entradas Entrada de referencia
    informes Informe
    investigación_conjuntos de datos Conjunto de datos de investigación
    reseñas Reseña
    puntuaciones Puntuación
    standard Estándar
    texto_recursos Recurso de texto
    vídeos Vídeo
    web_resource Recurso web
    sitio web Sitio web

    Mapear a campos de descubrimiento locales

    El esquema expandido de Dublin Core para Primo VE le permite mapear información a los siguientes campos, que se rellenan durante la carga de registros: discovery.local1 - discovery.local50. Después que se cargan los registros, Primo VE puede usar los campos locales para mostrar información adicional en los despliegues breves y completos de un registro, y también los puede usar como campos de búsqueda. Los campos locales son particularmente útiles para mapear campos DC no estándares que no se cargan por defecto durante la importación a Primo VE.

    Cuando se use un campo de descubrimiento local, también se debe configurar su campo de despliegue local con un nombre similar. Por ejemplo, si se ha creado una regla de normalización para discovery.local2, también se debe definir el campo de despliegue local Local_field_02, y asegurarse de que se selecciona la casilla de verificación Usar el campo local paralelo 01/50 desde el registro Dublin Core. Para más información, véase Configurar despliegue local y campos de búsqueda para Primo VE.

    Ejemplos

    Editar sección

    Para más información sobre crear reglas de normalización, véase Crear reglas de normalización.

    El siguiente ejemplo mapea el valor en dc:relation al campo local 1 en Primo VE.


    regla "mover relación a campo local 1"

    cuando

    existe "dc"."relation"

    entonces

    move "dc"."relation" to "discovery"."local1"

    fin


    El siguiente ejemplo define el valor del campo local 2 a Investigación interna por cada registro procesado.


    regla "definir campo local 2 para investigación interna"

    cuando

    True

    entonces

    configurar "Internal Research" en "discovery"."local2"

    end


    Crear reglas de normalización

    El Editor MD le permite crear reglas de normalización, que se usan para personalizar la transformación de registros externos (ya sea Dublic Core o XML genérico) al formato Dublin Core extendido de Primo VE para el descubrimiento. Para fuentes externas que utilicen el formato MARC21, Primo VE asigna estos registros al formato Alma-MARC21 para el descubrimiento. Una vez creadas las reglas, se pueden añadir según sea necesario a los procesos de reglas de normalización, que pueden asignarse posteriormente a perfiles de importación. Para más información, véase Crear un proceso de regla de normalización.

    Para trabajar con reglas de normalización, debe tener uno de los siguientes roles:
    • Administrador del catálogo
    • Gestor de catálogo
    • Catalogador

    Certificación de administración de Primo VE: Fuentes de datos externas (12 min.)

    Para añadir un fichero de reglas de normalización para fuentes externas:
    1. Abrir el Editor MD (Menú de Configuración > Descubrimiento > Cargar fuentes de datos externas > Reglas de normalización para fuentes de datos externas).

    2. Seleccione la pestaña Reglas > Reglas de normalización (Descubrimiento) y compruebe las reglas existentes para ver si una regla existente se puede modificar o usar como base para su nueva regla.

      PVE_MD_Editor_NR_ExtDataSrc_newMDE.png

      Pestaña Reglas
    3. Cree una nueva regla al seleccionar Fichero > Nuevo > Normalización (Descubrimiento) para reglas DC/XML o Fichero > Nuevo > Normalización para reglas MARC21, lo cual depende del formato de los ficheros de importación de Descubrimiento que esté recibiendo de la fuente externa.

      PVE_NewDCRule2.png

      Configurar las propiedades del fichero de reglas de normalización
    4. Especificar las siguientes propiedades y después clicar en Guardar:

      • Nombre: especifique un nombre identificable para el fichero de reglas, que puede contener tipos de reglas relacionadas.

        Este campo no puede contener comillas sencillas ni dobles: “, ”, ", ‘, ’, y '.

      • Descripción: introduzca texto para describir el contenido de su fichero de reglas.

      • Tipo - Seleccione DC, XML o Drool (reglas de normalización MARC21 únicamente).

      • Nivel de acceso: Seleccione una de las siguientes ubicaciones de subcarpetas: Privado (solo para su uso y no se puede incluir en un proceso de normalización) o Compartido (fichero de reglas público).

    5. Añadir sus reglas al panel del editor. Para obtener más información, consulte Sintaxis de las reglas de normalización (DC y XML genérico) oTrabajar con reglas de normalización(MARC21).

      PVE_ME_EditRule_newMDE.png

      Panel del editor de reglas de normalización
    6. Seleccionar Vista preliminar. La regla o las reglas en el fichero se aplican a los registros especificados y se muestra el resultado.

    7. Seleccionar Guardar y probar usando registro externo debajo del panel editor.

    Sintaxis de las reglas de normalización para los formatos DC y XML

    Los ficheros de reglas contienen una o más reglas, que a su vez contienen una o más condiciones seguidas por una o más acciones.

    Para más información sobre la sintaxis de las reglas de normalización para fuentes MARC21 externas, vea Sintaxis de las reglas de normalización, la cual es diferente de la sintaxis usada para definir las reglas de normalización para el despliegue MARC y los campos locales que son mapeados desde registros bibliográficos gestionados por Alma.

    La sintaxis siguiente se usa para cada regla en el fichero:


    rule "<rule name>"
    cuando
    <condition 1>
    <condition 2>
    ...
    entonces
    <action 1>
    <action 2> [if <condition>]
    ...
    fin

    Condiciones

    Una regla puede contener una o más condiciones que se aplican a campos y valores específicos en el registro fuente. Si se cumplen todas las condiciones, la regla se aplica al registro. En caso contrario, la regla no se aplica y el registro se deja sin cambios. Cada condición debe incluir una de las siguientes palabras clave:

    • verdadero – Aplica incondicionalmente la regla a todos los registros.

    • existe – Aplica la regla cuando existe un campo específico.

    • no existe: se aplica la regla cuando no existe un campo específico.

    • es igual a – Aplica la regla cuando concuerda el contenido completo del campo específicado.

    • no es igual – Aplica la regla cuando no concuerda el contenido completo del campo especificado.

    La siguiente tabla ofrece un ejemplo para cada tipo de condición.

    Condiciones DC y XML
    Sintaxis Ejemplo
    Condiciones generales:

    verdadero

    verdadero

    Condiciones DC:

    exist "{namespace}"."{field}

    existe "dc"."description"

    exist "{namespace}"."{field}"\("{xsiType}"\)

    existe "dc"."identifier"("dcterms:ISBN")

    "{namespace}"."{field}" equals "{value}"

    "dc"."identifier" es igual a "deporte"

    "{namespace}"."{field}"\("{xsiType}"\) equals "{value}"

    "dc"."identifier"("dcterms:ISBN") es igual a "deporte"

    "{namespace}"."{field}" not equals "{value}"

    "dc"."identifier" no es igual a "deporte"

    "{namespace}"."{field}"\("{xsiType}"\) not equals "{value}"

    "dc"."identifier"("dcterms:ISBN") no es igual a "deporte"

    Condiciones XML:

    "xpathExpression" equals "value"

    "ino:object/viaRecord/recordId" es igual a "probar"

    "xpathExpression" not equals "value"

    "ino:object/viaRecord/recordId" no es igual a "probar"

    exist "xpathExpression"

    existe "ino:object/viaRecord/recordId"

    not exist "xpathExpression"

    no existe "ino:object/viaRecord/recordId"

    Acciones

    Se pueden aplicar acciones a campos únicos en base a las condiciones especificadas en la regla. Si se cumplen todas las condiciones, las acciones se aplican al registro en el orden en que aparecen en la lista. Cada acción debe incluir una de las siguientes palabras clave:

    • copiar – Copia el valor de un campo a otro campo.

    • mover – Mueve el valor de un campo a otro campo.

    • eliminar – Elimina el valor de un campo.

    • definir – Define el valor de un campo directamente.

    En algunos casos, se puede añadir la condición si es igual a <value> a las acciones anteriores para aplicar cambios de reglas solo en valores coincidentes específicos.

    La siguiente tabla ofrece un ejemplo para cada tipo de acción.

    • Los valores de cadena (tales como los especificados para el título de la regla y y la transformación añadir prefijo) no pueden contener el separador de subcampo $$.

    Acciones DC y XML
    Sintaxis Ejemplo
    Acciones DC:

    copy "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier"("dcterms:ISBN") a "dc"."title"("dcterms:ISBN")

    copy "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier"("dcterms:ISBN") a "dc"."title"

    copy "{namespace}"."{field}" to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier"("dcterms:ISBN") a "dc"."title"("dcterms:ISBN")

    copy "{namespace}"."{field}" to "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier" a "dc"."title"

    copy "{namespace}"."{field}"({"xsiType"}) if equals "{value}" to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    copy "{namespace}"."{field}"({"xsiType"}) if equals "{value}" to "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"

    copy "{namespace}"."{field}" if equals "{value}" to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier" si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    copy "{namespace}"."{field}" if equals "{value}" to "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier" ") si es igual a "deporte" para "dc"."title"

    move "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier"("dcterms:ISBN") a "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier"("dcterms:ISBN") a "dc"."title"

    move "{namespace}"."{field}"  to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier" a "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}"  to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier" a "dc"."title"

    move "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}"({"xsiType"}) if equals "{value}"  to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"

    move "{namespace}"."{field}" to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier" si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}" if equals "{value}" to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier" si es igual a "sport" para "dc"."title"

    remove "{namespace}"."{field}" if equals "{value}"

    eliminar "dc"."identifier" ") si es igual a "deporte"

    remove "{namespace}"."{field}"({"xsiType"}) if equals "{value}"

    eliminar "dc"."identifier"("dcterms:ISBN") si es igual a "deporte"

    remove "{namespace}"."{field}"({"xsiType"})

    eliminar "dc"."identifier"("dcterms:ISBN")

    remove "{namespace}"."{field}"

    eliminar "dc"."identifier"

    set "{value}" in "{namespace}"."{field}"({"xsiType"})

    definir "sport" en "dc"."identifier"("dcterms:ISBN")

    set "{value}" in "{namespace}"."{field}"

    definir "deporte" en "dc"."identifier"

    set "{namespace}"."{field}" to TEMP"{i}"

    set "dc"."identifier" to TEMP"1"

    set "{namespace}"."{field}"("{xsiType}") to TEMP"{i}"

    set "dc"."identifier"("dcterms:ISBN") to TEMP"1"

    set TEMP"{i}" to dc value "{namespace}"."{field}"

    set TEMP"1" to dc value "dc"."identifier"

    set TEMP"{i}" to dc value "{namespace}"."{field}"("{xsiType}")

    set TEMP"1" to dc value "dc"."identifier"("dcterms:ISBN")

    Acciones XML: (Para más información, véase Estándares W3C XPATH.)

    copy "concat ({xpathExpression},' ',{xpathExpression})" to "{namespace}"."{field}"

     

    • La palabra clave concat es una función XPATH que representa una de las muchas funciones XPATH que se pueden usar dentro de las acciones XML.
    • Debido a la dependencia en Java, solo admitimos funciones provistas de XPATH versión 1.0.

    copy "concat(//person[@pers_role='pau']/name/first/text(),' ',//person[@pers_role='pau']/name/last/text())" to "dc"."creator"

    copy "xpathExpression" to "newTagNameSpace"."newTagField"({"xsiType"})

    copiar "ino:object/viaRecord/isbn" a "dcterms"."title"("dcterms:ISBN")

    copy "xpathExpression" to "newTagNameSpace"."newTagField"

    copiar "ino:object/viaRecord/isbn" a "dcterms"."title"

    • copy all "{xpathExpression}"\("{separator}"\) to "{newTagNameSpace}"."{newTagField}"

    • copy all "{xpathExpression}"\("{separator}"\)("{newXsiType}"\) to "{newTagNameSpace}"."{newTagField}"

    La acción copiar todo le permite importar más de una instancia de un campo (como autor o ISSN) en función de un separador específico. Para utilizar esta acción, debe crear una regla de normalización por cada instancia del campo que desee admitir.

    El siguiente ejemplo le permite importar un máximo de tres autores por cada registro:

    rule "Rule for creator1"

         cuando

              exist "//*[local-name()='Item']/*[local-name()='Item']/*[local-name()='Component']/*[local-name()='Resource']/*[local-name()='mods']/*[local-name()='name' and @type='personal'][1]/child::*[local-name()='namePart']"

         then

              copiar todo "//*[local-name()='Item']/*[local-name()='Item']/*[local-name()='Component']/*[local-name()='Resource']/*[local-name()='mods']/*[local-name()='name' and @type='personal'][1]/child::*[local-name()='namePart']/text()"(", ") to "dc"."creator"

    fin

     

    regla "Rule for creator2"

         when

              exist "//*[local-name()='Item']/*[local-name()='Item']/*[local-name()='Component']/*[local-name()='Resource']/*[local-name()='mods']/*[local-name()='name' and @type='personal'][2]/child::*[local-name()='namePart']"

         entonces

              copiar todo "//*[local-name()='Item']/*[local-name()='Item']/*[local-name()='Component']/*[local-name()='Resource']/*[local-name()='mods']/*[local-name()='name' and @type='personal'][2]/child::*[local-name()='namePart']/text()"(", ") to "dc"."creator"

    end

     

    regla "Rule for creator3"

         cuando

              exist "//*[local-name()='Item']/*[local-name()='Item']/*[local-name()='Component']/*[local-name()='Resource']/*[local-name()='mods']/*[local-name()='name' and @type='personal'][3]/child::*[local-name()='namePart']"

         entonces

              copiar todo "//*[local-name()='Item']/*[local-name()='Item']/*[local-name()='Component']/*[local-name()='Resource']/*[local-name()='mods']/*[local-name()='name' and @type='personal'][3]/child::*[local-name()='namePart']/text()"(", ") to "dc"."creator"

    fin

    set "value" in newTagNameSpace"."newTagField"({"xsiType"})

    establecer "whatever" en "dcterms"."title"("dcterms:ISBN")

    set "value" in newTagNameSpace"."newTagField"

    set "whatever" in "discovery"."local1"

    set TEMP"{i}" in "{newTagNameSpace}"."{newTagField}"

    set TEMP"2" in "dcterms"."title"

    set TEMP"{i}" in "{newTagNameSpace}"."{newTagField}"("{xsiType}")

    set TEMP"1" in "dcterms"."title"("dcterms:ISBN")

    set TEMP"{i}" to xPath "{xpathExpression}"

    set TEMP"3" to xpath "//datafield[@tag='identifier']"

    establecer lista TEMP"{i}" en "{newTagNameSpace}"."{newTagField}"

    (Nuevo en mayo de 2025)

    set TEMP"1" in "dc"."language"

    Acciones de transformación: Estas operaciones pueden utilizarse para transformar los datos de la variable TEMP "i" tanto para DC como para XML genérico.

    eliminar subsecuencia usando regex – Esta acción elimina una subsecuencia del contenido de un campo temporal al usar una expresión regular especificada. Formato válido:

    eliminar subsecuencia utilizando regex (TEMP"{i}","< Java_regex >")

    remove substring using regex (TEMP"1","(/|:|;|=|,)+$")

    concatenar con delimitador – Esta acción concatena los contenidos de dos campos temporales y los separa con un delimitador. El resultado aparece en el primer campo temporal. Formato:

    concatenate with delimiter (TEMP"{i}",TEMP"{i}","<delimiter>")

    concatenate with delimiter (TEMP"1",TEMP"2","")

    añadir prefijo – Esta acción añade el valor especificado al principio del campo temporal. Formato válido:

    add prefix (TEMP"{i}","<value>")

    Para añadir el separador de subcampo $$Q al comienzo de un campo temporal:

    añadir prefijo (TEMP"2","$Q")

    añadir prefijo (TEMP"2","$")

    añadir sufijo- Esta acción añade el valor especificado al final del campo temporal. Formato válido:

    add suffix (TEMP"{i}","<value>")

    Para añadir el separador de subcampo $$Q al final de un campo temporal:

    añadir sufijo (TEMP"2","$")

    añadir sufijo (TEMP"2","$Q")

    reemplazar secuencia por secuencia – Esta acción reemplaza todas las instancias de una expresión regular con un valor especificado. Formato válido:

    replace string by string (TEMP"{i}","<Java_regex>","<string>")

    replace string by string (TEMP"1","[^0-9]","\\?")

    devolver lista usando regex – Esta acción busca todas las instancias de una expresión regular en el segundo campo temporal y las copia como una lista en el primer campo temporal. Formato válido:

    return list using regex (TEMP"{i}",TEMP"{i}","<Java_regex>")

    return list using regex (TEMP"1",TEMP"2","[a-z]{3}")

    eliminar secuencia – Esta acción elimina una secuencia especificada de un campo temporal. Formato válido:

    remove string (TEMP"{i}","<value>")

    remove string (TEMP"1","<<")

    eliminar espacios iniciales y finales – Esta acción elimina los espacios iniciales y finales de un campo temporal. Formato válido:

    remove leading and trailing spaces (TEMP"{i}")

    eliminar los espacios iniciales y finales (TEMP"1")

    reemplazar espacios – Esta acción reemplaza todos los espacios en un campo temporal con un carácter especificado o una secuencia especificada. Formato válido:

    replace spaces (TEMP"{i}","<string>")

    replace spaces (TEMP"1"," ")

    minúscula – Esta acción cambia todas las letras de un campo temporal a minúscula. Formato válido:

    lower case (TEMP"{i}")

    lower case (TEMP"1")

    Ejemplos DC

     

     
    regla "add OA indication"
    cuando
    True
    entonces
    establecer "Unrestricted online access" en "dcterms"."accessRights"
    end

     
    regla "move description"
    cuando
    existe "dc"."description"
    entonces
    mover "dc"."description" a "dcterms"."description"
    fin

     
    regla "mover identificador ISBN"
    cuando
    existe "dc"."identifier"("dcterms:ISBN")
    then
    mover "dc"."identifier"("dcterms:ISBN") a "dcterms"."identifier"("dcterms:ISBN")
    fin

     
    regla "mover identificador igual a deporte"
    cuando
    "dc"."identifier"("dcterms:ISBN") equals "sport1111"
    entonces
    mover "dc"."identifier"("dcterms:ISBN") a "dcterms"."identifier"("dcterms:ISBN")
    end

     
    regla "identificador dc no not equals sport"
    cuando
    "dc"."identifier"("dcterms:ISBN") no es igual a "deporte"
    entonces
    mover "dc"."title" a "dcterms"."description"
    fin

     
    regla "desde dc:type A a discovery:type C"
    cuando
    "dc"."type" equals "Photograph"
    then
    definir "imágenes" en "discovery"."resourceType"
    fin

     
    regla "from dc:type A to discovery:type D"
    cuando
    "dc"."type" equals "Poster"
    entonces
    definir "imágenes" en "discovery"."resourceType"
    fin

    Ejemplos XML

     

     
    regla "enlace a recurso"
    cuando
    true
    entonces
    copiar "//*[local-name()='dc']/*[local-name()='identifier'][starts-with(., 'https://www.e.myInst')]/." a "dc"."fuente"
    fin

     
    regla "Copy identifier"
    cuando
    existe "ino:object/viaRecord/recordId"
    then
    copiar "ino:object/viaRecord/recordId" a "dc"."identifier"
    end

     

    rule "copy first title"
    cuando
    true
    then
    copiar "(//title/textElement)[1]" a "dc"."title"
    fin

     

    regla "copy all titles"
    when
    true
    then
    copiar "(//title/textElement)" a "dcterms"."title"
    end

     

    rule "creator"
    cuando
    existe "ino:object/viaRecord/work/creator/nameElement"
    then
    copiar "ino:object/viaRecord/work/creator/nameElement" a "dc"."creator"
    end

     

    regla "es igual a inglés"
    cuando
    "ino:object/viaRecord/work/lang/textElement" es igual a "eng"
    then
    set "English" in "dc"."language"
    end

     

    regla "definir Constante"
    cuando
    true
    entonces
    set "test subject" in "dc"."subject"
    end

    # Este ejemplo extrae todos los valores individuales de idioma de un único campo. La instrucción regex encuentra una secuencia formada por una letra minúscula seguida de uno a tres dígitos, pero solo cuando esta secuencia va precedida inmediatamente por la palabra idioma.

    rule "Return List using Regex"
        when
        exist "//*[local-name()='subject'][contains(text(),' language ')]" AND not exist "//*[local-name()='language'[@type='austlang']/text()"
        then
            set TEMP"2" to xpath "//*[local-name()='subject'][contains(text(),' language ')]"
            lower case (TEMP"2")
            return list using regex (TEMP"1",TEMP"2","(?<=language\\s+)([a-z]\\d{1,3})(?=\\D|$)")
            set list TEMP"1" in "dc"."language"
    end

    # Resultado de ejemplo:

    <record xmlns:xsi="http://www.w3.org/2001/>
    <dc:language>y57</dc:language>
    <dc:language>y69</dc:language>
    <dc:language>y73</dc:language>
    <dc:language>y72</dc:language>
    <dc:language>y43</dc:language>
    <dc:language>y51</dc:language>
    <dc:language>y59</dc:language>
    </record>

    Añadir registros externos a colecciones para su descubrimiento en Primo VE

    La tabla de mapeo Colecciones para registros externos (Configuración > Descubrimiento > Cargar fuentes de datos externas > Colecciones para registros externos) es una tabla de búsqueda, donde cada fila vincula un registro externo a una colección de Alma. Para mostrar las migas de pan de la colección y el enlace Más de la misma colección en la página del registro completo y para mostrar registros externos en las páginas de la colección en Primo VE, debe crear una regla de normalización que importe esta información de enlace a Primo VE. Para obtener más información, consulte Añadir registros externos a colecciones para su descubrimiento.

    View article in the Exlibris Knowledge Center
    1. Back to top
      • Configurar perfiles de importación para Primo VE
      • Crear procesos de normalización para fuentes de datos externas
    • Was this article helpful?

    Recommended articles

    1. Article type
      Topic
      Content Type
      Documentation
      Language
      Español
      Product
      Primo
    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