You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by wg...@apache.org on 2005/01/30 22:49:27 UTC

svn commit: r149164 [2/3] - in jakarta/velocity/trunk/docs: ./ ymtd/

Modified: jakarta/velocity/trunk/docs/user-guide_es.html
URL: http://svn.apache.org/viewcvs/jakarta/velocity/trunk/docs/user-guide_es.html?view=diff&r1=149163&r2=149164
==============================================================================
--- jakarta/velocity/trunk/docs/user-guide_es.html (original)
+++ jakarta/velocity/trunk/docs/user-guide_es.html Sun Jan 30 13:49:20 2005
@@ -18,7 +18,7 @@
 
 <!-- Content Stylesheet for Site -->
 
-
+        
 <!-- start the processing -->
     <!-- ====================================================================== -->
     <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
@@ -34,17 +34,17 @@
             <meta name="email" value="jcastura@kw.igs.net">
                                         <meta name="author" value="Juan Pablo Morales">
             <meta name="email" value="ju-moral@uniandes.edu.co">
-
-
-
-
-
-
-
+            
+           
+            
+            
+            
+            
+            
             <title>Velocity - Guía del Usuario de Velocity</title>
         </head>
 
-        <body bgcolor="#ffffff" text="#000000" link="#525D76">
+        <body bgcolor="#ffffff" text="#000000" link="#525D76">        
             <table border="0" width="100%" cellspacing="0">
                 <!-- TOP IMAGE -->
                 <tr>
@@ -60,11 +60,11 @@
                 <tr><td colspan="2">
                     <hr noshade="" size="1"/>
                 </td></tr>
-
+                
                 <tr>
                     <!-- LEFT SIDE NAVIGATION -->
                     <td width="20%" valign="top" nowrap="true">
-
+                    
     <!-- ============================================================ -->
 
                 <p><strong>About</strong></p>
@@ -121,6 +121,10 @@
 </li>
                     <li>    <a href="./api/index.html">Javadoc</a>
 </li>
+                    <li>    <a href="http://wiki.apache.org/jakarta-velocity/">Wiki</a>
+</li>
+                    <li>    <a href="http://wiki.apache.org/jakarta-velocity/VelocityFAQ">FAQ</a>
+</li>
                 </ul>
             <p><strong>Tools</strong></p>
         <ul>
@@ -169,59 +173,59 @@
         <p>
         <blockquote>
                                     <ol>
-    <li><a href="#Acerca de esta guía">Acerca de esta guía</a></li>
-    <li><a href="#¿Qué es Velocity?">¿Qué es Velocity?</a></li>
-    <li><a href="#¿Qué puede hacer Velocity por mi?">¿Qué puede hacer Velocity por mi?</a>
-    <ol>
-        <li><a href="#El Ejemplo de la tienda de Lodo">El Ejemplo de la tienda de
-            Lodo</a></li>
-    </ol>
+	<li><a href="#Acerca de esta guía">Acerca de esta guía</a></li>
+	<li><a href="#¿Qué es Velocity?">¿Qué es Velocity?</a></li>
+	<li><a href="#¿Qué puede hacer Velocity por mi?">¿Qué puede hacer Velocity por mi?</a>
+	<ol>
+		<li><a href="#El Ejemplo de la tienda de Lodo">El Ejemplo de la tienda de
+			Lodo</a></li>
+	</ol>
 </li>
 <li><a href="#El Lenguaje de Plantillas de Velocity (VTL): Una Introducción">El Lenguaje de Plantillas de Velocity (VTL): Una Introducción</a></li>
 <li><a href="#¡Hola Mundo Velocity!">¡Hola Mundo Velocity!</a></li>
 <li><a href="#Comentarios">Comentarios</a></li>
 <li><a href="#Referencias">Referencias</a>
-    <ol>
-        <li><a href="#Variables">Variables</a></li>
-        <li><a href="#Propiedades">Propiedades</a></li>
-        <li><a href="#Métodos">Métodos</a></li>
-    </ol>
+	<ol>
+		<li><a href="#Variables">Variables</a></li>
+		<li><a href="#Propiedades">Propiedades</a></li>
+		<li><a href="#Métodos">Métodos</a></li>
+	</ol>
 </li>
 <li><a href="#Notación Formal de Referencias">Notación Formal de Referencias</a></li>
 <li><a href="#Notación Sileciosa de Referencias">Notación Sileciosa de Referencias</a></li>
 <li><a href="#Literalmente">Literalmente</a>
-    <ol>
-        <li><a href="#Dinero">Dinero</a></li>
-        <li><a href="#Escapando Referencias VTL Válidas">Escapando Referencias VTL Válidas</a></li>
-    </ol>
+	<ol>
+		<li><a href="#Dinero">Dinero</a></li>
+		<li><a href="#Escapando Referencias VTL Válidas">Escapando Referencias VTL Válidas</a></li>
+	</ol>
 </li>
 <li><a href="#Sustitución de Mayúsculas y Minúsculas">Sustitución de Mayúsculas y Minúsculas</a></li>
 <li><a href="#Directivas">Directivas</a>
-    <ol>
-        <li><a href="#Set">Set</a></li>
-        <li><a href="#Cadenas de Caracteres">Cadenas de Caracteres</a></li>
-        <li><a href="#Sentencias If-Else">Sentencias If-Else</a>
-            <ol>
-                <li><a href="#Operadores Lógicos y Relacionales">Operadores Lógicos y Relacionales</a></li>
-            </ol>
-        </li>
-        <li><a href="#Ciclos Foreach">Ciclos Foreach</a></li>
-        <li><a href="#Include">Include</a></li>
-        <li><a href="#Parse">Parse</a></li>
-        <li><a href="#Stop">Stop</a></li>
-        <li><a href="#Velocimacros">Velocimacros</a></li>
-    </ol>
+	<ol>
+		<li><a href="#Set">Set</a></li>
+		<li><a href="#Cadenas de Caracteres">Cadenas de Caracteres</a></li>
+		<li><a href="#Sentencias If-Else">Sentencias If-Else</a>
+			<ol>
+				<li><a href="#Operadores Lógicos y Relacionales">Operadores Lógicos y Relacionales</a></li>
+			</ol>
+		</li>
+		<li><a href="#Ciclos Foreach">Ciclos Foreach</a></li>
+		<li><a href="#Include">Include</a></li>
+		<li><a href="#Parse">Parse</a></li>
+		<li><a href="#Stop">Stop</a></li>
+		<li><a href="#Velocimacros">Velocimacros</a></li>
+	</ol>
 </li>
 <li><a href="#Escapando Directivas VTL">Escapando Directivas VTL</a></li>
 <li><a href="#VTL: Asuntos de Formato">VTL: Asuntos de Formato</a></li>
 <li><a href="#Otras Características y Miscelánea">Otras Características y Miscelánea</a>
-    <ol>
-        <li><a href="#Matemáticas">Matemáticas</a></li>
-        <li><a href="#El Operador de Rango">El Operador de Rango</a></li>
-        <li><a href="#Temas Avanzados: Escapando y !">Temas Avanzados: Escapando y !</a></li>
-        <li><a href="#Miscelánea de Velocimacro">Miscelánea de Velocimacro</a></li>
-        <li><a href="#Concatenación de Cadenas">Concatenación de Cadenas</a></li>
-    </ol>
+	<ol>
+		<li><a href="#Matemáticas">Matemáticas</a></li>
+		<li><a href="#El Operador de Rango">El Operador de Rango</a></li>
+		<li><a href="#Temas Avanzados: Escapando y !">Temas Avanzados: Escapando y !</a></li>
+		<li><a href="#Miscelánea de Velocimacro">Miscelánea de Velocimacro</a></li>
+		<li><a href="#Concatenación de Cadenas">Concatenación de Cadenas</a></li>
+	</ol>
 </li>
 <li><a href="#Retroalimentación">Retroalimentación</a></li>
 </ol>
@@ -415,12 +419,12 @@
   para incluir contenido dinámico en un sitio web.
  </p>
                                                 <p>
-    VTL usa <em>referencias</em> para incluir contenido dinámico dentro
-    de un sitio web. Una variable es un tipo de referencia que puede
-    referirse a algo definido dentro del código Java o obtener su valor
-    de un <em>enunciado</em> VTL en la página misma. A continuación hay
-    un ejemplo de un enunciado VTL que se puede incluir en un documento
-    HTML:
+ 	VTL usa <em>referencias</em> para incluir contenido dinámico dentro
+	de un sitio web. Una variable es un tipo de referencia que puede
+	referirse a algo definido dentro del código Java o obtener su valor
+	de un <em>enunciado</em> VTL en la página misma. A continuación hay
+	un ejemplo de un enunciado VTL que se puede incluir en un documento
+	HTML:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -444,12 +448,12 @@
     </table>
     </div>
                                                 <p>
-    Este enunciado VTL, como todos los enunciados VTL comienza con el
-    caracter <em>#</em> y contiene una directiva: <em>set</em>. Cuando
-    un visitante solicita su página, el Motor de Plantillas de Velocity
-    buscará dentro del contenido de su página y encontrará todos los
-    símbolos <em>#</em>, para luego determinar cuáles marcan el comienzo
-    de enunciados VTL y cuáles no tienen nada que ver con VTL.
+  	Este enunciado VTL, como todos los enunciados VTL comienza con el
+	caracter <em>#</em> y contiene una directiva: <em>set</em>. Cuando
+	un visitante solicita su página, el Motor de Plantillas de Velocity
+	buscará dentro del contenido de su página y encontrará todos los
+	símbolos <em>#</em>, para luego determinar cuáles marcan el comienzo
+	de enunciados VTL y cuáles no tienen nada que ver con VTL.
  </p>
                                                 <p>
  El caracter <em>#</em> viene seguido por una directiva <em>set</em>.
@@ -471,8 +475,8 @@
                                                 <p>
  La siguiente regla puede ser útil para entender mejor como funciona
  Velocity: <strong>Las Referencias comienzan con <em>$</em> y se
-     utilizan para obtener algo. Las directivas comienzan con <em>#</em>
-     y se utilizan para hacer algo</strong>
+	 utilizan para obtener algo. Las directivas comienzan con <em>#</em>
+	 y se utilizan para hacer algo</strong>
  </p>
                                                 <p>
  En el ejemplo anterior <em>#set</em> se utilizó para asignarle un valor
