Definir y asignar variables

Al diseñar una plantilla, puede ser necesario calcular valores o hacer que los atributos de datos estén disponibles en contextos donde normalmente no están disponibles. En estas situaciones, puede definir variables y asignarles valores. Los valores pueden ser datos estáticos o pueden ser datos disponibles en el contexto actual.

Acerca de esta tarea

Las variables pueden utilizarse como marcadores para los datos calculados en tiempo de ejecución (asignaciones de variable) o pueden proporcionarse en la especificación de documento. A diferencia de los atributos de datos, también puede utilizar variables en páginas maestras.
Existen dos tipos de variables:
  • Variables definidas por el usuario: las variables definidas por el usuario las define el diseñador de la plantilla. Una variable definida por el usuario puede ser interna o externa.
    • Variables internas definidas por el usuario: especifique una variable como interna para realizar cálculos o para almacenar temporalmente la información, como por ejemplo una variable que se utiliza para introducir datos en las páginas maestras. Las variables internas no se muestran en la especificación de documento; por lo tanto, no puede proporcionarles valores.
    • Variables externas definidas por el usuario: especifique una variable como externa cuando se le proporcione un valor. Las variables externas se visualizan en la especificación de documento. Consulte Crear una especificación de documento.
  • Variables Rational Publishing Engine: las variables de Rational Publishing Engine son variables internas disponibles para su uso en la plantilla de documento.
    Tabla 1. Variables internas de Rational Publishing Engine
    Variable Descripción
    _cell_number El número de celda en una fila actual. Si el elemento no es una celda, el valor es 0. Puede utilizar _cell_number de la pestaña Expresión de datos o Expresión de script.
    _element_id El número de elemento dentro de la plantilla. Se mantiene internamente en la plantilla y se utiliza para la depuración. Puede utilizar _element_id de la pestaña Expresión de datos o Expresión de script.
    _element_level El nivel recursivo de un elemento. Si no hay un conjunto de valores para el elemento en la propiedad Nivel recursivo de la pestaña Datos, el valor es 1. Puede utilizar _element_level de la pestaña Expresión de datos o Expresión de script.
    _row_number El número de fila en una tabla actual. Si el elemento no está contenido en un elemento de fila, el valor es 0. Puede utilizar _row_number de la pestaña Expresión de datos o Expresión de script.
    _sessionInfo Información de propiedad de tiempo de ejecución de la plantilla o la especificación de documento. En la pestaña Expresión de script, seleccione la variable _sessionInfo y especifique el script. Utilice marcas de comillas vacías sin ningún valor dentro para generar el valor predeterminado para la propiedad en la salida. Ejemplos de script:

    _sessionInfo.getDocspecProperty("propiedad", "");
    _sessionInfo.getTemplateProperty("propiedad", "");
    _sessionInfo.getDatasourceProperty("nombre_origen_datos","propiedad", "");
    _sessionInfo.getOutputProperty("tipo_salida","propiedad", "");
    _sessionInfo.docspecVersion
    _sessionInfo.templateVersion
    _sessionInfo.engineVersion
    _sessionInfo.buildNumber

    Para getDocspecProperty, puede utilizar las propiedades de especificación de documento existentes o las propiedades de Crear metatados personalizados.

    _sessionLogger A efectos de depuración, puede visualizar información personalizada y mensajes de error, aviso o depuración en el archivo TEMP\rpe\rpe.log, la vista Consola o la vista Problemas. Los mensajes se visualizan en la ubicación que se ha definido en el archivo log4j.properties.

    El valor predeterminado es visualizar mensajes de información en la vista Consola, pero no en el archivo rpe.log.

    En la pestaña Expresión de script, seleccione la variable _sessionLogger y especifique el script. Puede generar entradas de registro con uno de los métodos siguientes:
    1. _sessionLogger.debug(mensaje)
    2. _sessionLogger.info(mensaje)
    3. _sessionLogger.error(mensaje)
    4. _sessionLogger.warn(mensaje)

    Cuando tenga que decidir qué va a especificar como mensaje en el script, se recomienda utilizar un comentario visual, como sus iniciales o su nombre de usuario, y utilizar variables de la plantilla para que los mensajes sean más significativos.

    _sessionUtils En la pestaña Expresión de script, puede utilizar esta variable para ejecutar una función en el script denominada tidyXHTML. Esta variable es muy útil cuando observa bloques de espacio en blanco en la salida que se crea debido a una codificación XHTML incorrecta. Con la variable _sessionUtils, se procesa un argumento de serie y se limpia el XHTML para que el espacio en blanco adicional no aparezca en la salida.

    Ejemplo: _sessionUtils.tidyXHTML(texto);

    Cuando utilice la variable _sessionUtils, seleccione también las opciones Entrada XHTML y Salida XHTML en la pestaña de Expresión de script.
    Nota: Las plantillas que incluyen esta variable puede cargarse en las versiones anteriores de Rational Publishing Engine, pero los scripts no pueden evaluarse correctamente.

