WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

XSLTransform

Use o nó do XSLTransform para transformar uma mensagem XML em outro formato de mensagem, de acordo com as regras fornecidas por uma folha de estilo XSL (Extensible Stylesheet Language) e para configurar o Domínio de Mensagem, Conjunto de Mensagens, Tipo de Mensagem e Formato da Mensagem para a mensagem gerada.

Anteriormente, este nó era conhecido como o nó XMLTransformation.

Este tópico contém as seguintes seções:

Finalidade

Você pode especificar o local da folha de estilo a ser aplicada a essa transformação de três maneiras:

  • Utilize o conteúdo dos dados XML da própria mensagem para transformá-la de acordo com uma folha de estilo definida pela própria mensagem.
  • Configure um valor na pasta LocalEnvironment. É necessário configurar este valor em um nó que preceda o nó XSLTransform (por exemplo, um nó Compute). Portanto, é possível utilizar várias entradas para determinar qual folha de estilo utilizar para essa mensagem, como o conteúdo dos dados da mensagem ou um valor em um banco de dados.
  • Utilize as propriedades do nó para assegurar-se de que a transformação definida por essa única folha de estilo seja aplicada a cada mensagem processada por esse nó.

Será utilizado um compilador XSLT (Extensible Stylesheet Language for Transformations) para a transformação se a folha de estilo não estiver incorporada na mensagem e o nível de cache do nó (propriedade do nó Nível de Cache da Folha de Estilo) for maior do que zero. Se o XSLT for armazenado em cache, o desempenho será melhorado porque o XSLT não será analisado toda vez que for utilizado.

Se o prólogo do corpo da mensagem de entrada contiver uma declaração de codificação XML, o nó XSLTransform ignorará a codificação e sempre utilizará CodedCharSetId na pasta de propriedade de mensagem para decodificar a mensagem.

O nó XSLTransform está contido no repositório Transformação da paleta e é representado no WebSphere Message Broker Toolkit pelo seguinte ícone:

 Ícone do nó XMLTransformation

Utilizando este nó em um fluxo de mensagens

Para obter um exemplo de como utilizar esse nó, considere duas organizações de notícias que trocam informações regularmente. Uma pode ser uma estação de televisão e outra um jornal. Embora as informações sejam semelhantes, o vocabulário utilizado pelas duas é diferente. Este nó pode transformar um formato em outro, aplicando as regras da folha de estilo especificada. Se você especificar a folha de estilo na mensagem (os dados XML ou Ambiente Local), o mesmo nó poderá desempenhar as duas transformações.

Você não pode utilizar as entidades externas de caminho relativo que são definidas no DTD de mensagens de entrada (por exemplo, <!DOCTYPE note [<!ENTITY chap1 SYSTEM "chap1.xml">]>). Utilize uma definição de caminho absoluto.

O nó do XSLTransform suporta várias variáveis da árvore de mensagens do ambiente local, que você pode usar para alterar dinamicamente os valores que são configurados nas propriedades do nó. Para obter mais detalhes, consulte Usando Variáveis de Ambiente Locais para Configurar Propriedades.

É possível usar folhas de estilo de duas maneiras diferentes com o nó do XSLTransform. Para obter mais detalhes, consulte Folhas de Estilo Implementadas e Não Implementadas.

Se você tiver mensagens XML grandes e receber um erro sem memória, utilize o comando mqsireportproperties para ver o valor atual do tamanho de Heap Java™ para o mecanismo XSLT:
mqsireportproperties brokerName -e executionGroupLabel 
                                 -o ComIbmJVMManager -n jvmMaxHeapSize
Utilize o comando mqsichangeproperties para aumentar o tamanho de Heap Java:
mqsichangeproperties brokerName -e executionGroupLabel 
                                 -o ComIbmJVMManager -n jvmMaxHeapSize -v newSize
Nos exemplos anteriores, substitua brokerName, executionGroupLabel e newSize pelos valores apropriados.