@@ -494,10 +498,10 @@
         <p>
         <blockquote>
                                     <p>
-    Una vez un valor ha sido asignado a una variable, usted puede
-    referenciar la variable en cualquier lugar dentro del documento
-    HTML. En el ejemplo siguiente, un valor es asignado a la variable
-    <em>$foo</em>, que luego es referenciada.
+	Una vez un valor ha sido asignado a una variable, usted puede
+	referenciar la variable en cualquier lugar dentro del documento
+	HTML. En el ejemplo siguiente, un valor es asignado a la variable
+	<em>$foo</em>, que luego es referenciada.
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -577,12 +581,12 @@
     </table>
     </div>
                                                 <p>
-    Un comentario de una sola línea comienza con <em>##</em> y termina
-    al final de la línea. Si usted desea escribir varias líneas de
-    comentario no es necesario tener numerosos comentarios de una sóla
-    línea. Los comentarios de varias líneas, que comienzan con
-    <em>#*</em> y terminan con <em>*#</em> le permiten manejar
-    fácilmente esta situación.
+	Un comentario de una sola línea comienza con <em>##</em> y termina
+	al final de la línea. Si usted desea escribir varias líneas de
+	comentario no es necesario tener numerosos comentarios de una sóla
+	línea. Los comentarios de varias líneas, que comienzan con
+	<em>#*</em> y terminan con <em>*#</em> le permiten manejar
+	fácilmente esta situación.
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -615,8 +619,8 @@
     </table>
     </div>
                                                 <p>
-    A continuación hay algunos ejemplos para aclarar como funcionan
-    los comentarios de una y varias líneas:
+ 	A continuación hay algunos ejemplos para aclarar como funcionan
+	los comentarios de una y varias líneas:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -646,9 +650,9 @@
     </table>
     </div>
                                                 <p>
-    Existe un tercer tipo de comentario, el bloque de comentario VTL,
-    que puede ser utilizado para almacenar datos como el autor y la
-    información de versiones:
+	Existe un tercer tipo de comentario, el bloque de comentario VTL,
+	que puede ser utilizado para almacenar datos como el autor y la
+	información de versiones:
 </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -693,36 +697,36 @@
         <p>
         <blockquote>
                                     <p>
-    Existen tres tipos de referencias en VTL: variables, propiedades y
-    métodos. Como un diseñador que utilizar VTL, usted y sus ingenieros
-    deben llegar a un acuerdo respecto a los nombres de las referencias
-    para que usted pueda utilizarlas correctamente en sus plantillas.
+	Existen tres tipos de referencias en VTL: variables, propiedades y
+	métodos. Como un diseñador que utilizar VTL, usted y sus ingenieros
+	deben llegar a un acuerdo respecto a los nombres de las referencias
+	para que usted pueda utilizarlas correctamente en sus plantillas.
  </p>
                                                 <p>
-    Todo lo que entra y sale de una referencia se trata como una cadena
-    de caracteres (un objeto String). Si existe un objeto que representa
-    <em>$foo</em> (por ejemplo, un objeto Integer), entonces Velocity
-    llamará el método <code>.toString()</code> de ese objeto para
-    convertirlo en una cadena de caracteres.
+ 	Todo lo que entra y sale de una referencia se trata como una cadena
+	de caracteres (un objeto String). Si existe un objeto que representa
+	<em>$foo</em> (por ejemplo, un objeto Integer), entonces Velocity
+	llamará el método <code>.toString()</code> de ese objeto para
+	convertirlo en una cadena de caracteres.
  </p>
                                                 <p>
  <a name="Variables"><strong>Variables</strong></a>
  <br />
-    La notación breve de una variable esta compuesta por un signo "$"
-    inicial seguido de un <em>Identificador</em>. Un identificador VTL
-    debe comenzar con un caracter alfabético (a .. z ó A .. Z). El resto
-    de los caracteres deb ser de alguno de los siguiente tipos:
+ 	La notación breve de una variable esta compuesta por un signo "$"
+	inicial seguido de un <em>Identificador</em>. Un identificador VTL
+	debe comenzar con un caracter alfabético (a .. z ó A .. Z). El resto
+	de los caracteres deb ser de alguno de los siguiente tipos:
  </p>
                                                 <p>
    <ul>
      <li>alfabético (a .. z, A .. Z)</li>
-     <li>numérico (0 .. 9)</li>
-     <li>línea ("-")</li>
+	 <li>numérico (0 .. 9)</li>
+	 <li>línea ("-")</li>
      <li>underscore ("_")</li>
    </ul>
  </p>
                                                 <p>
-    A continuación hay algunos ejemplos de referencias válidas en VTL:
+ 	A continuación hay algunos ejemplos de referencias válidas en VTL:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -750,14 +754,14 @@
     </table>
     </div>
                                                 <p>
-    Cuando VTL hace referencia una variable, po ejemplo, <em>$foo</em>,
-    la variable puede obtener su valor de una directiva <em>set</em>
-    dentro de la plantilla, o del código Java. Por ejemplo, si la
-    variable de Java <em>$foo</em> tiene el valor <em>bar</em> en el
-    momento en que se solicita la plantilla, entonces <em>bar</em>
-    reemplaza todas las ocurrencias (o instancias) de <em>$foo</em>
-    dentro de la página web. De manera alterna, si se incluye el
-    enunciado
+	Cuando VTL hace referencia una variable, po ejemplo, <em>$foo</em>,
+	la variable puede obtener su valor de una directiva <em>set</em>
+	dentro de la plantilla, o del código Java. Por ejemplo, si la
+	variable de Java <em>$foo</em> tiene el valor <em>bar</em> en el
+	momento en que se solicita la plantilla, entonces <em>bar</em>
+	reemplaza todas las ocurrencias (o instancias) de <em>$foo</em>
+	dentro de la página web. De manera alterna, si se incluye el
+	enunciado
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -781,17 +785,17 @@
     </table>
     </div>
                                                 <p>
-    La salida será la misma para todas las instancias de <em>$foo</em>
-    que se encuentren a continuación es esta directiva.
+	La salida será la misma para todas las instancias de <em>$foo</em>
+	que se encuentren a continuación es esta directiva.
  </p>
                                                 <p>
  <a name="Propiedades"><strong>Propiedades</strong></a>
  <br />
-    El segundo sabor de referencias VTL son las propiedades; las
-    propiedades tienen un formato particular. La versión corta se
-    compone de un signo <em>$</em> seguido de un identificador VTL,
-    seguido de un punto y de otro identificador VTL. A continuación hay
-    ejemplos de referencias de propiedades válidas en VTL:
+ 	El segundo sabor de referencias VTL son las propiedades; las
+	propiedades tienen un formato particular. La versión corta se
+	compone de un signo <em>$</em> seguido de un identificador VTL,
+	seguido de un punto y de otro identificador VTL. A continuación hay
+	ejemplos de referencias de propiedades válidas en VTL:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -816,29 +820,29 @@
     </table>
     </div>
                                                 <p>
-    Tome el primer ejemplo, <em>$cliente.Direccion</em>. Puede tener dos
-    significados. Puede significar, Busque en la tabla de hashing
-    identificada como <em>cliente</em> y devuelva el valor asociado con
-    la llave <em>Direccion</em>. Pero <em>$customer.Address</em> puede
-    también referirse a un método (las referencias que se relacionan con
-    métodos se discutirán en la sección siguiente);
-    <em>$customer.Address</em> puede ser una manera corta de escribir
-    <em>$customer.getAddress()</em>. Cuando su página sea solicitada
-    Velocity determinará cuál de las dos posibilidades tiene sentido, y
-    luego devolverá el valor apropiado.
+	Tome el primer ejemplo, <em>$cliente.Direccion</em>. Puede tener dos
+	significados. Puede significar, Busque en la tabla de hashing
+	identificada como <em>cliente</em> y devuelva el valor asociado con
+	la llave <em>Direccion</em>. Pero <em>$customer.Address</em> puede
+	también referirse a un método (las referencias que se relacionan con
+	métodos se discutirán en la sección siguiente);
+	<em>$customer.Address</em> puede ser una manera corta de escribir
+	<em>$customer.getAddress()</em>. Cuando su página sea solicitada
+	Velocity determinará cuál de las dos posibilidades tiene sentido, y
+	luego devolverá el valor apropiado.
  </p>
                                                 <p>
  <a name="Métodos"><strong>Methods</strong></a>
  <br />
-    Un método esta definido dentro del código de Java y es capaz de
-    hacer algo útil, como desarrollar un cálculo o llegar a una
-    decisión. Los métodos son referencias compuestas de un signo "$"
-    inicial seguido en un identificador VTL, seguido de un <em>Cuerpo de
-        Método</em> VTL. Un cuerpo de método VTL, a su vez esta formado
-    por un identificador VTL seguido por un paréntesis izquierdo ("("),
-    seguido, opcionalmente, por una lista de parámetros, para terminar
-    en un paréntesis derecho. A continuación hay ejemplos de referencias
-    de métodos válidas dentro de VTL:
+ 	Un método esta definido dentro del código de Java y es capaz de
+	hacer algo útil, como desarrollar un cálculo o llegar a una
+	decisión. Los métodos son referencias compuestas de un signo "$"
+	inicial seguido en un identificador VTL, seguido de un <em>Cuerpo de
+		Método</em> VTL. Un cuerpo de método VTL, a su vez esta formado
+	por un identificador VTL seguido por un paréntesis izquierdo ("("),
+	seguido, opcionalmente, por una lista de parámetros, para terminar
+	en un paréntesis derecho. A continuación hay ejemplos de referencias
+	de métodos válidas dentro de VTL:
 
  </p>
                                                     <div align="left">
@@ -866,22 +870,22 @@
     </table>
     </div>
                                                 <p>
