Articulo de referencia

Idioma de atributo de plantilla

El lenguaje de atributos de plantilla (TAL) es un lenguaje de plantillas utilizado para generar documentos HTML y XML dinámicos . Está diseñado para facilitar una clara separaci...

El lenguaje de atributos de plantilla (TAL) es un lenguaje de plantillas utilizado para generar documentos HTML y XML dinámicos . Está diseñado para facilitar una clara separación entre la lógica de presentación y la lógica de aplicación, lo que permite la colaboración entre diseñadores y programadores. [ 1 ] Esto se logra expresando la lógica de la plantilla mediante atributos definidos en un espacio de nombres XML , que se añaden a elementos HTML o XML válidos. Al utilizar atributos estructurados en lugar de código incrustado arbitrario, las plantillas siguen siendo documentos bien formados que pueden visualizarse y editarse con sistemas de autoría XML o HTML estándar . [ 2 ]

TAL fue creado para Zope , pero también se utiliza en otros proyectos basados ​​en Python . [ 3 ]

TASFIA

Se utilizan los siguientes atributos, normalmente precedidos por " tal:":

definir
crea variables locales, válidas en el elemento que contiene el atributo (incluidos los elementos contenidos).
condición
decide si se debe mostrar o no la etiqueta (y todo el texto que contiene).
repetir
crea una variable de bucle y repite la etiqueta iterando una secuencia, por ejemplo, para crear una lista de selección o una tabla.
contenido
reemplaza el contenido de la etiqueta
reemplazar
reemplaza la etiqueta (y por lo tanto no se puede usar junto con contenido o atributos)
atributos
reemplaza los atributos dados (por ejemplo, usando tal:attributes="name name; id name"los atributos de nombre e id de un campo de entrada se podría establecer al valor de la variable " name")
etiqueta de omisión
Permite omitir la etiqueta de inicio y la de fin, y solo renderizar el contenido si la expresión dada es verdadera.
por error
Si se produce un error, este atributo funciona como la etiqueta de contenido.

Si una etiqueta tiene más de un atributo TAL, se evalúan en el orden anterior (bastante lógico).

En los casos en que no haya ninguna etiqueta presente que se preste a tomar los atributos, se pueden usar etiquetas TAL especiales, haciendo que el tal:prefijo " " sea opcional. Por ejemplo:

<tal:if condition= "context/itemlist" > ... </tal:if>

Esto provocaría que el código dentro de las tal:ifetiquetas se utilizara siempre que el contexto (cualquiera que sea la definición del servidor de aplicaciones, por ejemplo, un objeto) contenga la variable " itemlist" con un valor verdadero , por ejemplo, una lista que contenga al menos un elemento. El identificador que sigue a los dos puntos es arbitrario; simplemente debe estar presente y ser el mismo para la etiqueta de apertura y la de cierre.

METAL

El lenguaje de atributos de plantillas de expansión de macros (METAL) complementa a TAL, proporcionando macros que permiten la reutilización de código en diferentes archivos de plantilla. Ambos fueron creados para Zope , pero también se utilizan en otros proyectos de Python .

METAL complementa TAL con la capacidad de reutilizar código. Permite al desarrollador definir y usar macros, que a su vez pueden tener ranuras ; al usar una macro, se puede especificar contenido variable para una ranura.

Al generar documentos XML , se debe especificar el espacio de nombres XML ( xmlns:metal="http://xml.zope.org/namespaces/metal").

atributos del METAL

Se reconocen los siguientes atributos, que normalmente requieren un metal:prefijo „ “:

definir-macro
crea una macro
definir ranura
crea una ranura dentro de una macro
usar macro
utiliza una macro (normalmente proporcionada mediante una expresión de ruta TALES)
ranura de llenado
Cuando se utiliza una macro, reemplaza el contenido predeterminado de la ranura especificada.
macro de extensión
Desde Zope v3: extiende una macro, comparable a la subclase , mediante la redefinición de ranuras.

Normalmente, solo se utiliza uno de ellos a la vez.

En los casos en que no haya ninguna etiqueta presente que se preste a tomar los atributos, y en casos especiales en los que se necesite más de un atributo METAL, se pueden usar etiquetas METAL especiales, haciendo que el prefijo "metal:" sea opcional. Por ejemplo (diseñado pensando en Roundup ):

< html metal:define-macro = "icing" > ... < metal:myslot define-slot = "optional-form" > ... </html>< html metal:use-macro = "templates/page/macros/icing" > < form metal:fill-slot = "optional-form" action = "." tal:attributes = "action context/designator" > ... </form> </html>

Uso

TAL/TALES/METAL se utilizan en los siguientes proyectos:

Otras implementaciones

Además de la implementación original de Zope , existen (lista no exhaustiva):

Pitón

DO#

  • SharpTAL

Go (Golang)

  • tal, una implementación nativa en Go de TAL, TALES y METAL.

JavaScript

  • plantilla-tal , implementación de TAL para Node.js
  • jstal
  • Distal
  • DomTal
  • ZPT-JS

Java

  • JPT: Plantillas de página Java
  • JavaZPT
  • ZPT-Java

Perl

  • PETAL, el lenguaje de atributos de plantilla de Perl
  • Plantilla-TAL

Raku

PHP

  • PHPTAL
  • Twital
  • Galleta
  • zTAL

XSL

  • XSLTal, transformando TAL a través de XSLT a XSLT

Lisp común

  • TALCL: Una biblioteca que implementa el lenguaje de plantillas TAL para Common Lisp.

Implementaciones similares

  • ATal – No es propiamente una implementación de TAL, pero está inspirado en los conceptos de TAL.
  • Thymeleaf : no es una implementación de TAL, pero es un lenguaje de "plantilla natural" similar.

Referencias

  1. Flores, Francesc Campoy; Quint, Vincent; Vatton, Irene (2006). Plantillas, microformatos y edición estructurada . Actas del Simposio ACM de 2006 sobre Ingeniería Documental. Association for Computing Machinery . págs. 188–197 . doi : 10.1145/1166160.1166211 . 
  2. Champin, Pierre-Antoine (2009). Tal4Rdf: Presentación ligera para la Web Semántica (PDF) . Actas del Taller CEUR. Vol. 449. 
  3. ^ Klever, Nik (2003). XML y Zope . XMIDX 2003, Tecnologías XML para middleware – Middleware para modificaciones XML. Gesellschaft für Informatik . págs. 57 a 70. ISBN  3-88579-353-9.
  • Referencia de plantillas de página de Zope (Libro de Zope)
Obtenido de " https://en.wikipedia.org/w/index.php?title=Template_Attribute_Language&oldid=1344907721 "