Procedimiento

  1. En la vista Esquema, pulse Variables > Insertar > Nueva variable. Se abrirá la ventana Nueva variable.
  2. Especifique los detalles de la variable en los campos siguientes:
    1. Nombre: especifique el nombre de la variable. El nombre de la variable debe utilizar identificadores válidos Java™ o JavaScript, ya que se utilizan en scripts. Reglas para identificadores JavaScript:
      • Deben empezar por una letra, subrayado (_) o signo de dólar ($)
      • Los caracteres subsiguientes pueden ser dígitos (0-9)
      • Las letras son sensibles a mayúsculas y minúsculas
      • Pueden utilizarse caracteres ISO 8859-1 o Unicode, por ejemplo å o ü
      • Pueden utilizarse secuencias de escape Unicode \uXXXX como caracteres
    2. Descripción: especifique la descripción de la variable.
    3. Valor predeterminado: especifique el valor de la variable.
    4. Acceso: seleccione si la variable es interna o externa en la lista.
      • Las variables internas no se muestran en la especificación de documento, por lo que no puede proporcionarles valores.
      • Las variables externas se visualizan en la especificación de documento y puede proporcionales valores.
  3. Para asignar una variable a un elemento:
    Consejo: asigne variables a elementos de contenedor siempre que sea posible. La variable se aplicará a los elementos incluidos en el elemento de contenedor. Por ejemplo, es posible que desee utilizar una variable dentro de una tabla para crear una fila para cada variable. Si asigna una variable al elemento de tabla, puede que se cree una tabla para cada variable. A veces estas tablas consecutivas se fusionan, pero otras se visualizan como tablas separadas. Si añade un elemento de contenedor dentro de la tabla y arrastra la fila al elemento de contenedor y luego asigna la variable al elemento de contenedor, se creará una sola tabla con filas para cada variable.
    Un elemento de tabla con un elemento de contenedor. Dentro del elemento de contenedor se encuentra un elemento de fila con tres elementos de celda.
    1. Pulse el elemento con el botón derecho del ratón y pulse Datos > Editar asignaciones. Se abrirá la ventana Editor de asignaciones.
    2. Pulse Añadir. Se abrirá la ventana Seleccionar variable.
    3. Especifique un nombre para la variable y pulse Aceptar.
    4. Pulse Aceptar en la ventana Editor de asignaciones.

Resultados

La variable seleccionada se define y asigna al elemento actual.

Al asignar una variable a un elemento, éste muestra un icono Icono de asignación de variable en el editor de contenido de plantilla.

Elemento de párrafo con una consulta y una asignación de variable

Qué hacer a continuación

Consejo: puede buscar una lista de asignaciones de variable utilizadas en un elemento pulsando con el botón derecho del ratón el elemento al que está asignada la variable y seleccionando Buscar > Referencias de variable en el elemento. Se abrirá la vista Buscar y se visualizará una lista de asignaciones de variable. Puede efectuar una doble pulsación en una asignación de variable de los resultados para editarla.

Puede buscar una lista de asignaciones de variable, atributos y consultas utilizadas en un elemento pulsando un elemento con el botón derecho del ratón y seleccionando Buscar > Todas las referencias en el elemento. Se abrirá la vista Buscar y se visualizará una lista. Puede efectuar una doble pulsación en un elemento de los resultados para editarlo.