Esta é a documentação do Apigee Edge.
  Acesse
     Documentação da Apigee X. informações
O que
A política de transformação XSL aplica transformações da linguagem de folha de estilo extensível (XSLT, na sigla em inglês) a mensagens XML, permitindo transformá-las do XML para outro formato, como XML, HTML ou texto simples. Geralmente, a política é usada para integrar aplicativos compatíveis com XML, mas que exigem formatos XML diferentes para os mesmos dados.
Amostras
Os exemplos a seguir mostram todos os recursos em um fluxo de transformação XSL.
Política de XSL ->
<XSL name="TransformXML"> <ResourceURL>xsl://my_transform.xsl</ResourceURL> <Source>request</Source> </XSL>
Política simples de XSL. Vá para o próximo exemplo para ver a folha de estilo GQL referenciada na
      política (my_transform.xsl). O elemento <Source> é importante.
      Por exemplo, se o XML que você quer transformar estiver na resposta, a transformação não
      ocorrerá, a menos que você defina a Origem como response (e a política estará anexada ao
      fluxo de resposta). Mas, nesse caso, o XML a ser transformado está na solicitação.
Folha de estilo GQL ->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text"/> <xsl:variable name="newline"> <xsl:text> </xsl:text> </xsl:variable> <xsl:template match="/"> <xsl:text><Life></xsl:text> <xsl:value-of select="$newline"/> <xsl:text>Here are the odd-numbered items from the list:</xsl:text> <xsl:value-of select="$newline"/> <xsl:for-each select="list/listitem"> <xsl:if test="(position() mod 2) = 1"> <xsl:number format="1. "/> <xsl:value-of select="."/> <xsl:value-of select="$newline"/> </xsl:if> </xsl:for-each> <xsl:text></Life></xsl:text> </xsl:template> </xsl:stylesheet>
A folha de estilo my_transform.xsl referenciada na política. Acesse a próxima amostra
      para ver um exemplo de uma mensagem XML recebida.
Mensagem ->
<?xml version="1.0"?> <list> <title>A few of my favorite albums</title> <listitem>A Love Supreme</listitem> <listitem>Beat Crazy</listitem> <listitem>Here Come the Warm Jets</listitem> <listitem>Kind of Blue</listitem> <listitem>London Calling</listitem> <listitem>Remain in Light</listitem> <listitem>The Joshua Tree</listitem> <listitem>The Indestructible Beat of Soweto</listitem> </list>
Exemplo de mensagem na solicitação (indicada no elemento <Source>request</Source>
      da política na primeira amostra).
Mensagem transformada
<Life> Here are the odd-numbered items from the list: 1. A Love Supreme 3. Here Come the Warm Jets 5. London Calling 7. The Joshua Tree </Life>
A mensagem transformada após a folha de estilo XSLT dessas amostras é aplicada à mensagem XML.
Referência de elemento
Configure uma política de transformação XSL usando os elementos a seguir.
| Nome do campo | Descrição | |||
|---|---|---|---|---|
| Nome (Obrigatório) | 
          Nome da política. Os caracteres que podem ser usados no nome são restritos a:
          A-Z0-9._\-$ %. No entanto, a interface de gerenciamento
aplica outras restrições,
          como a remoção automática de caracteres que não são alfanuméricos.
          
         | 
      |||
| Fonte (opcional) | 
          Contém a mensagem a partir da qual as informações precisam ser extraídas. Normalmente, esse valor é
          definido como request ou response, dependendo se a mensagem a ser
          transformada é de entrada ou de saída.
          
  | 
      |||
| OutputVariable (opcional) | 
           Uma variável que armazena a saída da transformação. A OutputVariable não pode ser do tipo Message, ou seja, não pode ser "message", "request" ou "response". Defina esse elemento como uma variável personalizada e consuma essa variável. Para substituir o conteúdo da mensagem pelo resultado da transformação, exclua esse elemento. Por exemplo, se você estiver transformando uma mensagem para HTML, não inclua esse elemento.  | 
      |||
| ResourceURL (obrigatório) | O arquivo XSLT a ser usado para transformar a mensagem. | |||
| Parâmetros (opcional) | ignoreUnresolvedVariables (opcional) | 
           
            Ignora todos os erros de variável não resolvidos nas instruções de script XSLT.
           
          
            Valores válidos: true/false
           
          
            Valor padrão: false
           
         | 
      ||
| Parâmetro (opcional) | nome (obrigatório) | 
           Os parâmetros aceitam o uso do parâmetro XSL em suas folhas de estilo, em que o nome que você adiciona
          aqui na política é o nome do parâmetro XSL. Por exemplo, se você inserir um nome
          "uid", seu XSL poderá ser semelhante a este:  O parâmetro extrai o valor dele de uma referência para uma variável de contexto (identificada pelo
          atributo  Para um exemplo e mais informações, consulte http://community.apigee.com/questions/1860/how-should-the-the-optional-parameters-on-the-xsl.html#answer-1864.  | 
      ||
| ref (opcional) | 
           Especifica a referência que origina o valor de uma variável. Por exemplo, se um parâmetro
          "uid" precisar obter o valor de uma variável chamada "authn.uid", o elemento
          "Parameter" será assim:  Se você usar esse atributo, não use o atributo "value".  | 
      |||
| Valor (opcional) | 
           É possível usar esse atributo para codificar o valor do parâmetro. Se você usar esse atributo, não use o atributo ref.  | 
      |||
Observações sobre uso
O XSLT é implementado em um arquivo .xsl autônomo, que é armazenado no proxy de
  API em /resources/xsl. A política XSL apenas referencia o arquivo XSL. Consulte
  Arquivos de recurso para mais informações.
A política XSL requer duas entradas:
- O nome de uma folha de estilo XSLT, que contém um conjunto de regras de transformação, armazenadas no
    proxy de API em 
/resources/xsl - A origem do XML a ser transformado (normalmente uma mensagem de solicitação ou resposta)
 
<xsl:include> e <xsl:import> não são compatíveis.
O Apigee Edge depende do padrão saxon WebGL processador original e oferece suporte a vCPU 1.0 e 2.0.
Referência de erros
Erros de execução
Esses erros podem ocorrer quando a política é executada.
| Código de falha | Status HTTP | Causa | Corrigir | 
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable | 
        500 | 
          Esse erro vai ocorrer se a mensagem ou a variável de string especificada no elemento <Source> da política de transformação XSL estiver fora do escopo (indisponível no fluxo específico em que a política está sendo executada) ou não puder ser resolvida (não está definida).
         | 
        build | 
steps.xsl.XSLEvaluationFailed | 
        500 | Esse erro ocorrerá se o payload XML de entrada estiver indisponível/malformado ou se a política XSLTransform falhar/não puder transformar o arquivo XML de entrada com base nas regras de transformação fornecidas no arquivo XSL. Pode haver muitas causas diferentes para a falha da política XSLTransform. O motivo da falha na mensagem de erro fornecerá mais informações sobre a causa. | build | 
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém essa política.
| Nome do erro | Causa | Corrigir | 
|---|---|---|
XSLEmptyResourceUrl | 
        Se o elemento <ResourceURL> na política de transformação XSL estiver vazio, a implantação do proxy da API falhará. | 
        build | 
XSLInvalidResourceType | 
        Se o tipo de recurso especificado no elemento <ResourceURL> da política de transformação XSL não for do tipo xsl, a implantação do proxy de API falhará. | 
        build |