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:
Você pode especificar o local da folha de estilo a ser aplicada a essa transformação de três maneiras:
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:
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.
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.
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.
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.
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:
|
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. |
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. |