O valor escolhido para newSize depende da quantidade de memória física de seu computador e da quantidade de Java que está sendo utilizada. Um valor no intervalo de 512 MB (536870912) a 1 GB (1073741824) em geral é suficiente.

Examine a seguinte amostra para obter detalhes adicionais sobre como utilizar o nó XSLTransform:

Você só pode visualizar informações sobre amostras quando usa o centro de informações que está integrado ao WebSphere Message Broker Toolkit ou o centro de informações on-line. Você só poderá executar amostras quando usar o centro de informações que está integrado ao WebSphere Message Broker Toolkit.

Configurando o Nó XSLTransform

Quando tiver colocado uma instância do nó XSLTransform em um fluxo de mensagens, você poderá configurá-lo; consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades.

Todas as propriedades obrigatórias para as quais é necessário digitar um valor (aquelas que não têm um valor padrão definido) são marcadas com um asterisco.

Terminais e Propriedades

Os terminais do nó XSLTransform são descritos na tabela a seguir.

Terminal Descrição
Entrada O terminal de entrada que aceita a mensagem para processamento pelo nó.
Defeito O terminal de saída para o qual a mensagem original será roteada se for detectado um erro durante a transformação.
Saída O terminal de saída para o qual a mensagem transformada com êxito será roteada.

As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco caso seja necessário digitar um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (você poderá alterar o valor quando incluir o fluxo de mensagens ao arquivo BAR para implementá-lo).

As propriedades Descrição do nó XSLTransform são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Nome do Nó Não Não O tipo de nó O nome do nó.
Short description Não Não   Uma breve descrição do nó.
Descrição Longa Não Não   Texto que descreve a finalidade do nó no fluxo de mensagens.

As propriedades Folha de Estilo do nó XSLTransform são descritas na tabela a seguir.

Propriedade M C Padrão Descrição Propriedade do Comando mqsiapplybaroverride
Nome da folha de estilo Não Sim   O nome da folha de estilo, que é usado se a especificação de folha de estilo for procurada nas propriedades do nó. Para especificar uma folha de estilo usando propriedades do nó, insira o valor necessário para Nome da Folha de Estilo.
Especifique uma folha de estilo principal utilizando um dos seguintes métodos:
  • Clique em Procurar próximo a Nome da Folha de Estilo. A folha de estilo principal identificada e todas as suas folhas de estilo descendentes referenciadas são incluídas automaticamente no arquivo BAR quando você inclui um fluxo de mensagens em um arquivo BAR (se elas e suas folhas de estilo pai estiverem disponíveis).
  • Para identificar uma folha de estilo já implementada, ou pronto para ser implementada, utilize a propriedade Nome da Folha de Estilo e deixe em branco a propriedade Diretório da Folha de Estilo.
  • No editor Fluxo de Mensagens, arraste o arquivo .xslt para o nó XSLTransform; o Nome da Folha de Estilo é definido automaticamente.
stylesheetName

As propriedades Avançadas do nó XSLTransform são descritas na tabela a seguir.

Propriedade M C Padrão Descrição Propriedade do Comando mqsiapplybaroverride
Diretório da folha de estilo Não Sim   O caminho em que a folha de estilo está localizada. Esse caminho é utilizado por todos os métodos de local.

Se a identificação da folha de estilo for completa, a propriedade Diretório da Folha de Estilo será ignorada; caso contrário, o valor que você configurar nesta propriedade será incluído no início da especificação, independentemente de onde ele está localizado.

stylesheetPath
Nível de cache da folha de estilo Não Não 5 O número de folhas de estilo compiladas ou analisadas que estão armazenadas nessa instância do nó.

Insira um número inteiro positivo entre zero (0) e 100. O valor-padrão é 5. Se configurar esta propriedade para zero (0), nenhuma folha de estilo será armazenada no cache, e as folhas de estilo são interpretadas em vez de compiladas. Se seu fluxo de mensagens não configurar a folha de estilo dinamicamente usando o ambiente local, a mesma folha de estilo será usada sempre e qualquer valor maior que zero assegurará que ela seja compilada. Se seu fluxo de mensagens configurar a folha de estilo dinamicamente, você poderá ajustar o valor para melhorar o desempenho. Se você configurar esta propriedade com um caractere diferente de um número inteiro positivo, uma mensagem de erro de exceção de configuração de fluxo será emitida.