-    Los primeros dos ejemplos -- <em>$cliente.getDireccion()</em> y
-    <em>$compra.getTotal()</em> -- pueden parecer similares a aquellos
-    utilizados en la sección de propiedades, <em>$cliente.Direccion</em>
-    y <em>$compra.Total</em>. Si usted supuso que estos ejemplos están
-    relacionados de alguna manera, usted esta en lo cierto.
- </p>
-                                                <p>
-    Las Propiedades VTL pueden utilizarse como notación abreviada para
-    los métodos de VTL. La propiedad <em>$cliente.Direccion</em> tiene
-    exactamente el mismo efecto que el método
-    <em>$cliente.getDireccion()</em> (Nótese el uso de la palabra
-    inglesa <em>get</em> en lugar de la castellana <em>obtener</em>).
-    Generalmente es preferible utilizar una Propiedad si esta
-    disponible. La diferencia principal entre las propiedades y los
-    métodos es que usted le puede dar una lista de parámetros a un
-    Método.
+	Los primeros dos ejemplos -- <em>$cliente.getDireccion()</em> y
+	<em>$compra.getTotal()</em> -- pueden parecer similares a aquellos
+	utilizados en la sección de propiedades, <em>$cliente.Direccion</em>
+	y <em>$compra.Total</em>. Si usted supuso que estos ejemplos están
+	relacionados de alguna manera, usted esta en lo cierto.
+ </p>
+                                                <p>
+ 	Las Propiedades VTL pueden utilizarse como notación abreviada para
+	los métodos de VTL. La propiedad <em>$cliente.Direccion</em> tiene
+	exactamente el mismo efecto que el método
+	<em>$cliente.getDireccion()</em> (Nótese el uso de la palabra
+	inglesa <em>get</em> en lugar de la castellana <em>obtener</em>).
+	Generalmente es preferible utilizar una Propiedad si esta
+	disponible. La diferencia principal entre las propiedades y los
+	métodos es que usted le puede dar una lista de parámetros a un
+	Método.
  </p>
                                                 <p>
  La notación breve se puede utilizar en los Métodos siguientes:
@@ -910,10 +914,10 @@
     </table>
     </div>
                                                 <p>
-    Podríamos esperar que estos métodos devolvieran los nombres de los
-    planetas que giran alrededor del sol, alimentaran un gusano de
-    tierra y extrajeran una foro de un album. Los siguientes Métodos
-    solo se pueden referenciar por medio de la notación larga:
+	Podríamos esperar que estos métodos devolvieran los nombres de los
+	planetas que giran alrededor del sol, alimentaran un gusano de
+	tierra y extrajeran una foro de un album. Los siguientes Métodos
+	solo se pueden referenciar por medio de la notación larga:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -945,7 +949,7 @@
     </div>
                                                 <p>
  <a name="Notación Formal de Referencias"><strong>Notación Formal de
-         Referncias</strong></a>
+		 Referncias</strong></a>
  <br />
  La notación abreviada para referencias fue utilizada en los ejemplos
  anteriores, pero también existe una notación formal para referencias,
@@ -1037,19 +1041,19 @@
     </table>
     </div>
                                                 <p>
-    Ahora Velocity save que la referencia es <em>$vicio</em> y no
-    <em>$viciomano</em>. La notación formal es útil cuando las
-    referencias están ubicadas directamente al lado del texto dentro de
-    una plantilla.
+	Ahora Velocity save que la referencia es <em>$vicio</em> y no
+	<em>$viciomano</em>. La notación formal es útil cuando las
+	referencias están ubicadas directamente al lado del texto dentro de
+	una plantilla.
  </p>
                                                 <p>
  <a name="Notación Sileciosa de Referencias"><strong>Notación de Referenias
-         Silenciosas</strong></a>
+		 Silenciosas</strong></a>
  <br />
-    Cuando Velocity encuentra una referencia indefinida, su
-    comportamiento normal es es de escribir el nombre de la referencia.
-    Por ejemplo, suponga que la siguiente referencia aparece como parte
-    de una plantilla VTL.
+ 	Cuando Velocity encuentra una referencia indefinida, su
+	comportamiento normal es es de escribir el nombre de la referencia.
+	Por ejemplo, suponga que la siguiente referencia aparece como parte
+	de una plantilla VTL.
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1073,13 +1077,13 @@
     </table>
     </div>
                                                 <p>
-    Cuando el formulario se carga por primera vez la referencia
-    <em>$correo</em> no tiene valor, pero usted probablemente preferiría
-    un texto en blanco a uno con el valor de "$correo". Usando la
-    notación de referencias silenciosa se pasa por alto el
-    comportamiento normal de Velocity. Para lograr eso en lugar de
-    <em>$correo</em> en el VTL usted utilizaría <em>$!correo</em>. Con
-    esta modificación el ejemplo anterior quedaría así:
+	Cuando el formulario se carga por primera vez la referencia
+	<em>$correo</em> no tiene valor, pero usted probablemente preferiría
+	un texto en blanco a uno con el valor de "$correo". Usando la
+	notación de referencias silenciosa se pasa por alto el
+	comportamiento normal de Velocity. Para lograr eso en lugar de
+	<em>$correo</em> en el VTL usted utilizaría <em>$!correo</em>. Con
+	esta modificación el ejemplo anterior quedaría así:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1103,12 +1107,12 @@
     </table>
     </div>
                                                 <p>
-    Ahora cuando el formulario se carga por primera vez y $correo no
-    tenga valor una cadena vacía se escribirá en lugar de "$correo".
+	Ahora cuando el formulario se carga por primera vez y $correo no
+	tenga valor una cadena vacía se escribirá en lugar de "$correo".
  </p>
                                                 <p>
-    La notación formal y la silenciosa se puede usar juntas como se
-    muestra en el ejemplo siguiente:
+ 	La notación formal y la silenciosa se puede usar juntas como se
+	muestra en el ejemplo siguiente:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1153,16 +1157,16 @@
   </p>
                                                 <p>
     <a name="Dinero"><strong>Dinero</strong></a>
-    <br />
-    No hay ningún problema en escribir "Yo compré un saco de maíz de
-    2 kg. en el mercado de lagranja por sólo $2.50!". Como se mencionó
-    anteriormente, un identificador VTL siempre comienza con una letra
-    mayúscula o minúscula por lo que $2.50 no se confunde con una
-    referencia.
+	<br />
+	No hay ningún problema en escribir "Yo compré un saco de maíz de
+	2 kg. en el mercado de lagranja por sólo $2.50!". Como se mencionó
+	anteriormente, un identificador VTL siempre comienza con una letra
+	mayúscula o minúscula por lo que $2.50 no se confunde con una
+	referencia.
   </p>
                                                 <p>
   <a name="Escapando Referencias VTL Válidas"><strong>Escapando Referencias
-          VTL Válidas</strong></a>
+		  VTL Válidas</strong></a>
   <br />
   Pueden existir casos en donde haya la posibilidad de que Velocity se
   confunda. <em>Escapar</em> caracteres especiales es la mejor manera de
@@ -1193,17 +1197,17 @@
     </table>
     </div>
                                                 <p>
-    Si Velocity encuentra una referencia en su plantilla VTL a
-    <em>$correo</em>, el buscará el contexto ppor un valor
-    correspondiente. En este caso el resultado será <em>foo</em> por
-    qué <em>$correo</em> esta definido. Si <em>$correo</em> no esta
-    definido el resultado será <em>$correo</em>.
+	Si Velocity encuentra una referencia en su plantilla VTL a
+	<em>$correo</em>, el buscará el contexto ppor un valor
+	correspondiente. En este caso el resultado será <em>foo</em> por
+	qué <em>$correo</em> esta definido. Si <em>$correo</em> no esta
+	definido el resultado será <em>$correo</em>.
   </p>
                                                 <p>
-    Suponga que <em>$correo</em> está definido (por ejemplo, que tiene
-    el valor <em>foo</em>) y que usted desea escribir <em>$correo</em>.
-    Existen varias maneras de hacer esto pero la más sencilla es usar el
-    caracter de escape.
+  	Suponga que <em>$correo</em> está definido (por ejemplo, que tiene
+	el valor <em>foo</em>) y que usted desea escribir <em>$correo</em>.
+	Existen varias maneras de hacer esto pero la más sencilla es usar el
+	caracter de escape.
   </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1317,10 +1321,10 @@
     </table>
     </div>
                                                 <p>
-    Note que Velocity maneja de manera diferentes las referencias que
-    están definidas de aquellas que no lo están. A continuación se
-    encuentra una directiva que da a <em>$foo</em> el valor
-    <em>verde</em>.
+	Note que Velocity maneja de manera diferentes las referencias que
+	están definidas de aquellas que no lo están. A continuación se
+	encuentra una directiva que da a <em>$foo</em> el valor
+	<em>verde</em>.
   </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1350,8 +1354,8 @@
 en lugar de <em>$foo</em>
   </p>
                                                 <p>
-    También es posible escapar directivas de VTL; esto se describe con
-    más detalle en la sección de Directivas.
+  	También es posible escapar directivas de VTL; esto se describe con
+	más detalle en la sección de Directivas.
   </p>
                             </blockquote>
         </p>
@@ -1416,24 +1420,24 @@
 referencias casi en cualquier lugar de su plantilla.
     </p>
                                                 <p>
-    Velocity, que ha sido modelado con las especificaciones de Bean
-    definidas por Sun Microsystems, distingue entre mayúsculas y
-    minúsculas; sin embargo sus desarrolladores se han esforzado para
-    encontrar y corregir los errores del usuario cuando sea posible.
-    Cuando el método <em>getFoo()</em> es referenciado dentro de una
-    plantilla como <code>$bar.foo</code>, Velocity intentará primero
-    <code>getfoo()</code>. Si esto falla, intentará <code>getFoo()</code>.
-    De la misma manera, cuando una plantilla se refiera a
-    <code>$bar.Foo</code>, Velocity intentará <em>$getFoo()</em> primero
-    y luego <em>getfoo()</em>.
-    </p>
-                                                <p>
-    Nota: <em>Las Referencias a variables de instancia dentro de una
-        plantilla no se resuelven.</em> Solo las referencias a los
-    atributos get y set de los JavaBeans se resuelven (i.e.
-    <code>$foo.Nombre</code> se resuelve como el método de instancia
-    <code>getNombre()</code> de la clase Foo, pero no como su variable
-    de instancia <code>Nombre</code>).
+	Velocity, que ha sido modelado con las especificaciones de Bean
+	definidas por Sun Microsystems, distingue entre mayúsculas y
+	minúsculas; sin embargo sus desarrolladores se han esforzado para
+	encontrar y corregir los errores del usuario cuando sea posible.
+	Cuando el método <em>getFoo()</em> es referenciado dentro de una
+	plantilla como <code>$bar.foo</code>, Velocity intentará primero
+	<code>getfoo()</code>. Si esto falla, intentará <code>getFoo()</code>.
+	De la misma manera, cuando una plantilla se refiera a
+	<code>$bar.Foo</code>, Velocity intentará <em>$getFoo()</em> primero
+	y luego <em>getfoo()</em>.
+    </p>
+                                                <p>
+	Nota: <em>Las Referencias a variables de instancia dentro de una
+		plantilla no se resuelven.</em> Solo las referencias a los
+	atributos get y set de los JavaBeans se resuelven (i.e.
+	<code>$foo.Nombre</code> se resuelve como el método de instancia
+	<code>getNombre()</code> de la clase Foo, pero no como su variable
+	de instancia <code>Nombre</code>).
     </p>
                             </blockquote>
         </p>
