Processador de modelo - Template processor

Um diagrama que ilustra todos os elementos básicos e o fluxo de processamento de um mecanismo de template.

Um processador de modelo (também conhecido como mecanismo de modelo ou analisador de modelo ) é um software projetado para combinar modelos com um modelo de dados para produzir documentos de resultado. A linguagem que os modelos são escritos em é conhecido como um modelo de linguagem ou linguagem de templates . Para os fins deste artigo, um documento de resultado é qualquer tipo de saída formatada, incluindo documentos , páginas da web ou código-fonte (na geração do código-fonte ), no todo ou em fragmentos. Um mecanismo de modelo é normalmente incluído como parte de um sistema de modelo da web ou estrutura de aplicativo e pode ser usado também como um pré - processador ou filtro .

Características típicas

Os mecanismos de modelo geralmente incluem recursos comuns à maioria das linguagens de programação de alto nível , com ênfase em recursos para processamento de texto simples .

Esses recursos incluem:

Mecanismos de template incorporados

Embora os processadores de modelo sejam normalmente um pedaço de software separado, usado como parte de um sistema ou estrutura, linguagens de modelo simples são comumente incluídas nos recursos de processamento de string de linguagens de programação de uso geral e em programas de processamento de texto, notadamente editores de texto ou processadores de texto . As linguagens de template são geralmente linguagens de substituição simples, em contraste com os recursos mais sofisticados em processadores de template completos, mas podem conter alguma lógica.

Exemplos simples incluem strings de formato de impressão , encontradas em muitas linguagens de programação, e fragmentos , encontrados em vários editores de texto e editores de código-fonte . Em processadores de texto, os modelos são um recurso comum, enquanto o preenchimento automático dos modelos costuma ser chamado de mala direta .

Um exemplo ilustrativo da natureza complementar da análise e dos modelos é o s comando (substituir) no processador de texto sed , originado de pesquisar e substituir no editor de texto ed . Comandos de substituição são da forma s/regexp/replacement/ , onde regexp é uma expressão regular , para analisar entrada, e replacement é um modelo simples para a saída, seja texto literal, ou uma seqüência de formato que contém os caracteres & para "todo jogo" ou as especiais seqüências de escape \1 através \9 do n ª subexpressão. Por exemplo, s/(cat|dog)s?/\1s/g substitui todas as ocorrências de "gato" ou "cachorro" por "gatos" ou "cachorros", sem duplicar um "s" existente: (cat|dog) é a primeira (e única) subexpressão no regexp e \1 na string de formato substitui isso na saída.

Elementos do sistema

Todos os sistemas de processamento de template consistem em pelo menos estes elementos primários:

  • um modelo de dados associado ;
  • um ou mais modelos de origem ;
  • um processador ou mecanismo de template ;
  • saída gerada na forma de documentos de resultado .

Modelo de dados

Pode ser um banco de dados relacional, um arquivo de origem como XML , um formato alternativo de banco de dados de arquivo simples , uma planilha ou qualquer uma das várias fontes de dados pré-formatados. Alguns sistemas de processamento de modelos são limitados nos tipos de dados que podem ser usados. Outros são projetados para flexibilidade máxima e permitem muitos tipos diferentes de dados.

Template fonte

Os modelos de origem são tradicionalmente especificados:

  • de acordo com uma linguagem de programação pré-existente;
  • de acordo com uma linguagem de modelo especialmente definida;
  • de acordo com os recursos de um aplicativo de software de hospedagem; ou
  • de acordo com uma combinação híbrida de alguns ou todos os anteriores.

Motor de template

O mecanismo de template é responsável por:

Além disso, alguns mecanismos de modelo permitem opções de configuração adicionais.

Documentos de resultado

Eles podem consistir em um documento inteiro ou um fragmento de documento.

Usos

O processamento de modelos é usado em vários contextos para diferentes propósitos. A finalidade específica normalmente depende do aplicativo de software ou do mecanismo de modelo em uso. No entanto, a flexibilidade dos sistemas de processamento de modelo geralmente permite usos não convencionais para fins não pretendidos originalmente pelos designers originais.

Motor de template

Um mecanismo de template é um tipo específico de módulo de processamento de template que exibe todos os principais recursos de uma linguagem de programação moderna . O termo mecanismo de modelo evoluiu como uma descrição generalizada de linguagens de programação cujo objetivo principal ou exclusivo era processar modelos e dados para produzir texto. O uso deste termo é mais notavelmente aplicado ao desenvolvimento da web usando um sistema de template da web , e também é aplicado a outros contextos.

Geração de documentos

As estruturas de geração de documentos geralmente usam o processamento de modelos como o modelo central para a geração de documentos.

Geração de código fonte

As ferramentas de geração de código-fonte suportam a geração de código-fonte (como documentos de resultado) a partir de modelos de dados abstratos (por exemplo, UML, dados relacionais, armazenamentos de dados corporativos específicos de domínio) para domínios de aplicativos específicos, organizações específicas ou na simplificação do processo de produção para computador programadores .

Funcionalidade de software

Um mecanismo de template da web processa templates da web e dados de origem (normalmente de um banco de dados relacional ) para produzir uma ou mais páginas da web de saída ou fragmentos de página. Normalmente é incluído como parte de um sistema de modelo da web ou estrutura de aplicativo . Atualmente, o software de processamento de modelo é usado com mais frequência no contexto de desenvolvimento para a web .

Comparação

XSLT é um modelo de processamento de template desenvolvido por W3C . Ele é projetado principalmente para transformações em dados XML (em documentos da web ou outra saída).

Linguagens de programação como Perl , Python , PHP , Ruby , C # , Java e Go oferecem suporte ao processamento de modelos de forma nativa ou por meio de bibliotecas e módulos complementares. JavaServer Pages , Active Server Pages , Genshi (para Python) e eRuby são exemplos de mecanismos de modelo projetados especificamente para o desenvolvimento de aplicativos da web.

Além disso, o processamento de modelos às vezes é incluído como um sub-recurso de pacotes de software como editores de texto , IDEs e sistemas de gerenciamento de banco de dados relacional .

Benefícios do uso de motores de modelo

  • incentiva a organização do código-fonte em camadas operacionalmente distintas (ver, por exemplo, MVC )
  • aumenta a produtividade reduzindo a reprodução desnecessária de esforço
  • melhora o trabalho em equipe, permitindo a separação do trabalho com base no conjunto de habilidades (por exemplo, artístico x técnico)

Veja também

Referências

links externos