O cache da folha de estilo é mantido durante a existência do nó e será limpo quando o nó for excluído do fluxo, quando o fluxo for excluído ou quando o grupo de execução for parado.

Se você alterar uma folha de estilo em cache (reimplementando ou substituindo o arquivo no sistema de arquivos), o nó XSLTransform que está mantendo o cache substituirá a versão em cache pela versão modificada (mais recente) antes do processamento de uma nova mensagem. Se uma folha de estilo implementada for reimplementada ou uma folha de estilo externa for substituída em um sistema de arquivos, a atualização será detectada, mas não será possível substituir uma folha de estilo implementada em um arquivo BAR alterando a folha de estilo implementada no disco. Para alterar uma folha de estilo implementada em um arquivo BAR, você deve reimplementar o arquivo BAR. Se você estiver alterando diversas folhas de estilos, pare os fluxos de mensagens relevantes antes de fazer quaisquer mudanças. Se você não parar os fluxos de mensagens relevantes antes de fazer as alterações, a ordem das alterações não poderá ser garantida executando os fluxos de mensagens e poderá causar incompatibilidade entre as folhas de estilo alteradas. Utilize o comando mqsireload para recarregar uma folha de estilo; entretanto, esse comando não evita incompatibilidade.

Considere o desempenho quando configurar esta propriedade. Geralmente, quando você configura esta propriedade com um número maior que o valor-padrão de 5, o desempenho é mais rápido porque a recompilação da folha de estilo é menos provável. Entretanto, folhas de estilo em cache usam espaço de heap da Java Virtual Machine (JVM); se você mantiver muitas folhas de estilo em cache, a JVM provavelmente será muito lenta. Além disso, se as folhas de estilo em cache não forem usadas regularmente e você configurar esta propriedade com um número grande, o desempenho poderá ser afetado porque compilar folhas de estilo aumenta o uso do processador. Portanto, para decidir sobre o valor mais adequado para esta propriedade, é necessário equilibrar quantas folhas de estilo você usa com o tamanho das folhas de estilo, o tamanho do espaço de heap da JVM e seu padrão de uso. Para obter informações adicionais sobre o espaço de heap da JVM, consulte Dimensionamento de Heap da JVM.

 

As propriedades Análise de Mensagem de Saída do nó XSLTransform são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Domínio de mensagem Não Não BLOB O domínio de mensagem associado à mensagem de saída. Para associar um analisador específico à mensagem de saída, especifique o novo domínio em Domínio de Mensagem. O valor padrão é BLOB. Esse domínio é aplicado à mensagem de saída. Como alternativa, utilize Herdar para associar o analisador que é proprietário da mensagem de entrada. XML está reprovado; use XMLNSC em substituição.

Você também pode especificar um analisador definido pelo usuário, se apropriado.

Conjunto de Mensagens Não Não   O conjunto de mensagens associado à mensagem de saída. Se estiver utilizando o analisador MRM ou o analisador XMLNSC no modo de validação, selecione o Conjunto de Mensagens que deseja utilizar. Essa lista é preenchida com os conjuntos de mensagens disponíveis quando você seleciona MRM ou XMLNSC como o domínio.

Se você configurar esta propriedade, então, subseqüentemente atualizar as dependências do projeto para remover esta referência do conjunto de mensagens, um aviso será emitido. Atualize a propriedade Conjunto de Mensagens ou restaure a referência para este projeto de conjunto de mensagens.