@@ -1450,12 +1454,12 @@
         <p>
         <blockquote>
                                     <p>
-    Las Referencias le permiten a los diseñadores de plantillas generar
-    contenido dinámico para sitios web, mientras que las
-    <em>directivas</em> -- elementos de script fáciles de usar que se
-    pueden usar para manipular de manera creativa la salida del código
-    Java -- les permiten a los diseñadores realmente estar a cargo de la
-    apariencia y en contenido del sitio web.
+	Las Referencias le permiten a los diseñadores de plantillas generar
+	contenido dinámico para sitios web, mientras que las
+	<em>directivas</em> -- elementos de script fáciles de usar que se
+	pueden usar para manipular de manera creativa la salida del código
+	Java -- les permiten a los diseñadores realmente estar a cargo de la
+	apariencia y en contenido del sitio web.
  </p>
                                                 <a name="Set"><strong>#set</strong></a>
                                                 <p>
@@ -1487,18 +1491,18 @@
     </table>
     </div>
                                                 <p>
-    El lado izquierdo (LI) de la asignación debe ser una referencia de
-    variable o una referencia de propiedad. El lado derecho (LD) puede
-    ser de alguno de los siguientes tipos:
+	El lado izquierdo (LI) de la asignación debe ser una referencia de
+	variable o una referencia de propiedad. El lado derecho (LD) puede
+	ser de alguno de los siguientes tipos:
  </p>
                                                 <p>
     <ul>
-        <li>Referencia de Variable</li>
-        <li>Constante de Cadena</li>
-        <li>Referencia de Propiedad</li>
-        <li>Referencia de Método</li>
+		<li>Referencia de Variable</li>
+		<li>Constante de Cadena</li>
+		<li>Referencia de Propiedad</li>
+		<li>Referencia de Método</li>
         <li>Literal Numérico</li>
-        <li>Lista de elementos como arreglo</li>
+		<li>Lista de elementos como arreglo</li>
     </ul>
  </p>
                                                 <p>
@@ -1563,11 +1567,11 @@
     </table>
     </div>
                                                 <p>
-    Si el Lado Derecho es una propiedad o referencia de método que se
-    evalúa como <em>null</em>, <b>no</b> será asignada al lado
-    izquierdo. No es posible remover una referencia existente del
-    contexto utilizando este mecanismo. Esto puede ser confuso para los
-    recién llegados a Velocity. Por ejemplo:
+	Si el Lado Derecho es una propiedad o referencia de método que se
+	evalúa como <em>null</em>, <b>no</b> será asignada al lado
+	izquierdo. No es posible remover una referencia existente del
+	contexto utilizando este mecanismo. Esto puede ser confuso para los
+	recién llegados a Velocity. Por ejemplo:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1595,9 +1599,9 @@
     </table>
     </div>
                                                 <p>
-    Si <em>$consulta.criterio("nombre")</em> retorna la cadena "pedro",
-    y <em>$consulta.criterio("direccion")</em> retorna <em>null</em>, el
-    VTL anterio se mostraría de la siguiente manera:
+	Si <em>$consulta.criterio("nombre")</em> retorna la cadena "pedro",
+	y <em>$consulta.criterio("direccion")</em> retorna <em>null</em>, el
+	VTL anterio se mostraría de la siguiente manera:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1623,10 +1627,10 @@
     </table>
     </div>
                                                 <p>
-    Esto tiende a confundir a quines están comenzando, que construyen
-    ciclos <em>#foreach</em> que intentan hacer <em>#set</em> de una
-    referencia por medio de una propiedad o un método e inmediatamente
-    evalúan la referencia con una directiva <em>#if</em>. Por ejemplo:
+	Esto tiende a confundir a quines están comenzando, que construyen
+	ciclos <em>#foreach</em> que intentan hacer <em>#set</em> de una
+	referencia por medio de una propiedad o un método e inmediatamente
+	evalúan la referencia con una directiva <em>#if</em>. Por ejemplo:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1646,7 +1650,7 @@
     #set( $resultado = $consulta.criterios($criterio) )
 
     #if( $result )
-    La consulta tuvo éxito
+	La consulta tuvo éxito
     #end
 
 #end
@@ -1661,18 +1665,18 @@
     </table>
     </div>
                                                 <p>
