Definindo e designando variáveis

Ao projetar um modelo, pode ser necessário calcular valores ou tornar os atributos de dados disponíveis em contextos nos quais eles são normalmente indisponíveis. Nessas situações, é possível definir variáveis e designar valores a elas. Os valores podem ser dados estáticos ou podem ser dados disponíveis no contexto atual.

Sobre Esta Tarefa

As variáveis podem ser utilizadas como marcadores para dados calculados no tempo de execução (designações de variáveis) ou podem ser fornecidas na especificação do documento. Diferentemente dos atributos de dados, você também pode usar variáveis em páginas master.
Existem dois tipos de variáveis:
  • Variáveis definidas pelo usuário: Variáveis definidas pelo usuário são definidas pelo designer de modelo. Uma variável definida pelo usuário pode ser interna ou externa.
    • Variáveis internas definidas pelo usuário: Especifique uma variável como interna para executar cálculos ou para armazenar temporariamente informações, como uma variável que é usada para trazer dados para as páginas master. Variáveis internas não são exibidas na especificação de documento; portanto, não é possível fornecer a elas valores.
    • Variáveis externas definidas pelo usuário: Especifique uma variável como externa quando você fornecê-la com um valor. As variáveis externas são exibidas na especificação do documento. Consulte Criando uma Especificação do Documento.
  • Variáveis de Rational Publishing Engine: Variáveis de Rational Publishing Engine são variáveis internas disponíveis para uso no modelo de documento.
    Tabela 1. Variáveis internas de Rational Publishing Engine
    Variável Descrição
    _cell_number O número da célula em uma linha atual. Se o elemento não for uma célula, o valor será 0. Você pode utilizar _cell_number da guia Expressão de dados ou Expressão de script.
    _element_id O número de elementos dentro do modelo. Mantido internamente no modelo e usado para depuração. Você pode utilizar _element_id das guias Expressão de dados ou Expressão de script.
    _element_level O nível recursivo de um elemento. Se não houver um valor configurado para o elemento na propriedade Nível recursivo na guia Dados, o valor será 1. É possível usar _element_level da guia Expressão de dados ou Expressão de script.
    _row_number O número de linhas em uma tabela atual. Se o elemento não estiver contido por um elemento de linha, o valor será 0. Você pode utilizar _row_number da guia Expressão de dados ou Expressão de script.
    _sessionInfo Informações de propriedade de tempo de execução na especificação de modelo ou documento. Na guia Expressão de script, selecione a variável _sessionInfo e insira o script. Use aspas vazias sem um valor dentro para gerar o valor padrão para a propriedade na saída. Exemplos de script:

    _sessionInfo.getDocspecProperty("property", "");
    _sessionInfo.getTemplateProperty("property", "");
    _sessionInfo.getDatasourceProperty("data_source_name","property", "");
    _sessionInfo.getOutputProperty("output_type","property", "");
    _sessionInfo.docspecVersion
    _sessionInfo.templateVersion
    _sessionInfo.engineVersion
    _sessionInfo.buildNumber

    Para getDocspecProperty, você pode utilizar propriedades de especificação existentes do documento ou propriedades para criar metadados customizados.

    _sessionLogger Para fins de depuração, é possível exibir informações customizadas, erro, aviso ou mensagens de depuração no arquivo TEMP\rpe\rpe.log, visualização Console ou visualização Problemas. As mensagens exibidas no local definido no arquivo log4j.properties.

    A configuração padrão é exibir mensagens de informações na visualização Console, mas não no arquivo rpe.log.

    Na guia Expressão de script, selecione a variável _sessionLogger e insira o script. Você pode gerar entradas de log com um dos métodos a seguir:
    1. _sessionLogger.debug(message)
    2. _sessionLogger.info(message)
    3. _sessionLogger.error(message)
    4. _sessionLogger.warn(message)

    Ao decidir o que inserir como message em seu script, considere usar um callout visual, como suas iniciais ou nome de usuário, e usar variáveis de seu modelo para fazer mensagens significativas.

    _sessionUtils Na guia Expressão de script, é possível usar essa variável para executar uma função no script chamada tidyXHTML. Essa variável é útil quando você nota blocos de espaço em branco na saída criada pela codificação XHTML inadequada. Com a variável _sessionUtils, um argumento de sequência é processado e o XHTML é limpo para que espaço em branco extra não seja exibido na saída.

    Exemplo: _sessionUtils.tidyXHTML(text);

    Ao usar a variável _sessionUtils, selecione também as opções Entrada XHTML e Saída XHTML na guia Expressão de script.
    Nota: Modelos que incluem essa variável podem ser carregados em versões mais antigas do Rational Publishing Engine, mas os scripts não podem ser avaliados corretamente.

