Ir al contenido principal

Resumen y documentación

En A-Parser, para el formateo de consultas y resultados se utiliza el motor de plantillas Template Toolkit. El motor de plantillas permite formar la cadena final (por ejemplo, de consultas o resultados) según las reglas establecidas en la plantilla. Template Toolkit tiene múltiples capacidades:

  • Soporte para condiciones y ciclos
  • Soporte para variables comunes (escalares), arreglos y hashes (arreglos asociativos)
  • Soporte para métodos para variables (longitud de cadena, búsqueda y reemplazo, tamaño de arreglo...)
  • Soporte para complementos y filtros (salida y formateo de fecha y hora, generación de elementos HTML...)

Ejemplo de uso del motor de plantillas​

Documentación oficial de Template Toolkit​

Una gran ventaja de este motor de plantillas es la existencia de documentación completa en ruso e inglés; a continuación se presentan enlaces a las secciones más importantes de la documentación:

  • Introducción - información general
  • Sintaxis - reglas y estilo de escritura de plantillas
  • Directivas - condiciones, bucles, filtros, complementos y macros
  • Variables - acceso y actualización de valores de variables, arreglos y hashes
  • Métodos virtuales - funciones preestablecidas para procesar variables, arreglos y hashes
  • Complementos y Filtros - capacidades extendidas del motor de plantillas, A-Parser admite los siguientes complementos:
    • Date - para generar cadenas de fecha formateadas
    • Dumper - salida del volcado de la estructura de datos
    • Format - para crear funciones de formato basadas en la sintaxis printf
    • HTML - para crear elementos HTML y escapar código HTML
    • Filter - para crear y usar filtros definidos y disponibles mediante la carga del complemento
    • Math - para usar cualquier función matemática
    • String - implementa métodos adicionales para trabajar con cadenas
    • Table - para representar datos en forma de tabla
    • URL - para construir enlaces
    • Wrap - para formatear párrafos
    • Iterator - para recorrer un conjunto de datos. El iterador se crea implícitamente de forma automática mediante la directiva FOREACH. Este complemento permite crear un iterador explícitamente con un nombre especificado

Ejemplos de uso​

Ejemplos de plantillas de uso frecuente

Ejemplo de uso del complemento Math​

Seleccionar aleatoriamente una cantidad especificada de enlaces:

[% limit = 5;
USE Math;
FOREACH i IN [1..5];
n = Math.rand(intlinks.size);
intlinks.$n.link _ "\n";
END %]

Ejemplo del ciclo FOREACH​

Mostrar todos los enlaces y sus posiciones desde el arreglo $serp:

[% FOREACH item IN p1.serp;
loop.count _ ' - ' _ item.link _ "\n";
END %]

Ejemplo del ciclo WHILE​

Mostrar 5 anclajes del arreglo $serp, comenzando desde el tercero:

[% n = 2;
WHILE n < 7;
p1.serp.${n}.anchor _ "\n";
n = n + 1;
END %]

Ejemplo de condición​

Salida de ciertos datos dependiendo del valor de la variable:

[% IF p1.totalcount < 1000;
query _ " - poco\n";
ELSIF p1.totalcount < 1000;
query _ " - normal\n";
ELSE;
query _ " - mucho\n";
END %]