stringtranslate.com

Procesador de plantillas

Un diagrama que ilustra todos los elementos básicos y el flujo de procesamiento de un motor 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 datos (definidos por un modelo de datos ) para producir documentos o programas resultantes . [1] [2] [3] El idioma en el que están escritas las plantillas se conoce como lenguaje de plantilla o lenguaje de plantillas . Para los fines de este artículo, un documento resultante 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 marco de aplicación , y también puede usarse como preprocesador o filtro .

Características típicas

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

Tales características incluyen:

Motores de plantillas integrados

Si bien los procesadores de plantillas suelen ser una pieza de software separada, utilizada 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 sólo sustitución, en contraste con las funciones más sofisticadas de los procesadores de plantillas completos, pero pueden contener algo de lógica.

Los ejemplos simples incluyen cadenas de formato de impresión 'printf' , 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 y la creación de plantillas es el scomando (sustituto) en el procesador de texto sed , que se origina en la búsqueda y reemplazo 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 n ª subexpresión. Por ejemplo, reemplaza todas las apariciones de "gato" o "perro" con "gatos" o "perros", sin duplicar una "s" existente: es la primera (y única) subexpresión en la expresión regular y en la cadena de formato. sustituye esto en la salida. \1\9s/(cat|dog)s?/\1s/g(cat|dog)\1

Elementos del sistema

Todos los sistemas de procesamiento de plantillas constan de al menos estos elementos principales:

Modelo de datos

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 otras fuentes de datos preformateados. Algunos sistemas de procesamiento de plantillas están limitados en los tipos de datos que se pueden utilizar. Otros están diseñados para ofrecer la máxima flexibilidad y permiten muchos tipos diferentes de datos.

Plantilla de origen

Las plantillas de origen se especifican tradicionalmente:

Motor de plantillas

El motor de plantillas es responsable de:

Además, algunos motores de plantillas permiten opciones de configuración adicionales.

Documentos de resultados

Estos pueden consistir en un documento completo o en un fragmento de documento.

Usos

El procesamiento de plantillas se utiliza en varios contextos para diferentes propósitos. El propósito específico normalmente depende de la aplicación de software o del motor de plantilla que se utilice. Sin embargo, la flexibilidad de los sistemas de procesamiento de plantillas a menudo permite usos no convencionales para fines no previstos originalmente por los diseñadores originales.

Motor de plantillas

Un motor de plantillas es un tipo específico de módulo de procesamiento de plantillas que exhibe todas las características principales de un lenguaje de programación moderno . El término motor de plantillas evolucionó como una descripción generalizada de los lenguajes de programación cuyo propósito principal o exclusivo era procesar plantillas y datos para generar texto. El uso de este término se aplica principalmente al desarrollo web utilizando un sistema de plantillas web y también se aplica a otros contextos. [4]

Generación de documentos

Los marcos de generación de documentos suelen utilizar el procesamiento de plantillas como modelo central para generar documentos.

Generación de código fuente

Las herramientas de generación de código fuente admiten la generación de código fuente (como documentos resultantes) a partir de modelos de datos abstractos (por ejemplo, UML, datos relacionales, almacenes de datos empresariales de dominios específicos) para dominios de aplicaciones particulares, organizaciones particulares o para simplificar el proceso de producción para computadoras. programadores .

Funcionalidad del software

Un motor de plantillas web procesa plantillas web y datos de origen (normalmente de una base de datos relacional ) para producir una o más páginas web de salida o fragmentos de página. Normalmente se incluye como parte de un sistema de plantilla web o marco de aplicación . Actualmente, el software de procesamiento de plantillas se utiliza con mayor frecuencia en el contexto del desarrollo web .

Comparación

XSLT es un modelo de procesamiento de plantillas diseñado por W3C . Está diseñado principalmente para transformaciones de datos XML (en documentos web u otros resultados).

Los lenguajes de programación como Perl , Python , PHP , Ruby , C# , Java y Go admiten el procesamiento de plantillas de forma nativa o mediante bibliotecas y módulos complementarios. JavaServer Pages , [5] Active Server Pages , [6] Genshi (para Python) y eRuby son ejemplos de motores de plantillas diseñados específicamente para el desarrollo de aplicaciones web.

Además, el procesamiento de plantillas a veces se incluye como una subcaracterística de paquetes de software como editores de texto , IDE y sistemas de gestión de bases de datos relacionales .

Beneficios de usar motores de plantillas

Ver también

Referencias

  1. ^ Niemeyer, Patricio (2002). Aprendiendo Java . Sebastopol: O'Reilly. ISBN 0-596-00285-8.
  2. ^ Manolescu, Dragos (2006). Lenguajes de patrones de diseño de programas 5 . Lectura: Addison-Wesley Professional. ISBN 0-321-32194-4.
  3. ^ Fowler, Martín (2003). Patrones de arquitectura de aplicaciones empresariales . Boston: Addison-Wesley. ISBN 0-321-12742-0.
  4. ^ (ver, por ejemplo, Velocity, TemplateToolkit, Freemarker).
  5. ^ JavaServer Pages es una tecnología lanzada por Sun para usar con el lenguaje de programación Java."Tecnología de páginas JavaServer". 2006-10-10 . Consultado el 10 de octubre de 2006 .
  6. ^ ASP 1.0 se lanzó originalmente para su uso con Microsoft VBScript y JScript. Era una extensión de Microsoft IIS.

enlaces externos