Árvore de páginas




O componente de XSLT é uma linguagem de transformação de arquivos XLS, que por sua vez são arquivos de estilização XML. Dessa forma, pode-se entender que o componente XSLT atua como um editor de XML dinâmico contendo a junção do XPath que busca caminhos do XML e XQuery que busca e extrai caminhos, semelhante ao XPath, porém com funções.



Utilizando o componente


Para utilizar o componente siga os passos abaixo:


01. Com o builder aberto expanda o menu Componentes;

02. Clique sobre o componente XSLT e arraste-o até o builder;

03. Clique no ícone para preencher as informações necessárias nos campos Nome, XML e Conteúdo do arquivo.


Exemplo de uso


Abaixo temos um exemplo de uso para facilitar o entendimento e orientar a como preencher os campos.


Dado o XML
<?xml version="1.0"?>
<hello-world>
        <chave>valor</chave>
</hello-world>
E o XSLT
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="@*|node()">
            <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
    
    <xsl:template match="/hello-world/chave">
        <chave>valor2</chave>
    </xsl:template>
</xsl:stylesheet>
Obtém o resultado
<hello-world>
  <chave>valor2</chave>
</hello-world>


Explicando


  • "xsl:stylesheet": corpo externo do XSLT;
  • "xsl:template": determina o escopo para uma ação; o "atributo de nó" de nome "match" determina o caminho do XML utilizando o XPath/XQuery para encontrar o valor original. Se passar o valor direto, ele irá sobrescrever o conteúdo inteiro;
  • "xsl:copy": no exemplo dado, o xsl:copy irá copiar todo o XML original para que o valor inserido não seja completamente sobrescrito (por padrão o XSLT cria um conteúdo novo);
  • "xsl:apply-templates": aplica no novo template a cópia dos dados e aplica os demais templates declarados;


Referência