-    En el ejemplo anterior, no sería inteligente confiar en la
-    evaluación de <em>$resultado</em> para determinar si una consulta
-    tuvo éxito. Después de que <em>$result</em> ha sido agregado al
-    contexto (por medio de una directiva <em>#set</em>), no puede volver
-    a establecerse a <em>null</em> (quitarse del contexto). Los detalles
-    de las directivas <em>#if</em> y <em>#foreach</em> son cubiertos con
-    mayor detalle posteriormente en esta guía.
+	En el ejemplo anterior, no sería inteligente confiar en la
+	evaluación de <em>$resultado</em> para determinar si una consulta
+	tuvo éxito. Después de que <em>$result</em> ha sido agregado al
+	contexto (por medio de una directiva <em>#set</em>), no puede volver
+	a establecerse a <em>null</em> (quitarse del contexto). Los detalles
+	de las directivas <em>#if</em> y <em>#foreach</em> son cubiertos con
+	mayor detalle posteriormente en esta guía.
  </p>
                                                 <p>
-    Una solución para este problema puede ser predefinir
-    <em>$resultado</em> a <em>false</em>. Luego, si la llamada a
-    <em>$consulta.criterios()</em> falla, es posible verificar.
+ 	Una solución para este problema puede ser predefinir
+	<em>$resultado</em> a <em>false</em>. Luego, si la llamada a
+	<em>$consulta.criterios()</em> falla, es posible verificar.
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1693,7 +1697,7 @@
     #set( $resultado = $consulta.criterios($criterio) )
 
     #if( $resultado )
-        La consulta tuvo éxito
+		La consulta tuvo éxito
     #end
 
 #end
@@ -1708,14 +1712,14 @@
     </table>
     </div>
                                                 <p>
-    A diferencia de algunas de las otras directivas de Velocity, la
-    directiva <em>#set</em> no tiene un enunciado <em>#end</em>.
+	A diferencia de algunas de las otras directivas de Velocity, la
+	directiva <em>#set</em> no tiene un enunciado <em>#end</em>.
  </p>
                                                 <a name="Cadenas de Caracteres"><strong>Cadenas de Caracteres</strong></a>
                                                 <p>
-    Cuando se utiliza la directiva <em>#set</em>, los literales de
-    cadena que están encerrados en comillas dobles serán evaluados y
-    mostrados en la plantilla, como se demuestra a continuación:
+ 	Cuando se utiliza la directiva <em>#set</em>, los literales de
+	cadena que están encerrados en comillas dobles serán evaluados y
+	mostrados en la plantilla, como se demuestra a continuación:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1766,8 +1770,8 @@
     </table>
     </div>
                                                 <p>
-    Sin embargo, cuando la cadena de caracteres esta encerrada en
-    comillas sencillas, no será evaluada:
+	Sin embargo, cuando la cadena de caracteres esta encerrada en
+	comillas sencillas, no será evaluada:
  </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1817,10 +1821,10 @@
     </table>
     </div>
                                                 <p>
-    Por defecto, la característica de las comillas sencillas para
-    mostrar texto sin evaluar esta disponible en Velocity; sin embargo
-    este valor por defecto se puede cambiar editando el archivo
-    <code>velocity.properties</code> de tal manera que
+	Por defecto, la característica de las comillas sencillas para
+	mostrar texto sin evaluar esta disponible en Velocity; sin embargo
+	este valor por defecto se puede cambiar editando el archivo
+	<code>velocity.properties</code> de tal manera que
     <code>stringliterals.interpolate=false</code>.
  </p>
                             </blockquote>
@@ -1839,9 +1843,9 @@
         <blockquote>
                                     <strong>Condicionales</strong>
                                                 <p>
-    La directiva <em>#if</em> en Velocity permite que se incluya texto
-    dentro de la plantilla generada, con la condición de que el
-    enunciado condicional evalue a verdadero. Por ejemplo:
+	La directiva <em>#if</em> en Velocity permite que se incluya texto
+	dentro de la plantilla generada, con la condición de que el
+	enunciado condicional evalue a verdadero. Por ejemplo:
 </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1867,31 +1871,31 @@
     </table>
     </div>
                                                 <p>
-    La variable <em>$foo</em> se evalúa para determinar si es verdadera,
-    cosa que ocurrirá bajo una de dos circunstancias: (i) <em>$foo</em>
-    es un valor booleano (verdadero ó falso) que tiene un valor de
-    verdadero, ó (ii) el valor no es <em>null</em>. Recuerde que el
-    contexto de Velocity solamente contiene objetos, por lo que cuando
-    se dice 'booleano' se habla en realidad de la clase Boolean. Esto es
-    cierto incluso para los métodos que devuelven un valor de tipo
-    <code>boolean</code> - la infraestructura de introspección devolverá
-    un <code>Boolean</code> del mismo valor lógico.
-</p>
-                                                <p>
-    El contenido que se encuentra entre el enunciado <em>#if</em> y el
-    enunciado <em>#end</em> es lo que se escribe en la plantilla si la
-    evaluación resulta en un valor verdadero. En este caso, si
-    <em>$foo</em> es verdadero, la salida será: "Velocity!". De manera
-    análoga, si <em>$foo</em> tiene un valor <em>null</em>, o evalua a
-    falso, entonces el enunciado completo es falso y no se escribe nada.
-</p>
-                                                <p>
-    Un elemento <em>#elseif</em> ó <em>#else</em> puede utilizarse junto
-    con una sentencia <em>#if</em> para indicar condiciones adicionales
-    o la labor por defecto. Note que el Motor de Plantillas de Velocity
-    parará en la primera expresión que evalue a verdadero. En el ejemplo
-    siguiente suponga que <em>$foo</em> tiene un valor de 15 y
-    <em>$bar</em> tiene un valor de 6.
+	La variable <em>$foo</em> se evalúa para determinar si es verdadera,
+	cosa que ocurrirá bajo una de dos circunstancias: (i) <em>$foo</em>
+	es un valor booleano (verdadero ó falso) que tiene un valor de
+	verdadero, ó (ii) el valor no es <em>null</em>. Recuerde que el
+	contexto de Velocity solamente contiene objetos, por lo que cuando
+	se dice 'booleano' se habla en realidad de la clase Boolean. Esto es
+	cierto incluso para los métodos que devuelven un valor de tipo
+	<code>boolean</code> - la infraestructura de introspección devolverá
+	un <code>Boolean</code> del mismo valor lógico.
+</p>
+                                                <p>
+	El contenido que se encuentra entre el enunciado <em>#if</em> y el
+	enunciado <em>#end</em> es lo que se escribe en la plantilla si la
+	evaluación resulta en un valor verdadero. En este caso, si
+	<em>$foo</em> es verdadero, la salida será: "Velocity!". De manera
+	análoga, si <em>$foo</em> tiene un valor <em>null</em>, o evalua a
+	falso, entonces el enunciado completo es falso y no se escribe nada.
+</p>
+                                                <p>
+	Un elemento <em>#elseif</em> ó <em>#else</em> puede utilizarse junto
+	con una sentencia <em>#if</em> para indicar condiciones adicionales
+	o la labor por defecto. Note que el Motor de Plantillas de Velocity
+	parará en la primera expresión que evalue a verdadero. En el ejemplo
+	siguiente suponga que <em>$foo</em> tiene un valor de 15 y
+	<em>$bar</em> tiene un valor de 6.
 </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1904,11 +1908,11 @@
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
       <td bgcolor="#ffffff"><pre>
 #if( $foo &lt; 10 )
-    &lt;strong&gt;Vaya hacía el Norte&lt;/strong&gt;
+	&lt;strong&gt;Vaya hacía el Norte&lt;/strong&gt;
 #elseif( $foo == 10 )
     &lt;strong&gt;Vaya hacía el Este&lt;/strong&gt;
 #elseif( $bar == 6 )
-    &lt;strong&gt;Vaya al Sur&lt;/strong&gt;
+	&lt;strong&gt;Vaya al Sur&lt;/strong&gt;
 #else
     &lt;strong&gt;Vaya al Oeste&lt;/strong&gt;
 #end
@@ -1923,25 +1927,25 @@
     </table>
     </div>
                                                 <p>En este ejemplo, <em>$foo</em> es mayor que diez, por lo que las
-    dos primeras comparaciones fallan. A continuación se compara
-    <em>$bar</em> con 6, como son iguales, la salida es <strong>Vaya al
-        Sur</strong>
+	dos primeras comparaciones fallan. A continuación se compara
+	<em>$bar</em> con 6, como son iguales, la salida es <strong>Vaya al
+		Sur</strong>
     </p>
                                                 <p>
-    Actualmente las comparaciones numéricas de Velocity están
-    restringidas a los elementos de la clase Integer - cualquier otra
-    cosa evaluará a <em>falso</em>. La única excepción a esta regla es
-    la igualdad, '==', donde Velocity exige que los objetos a cada lado
-    del '==' sean de la <em>misma</em> clase.
+	Actualmente las comparaciones numéricas de Velocity están
+	restringidas a los elementos de la clase Integer - cualquier otra
+	cosa evaluará a <em>falso</em>. La única excepción a esta regla es
+	la igualdad, '==', donde Velocity exige que los objetos a cada lado
+	del '==' sean de la <em>misma</em> clase.
     </p>
                                                 <p>
-    <a name="Operadores Lógicos y Relacionales"><strong>Operadores
-            Lógicos y Relacionales</strong></a>
+	<a name="Operadores Lógicos y Relacionales"><strong>Operadores
+			Lógicos y Relacionales</strong></a>
     </p>
                                                 <p>
-    Velocity usa el operador de equivalencia para determinar las
-    relaciones entre las variables. A continuación hay un ejemplo
-    sencillo para ilustrar como se utiliza el operador de igualdad.
+	Velocity usa el operador de equivalencia para determinar las
+	relaciones entre las variables. A continuación hay un ejemplo
+	sencillo para ilustrar como se utiliza el operador de igualdad.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1957,10 +1961,10 @@
 #set ($bar = &quot;ácido ribonucleico&quot;)
 
 #if ($foo == $bar)
-    En este caso es claro que no son equivalentes por lo que....
+	En este caso es claro que no son equivalentes por lo que....
   In this case it's clear they aren't equivalent. So...
 #else
-    No son equivalentes y esta será la salida.
+	No son equivalentes y esta será la salida.
 #end
 </pre></td>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
@@ -1973,10 +1977,10 @@
     </table>
     </div>
                                                 <p>
-    Velocity tiene también operadores lógicos para el Y, el O y el NO
-    (AND, OR y NOT). Para mayor información vea la <a href="vtl-reference-guide.html">Guía de Referencia VTL</a>.
-    A continuación se encuentran ejemplos que demuestran la utilización
-    de los operadores lógicos AND, OR y NOT.
+	Velocity tiene también operadores lógicos para el Y, el O y el NO
+	(AND, OR y NOT). Para mayor información vea la <a href="vtl-reference-guide.html">Guía de Referencia VTL</a>.
+	A continuación se encuentran ejemplos que demuestran la utilización
+	de los operadores lógicos AND, OR y NOT.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -1992,7 +1996,7 @@
 ## Y lógico
 
 #if( $foo &amp;&amp; $bar )
-    &lt;strong&gt;Esto Y aquello&lt;/strong&gt;
+	&lt;strong&gt;Esto Y aquello&lt;/strong&gt;
 #end
 
 </pre></td>
@@ -2006,19 +2010,19 @@
     </table>
     </div>
                                                 <p>
-    La directiva <em>#if()</em> solamente evaluará a verdadero si tanto
-    <em>$foo</em> como <em>$bar</em> son ciertos. Si <em>$foo</em> es
-    falso la expresión evaluará a falso; <em>$bar</em> no será evaluada.
-    Si <em>$foo</em> es verdadero el Motor de Plantillas de Velocity
-    verificará el valor de <em>$bar</em>; si <em>$bar</em> es cierto,
-    entonces toda la expresión es cierto y la salida es <strong>Esto Y
-        aquello</strong>. Si <em>$bar</em> es falso, entonces no habrá
-    ninguna salida porque toda la expresión es falsa.
+	La directiva <em>#if()</em> solamente evaluará a verdadero si tanto
+	<em>$foo</em> como <em>$bar</em> son ciertos. Si <em>$foo</em> es
+	falso la expresión evaluará a falso; <em>$bar</em> no será evaluada.
+	Si <em>$foo</em> es verdadero el Motor de Plantillas de Velocity
+	verificará el valor de <em>$bar</em>; si <em>$bar</em> es cierto,
+	entonces toda la expresión es cierto y la salida es <strong>Esto Y
+		aquello</strong>. Si <em>$bar</em> es falso, entonces no habrá
+	ninguna salida porque toda la expresión es falsa.
     </p>
                                                 <p>
-    El O lógico trabaja de la misma manera, pero sólo una de las
-    referencias debe evaluar a verdadero para que toda la expresión
-    evalue a verdadero. Considere el ejemplo siguiente.
+	El O lógico trabaja de la misma manera, pero sólo una de las
+	referencias debe evaluar a verdadero para que toda la expresión
+	evalue a verdadero. Considere el ejemplo siguiente.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2047,18 +2051,18 @@
     </table>
     </div>
                                                 <p>
-    Si <em>$foo</em> es verdadero, el Motor de Plantillas de Velocity no
-    necesita consultar <em>$bar,</em>; sin importar si <em>$bar</em> es
-    cierto o falso, la expresión será cierta, y <strong>Esto O
-        Aquello</strong> será la salida. Si <em>$foo</em> es falso, en
-    cambio, es necesario verificar <em>$bar</em>. En este caso, si
-    <em>$bar</em> es falso, entonces la expresión es falsa y no se
-    escribe nada. De otro lado, si <em>$bar</em> es verdadero, entonces
-    toda la expresión es verdadera y el resultado es <strong>Esto O
-        Aquello</strong>
+	Si <em>$foo</em> es verdadero, el Motor de Plantillas de Velocity no
+	necesita consultar <em>$bar,</em>; sin importar si <em>$bar</em> es
+	cierto o falso, la expresión será cierta, y <strong>Esto O
+		Aquello</strong> será la salida. Si <em>$foo</em> es falso, en
+	cambio, es necesario verificar <em>$bar</em>. En este caso, si
+	<em>$bar</em> es falso, entonces la expresión es falsa y no se
+	escribe nada. De otro lado, si <em>$bar</em> es verdadero, entonces
+	toda la expresión es verdadera y el resultado es <strong>Esto O
+		Aquello</strong>
     </p>
                                                 <p>
-    Con el operador lógico NO, solo hay un argumento :
+	Con el operador lógico NO, solo hay un argumento :
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2088,12 +2092,12 @@
     </table>
     </div>
                                                 <p>
-    Aquí si <em>$foo</em> es cierto, entonces <em>!$foo</em> es falso, y
-    no se escribe nada. Por el contrario, si <em>$foo</em> es falso,
-    entonces <em>!$foo</em> será verdadero y <strong>eso NO</strong>
-    será escrito. Tenga cuidado de no confundir este operador con la
-    <em>referencia sileciosa $!foo</em>, que es algo completamente
-    distinto.
+	Aquí si <em>$foo</em> es cierto, entonces <em>!$foo</em> es falso, y
+	no se escribe nada. Por el contrario, si <em>$foo</em> es falso,
+	entonces <em>!$foo</em> será verdadero y <strong>eso NO</strong>
+	será escrito. Tenga cuidado de no confundir este operador con la
+	<em>referencia sileciosa $!foo</em>, que es algo completamente
+	distinto.
     </p>
                             </blockquote>
         </p>
@@ -2111,8 +2115,8 @@
         <blockquote>
                                     <strong>Ciclo Foreach</strong>
                                                 <p>
-    El elemento <em>#foreach</em> permite la construcción de ciclos. Por
-    ejemplo:
+   	El elemento <em>#foreach</em> permite la construcción de ciclos. Por
+	ejemplo:
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2140,25 +2144,25 @@
     </table>
     </div>
                                                 <p>
-    Este cilco <em>#foreach</em> hace que el objeto correspondiente a la
-    lista de $todosProductos sea iterado buscando todos los productos de
-    la lista. En cada iteración del ciclo, el valor de
-    <em>$todosProductos</em> se asigna a la variable <em>$producto</em>.
-    </p>
-                                                <p>
-    El contenido de la variable <em>$todosProductos</em> es un Vector,
-    una tabla de Hashing (Hashtable) o un arreglo (Array). El valor
-    asignado a la variable <em>$producto</em> es un objeto Java y se
-    puede referenciar desde una variabkle como tal. Por ejemplo, si
-    <em>$product</em> fuera realmente un elemento de la clase Producto
-    en Java, su nombre se podría obtener referenciando el método
-    <em>$producto.Nombre</em> (ie: <em>$Product.getName()</em>).
-    </p>
-                                                <p>
-    Ahora supongamos que <em>$todosProductos</em> es una tabla de
-    Hashing. Si usted quisiera recuperar los valores de las llaves de la
-    tabla de Hashing, al igual que los objetos dentro de esta, usted
-    podría utilizar código como el siguiente:
+	Este cilco <em>#foreach</em> hace que el objeto correspondiente a la
+	lista de $todosProductos sea iterado buscando todos los productos de
+	la lista. En cada iteración del ciclo, el valor de
+	<em>$todosProductos</em> se asigna a la variable <em>$producto</em>.
+    </p>
+                                                <p>
+	El contenido de la variable <em>$todosProductos</em> es un Vector,
+	una tabla de Hashing (Hashtable) o un arreglo (Array). El valor
+	asignado a la variable <em>$producto</em> es un objeto Java y se
+	puede referenciar desde una variabkle como tal. Por ejemplo, si
+	<em>$product</em> fuera realmente un elemento de la clase Producto
+	en Java, su nombre se podría obtener referenciando el método
+	<em>$producto.Nombre</em> (ie: <em>$Product.getName()</em>).
+    </p>
+                                                <p>
+	Ahora supongamos que <em>$todosProductos</em> es una tabla de
+	Hashing. Si usted quisiera recuperar los valores de las llaves de la
+	tabla de Hashing, al igual que los objetos dentro de esta, usted
+	podría utilizar código como el siguiente:
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2171,8 +2175,8 @@
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
       <td bgcolor="#ffffff"><pre>
 &lt;ul&gt;
-    #foreach( $llave in $todosProductos.keySet() )
-    &lt;li&gt;Llave: $llave -&gt; Valor: $todosProductos.get($llave)&lt;/li&gt;
+	#foreach( $llave in $todosProductos.keySet() )
+	&lt;li&gt;Llave: $llave -&gt; Valor: $todosProductos.get($llave)&lt;/li&gt;
 #end
 &lt;/ul&gt;
 </pre></td>
@@ -2186,8 +2190,8 @@
     </table>
     </div>
                                                 <p>
-    Velocity proporciona una manera sencilla de obtener el contador del
-    ciclo para que usted pueda hacer algo como lo siguiente:
+	Velocity proporciona una manera sencilla de obtener el contador del
+	ciclo para que usted pueda hacer algo como lo siguiente:
 </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2200,7 +2204,7 @@
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
       <td bgcolor="#ffffff"><pre>
 &lt;table&gt;
-    #foreach( $cliente in $listaClientes )
+	#foreach( $cliente in $listaClientes )
     &lt;tr&gt;&lt;td&gt;$velocityCount&lt;/td&gt;&lt;td&gt;$cliente.Nombre&lt;/td&gt;&lt;/tr&gt;
 #end
 &lt;/table&gt;
@@ -2215,14 +2219,14 @@
     </table>
     </div>
                                                 <p>
-    El nombre por defecto para la referencia de la variable contador del
-    ciclo, que se especifica en el archivo
-    <code>velocity.properties</code>, es
-    $velocityCount. Por defecto el contador comienza en 1, pero esto se
-    puede hacer 0 o 1 en el archivo <code>velocity.properties</code>. A
-    continuación se muestra el fragmento de este archivo que corresponde
-    al contador de ciclo (en inglés, tal como aparece en el archivo
-    original):
+	El nombre por defecto para la referencia de la variable contador del
+	ciclo, que se especifica en el archivo
+	<code>velocity.properties</code>, es
+	$velocityCount. Por defecto el contador comienza en 1, pero esto se
+	puede hacer 0 o 1 en el archivo <code>velocity.properties</code>. A
+	continuación se muestra el fragmento de este archivo que corresponde
+	al contador de ciclo (en inglés, tal como aparece en el archivo
+	original):
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2266,14 +2270,14 @@
         <p>
         <blockquote>
                                     <p>
-    El elemento de script <em>#include</em> le permite al diseñador de
-    plantillas importar un archivo local, que después es insertado en la
-    localización donde se encuentra la sentencia <em>#include</em>. Los
-    contenidos del archivo no se muestran por intermedio del motor de
-    plantillas por lo que si se hacen referencias dentro del archivo,
-    estas no serán reemplazadas. Por motivos de seguridad el archivo que
-    va a ser incluido debe encontrarse en el directorio indicado por la
-    propiedad TEMPLATE_ROOT.
+	El elemento de script <em>#include</em> le permite al diseñador de
+	plantillas importar un archivo local, que después es insertado en la
+	localización donde se encuentra la sentencia <em>#include</em>. Los
+	contenidos del archivo no se muestran por intermedio del motor de
+	plantillas por lo que si se hacen referencias dentro del archivo,
+	estas no serán reemplazadas. Por motivos de seguridad el archivo que
+	va a ser incluido debe encontrarse en el directorio indicado por la
+	propiedad TEMPLATE_ROOT.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2297,9 +2301,9 @@
     </table>
     </div>
                                                 <p>
-    El archivo al que se refiere la directiva <em>#include</em> se
-    encierra entre comillas. Si mas de un archivo será incluido, los
-    nombres de los archivos a incluir deben ir separados por comas.
+	El archivo al que se refiere la directiva <em>#include</em> se
+	encierra entre comillas. Si mas de un archivo será incluido, los
+	nombres de los archivos a incluir deben ir separados por comas.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2323,14 +2327,14 @@
     </table>
     </div>
                                                 <p>
-    El archivo a incluir no tiene que ser referenciado por nombre, de
-    hecho, muchas veces es preferible usar una variable, en lugar de un
-    nombre de archivo. Esto puede ser útil para dirigir la salida de
-    acuerdo a criterios determinados cuando la solicitud de la página es
-    enviada, es decir, que dependa de factores como los datos del
-    usuario que visita la página, el momento del día, etc. A
-    continuación se muestra un ejemplo en el que se usan tanto un nombre
-    como una variable.
+	El archivo a incluir no tiene que ser referenciado por nombre, de
+	hecho, muchas veces es preferible usar una variable, en lugar de un
+	nombre de archivo. Esto puede ser útil para dirigir la salida de
+	acuerdo a criterios determinados cuando la solicitud de la página es
+	enviada, es decir, que dependa de factores como los datos del
+	usuario que visita la página, el momento del día, etc. A
+	continuación se muestra un ejemplo en el que se usan tanto un nombre
+	como una variable.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2368,9 +2372,9 @@
         <p>
         <blockquote>
                                     <p>
-    El elemento de script <em>#parse</em> le permite al diseñadore de
-    plantillas importar un archivo local que contiene VTL. Velocity
-    procesará el VTL y mostrará la plantilla especificada.
+	El elemento de script <em>#parse</em> le permite al diseñadore de
+	plantillas importar un archivo local que contiene VTL. Velocity
+	procesará el VTL y mostrará la plantilla especificada.
 </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2394,24 +2398,24 @@
     </table>
     </div>
                                                 <p>
-    Al igual que la directiva <em>#include</em>, <em>#parse</em> puede
-    utilizar una variable, en lugar de una plantilla. Todas las
-    plantillas a las que <em>#parse</em> se refiera deben incluirse bajo
-    TEMPLATE_ROOT. A diferencia de la directva <em>#include</em>,
-    <em>#parse</em> solo recibe un argumento.
-</p>
-                                                <p>
-    Las plantillas de VTL puede tener sentencias <em>#parse</em> que se
-    refieran a plantillas que a su vez tengan sentencias
-    <em>#parse</em>. La línea <em>parse_directive.maxdepth</em> del
-    archivo <code>velocity.properties</code>, cuyo valor por defecto es
-    10, permite a los usuarios configurar el máximo número de
-    referencias a <em>#parse</em> que pueden ocurrir desde una única
-    plantilla. (Nota: Si la propiedad <em>parse_directive.maxdepth</em>
-    no esta dentro del archivo <code>velocity.properties</code>,
-    Velocity establecerá el valor por defecto en 10.) La recursión esta
-    permitida, por ejemplo, si la plantilla <code>hacerfoo.vm</code>
-    contiene las siguientes líneas:
+	Al igual que la directiva <em>#include</em>, <em>#parse</em> puede
+	utilizar una variable, en lugar de una plantilla. Todas las
+	plantillas a las que <em>#parse</em> se refiera deben incluirse bajo
+	TEMPLATE_ROOT. A diferencia de la directva <em>#include</em>,
+	<em>#parse</em> solo recibe un argumento.
+</p>
+                                                <p>
+	Las plantillas de VTL puede tener sentencias <em>#parse</em> que se
+	refieran a plantillas que a su vez tengan sentencias
+	<em>#parse</em>. La línea <em>parse_directive.maxdepth</em> del
+	archivo <code>velocity.properties</code>, cuyo valor por defecto es
+	10, permite a los usuarios configurar el máximo número de
+	referencias a <em>#parse</em> que pueden ocurrir desde una única
+	plantilla. (Nota: Si la propiedad <em>parse_directive.maxdepth</em>
+	no esta dentro del archivo <code>velocity.properties</code>,
+	Velocity establecerá el valor por defecto en 10.) La recursión esta
+	permitida, por ejemplo, si la plantilla <code>hacerfoo.vm</code>
+	contiene las siguientes líneas:
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2438,8 +2442,8 @@
     </table>
     </div>
                                                 <p>
-    Hay una referencia a la plantilla <code>parsefoo.vm</code>, que
-    contiene el siguiente código VTL:
+	Hay una referencia a la plantilla <code>parsefoo.vm</code>, que
+	contiene el siguiente código VTL:
 </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2469,11 +2473,11 @@
     </table>
     </div>
                                                 <p>
-    Después de que se muestra "Cuenta Regresiva.", Velocity pasa por
-    <code>parsefoo.vm</code>, contando hacía abajo desde 8. Cuando el
-    conteo llegue a 0, mostrará el mensaje "Listo parsefoo.vm!". En este
-    punto Velocity volverá a <code>dofoo.vm</code> y escribirá el
-    mensaje "Listo hacerfoo.vm!".
+	Después de que se muestra "Cuenta Regresiva.", Velocity pasa por
+	<code>parsefoo.vm</code>, contando hacía abajo desde 8. Cuando el
+	conteo llegue a 0, mostrará el mensaje "Listo parsefoo.vm!". En este
+	punto Velocity volverá a <code>dofoo.vm</code> y escribirá el
+	mensaje "Listo hacerfoo.vm!".
     </p>
                             </blockquote>
         </p>
@@ -2530,13 +2534,13 @@
         <p>
         <blockquote>
                                     <p>
-    El elemento de script <em>#macro</em> script permite definir un
-    segmento de plantilla VTL repetitivo. Los Velocimacros son muy
-    útiles en una amplia gama se situaciones, tanto simples como
-    complejas. El siguiente Velocimacro, creado con el único propósito
-    de ahorrar tecleo y minimizar errores tipográficos, provee una
-    introducción al concepto de Velocimacros
-    element allows template designers to.
+	El elemento de script <em>#macro</em> script permite definir un
+	segmento de plantilla VTL repetitivo. Los Velocimacros son muy
+	útiles en una amplia gama se situaciones, tanto simples como
+	complejas. El siguiente Velocimacro, creado con el único propósito
+	de ahorrar tecleo y minimizar errores tipográficos, provee una
+	introducción al concepto de Velocimacros
+	element allows template designers to.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2562,8 +2566,8 @@
     </table>
     </div>
                                                 <p>
-    El Velocimacro que se define en este ejemplo es <em>d</em>, y se
-    puede llamar de manera similar a cualquier otra directiva VTL:
+	El Velocimacro que se define en este ejemplo es <em>d</em>, y se
+	puede llamar de manera similar a cualquier otra directiva VTL:
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2649,7 +2653,7 @@
 #set( $grandeslagos = [&quot;Superior&quot;,&quot;Michigan&quot;,&quot;Huron&quot;,&quot;Erie&quot;,&quot;Ontario&quot;] )
 #set( $color = &quot;blue&quot; )
 &lt;table&gt;
-    #filastabla( $color $grandeslagos )
+	#filastabla( $color $grandeslagos )
 &lt;/table&gt;
 </pre></td>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
@@ -2662,9 +2666,9 @@
     </table>
     </div>
                                                 <p>
-    Note que <em>$grandeslagos</em> toma el lugar de
-    <em>$algunalista</em>. Cuando el Velocimacro es llamado en esta
-    situación, la siguiente salida es generada:
+	Note que <em>$grandeslagos</em> toma el lugar de
+	<em>$algunalista</em>. Cuando el Velocimacro es llamado en esta
+	situación, la siguiente salida es generada:
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2724,7 +2728,7 @@
 #set( $partes = [&quot;raíz&quot;,&quot;tallo&quot;,&quot;hojas&quot;,&quot;flores&quot;,&quot;frutos&quot;] )
 #set( $colorCelda = &quot;#CC00FF&quot; )
 &lt;table&gt;
-    #filastabla( $colorCelda $parts )
+	#filastabla( $colorCelda $parts )
 &lt;/table&gt;
 </pre></td>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
@@ -2776,34 +2780,34 @@
   </p>
                                                 <ul>
     <li>
-    Referencia : cualquier cosa que comience con '$'
+	Referencia : cualquier cosa que comience con '$'
     </li>
     <li>
-    Cadena de caracteres : algo como "$foo" u 'hola'
+	Cadena de caracteres : algo como "$foo" u 'hola'
     </li>
     <li>
       Número : 1, 2 etc
     </li>
     <li>
-        Rango de enteros : [ 1..2] ó [$foo .. $bar]
+		Rango de enteros : [ 1..2] ó [$foo .. $bar]
     </li>
     <li>
-        ObjectArray : [ "a", "b", "c"]
+      	ObjectArray : [ "a", "b", "c"]
     </li>
     <li>
        El valor booleano "verdadero"
     </li>
-    <li>
-       El valor booleano "falso"
+	<li>
+	   El valor booleano "falso"
     </li>
   </ul>
                                                 <p>
-    Cuando pase referencias como argumentos para los Velocimacros tenga
-    en cuenta que las referencias se pasan 'por nombre'. Esto quiere
-    decir que su valor es 'generado' cada vez que se usa dentro del
-    Velocimacros. Esta característica le permite pasar referencias con
-    las llamadas de método y hacer que el método se llame cada vez. Por
-    ejemplo, cuando llame el siguiente Velocimacro
+  	Cuando pase referencias como argumentos para los Velocimacros tenga
+	en cuenta que las referencias se pasan 'por nombre'. Esto quiere
+	decir que su valor es 'generado' cada vez que se usa dentro del
+	Velocimacros. Esta característica le permite pasar referencias con
+	las llamadas de método y hacer que el método se llame cada vez. Por
+	ejemplo, cuando llame el siguiente Velocimacro
    </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2831,21 +2835,21 @@
     </table>
     </div>
                                                 <p>
-    Esa llamada hace que el método bar() de la referencia $foo sea
-    llamado 3 veces.
+   	Esa llamada hace que el método bar() de la referencia $foo sea
+	llamado 3 veces.
     </p>
                                                 <p>
-    A primera vista, esta característica parece sorprendente, pero
-    cuando se tiene en cuenta la motivación original de los Velocimacros
-    -- eliminar la duplicación de "copiar y pegar" del VTL usado varias
-    veces -- tiene mucho sentido. Permite pasar al Velocimacro objetos
-    con estado, como un objeto que genera colores en una secuencia
-    repetitiva para colorear las filas de una tabla.
+	A primera vista, esta característica parece sorprendente, pero
+	cuando se tiene en cuenta la motivación original de los Velocimacros
+	-- eliminar la duplicación de "copiar y pegar" del VTL usado varias
+	veces -- tiene mucho sentido. Permite pasar al Velocimacro objetos
+	con estado, como un objeto que genera colores en una secuencia
+	repetitiva para colorear las filas de una tabla.
     </p>
                                                 <p>
-    Si usted no desea utilizar esta característica siempre es posible
-    simplemente obtener el valor del método como una nueva referencia y
-    pasar ese valor:
+	Si usted no desea utilizar esta característica siempre es posible
+	simplemente obtener el valor del método como una nueva referencia y
+	pasar ese valor:
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -2857,8 +2861,8 @@
     <tr>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
       <td bgcolor="#ffffff"><pre>
-    #set( $mivalor = $foo.bar() )
-    #llamame( $mivalor )
+	#set( $mivalor = $foo.bar() )
+	#llamame( $mivalor )
    </pre></td>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
     </tr>
@@ -2883,76 +2887,76 @@
    localizar las librerías.
     </p>
                                                 <p>
-    <code>velocimacro.permissions.allow.inline</code> - Esta propiedad,
-    que tiene como valores posibles verdadero y falso (true y false),
-    determina si los Velocimacros pueden ser definidos dentro de las
-    plantillas normales.
-    El valor por defecto, verdadero, le permite a los diseñadores
-    definir por si mismos macros en las plantillas.
+	<code>velocimacro.permissions.allow.inline</code> - Esta propiedad,
+	que tiene como valores posibles verdadero y falso (true y false),
+	determina si los Velocimacros pueden ser definidos dentro de las
+	plantillas normales.
+	El valor por defecto, verdadero, le permite a los diseñadores
+	definir por si mismos macros en las plantillas.
     </p>
                                                 <p>
     <code>velocimacro.permissions.allow.inline.to.replace.global</code> -
-    Con valores posibles verdadero y falso (true y false), esta
-    propiedad le permite al usuario decidir si un Velocimacro definido
-    inline dentro de una plantilla puede reemplazar a la plantilla
-    global, que fue cargada al comienzo por medio de la propiedad
-    <code>velocimacro.library</code>. El valor por defecto, falso
-    (<code>false</code>), evita que los Velocimacros definidos en una
-    plantilla reemplacen a los que fueron cargados al inicio.
+	Con valores posibles verdadero y falso (true y false), esta
+	propiedad le permite al usuario decidir si un Velocimacro definido
+	inline dentro de una plantilla puede reemplazar a la plantilla
+	global, que fue cargada al comienzo por medio de la propiedad
+	<code>velocimacro.library</code>. El valor por defecto, falso
+	(<code>false</code>), evita que los Velocimacros definidos en una
+	plantilla reemplacen a los que fueron cargados al inicio.
     </p>
                                                 <p>
    <code>velocimacro.permissions.allow.inline.local.scope</code> -
-    Con valores posibles verdadero y falso (true y false), valor por
-    defecto falso, esta propiedad dice si los Velocimacros definidos
-    inline son 'visibles' únicamente para la plantilla que los define.
-    Usted puede usar esta característica para hacer algunos trucos de
-    VM - si un VM global llama a otro VM global, con ancance inline, una
-    plantilla puede definir una implementación privada del segundo VM,
-    que será llamada por el primer VM cuando sea invocado en esa
-    plantilla. Ninguna de las otras templates es afectada.
-    </p>
-                                                <p>
-    <code>velocimacro.context.localscope</code> -
-    Con valores posibles verdadero y falso (true y false), valor por
-    defecto falso. Cuando es verdadera cualquier modificación al
-    contexto por medio de un #set() dentro de un Velocimacro se
-    considera local a ese Velocimacro y no afecta permanentemente al
-    contexto.
-    </p>
-                                                <p>
-    <code>velocimacro.library.autoreload</code> - Esta propiedad
-    controla el cargado automático de la libreria de Velocimacros. El
-    valor por defecto es <code>false</code>. Cuando es verdadero
-    (<code>true</code>) la librería fuente de un Velocimacro que ha sido
-    invocado será verificada para comprobar que no haya cambiado, y si
-    lo ha hecho será recargada. Esta característica le permite cambiar y
-    probar librerías de macros sin necesidad de reiniciar la aplicación
-    o el contenedor de servlets, de la misma manera que se hace con
-    plantillas normales.
-    Este modo solo funciona cuando el caché esta <i>apagado</i>
-    en los cargadores de recursos( e.g. <code>file.resource.loader.cache
-        = false</code>).
-    Esta característica esta pensada para el proceso de desarrollo, no
-    el de producción.
-    This property
+	Con valores posibles verdadero y falso (true y false), valor por
+	defecto falso, esta propiedad dice si los Velocimacros definidos
+	inline son 'visibles' únicamente para la plantilla que los define.
+	Usted puede usar esta característica para hacer algunos trucos de
+	VM - si un VM global llama a otro VM global, con ancance inline, una
+	plantilla puede definir una implementación privada del segundo VM,
+	que será llamada por el primer VM cuando sea invocado en esa
+	plantilla. Ninguna de las otras templates es afectada.
+    </p>
+                                                <p>
+	<code>velocimacro.context.localscope</code> -
+	Con valores posibles verdadero y falso (true y false), valor por
+	defecto falso. Cuando es verdadera cualquier modificación al
+	contexto por medio de un #set() dentro de un Velocimacro se
+	considera local a ese Velocimacro y no afecta permanentemente al
+	contexto.
+    </p>
+                                                <p>
+	<code>velocimacro.library.autoreload</code> - Esta propiedad
+	controla el cargado automático de la libreria de Velocimacros. El
+	valor por defecto es <code>false</code>. Cuando es verdadero
+	(<code>true</code>) la librería fuente de un Velocimacro que ha sido
+	invocado será verificada para comprobar que no haya cambiado, y si
+	lo ha hecho será recargada. Esta característica le permite cambiar y
+	probar librerías de macros sin necesidad de reiniciar la aplicación
+	o el contenedor de servlets, de la misma manera que se hace con
+	plantillas normales.
+	Este modo solo funciona cuando el caché esta <i>apagado</i>
+	en los cargadores de recursos( e.g. <code>file.resource.loader.cache
+		= false</code>).
+	Esta característica esta pensada para el proceso de desarrollo, no
+	el de producción.
+	This property
     </p>
                                                 <strong>Cosas y Casos de Velocimacros</strong>
                                                 <p>
-    Actualmente los Velocimacros deben ser definidos antes de ser
-    utilizados por primera vez dentro de una plantilla. Esto significa
-    que sus declaraciones de #macro() deben aparecerantes de que usted
-    utilice los Velocimacros.
+	Actualmente los Velocimacros deben ser definidos antes de ser
+	utilizados por primera vez dentro de una plantilla. Esto significa
+	que sus declaraciones de #macro() deben aparecerantes de que usted
+	utilice los Velocimacros.
     </p>
                                                 <p>
-    Esto es importante recordarlo cuando usted intenta hacerle #parse()
-    a una plantilla que contiene directivas #macro(). Como el #parse()
-    ocurre en tiempo de ejecución, y el parser decide si un elemento que
-    parece una VM es realmente un VM cuando esta haciendo el #parse(),
-    entonces probablemente el #parse() de un conjunto de declaraciones
-    no funciona como se esperaría. Para evitar este problema,
-    simplemente utilice la propiedad
-    <code>velocimacro.library</code>para cargar todos sus VM cuando se
-    inicie la aplicación.
+	Esto es importante recordarlo cuando usted intenta hacerle #parse()
+	a una plantilla que contiene directivas #macro(). Como el #parse()
+	ocurre en tiempo de ejecución, y el parser decide si un elemento que
+	parece una VM es realmente un VM cuando esta haciendo el #parse(),
+	entonces probablemente el #parse() de un conjunto de declaraciones
+	no funciona como se esperaría. Para evitar este problema,
+	simplemente utilice la propiedad
+	<code>velocimacro.library</code>para cargar todos sus VM cuando se
+	inicie la aplicación.
     </p>
                             </blockquote>
         </p>
@@ -3344,7 +3348,7 @@
 Enviame
 #set($foo       = [&quot;$10 y &quot;,&quot;un pastel&quot;])
                  #foreach           ($a in $foo )$a
-    #end por favor.
+	#end por favor.
 </pre></td>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
     </tr>
@@ -3773,7 +3777,7 @@
     </div>
                                                 <p>
 Tenga en cuenta que en segundo ejemplo el argumentos es evaluado <i>
-    dentro</i> de la VM, no a nivel del llamador. En otras palabras, el
+	dentro</i> de la VM, no a nivel del llamador. En otras palabras, el
 argumento para el VM es pasado completo y evaluado dentro del VM al que
 se le pasa. Esto le permite hacer cosas como :
 </p>
@@ -3905,20 +3909,20 @@
 Velocimacros.
 </p>
                                                 <p>
-    Esto es importante recordarlo cuando usted intenta hacerle #parse()
-    a una plantilla que contiene directivas #macro(). Como el #parse()
-    ocurre en tiempo de ejecución, y el parser decide si un elemento que
-    parece una VM es realmente un VM cuando esta haciendo el #parse(),
-    entonces probablemente el #parse() de un conjunto de declaraciones
-    no funciona como se esperaría. Para evitar este problema,
-    simplemente utilice la propiedad
-    <code>velocimacro.library</code>para cargar todos sus VM cuando se
-    inicie la aplicación.
+	Esto es importante recordarlo cuando usted intenta hacerle #parse()
+	a una plantilla que contiene directivas #macro(). Como el #parse()
+	ocurre en tiempo de ejecución, y el parser decide si un elemento que
+	parece una VM es realmente un VM cuando esta haciendo el #parse(),
+	entonces probablemente el #parse() de un conjunto de declaraciones
+	no funciona como se esperaría. Para evitar este problema,
+	simplemente utilice la propiedad
+	<code>velocimacro.library</code>para cargar todos sus VM cuando se
+	inicie la aplicación.
     </p>
                                                 <strong>¿Qué es la auto recarga de Velocimacros?</strong>
                                                 <p>
-    Existe una propiedad, pensada para usarse en <i>desarrollo</i>, no
-    en producción :
+	Existe una propiedad, pensada para usarse en <i>desarrollo</i>, no
+	en producción :
   </p>
                                                 <p>
   <code>velocimacro.library.autoreload</code>
@@ -3934,8 +3938,8 @@
   Velocimacros se recarguen.
     </p>
                                                 <p>
-    A continuación se muestra un conjunto sencillo de propiedades de
-    configuración.
+	A continuación se muestra un conjunto sencillo de propiedades de
+	configuración.
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -3975,8 +3979,8 @@
         <blockquote>
                                     <p>
 Una pregunta común que los desarrolladores formulan es <i>¿Cómo
-    concateno cadenas de caracteres? ¿Existe algún análogo al operador
-    '+' en Java?</i>
+	concateno cadenas de caracteres? ¿Existe algún análogo al operador
+	'+' en Java?</i>
    </p>
                                                 <p>
    Para concatenar referencias en VTL usted solo tiene que 'ponerlos
@@ -4013,9 +4017,9 @@
     </table>
     </div>
                                                 <p>
-    y la salida será 'El reloj es BigBen'. Para caso más interesantes,
-    como cuando ested desea concatenar las cadenas que pasará a un
-    método, o establecer el valor de una nueva referencia use
+   	y la salida será 'El reloj es BigBen'. Para caso más interesantes,
+	como cuando ested desea concatenar las cadenas que pasará a un
+	método, o establecer el valor de una nueva referencia use
    </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -4030,9 +4034,9 @@
       #set( $tam = &quot;Big&quot; )
       #set( $nombre = &quot;Ben&quot; )
 
-      #set($reloj = &quot;$tam$nombre&quot; )
+	  #set($reloj = &quot;$tam$nombre&quot; )
 
-        El reloj es $reloj.
+	 	El reloj es $reloj.
     </pre></td>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
     </tr>
@@ -4044,9 +4048,9 @@
     </table>
     </div>
                                                 <p>
-    Que resultará en la mismo que el ejemplo anterior. Como un ejemplo
-    final, cuando usted desea mezclar cadenas 'estáticas' con sus
-    referencias usted puede necesitar 'referencias formales':
+	Que resultará en la mismo que el ejemplo anterior. Como un ejemplo
+	final, cuando usted desea mezclar cadenas 'estáticas' con sus
+	referencias usted puede necesitar 'referencias formales':
     </p>
                                                     <div align="left">
     <table cellspacing="4" cellpadding="0" border="0">
@@ -4058,12 +4062,12 @@
     <tr>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
       <td bgcolor="#ffffff"><pre>
-      #set( $tam = &quot;Big&quot; )
+	  #set( $tam = &quot;Big&quot; )
       #set( $nombre = &quot;Ben&quot; )
 
-      #set($reloj = &quot;${tam}Alto$nombre&quot; )
+	  #set($reloj = &quot;${tam}Alto$nombre&quot; )
 
-      El reloj es $reloj.
+	  El reloj es $reloj.
     </pre></td>
       <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
     </tr>
@@ -4075,10 +4079,10 @@
     </table>
     </div>
                                                 <p>
-    Ahora el resultado es 'El reloj es BigAltoBen'. La notación formal
-    es necesaria para que el procesador de las plantillas sepa que usted
-    quiso usar la referencia '$tam', en lugar de '$tamAlto', que sería
-    lo que entendería si los corchetes '{}' no estuvieran presentes.
+	Ahora el resultado es 'El reloj es BigAltoBen'. La notación formal
+	es necesaria para que el procesador de las plantillas sepa que usted
+	quiso usar la referencia '$tam', en lugar de '$tamAlto', que sería
+	lo que entendería si los corchetes '{}' no estuvieran presentes.
     </p>
                             </blockquote>
       </td></tr>
@@ -4102,7 +4106,7 @@
 Si encuentra algún error en este manual o tiene algún otro comentario o
 retroalimentación relacionada con la guía del usuario de Velocity, por
 favor envie un correo a <a href="mailto:velocity-user@jakarta.apache.org">La lista de usuarios
-    de Velocity</a>.
+	de Velocity</a>.
 Gracias!
   </p>
                             </blockquote>



---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-dev-help@jakarta.apache.org