Procesador de plantillas


Un procesador de plantillas (también conocido como motor de plantillas o analizador de plantillas ) es un software diseñado para combinar plantillas con un modelo de datos para producir documentos de resultados. [1] [2] [3] El idioma en el que están escritas las plantillas se conoce como lenguaje de plantillas o lenguaje de plantillas . A los efectos de este artículo, un documento de resultados es cualquier tipo de salida formateada, incluidos documentos , páginas web o código fuente (en la generación de código fuente).), ya sea en su totalidad o en fragmentos. Un motor de plantillas normalmente se incluye como parte de un sistema de plantillas web o un marco de aplicación , y también se puede utilizar como preprocesador o filtro .

Los motores de plantillas suelen incluir funciones comunes a la mayoría de los lenguajes de programación de alto nivel , con énfasis en las funciones para procesar texto sin formato .

Si bien los procesadores de plantillas suelen ser una pieza de software separada, que se utiliza como parte de un sistema o marco, los lenguajes de plantillas simples se incluyen comúnmente en las funciones de procesamiento de cadenas de los lenguajes de programación de propósito general y en los programas de procesamiento de texto, en particular los editores de texto o los procesadores de texto. . Los lenguajes de plantillas son generalmente lenguajes simples de solo sustitución, en contraste con las instalaciones más sofisticadas en los procesadores de plantillas completos, pero pueden contener algo de lógica.

Los ejemplos simples incluyen cadenas de formato de impresión , que se encuentran en muchos lenguajes de programación, y fragmentos , que se encuentran en varios editores de texto y editores de código fuente . En los procesadores de texto, las plantillas son una característica común, mientras que el llenado automático de las plantillas a menudo se denomina combinación de correspondencia .

Un ejemplo ilustrativo de la naturaleza complementaria del análisis sintáctico y las plantillas es el scomando (sustituir) en el procesador de texto sed , que se origina en buscar y reemplazar en el editor de texto ed . Los comandos de sustitución tienen la forma s/regexp/replacement/, donde regexpes una expresión regular , para analizar la entrada y replacementes una plantilla simple para la salida, ya sea texto literal o una cadena de formato que contiene los caracteres &para "coincidencia completa" o las secuencias de escape especiales para la n th sub-expresión. Por ejemplo, reemplaza todas las apariciones de "gato" o "perro" con "gatos" o "perros",\1\9s/(cat|dog)s?/\1s/g(cat|dog)es la primera (y única) subexpresión en la expresión regular, y \1en la cadena de formato la sustituye en la salida.

Puede ser una base de datos relacional, un archivo fuente como XML , un formato alternativo de base de datos de archivo plano , una hoja de cálculo o cualquiera de las otras fuentes de datos preformateados. Algunos sistemas de procesamiento de plantillas están limitados en cuanto a los tipos de datos que se pueden utilizar. Otros están diseñados para una máxima flexibilidad y permiten muchos tipos diferentes de datos.


Un diagrama que ilustra todos los elementos básicos y el flujo de procesamiento de un motor de plantilla.