Webgenz
 

Inicio
Panorama
Para empezar
Guía del usuario
Términos
Detalles
Archivos de proyecto
Archivos de plantilla
Archivos de contenido
Interfaz de línea de comando
Tips y trucos
FAQs
Descargar
Ordenar ahora
Tablero de mensajes
(English)
Buscador
(English)
Contáctenos
Links
El objetivo de esta panorama detallado es describir con exactitud lo que hace Webgenz cuando genera un proyecto. Webgenz genera un proyecto ejecutando los siguientes pasos:
  1. Webgenz lee el Archivo de definición de proyecto. Para cada línea de este archivo, Webgenz hace lo siguiente:
     
  2. Webgenz lee en el Archivo de plantilla y el o los Archivos de contenido referenciados en la línea leída.
     
  3. Webgenz procesa el Archivo de plantilla una línea a la vez. Cada vez que Webgenz halla una Etiqueta de macro en el Archivo de plantilla, Webgenz busca el Valor de macro asociado con la Etiqueta de macro.
     
  4. Webgenz busca el Valor de macro inspeccionando el o los Archivos de contenido. Webgez empieza buscando en el primer Archivo de contenido definido en la línea, y luego inspecciona cualesquiera archivos de contenido heredados, si existen. Tan pronto como Webgenz detecta el Valor de macro para la Etiqueta de macro, deja de buscar.
     
  5. Webgenz reemplaza la Etiqueta de macro del Archivo de plantilla con el Valor de macro. (Nota: el Valor de macro puede incluir otras Etiquetas de macro: es correcto "anidar" las Etiquetas de macro).
     
  6. Si no se encuentra un Valor de macro para la Etiqueta de macro (o si el Valor de macro es cero), entonces toda la línea de la plantilla en la que aparece la Etiqueta de macro es borrada. Usualmente esta conducta es deseable, pero puede ser neutralizada modificando una opción en la pantalla de "Propiedades del proyecto".
     
  7. Dado que las Etiquetas de macro pueden ser anidadas, Webgezn procesará el Archivo de plantilla repetidamente hasta que no quedan Etiquetas de macro. En la pantalla de "Propiedades del proyecto" puede definir el número máximo de veces que Webgenz procesará un Archivo de plantillas buscando Etiquetas de macro. Sin embargo, Webgenz no procesará el Archivo de plantilla innecesariamente. Si no detecta Etiquetas de macro adicionales, automáticamente dejará de procesar el archivo.

Notas:

  • En el paso número 4 arriba, es posible controlar el punto de arranque a partir del cual Webgenz buscará un Valor de macro. Por ejemplo, es posible indicar que Webgenz debe empezar a buscar el Valor de macro de un Archivo de contenido heredado. Para hacer esto, se emplea un formato especial en la Etiqueta de macro. El formato es:
      [@^MY_TAG]
      
    El "^" de la Etiqueta de macro indica que Webgenz debe empezar a buscar el Valor de macro un nivel arriba en la jerarquía a partir del lugar donde se usa la Etiqueta de macro. Esta característica proporciona un modo de definir macros como "subclases".
     
  • Cuando Webgenz encuentra un Valor de macro, puede alterar ese Valor de macro antes de reemplazar la Etiqueta de macro con el Valor de macro. ¿Por qué haría esto Webgenz? Lo haría para preservar el formateo del documento HTML final que es generado por Webgenz. He aquí un ejemplo:

    Considere el siguiente Archivo de plantilla:

      <HTML>
      <HEAD>
      <TITLE>Mi título</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>
            [@MY_CONTENT]
          </TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    Y el siguiente Archivo de contenido:

      [@MY_CONTENT]:
      Este es un bloque de contenido
      de varias líneas de longitud.
      Este es sólo un ejemplo.
      [@]
      

    Si Webgenz se limitara a insertar el Valor de macro en lugar de la Etiqueta de macro, el resultado sería el siguiente:

      <HTML>
      <HEAD>
      <TITLE>Mi título</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>
      Este es un bloque de contenido
      de varias líneas de longitud.
      Este es sólo un ejemplo.
          </TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    Dado que el formateo de esta salida es indeseable, Webgenz alterará el Valor de macro. Webgenz agregará cualesquiera caracteres que aparezcan antes y después de la Etiqueta de macro en el Archivo de plantilla (usualmente simple espacio blanco) a cada línea del valor de macro. En el ejemplo anterior, la salida será como sigue:

      <HTML>
      <HEAD>
      <TITLE>Mi título</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>
      	Este es un bloque de contenido
      	de varias líneas de longitud.
      	Este es sólo un ejemplo.
          </TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    Como puede ver, este formateo es mucho más deseable y refleja el formateo que pretendía el autor del Archivo de plantilla. Sin embargo, esta característica puede ser motivo de confusión. Para ver lo que quiero decir, supongamos que el Archivo de plantilla del ejemplo reciente es la siguiente:

      <HTML>
      <HEAD>
      <TITLE>Mi título</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>[@MY_CONTENT]</TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    En este caso, Webgenz generará lo siguiente:

      <HTML>
      <HEAD>
      <TITLE>Mi título</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>Este es un bloque de contenido</TD>
          <TD>de varias líneas de longitud.</TD>
          <TD>Este es sólo un ejemplo.</TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    Obviamente, esto es muy indeseable. Sin embargo, es un efecto secundario del hecho de que Webgenz está diseñado para conservar el formateo y la indentación que aparece en el Archivo de plantilla, de modo que el archivo generado tendrá le mismo formateo que tendría si usted lo escribiera a mano. Así que, si descubre salida de Webgenz que no comprende, simplemente asegúrese de poner la Etiqueta de macro sólo en una línea del Archivo de plantilla.

Copyright 1997-2003. All rights reserved. Webgenz is a trademark.
This page was translated into Spanish by Webgenz user Horacio Salazar.
Webgenz in English

Click Here!