Procedimento

  1. Na visualização Esboço, clique em Variáveis > Inserir > Nova variável. A janela Nova variável é aberta.
  2. Insira os detalhes da variável nos campos a seguir:
    1. Nome: Insira o nome da variável. O nome da variável deve usar identificadores Java™ ou JavaScript válidos que são utilizados em scripts. Regras para identificadores JavaScript:
      • Deve iniciar com uma letra, sublinhado (_), ou um sinal de dólar ($)
      • Caracteres subsequentes podem ser dígitos (0-9)
      • Letras fazem distinção entre maiúsculas e minúsculas
      • ISO 8859-1 ou letras Unicode, como å ou ü, podem ser usados
      • Sequências de escape Unicode \uXXXX como caracteres podem ser usadas
    2. Descrição: Insira a descrição para a variável.
    3. Valor padrão: Insira o valor para a variável.
    4. Acesso: Selecione se a variável é interna ou externa na lista.
      • As variáveis internas não são exibidas na especificação do documento, então você não pode fornecer valores a elas.
      • As variáveis externas são exibidas na especificação do documento e você pode fornecer valores a elas.
  3. Para designar uma variável para um elemento:
    Dica: Designe variáveis para elementos do contêiner sempre que possível. A variável é aplicada aos elementos dentro do elemento do contêiner. Por exemplo, você pode desejar usar uma variável em uma tabela para que uma nova linha seja criada para cada variável. Se você designar uma variável para o elemento de tabela, uma tabela poderá ser criada para cada variável. Às vezes essas tabelas consecutivas são mescladas, mas às vezes são exibidas como tabelas separadas. Se você incluir um elemento de contêiner na tabela e arrastar a linha para esse elemento de contêiner e designar a variável ao elemento de contêiner, uma única tabela será criada com linhas para cada variável.
    Um elemento de tabela com um elemento do contêiner. Dentro do elemento de contêiner há um elemento de linha com três elementos de célula.
    1. Clique com o botão direito no elemento e clique em Dados > Editar designações. A janela Editor de designações é aberta.
    2. Clique em Incluir. A janela Selecionar variável é aberta.
    3. Insira um nome para a variável e clique em OK.
    4. Clique em OK na janela Editor de designações.

Resultados

A variável selecionada é definida e designada ao elemento atual.

Quando você designa uma variável a um elemento, o elemento exibe um ícone ícone Designação de variável no editor de conteúdo do modelo.

Elemento de parágrafo com uma consulta e uma designação de variável

O que Fazer Depois

Dica: Você pode procurar por uma lista de designações de variáveis usadas em um elemento clicando com o botão direito no elemento ao qual a variável é designada e selecionando Procurar > Referências de variável no elemento. A visualização Procurar é aberta e uma lista de designações de variáveis é exibida. É possível clicar duas vezes em uma designação de variável nos resultados para editá-la.

Você pode procurar por uma lista de designações de variáveis, atributos e consultas usados em um elemento clicando com o botão direito em um elemento e selecionando Procurar > Todas as referências no elemento. A visualização Procurar é aberta e uma lista é exibida. É possível dar um clique duplo em um item nos resultados para editá-lo.