Possibilita que você realize iterações em um array (lista) no JSON. Imagine essa função na criação de uma lista dinâmica de elementos na saída, que transforma o JSON em XML.
Sintaxe
<#list SuaLista as elemento>
bloco de informações que será iterado.
</#list>
Exemplo
Utilizando a entrada informada no começo do artigo, você pode criar uma lista dinâmica de itens utilizando o template.
Lembre-se que a saída do Template é um XML em uma string.
IF/ELSE
Você pode utilizar essa função para a validação de algumas informações. Mesmo quando os seus campos estiverem nulos ou vazios, não há um grande impacto na sua transformação de dados.
Sintaxe
<#if condição>
Bloco de informações caso a condição do if seja verdadeira.
<#elseif condição>
Bloco de informações caso a condição do elseif seja verdadeira.
<#else>
Bloco de informações caso nenhuma das condições seja tomadas.
</#if>
Não existe limitação para a quantidade de elseif e também é possível usar apenas um if sem o else - tudo depende da sua necessidade.
Exemplo
Utilizando a entrada informada no começo do artigo, você pode criar uma validação na qual o campo "código" precise ser maior que 0 (zero).
Sabia que a utilização da função não é limitada a condições simples? Você também pode utilizar expressões para validar se o campo existe (??) e se ele tem conteúdo (has_content).
Sintaxe
<#if seuCampo?? && seuCampo?has_content>
Bloco de informações caso o campo exista e tenha conteúdo.
<#else>
Bloco de informações caso nenhuma das condições seja tomadas.
</#if>
É possível utilizar operadores lógicos para uma condição mais avançada.
&& - para o E (AND).
|| - para o OU (OR).
Exemplo
Agora veja como melhorar a validação para que o if feito no primeiro caso seja utilizado apenas se o campo "código" existir e tiver conteúdo.
Essa função é utilizada quando o campo é obrigado a ter um determinado tamanho.
Sintaxe
${SeuCampo[0..9]} 0 = valor inicial9 = valor final
Exemplo
Utilizando a entrada informada no começo do artigo, você pode determinar que o campo tenha apenas 10 caracteres, mesmo que o tamanho dele seja maior.
Uma boa prática aplicável à essa função é utilizar IF/ELSE para validar o tamanho desejado do campo. Dessa forma, você evita erros caso o campo seja menor do que o valor de corte estabelecido.
Caso a formatação desejada não seja aceita pelo seu sistema, você pode definir a formatação necessária do número por meio da tag "number_format". Permite a você customizar a formatação de números.
Sintaxe
<#setting number_format="0.##">
${seuCampo}
As hashtags (#) definem a quantidade de casas decimais que serão utilizadas.
Exemplo
Utilizando a entrada informada no começo do artigo, você pode formatar o valor para que ele fique no padrão do sistema legado.