\ProcesadorDefiniciones

Implementa el procesamiento de los archivos XML de definiciones y la generación de las páginas a partir de ellos.

La idea del procesamiento es la siguiente:

  1. Recolectar todos los XML en el directorio XML que van a ser traducidos en páginas (especificar el directorio de la aplicación)
  2. Generar archivos PHP por cada XML encontrado, aplicando una plantilla XSL apropiada. La plantilla aplicada y, por lo tanto, el tipo de salida generada para cada XML depende del nombre del archivo y de su contenido (la sección //generacion/salidas)
    • Si el nombre del XML termina en _listado.xml, se puede traducir un listado, listado_seleccion, listado_pdf, listado_rtf
    • Si el nombre del XML termina en _formulario.xml, se puede traducir un formulario, formulario_reporte
    • Si el nombre del XML termina en _master.xml, se puede traducir un master
    • ...
  3. Copiado de archivos y derivación de páginas

Summary

Methods
Properties
Constants
__construct()
nombrePaso()
nombreCompletoArchivoResultado()
ejecutar()
duracionPaso()
linksParaAbrir()
esIncremental()
No public properties found
DIR_APP_RESULTADOS
ARCH_ULTIMA_GENERACION
APP_FILES_MODE
existeArchivoAplicacion()
obtenerArchivoAplicacion()
generarCodigoParaVariables()
guardarResultado()
ejecutarInterno()
antesEjecutar()
despuesEjecutar()
$motor
$version_motor
$aplicacion
$dir_origen
$dir_origen_dir_sep_estandar
$dir_app_resultados
$parametros
N/A
No private methods found
No private properties found
N/A

Constants

DIR_APP_RESULTADOS

DIR_APP_RESULTADOS

ARCH_ULTIMA_GENERACION

ARCH_ULTIMA_GENERACION

Nombre del archivo que guarda la hora de última generación.

APP_FILES_MODE

APP_FILES_MODE

Modo para los archivos que se copian a los fuentes de la aplicación.

Properties

$version_motor

$version_motor : string

Type

string

$aplicacion

$aplicacion : string

Type

string

$dir_origen

$dir_origen : string

Type

string

$dir_origen_dir_sep_estandar

$dir_origen_dir_sep_estandar : string

Contiene el mismo valor que <var>$this->dir_origen</var>, pero usando el separador de directorio estandarizado '/' (para usos donde no se permite '\'; por ejemplo, el procesador XSL no encuentra archivos cargados con document() si tienen '\' en el path (Windows)).

Type

string

$dir_app_resultados

$dir_app_resultados : string

Type

string

$parametros

$parametros : array

Type

array

Methods

__construct()

__construct(\MotorGeneracion  $motor, array  $parametros) 

Parameters

\MotorGeneracion $motor
array $parametros

nombrePaso()

nombrePaso() : string

Devuelve el nombre del paso de generación.

Returns

string

nombreCompletoArchivoResultado()

nombreCompletoArchivoResultado(  $aplicacion, string  $nombre_arch) 

Devuelve el path completo (relativo a APPS_DIR) de un archivo guardado con guardarResultado().

Parameters

$aplicacion
string $nombre_arch

el nombre del archivo

ejecutar()

ejecutar() 

Realiza la ejecución del paso.

duracionPaso()

duracionPaso() : string

Devuelve el tiempo que demoró la ejecución del paso

Returns

string

linksParaAbrir()

linksParaAbrir() : \array[LinkResultado]

Devuelve un arreglo con los links que llevan a los resultados del paso.

Returns

\array[LinkResultado]

esIncremental()

esIncremental() : boolean

¿La aplicación se debe generar incrementalmente?

Returns

boolean

existeArchivoAplicacion()

existeArchivoAplicacion() : boolean

Returns

boolean

obtenerArchivoAplicacion()

obtenerArchivoAplicacion() : \DOMDocument

Abre el archivo de definición de la aplicación y lo devuelve como un documento DOM.

Dispara una excepción ExcepcionXGAP si el archivo existe, pero no lo puede abrir.

Returns

\DOMDocument —

con los contenidos del archivo si existe, o vacío si no

generarCodigoParaVariables()

generarCodigoParaVariables(array  $variables) 

Parameters

array $variables

guardarResultado()

guardarResultado(string  $nombre, string  $contenido) : string

Guarda un archivo con resultados de la generación.

Dispara una excepción si ocurre algún problema.

Parameters

string $nombre

nombre del archivo, relativo al directorio self::DIR_APP_RESULTADOS

string $contenido

contenido a colocar en el archivo

Returns

string —

el nombre del archivo, relativo a APPS_DIR

ejecutarInterno()

ejecutarInterno() 

Implementación del cuerpo del paso de generación.

antesEjecutar()

antesEjecutar() 

Método hook que se invoca antes de comenzar a ejecutar el paso.

La implementación por defecto está vacía.

despuesEjecutar()

despuesEjecutar() 

Método hook que se invoca después de terminar de ejecutar el paso.

La implementación por defecto está vacía.