Tipo de mensagem Não Não   O tipo de mensagem associado à mensagem de saída. Se você estiver utilizando o analisador MRM, selecione a mensagem correta na lista em Tipo de Mensagem. Esta lista é ocupada com mensagens que estão definidas no Conjunto de mensagens que você selecionou.
Formato de Mensagem Não Não   O formato da mensagem associado à mensagem de saída. Se estiver utilizando o analisador MRM, selecione o formato físico XML para a mensagem de saída na lista em Formato da Mensagem. Esta lista inclui todos os formatos físicos que você definiu para este Conjunto de Mensagens.
Conjunto de Caracteres Não Não   O valor numérico do conjunto de caracteres para a mensagem de saída. Para especificar um conjunto de caracteres para a mensagem de saída usando propriedades do nó, especifique o valor necessário para Conjunto de Caracteres. O valor especificado deve ser numérico; por exemplo, especifique 1200 para codificar a mensagem de saída como UTF-16.

As Opções do Analisador do nó XSLTransform são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Cronometragem de análise (Parse timing) Não Não On Demand Esta propriedade controla quando uma mensagem de saída é analisada. Os valores válidos são On Demand, Imediato e Completo. Analisar Tempo é, por padrão, configurado como On Demand, o que faz com que a análise da mensagem seja atrasadas. Para que a mensagem seja analisa imediatamente, consulte Analisando On Demand.
Construir árvore utilizando tipos de dados de esquema XML Não Não Não selecionada Esta propriedade controla se o analisador XMLNSC cria elementos de sintaxe na árvore de mensagens com tipos de dados retirados do Esquema XML. Essa propriedade pode ser selecionada somente se você configurar a propriedade Validar. para Conteúdo ou Conteúdo e Valor. Para obter informações adicionais, consulte Manipulando Mensagens no Domínio XMLNSC.
Utilizar analisador compacto XMLNSC para domínio XMLNS Não Não Não Esta propriedade controla se o Analisador Compacto XMLNSC é utilizado para mensagens de saída no Domínio XMLNS. Se você definir essa propriedade, os dados de mensagem serão exibidos em XMLNSC nos nós que estão conectados ao terminal de saída quando o cabeçalho MQRFH2 de entrada ou o Domínio for XMLNS.

As propriedades Validação do nó XSLTransform são descritas na tabela a seguir. Configure as propriedades de validação para o analisador validar o corpo das mensagens em relação ao Conjunto de Mensagens. (Se uma mensagem for propagada para o terminal de falha (Failure) do nó, ela não será validada). Para obter detalhes adicionais, consulte Validando Mensagens e Propriedades de Validação.

Propriedade M C Padrão Descrição
Validar Não Sim Nenhuma Esta propriedade controla se ocorre a validação da mensagem de saída. Os valores válidos são Nenhum, Conteúdo, Conteúdo e Valor e Herdar.
Ação de falha Não Não Exceção Esta propriedade controla o que ocorre se a validação da mensagem de saída falhar. Você pode configurar esta propriedade apenas se configurar Validar como Conteúdo e Valor ou Conteúdo. Os valores válidos são Rastreio do Usuário, Registro de Erros Local, Exceção e Lista de Exceções.

As propriedades Rastreio de Detalhes do nó XSLTransform são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Configuração de rastreio Sim Não Desativado Esta propriedade foi reprovada. Em vez disso, inicie o rastreio do usuário. O rastreio do usuário contém as mesmas informações de rastreio XSL. Se você configurar esta propriedade, não afetará o rastreio do usuário.

Em versões anteriores do WebSphere Message Broker, esta ropriedade controla se o rastreio está ativado ou desativado.. Se o rastreio estiver ativado, o nível de rastreio inferior será registrado em um arquivo.

As propriedades Monitoramento do nó são descritas na tabela a seguir.
Propriedade M P Default Descrição
Eventos Não Não Nenhum Eventos definidos para o nó são exibidos nesta guia. Por padrão, nenhum evento de monitoramento é definido em um nó do fluxo de mensagens. Utilize Incluir, Editar, e Excluir para criar, alterar ou excluir eventos de monitoração no nó; consulte Configurando fontes de eventos de monitoramento utilizando propriedades de monitoramento para detalhes.

É possível ativar e desativar eventos mostrados aqui selecionando ou desmarcando a caixa de opções Ativado.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:22


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | ac12490_