Este tópico contém as seguintes seções:
Utilize o nó XMLTransformation para transformar uma mensagem XML em outro formato de mensagem XML, de acordo com as regras fornecidas por uma folha de estilo XSL (eXtensible Stylesheet Language).
Você pode especificar o local da folha de estilo para aplicar esta transformação em uma de três maneiras:
Um compilador de XSLT (eXtensible Stylesheet Language for Transformations) é utilizado 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 0. Se o XSLT estiver armazenado em cache, isso fornece uma melhora de desempenho, pois o XSLT não é analisado toda vez que é utilizado.
O nó XMLTransformation é representado no workbench 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.
Consulte Amostra XMLT para obter detalhes adicionais sobre como utilizar o nó XMLTransformation.
A única exceção é, ao especificar uma folha de estilo principal como a propriedade Nome da Folha de Estilo em um nó XMLTransformation, você pode utilizar um caminho absoluto para a estrutura do diretório correto no espaço de trabalho do Eclipse. Se a folha de estilo principal for localizada, o sistema reconfigura a propriedade do nó automaticamente para o valor relativo correto. Também executa uma implementa automática da folha de estilo principal, juntamente com todas as duas folhas de estilo descendentes dependentes de local que estão disponíveis no projeto do espaço de trabalho do Eclipse relevante. Todas as referências às folhas de estilo descendentes dependentes de local (ou arquivos XML) de uma folha de estilo principal devem ser feitas em relação ao local das folhas de estilo pai. Por exemplo, se uma folha de estilo //project1/a/b.xsl fizer referência à folha de estilo //project1/a/c/d.xsl, a referência deve ser alterada para c/d.xsl (ou ./c/d.xsl).
Para implementar manualmente, inclua os arquivos a serem implementados em um broker archive (consulte Incluindo Arquivos em um Broker Archive e Incluindo Palavras-chave nas Folhas de Estilo XSL) e implemente o broker archive.
Se uma folha de estilo do diretório caminho de trabalho do intermediário/XSL/external compartilhar o mesmo caminho e nome com uma folha de estilo implementada, a folha de estilo implementada é utilizada.
Quando tiver colocado uma instância do nó XMLTransformation em um fluxo de mensagens, será possível configurá-lo. Clique com o botão direito do mouse na visualização do editor clique em Propriedades. As propriedades básicas do nó são exibidas.
Todas as propriedades obrigatórias, para as quais é necessário inserir um valor (aquelas que não possuem um valor padrão definido) são marcadas com um asterisco no diálogo das propriedades.
Configure o nó XMLTransformation da seguinte forma:
<?xml-stylesheet type="text/xsl" href="foo.xsl"?>
Como este nó estava disponível em um SupportPac para Versão 2.1 e o elemento ComIbmXslMqsiStylesheetname era utilizado para o nome da folha de estilo, o nó atual verificará os dois elementos. Se ambos estiverem presentes, o valor em ComIbmXslXmltStylesheetname terá precedência.
Você pode definir mais de uma propriedade como o mesmo valor, embora isso não seja recomendado. Se definir, a ordem de prioridade definida pelo nó será a ordem padrão indicada acima.
Se você configurar um valor de ignorar, o nó não procurará o local correspondente para a identificação da folha de estilo. Se você configurar todas as três propriedades a serem ignoradas, será gerado um erro de tempo de execução.
Se desejar especificar uma folha de estilo não implementada utilizando as propriedades do nó, digite o valor requerido para Nome da Folha de Estilo. Este valor será ignorado se as informações sobre a página de estilo forem pesquisadas e localizadas em uma localização preferida (determinada pelos valores de prioridade de seleção definidos).
Se você alterar a folha de estilo armazenada em cache (implementando novamente ou substituindo o arquivo no sistema de arquivos) o nó XMLTransformation que está contendo o cache substitui a versão armazenada em cache pela versão modificada (mais recente) antes de uma nova mensagem ser processada. No entanto, se você estiver alterando várias folhas de estilo, para os fluxos de mensagens relevantes antes de fazer quaisquer alterações. Se você não parar os fluxos de mensagens relevantes antes de fazer as alterações necessárias, a ordem das alterações não podem ser garantidas executando os fluxos de mensagens e pode haver incompatibilidade entre as folhas de estilo que foram alteradas. É possível utilizar o comando mqsireload para recarregar uma folha de estilo, mas o comando não evita incompatibilidade.
Por exemplo, para codificar a saída da transformação como UTF-8, insira o valor 1208 como uma cadeia neste elemento.
Como esse nó estava disponível em um SupportPac para a Versão 2.1 e o elemento ComIbmXslMqsiOutputcharset foi utilizado para o conjunto de caracteres de saída, o nó atual verifica os dois elementos. Se ambos estiverem presentes, o valor em ComIbmXslXmltOutputcharset terá precedência.
Se você definir um valor para Conjunto de Caracteres de Saída, o valor que você digitar deve ser numérico. Por exemplo, para codificar a saída da transformação como UTF-16, insira 1200.
Você pode definir mais de uma propriedade como o mesmo valor, embora isso não seja recomendado. Se definir, a ordem de prioridade definida pelo nó será a ordem padrão indicada acima.
Se você definir o valor 0, o nó não pesquisará o local correspondente para a identificação do conjunto de caracteres.
Se o nó não puder determinar o conjunto de caracteres de saída dessas duas origens, porque nenhum valor foi definido ou porque as prioridades de seleção estão definidas como 0, será utilizado o valor padrão 1208 (UTF8). (A especificação XSL indica que o conjunto de caracteres de saída pode ser especificado na folha de estilo; no entanto, o nó XMLTransformation ignorará este valor.)
As informações de rastreio são gravadas para um arquivo de rastreio XMLTTrace.log:
Se você definir o rastreio detalhado para um nó XMLTransformation, ele será ativado para todos os nós no grupo de execução.
Clique em Cancelar para fechar o diálogo e descartar todas as alterações feitas nas propriedades.
mqsireportproperties brokerName -e executionGroupLabel
-o ComIbmJVMManager -n jvmMaxHeapSize
mqsichangeproperties brokerName -e executionGroupLabel
-o ComIbmJVMManager -n jvmMaxHeapSize -v newSize
substituindo brokerName, executionGroupLabel
e newSize pelos valores apropriados. O valor escolhido para newSize depende da quantidade de memória física que seu computador tem e quanto está utilizando Java.
Um valor no intervalo de 512 MB (536870912) a 1 GB (1073741824) é sugerido.
Os terminais do nó XMLTransformation estão descritos na seguinte tabela.
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 (marcado com um asterisco no diálogo de propriedades 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 no arquivo bar para implementá-lo).
As propriedades da Página de Estilo do nó XMLTransformation são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Prioridade de Seleção Incorporada XML | Sim | Não | 1 | O valor de prioridade para pesquisar informações sobre localização nos dados XML. |
Prioridade de Seleção de Ambientes de Mensagens | Sim | Não | 2 | O valor de prioridade para pesquisar informações sobre localização de página de estilo na pasta Ambiente Local da mensagem atual. |
Prioridade de Seleção de Atributos do Nó do Intermediário | Sim | Não | 3 | O valor de prioridade para pesquisar informações sobre localização de página de estilo como uma propriedade do nó |
Nome da Página de Estilo | Não | Sim | O nome da folha de estilo, utilizado se a especificação da folha de estilo for procurada nas propriedades do nó. | |
Diretório da Página de Estilo | Não | Sim | O caminho em que a folha de estilo está localizada. Utilizado por todos os métodos de localização. | |
Nível de Cache da Página de Estilo | Não | Não | 5 | O número de páginas de estilo compiladas ou analisadas que estão armazenadas nesta instância do nó. |
As propriedades do Conjunto de Caracteres de Saída do nó XMLTransformation são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Prioridade de Seleção de Ambientes de Mensagens | Sim | Não | 1 | O valor de prioridade para pesquisar o ID do Conjunto de Caracteres de Saída na pasta Ambiente Local da mensagem atual. |
Prioridade de Seleção de Atributos do Nó do Intermediário | Sim | Não | 2 | O valor de prioridade para pesquisar o ID do Conjunto de Caracteres de Saída como uma propriedade do nó. |
Conjunto de Caracteres de Saída | Não | Não | O valor numérico do Conjunto de Caracteres de Saída |
As propriedades de Rastreio de Detalhes do nó XMLTransformation são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Definição de Rastreio | Sim | Não | Desativado | Determina 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 de Descrição do nó XMLTransformation são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Descrição Breve | 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. |
Se o prólogo do corpo da mensagem de entrada contiver uma declaração de codificação XML, o nó XMLTransformation ignorará essa codificação e sempre utilizará CodedCharSetId na mensagem como pasta de propriedade de mensagem para decodificar a mensagem.