Browse Source

error correction DOC-ES

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19810 44c647ce-9c0f-0410-b52a-842ac1e357ba
benjamin-gonzales 16 years ago
parent
commit
04b0a90852
100 changed files with 5722 additions and 5787 deletions
  1. 14 14
      documentation/manual/es/module_specs/Zend_Acl-Advanced.xml
  2. 17 17
      documentation/manual/es/module_specs/Zend_Acl-Refining.xml
  3. 52 52
      documentation/manual/es/module_specs/Zend_Acl.xml
  4. 124 124
      documentation/manual/es/module_specs/Zend_Amf-Server.xml
  5. 4 4
      documentation/manual/es/module_specs/Zend_Amf.xml
  6. 17 17
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Db.xml
  7. 22 22
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Frontcontroller.xml
  8. 48 48
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Modules.xml
  9. 18 18
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Session.xml
  10. 7 7
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-View.xml
  11. 2 2
      documentation/manual/es/module_specs/Zend_Application-AvailableResources.xml
  12. 44 44
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Application.xml
  13. 20 20
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrap.xml
  14. 34 34
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_BootstrapAbstract.xml
  15. 15 15
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrapper.xml
  16. 17 17
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_ResourceBootstrapper.xml
  17. 11 11
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Resource_Resource.xml
  18. 42 42
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Resource_ResourceAbstract.xml
  19. 2 2
      documentation/manual/es/module_specs/Zend_Application-CoreFunctionality.xml
  20. 63 90
      documentation/manual/es/module_specs/Zend_Application-Examples.xml
  21. 4 4
      documentation/manual/es/module_specs/Zend_Application-Introduction.xml
  22. 65 65
      documentation/manual/es/module_specs/Zend_Application-QuickStart.xml
  23. 120 120
      documentation/manual/es/module_specs/Zend_Application-TheoryOfOperation.xml
  24. 120 120
      documentation/manual/es/module_specs/Zend_Auth.xml
  25. 60 60
      documentation/manual/es/module_specs/Zend_Auth_Adapter_DbTable.xml
  26. 31 31
      documentation/manual/es/module_specs/Zend_Auth_Adapter_Digest.xml
  27. 46 46
      documentation/manual/es/module_specs/Zend_Auth_Adapter_Http.xml
  28. 67 67
      documentation/manual/es/module_specs/Zend_Auth_Adapter_OpenId.xml
  29. 21 21
      documentation/manual/es/module_specs/Zend_Cache-Introduction.xml
  30. 4 4
      documentation/manual/es/module_specs/Zend_Captcha.xml
  31. 22 22
      documentation/manual/es/module_specs/Zend_CodeGenerator-Examples.xml
  32. 28 28
      documentation/manual/es/module_specs/Zend_CodeGenerator-Introduction.xml
  33. 65 65
      documentation/manual/es/module_specs/Zend_CodeGenerator-Reference.xml
  34. 10 10
      documentation/manual/es/module_specs/Zend_Config-Introduction.xml
  35. 20 20
      documentation/manual/es/module_specs/Zend_Config-TheoryOfOperation.xml
  36. 17 17
      documentation/manual/es/module_specs/Zend_Config_Ini.xml
  37. 20 20
      documentation/manual/es/module_specs/Zend_Config_Xml.xml
  38. 100 100
      documentation/manual/es/module_specs/Zend_Controller-ActionController.xml
  39. 9 9
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-ActionStack.xml
  40. 49 49
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-AutoComplete.xml
  41. 168 168
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-ContextSwitch.xml
  42. 4 4
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-FlashMessenger.xml
  43. 20 20
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-Json.xml
  44. 38 38
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-Redirector.xml
  45. 140 140
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-ViewRenderer.xml
  46. 40 40
      documentation/manual/es/module_specs/Zend_Controller-Basics.xml
  47. 22 22
      documentation/manual/es/module_specs/Zend_Controller-Dispatcher.xml
  48. 64 64
      documentation/manual/es/module_specs/Zend_Controller-Exceptions.xml
  49. 114 114
      documentation/manual/es/module_specs/Zend_Controller-FrontController.xml
  50. 255 255
      documentation/manual/es/module_specs/Zend_Controller-Migration.xml
  51. 51 51
      documentation/manual/es/module_specs/Zend_Controller-QuickStart.xml
  52. 80 80
      documentation/manual/es/module_specs/Zend_Controller-Request.xml
  53. 21 21
      documentation/manual/es/module_specs/Zend_Controller-Router-Route-Chain.xml
  54. 8 8
      documentation/manual/es/module_specs/Zend_Controller-Router-Route-Hostname.xml
  55. 35 35
      documentation/manual/es/module_specs/Zend_Controller-Router-Route-Regex.xml
  56. 15 15
      documentation/manual/es/module_specs/Zend_Controller-Router-Route-Static.xml
  57. 52 52
      documentation/manual/es/module_specs/Zend_Controller-Router-Route.xml
  58. 196 196
      documentation/manual/es/module_specs/Zend_Controller-Router.xml
  59. 29 29
      documentation/manual/es/module_specs/Zend_Date-Introduction.xml
  60. 383 421
      documentation/manual/es/module_specs/Zend_Date-Overview.xml
  61. 168 168
      documentation/manual/es/module_specs/Zend_Db_Adapter.xml
  62. 11 11
      documentation/manual/es/module_specs/Zend_Db_Profiler-Firebug.xml
  63. 90 90
      documentation/manual/es/module_specs/Zend_Db_Profiler.xml
  64. 176 176
      documentation/manual/es/module_specs/Zend_Db_Select.xml
  65. 58 58
      documentation/manual/es/module_specs/Zend_Db_Statement.xml
  66. 170 170
      documentation/manual/es/module_specs/Zend_Db_Table-Relationships.xml
  67. 76 76
      documentation/manual/es/module_specs/Zend_Db_Table_Row.xml
  68. 42 42
      documentation/manual/es/module_specs/Zend_Db_Table_Rowset.xml
  69. 15 15
      documentation/manual/es/module_specs/Zend_Debug.xml
  70. 76 76
      documentation/manual/es/module_specs/Zend_Dojo-Data.xml
  71. 25 25
      documentation/manual/es/module_specs/Zend_Dojo-Form-Decorators.xml
  72. 241 241
      documentation/manual/es/module_specs/Zend_Dojo-Form-Elements.xml
  73. 10 10
      documentation/manual/es/module_specs/Zend_Dojo-Form-Examples.xml
  74. 18 18
      documentation/manual/es/module_specs/Zend_Dojo-Form.xml
  75. 112 112
      documentation/manual/es/module_specs/Zend_Dojo-View-Dojo.xml
  76. 191 191
      documentation/manual/es/module_specs/Zend_Dojo-View-Helpers.xml
  77. 6 6
      documentation/manual/es/module_specs/Zend_Dojo-View.xml
  78. 4 4
      documentation/manual/es/module_specs/Zend_Dojo.xml
  79. 1 1
      documentation/manual/es/module_specs/Zend_Dom.xml
  80. 4 4
      documentation/manual/es/module_specs/Zend_Exception.xml
  81. 27 27
      documentation/manual/es/module_specs/Zend_Filter.xml
  82. 45 45
      documentation/manual/es/module_specs/Zend_Form-Advanced.xml
  83. 49 49
      documentation/manual/es/module_specs/Zend_Form-Decorators.xml
  84. 168 168
      documentation/manual/es/module_specs/Zend_Form-Elements.xml
  85. 161 161
      documentation/manual/es/module_specs/Zend_Form-Forms.xml
  86. 27 27
      documentation/manual/es/module_specs/Zend_Form-I18n.xml
  87. 3 3
      documentation/manual/es/module_specs/Zend_Form-Introduction.xml
  88. 96 96
      documentation/manual/es/module_specs/Zend_Form-QuickStart.xml
  89. 54 54
      documentation/manual/es/module_specs/Zend_Form-StandardDecorators.xml
  90. 150 150
      documentation/manual/es/module_specs/Zend_Form-StandardElements.xml
  91. 2 2
      documentation/manual/es/module_specs/Zend_Json-Basics.xml
  92. 5 5
      documentation/manual/es/module_specs/Zend_Json-Introduction.xml
  93. 22 22
      documentation/manual/es/module_specs/Zend_Json-Objects.xml
  94. 52 52
      documentation/manual/es/module_specs/Zend_Json-Server.xml
  95. 12 12
      documentation/manual/es/module_specs/Zend_Json-xml2json.xml
  96. 14 14
      documentation/manual/es/module_specs/Zend_Layout-Introduction.xml
  97. 18 18
      documentation/manual/es/module_specs/Zend_Loader.xml
  98. 12 12
      documentation/manual/es/module_specs/Zend_Pdf-Create.xml
  99. 106 106
      documentation/manual/es/module_specs/Zend_Pdf-Drawing.xml
  100. 19 19
      documentation/manual/es/module_specs/Zend_Pdf-Introduction.xml

+ 14 - 14
documentation/manual/es/module_specs/Zend_Acl-Advanced.xml

@@ -9,7 +9,7 @@
 
         <title>Almacenamiento Permanente de los Datos ACL</title>
 
-        <para>
+       <para>
             <classname>Zend_Acl</classname> fue diseñado de tal manera que no requiere ninguna
             tecnología particular como bases de datos o un servidor de cache para el almacenamiento
             de datos <acronym>ACL</acronym>. Al poseer una implementación completamente construida
@@ -17,16 +17,16 @@
             personalizadas sobre <classname>Zend_Acl</classname> con relativa facilidad y
             flexibilidad. En muchas situaciones se requiere alguna forma de mantenimiento
             interactivo de una <acronym>ACL</acronym>, y <classname>Zend_Acl</classname> provee
-            métodos para configurar, y consultar, los controles de acceso de una aplicación. </para>
+            métodos para configurar, y consultar, los controles de acceso de una aplicación.</para>
 
-        <para> El almacenamiento de los datos <acronym>ACL</acronym> es una tarea que se delega al
+       <para>El almacenamiento de los datos <acronym>ACL</acronym> es una tarea que se delega al
             desarrollador, puesto que la utilización variará extensamente en distintas situaciones.
             Dado que <classname>Zend_Acl</classname> es serializable, los objetos
                 <acronym>ACL</acronym> pueden serializarse con la función <ulink
                 url="http://php.net/serialize">
                 <methodname>serialize()</methodname>
             </ulink> de <acronym>PHP</acronym>, y los resultados pueden ser almacenados donde sea
-            que el desarrollador lo desee, en un archivo, base de datos, o mecanismo de cache </para>
+            que el desarrollador lo desee, en un archivo, base de datos, o mecanismo de cache</para>
 
     </sect2>
 
@@ -34,18 +34,18 @@
 
         <title> Escribiendo reglas condicionales ACL con aserciones </title>
 
-        <para> A veces, una regla para permitir o negar una función de acceso a un recurso no
+       <para>A veces, una regla para permitir o negar una función de acceso a un recurso no
             debería ser absoluta sino que depende de varios criterios. Por ejemplo, supóngase que
             debe permitirse cierto acceso, pero únicamente entre las 8:00am y 5:00pm. Otro ejemplo
             sería negar el acceso debido a una petición que proviene de una dirección IP que se ha
             marcado como una fuente de abusos. <classname>Zend_Acl</classname> tiene soporte para la
-            aplicación de normas basadas en cualquier condición que el desarrollador necesite. </para>
+            aplicación de normas basadas en cualquier condición que el desarrollador necesite.</para>
 
-        <para>
+       <para>
             <classname>Zend_Acl</classname> provee soporte para reglas condicionales con
                 <classname>Zend_Acl_Assert_Interface</classname> . Con el fin de utilizar la regla
             de aserción de la interfaz, un desarrollador escribe una clase que implemente el método
-                <methodname>assert()</methodname> de la interfaz: </para>
+                <methodname>assert()</methodname> de la interfaz:</para>
 
         <programlisting language="php"><![CDATA[
 class CleanIPAssertion implements Zend_Acl_Assert_Interface
@@ -65,17 +65,17 @@ class CleanIPAssertion implements Zend_Acl_Assert_Interface
 }
 ]]></programlisting>
 
-        <para> Una vez la clase de aserción esta disponible, el desarrollador puede suministrar una
+       <para>Una vez la clase de aserción esta disponible, el desarrollador puede suministrar una
             instancia de la clase de aserción cuando asigna reglas condicionales. Una regla que es
             creada con una aserción sólo se aplica cuando el método de la aserción devuelve
-                <constant>TRUE</constant>. </para>
+                <constant>TRUE</constant>.</para>
 
         <programlisting language="php"><![CDATA[
 $acl = new Zend_Acl();
 $acl->allow(null, null, null, new CleanIPAssertion());
 ]]></programlisting>
 
-        <para> El código anterior crea una regla condicional que permite el acceso a todos los
+       <para>El código anterior crea una regla condicional que permite el acceso a todos los
             privilegios sobre todo, por todo el mundo, excepto cuando la IP de quien hace la
             petición está en la "lista negra". Si una petición viene desde una IP que no está
             considerada "limpia", entonces la regla no se aplica. Dado que la regla se aplica a
@@ -84,13 +84,13 @@ $acl->allow(null, null, null, new CleanIPAssertion());
             entendido que en todos los otros casos (por ejemplo, cuando un rol específico, recurso,
             o privilegio está especificado por la regla), una aserción fallida provoca que la regla
             no se aplique, y otras reglas deberían ser usadas para determinar si el acceso está
-            permitido o denegado. </para>
+            permitido o denegado.</para>
 
-        <para> El método <methodname>assert()</methodname> de un objeto aserción es pasado a la
+       <para>El método <methodname>assert()</methodname> de un objeto aserción es pasado a la
                 <acronym>ACL</acronym>, regla, recurso, y privilegio para el cual una consulta de
             autorización (por ejemplo, <methodname>isAllowed()</methodname> ) se aplica, con el fin
             de proporcionar un contexto para que la clase de aserción determine sus condiciones
-            cuando fuera necesario. </para>
+            cuando fuera necesario.</para>
 
     </sect2>
 

+ 17 - 17
documentation/manual/es/module_specs/Zend_Acl-Refining.xml

@@ -9,43 +9,43 @@
 
         <title>Definir mejor los controles de acceso</title>
 
-        <para> El <acronym>ACL</acronym> básico según lo definido en la <link
+       <para>El <acronym>ACL</acronym> básico según lo definido en la <link
                 linkend="zend.acl.introduction"> sección anterior </link>
             demuestra cómo los diversos privilegios se pueden otorgar sobre todo
             el <acronym>ACL</acronym> (todos los recursos). En la práctica, sin
             embargo, los controles de acceso tienden a tener excepciones y
             diversos grados de complejidad. <classname>Zend_Acl</classname>
             permite lograr estos refinamientos de una manera sencilla y
-            flexible. </para>
+            flexible.</para>
 
-        <para> Para el <acronym>CMS</acronym> del ejemplo se ha determinado que,
+       <para>Para el <acronym>CMS</acronym> del ejemplo se ha determinado que,
             si bien el grupo 'staff' cubre las necesidades de la gran mayoría de
             usuarios, hay una necesidad de un nuevo grupo 'marketing' que
             requiere el acceso al boletín de noticias y las últimas noticias en
             el CMS. El grupo es bastante auto suficiente y tendrá la capacidad
             de publicar y de archivar los boletines de noticias y las últimas
-            noticias. </para>
+            noticias.</para>
 
-        <para> Primero revisamos el registro del rol para reflejar estos
+       <para>Primero revisamos el registro del rol para reflejar estos
             cambios. Hemos determinado que el grupo 'marketing' tiene los mismos
             permisos básicos que 'staff', así que definimos 'marketing' de tal
-            manera que herede los permisos de 'staff': </para>
+            manera que herede los permisos de 'staff':</para>
 
         <programlisting language="php"><![CDATA[
  // El nuevo grupo de Marketing hereda los permisos de Staff
  $acl->addRole(new Zend_Acl_Role('marketing'), 'staff');
 ]]></programlisting>
 
-        <para> A continuación, la nota que por encima de los controles de acceso
+       <para>A continuación, la nota que por encima de los controles de acceso
             se refieren a recursos específicos (por ejemplo, "boletín
             informativo", "últimas noticias", "anuncio de noticias"). Ahora
-            añadimos estos recursos: </para>
+            añadimos estos recursos:</para>
 
         <programlisting language="php"><![CDATA[
 // Crear recursos para las reglas
  // newsletter
  $acl->addResource(new Zend_Acl_Resource('newsletter'));
- 
+
  // news
 $acl->addResource(new Zend_Acl_Resource('news'));
 
@@ -56,8 +56,8 @@ $acl->addResource(new Zend_Acl_Resource('latest'), 'news');
 $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
 ]]></programlisting>
 
-        <para> Entonces es simplemente una cuestión de la definición de estas
-            normas más específicas en ámbitos de la <acronym>ACL</acronym>: </para>
+       <para>Entonces es simplemente una cuestión de la definición de estas
+            normas más específicas en ámbitos de la <acronym>ACL</acronym>:</para>
 
         <programlisting language="php"><![CDATA[
  //
@@ -76,8 +76,8 @@ $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
  $acl->deny(null, 'announcement', 'archive');
 ]]></programlisting>
 
-        <para> Ahora podemos consultar el <acronym>ACL</acronym> con respecto a
-            los últimos cambios: </para>
+       <para>Ahora podemos consultar el <acronym>ACL</acronym> con respecto a
+            los últimos cambios:</para>
 
         <programlisting language="php"><![CDATA[
  echo $acl->isAllowed('staff', 'newsletter', 'publish') ?
@@ -120,13 +120,13 @@ $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
 
         <title>Eliminar los controles de acceso</title>
 
-        <para> Para eliminar una o más reglas <acronym>ACL</acronym>,
+       <para>Para eliminar una o más reglas <acronym>ACL</acronym>,
             simplemente utilice el método <methodname>removeAllow()</methodname>
             o <methodname>removeDeny()</methodname>. Al igual que con
                 <methodname>allow()</methodname> y
                 <methodname>deny()</methodname>, puede utilizar un valor
                 <constant>NULL</constant> para indicar que el método es
-            aplicable a todos los roles, recursos y/o privilegios: </para>
+            aplicable a todos los roles, recursos y/o privilegios:</para>
 
         <programlisting language="php"><![CDATA[
 // Elimina la prohibición de leer las últimas noticias de staff (y marketing,
@@ -154,10 +154,10 @@ echo $acl->isAllowed('marketing', 'newsletter', 'archive') ?
 
 ]]></programlisting>
 
-        <para> Los privilegios pueden ser modificados de manera incremental como
+       <para>Los privilegios pueden ser modificados de manera incremental como
             se ha indicado anteriormente, pero un valor
                 <constant>NULL</constant> para los privilegios anula tales
-            cambios incrementales: </para>
+            cambios incrementales:</para>
 
         <programlisting language="php"><![CDATA[
 //Permitir al grupo de "marketing" todos los permisos a las últimas noticias

+ 52 - 52
documentation/manual/es/module_specs/Zend_Acl.xml

@@ -3,36 +3,36 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.acl.introduction">
     <title>Introducción</title>
-    <para>
+   <para>
         <classname>Zend_Acl</classname> provee la implementación de un sistema
         simple y flexible de Listas de Control de Acceso
         (<acronym>ACL</acronym>, por sus siglas en inglés) para la
         administración de privilegios. En general, una aplicación puede utilizar
         las <acronym>ACL</acronym> para controlar el acceso a ciertos objetos
-        protegidos, que son requeridos por otros objetos. </para>
-    <para> Para los propósitos de esta documentación: <itemizedlist>
+        protegidos, que son requeridos por otros objetos.</para>
+   <para>Para los propósitos de esta documentación: <itemizedlist>
             <listitem>
-                <para> Un <emphasis>recurso</emphasis> es un objeto al cual el
-                    acceso esta controlado. </para>
+               <para>Un <emphasis>recurso</emphasis> es un objeto al cual el
+                    acceso esta controlado.</para>
             </listitem>
             <listitem>
-                <para> Un <emphasis>rol</emphasis> es un objeto que puede
-                    solicitar acceso a un recurso. </para>
+               <para>Un <emphasis>rol</emphasis> es un objeto que puede
+                    solicitar acceso a un recurso.</para>
             </listitem>
         </itemizedlist> En términos generales, <emphasis> Los roles solicitan
             acceso a los recursos </emphasis> . Por ejemplo, si una persona
         solicita acceso a un automóvil, entonces la persona se convierte en el
         rol solicitante, y el automóvil en el recurso, puesto que el acceso al
-        automóvil puede no estar disponible a cualquiera. </para>
+        automóvil puede no estar disponible a cualquiera.</para>
 
-    <para> A través de la especificación y uso de Listas de Control de Acceso
+   <para>A través de la especificación y uso de Listas de Control de Acceso
             (<acronym>ACL</acronym>), una aplicación puede controlar cómo los
         objetos solicitantes (roles) han obtenido acceso a objetos protegidos
-        (recursos). </para>
+        (recursos).</para>
 
     <sect2 id="zend.acl.introduction.resources">
         <title>Acerca de los Recursos</title>
-        <para> En <classname>Zend_Acl</classname>, crear un recurso es muy
+       <para>En <classname>Zend_Acl</classname>, crear un recurso es muy
             sencillo. <classname>Zend_Acl</classname> proporciona el
                 <classname>Zend_Acl_Resource_Interface</classname> para
             facilitar a los desarrolladores la creación de recursos. Una clase
@@ -42,8 +42,8 @@
             recurso. Adicionalmente, <classname>Zend_Acl_Resource</classname> es
             proporcionado por <classname>Zend_Acl</classname> como un recurso
             básico de aplicación para que los desarrolladores puedan extenderla
-            hasta donde lo deseen. </para>
-        <para>
+            hasta donde lo deseen.</para>
+       <para>
             <classname>Zend_Acl</classname> provee un estructura de árbol a la
             cual pueden ser agregados múltiples recursos (o "Áreas con Controles
             de Acceso").Ya que los recursos son almacenados en esta estructura
@@ -60,17 +60,17 @@
             asignando esta excepción a cada edificio que necesite una excepción
             a la regla. Un recurso sólo puede heredar de un recurso padre,
             aunque este recurso padre puede tener a la vez su propio recurso
-            padre, y así; sucesivamente. </para>
-        <para>
+            padre, y así; sucesivamente.</para>
+       <para>
             <classname>Zend_Acl</classname> también soporta privilegios sobre
             recursos (ejemplo. "crear","leer","actualizar", "borrar"), y el
             desarrollador puede asignar reglas que afecten o a todos los
-            privilegios o a privilegios específicos sobre un recurso. </para>
+            privilegios o a privilegios específicos sobre un recurso.</para>
     </sect2>
 
     <sect2 id="zend.acl.introduction.roles">
         <title>Acerca de las Reglas</title>
-        <para> Al igual que los recursos, la creación de un rol también es muy
+       <para>Al igual que los recursos, la creación de un rol también es muy
             simple. <classname>Zend_Acl</classname> proporciona
                 <classname>Zend_Acl_Role_Interface</classname> para facilitar a
             los desarrolladores la creación de roles. Una clase solo necesita la
@@ -80,21 +80,21 @@
             Rol. Adicionalmente, <classname>Zend_Acl_Role</classname> está
             incluido con <classname>Zend_Acl</classname> como una implementación
             principal del rol para que los desarrolladores la extiendan hasta
-            donde lo deseen. </para>
-        <para> En <classname>Zend_Acl</classname>, un Rol puede heredar de otro
+            donde lo deseen.</para>
+       <para>En <classname>Zend_Acl</classname>, un Rol puede heredar de otro
             o más roles. Esto es para soportar herencia de reglas entre roles.
             Por ejemplo, un Rol de usuario, como "sally", puede estar bajo uno o
             más roles padre, como "editor" y "administrador". El desarrollador
             puede asignar reglas a "editor" y "administrador" por separado, y
             "sally" puede heredar tales reglas de ambos, sin tener que asignar
-            reglas directamente a "sally". </para>
-        <para> Dado que la habilidad de herencia desde múltiples roles es muy
+            reglas directamente a "sally".</para>
+       <para>Dado que la habilidad de herencia desde múltiples roles es muy
             útil, múltiples herencias también introduce cierto grado de
             complejidad. El siguiente ejemplo ilustra la condición de ambiguedad
-            y como <classname>Zend_Acl</classname> soluciona esto. </para>
+            y como <classname>Zend_Acl</classname> soluciona esto.</para>
         <example id="zend.acl.introduction.roles.example.multiple_inheritance">
             <title>Herencia Múlltiple entre Roles</title>
-            <para> El siguiente código define tres roles principales -
+           <para>El siguiente código define tres roles principales -
                 "invitado", "miembro", y "admin" - de los cuales otros roles
                 pueden heredar. Entonces, un rol identificado como "unUsuario"
                 es colocado y hereda de los otros tres roles. El orden en el
@@ -103,7 +103,7 @@
                 necesario, <classname>Zend_Acl</classname> busca por reglas de
                 acceso definidas no solo para el rol solicitado (aquí,
                 "unUsuario"), sino también sobre los roles heredados (aquí,
-                "invitado", "miembro", y "admin"): </para>
+                "invitado", "miembro", y "admin"):</para>
             <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
 $acl = new Zend_Acl();
@@ -124,33 +124,33 @@ $acl->allow('miembro', 'unRecurso');
 
 echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';
 ]]></programlisting>
-            <para> Ya que no hay reglas específicamente definidas para el rol
+           <para>Ya que no hay reglas específicamente definidas para el rol
                 "unUsuario" y "unRecurso", <classname>Zend_Acl</classname> debe
                 buscar por reglas que puedan estar definidas para roles
                 "unUsuario" hereda. Primero, el rol "admin" es visitado, y no
                 hay regla de acceso definida para éste. Luego, el rol "miembro"
                 es visitado, y <classname>Zend_Acl</classname> encuentra que
                 aquí hay una regla especificando que "miembro" tiene permiso
-                para acceder a "unRecurso". </para>
-            <para> Así, <classname>Zend_Acl</classname> va a seguir examinando
+                para acceder a "unRecurso".</para>
+           <para>Así, <classname>Zend_Acl</classname> va a seguir examinando
                 las reglas definidas para otros roles padre, sin embargo,
                 encontraría que "invitado" tiene el acceso denegado a
                 "unRecurso". Este hecho introduce una ambigüedad debido a que
                 ahora "unUsuario" está tanto denegado como permitido para
                 acceder a "unRecurso", por la razón de tener un conflicto de
-                reglas heredadas de diferentes roles padre. </para>
-            <para>
+                reglas heredadas de diferentes roles padre.</para>
+           <para>
                 <classname>Zend_Acl</classname> resuelve esta ambigüedad
                 completando la consulta cuando encuentra la primera regla que es
                 directamente aplicable a la consulta. En este caso, dado que el
                 rol "miembro" es examinado antes que el rol "invitado", el
-                código de ejemplo mostraría "permitido". </para>
+                código de ejemplo mostraría "permitido".</para>
         </example>
         <note>
-            <para> Cuando se especifican múltiples padres para un Rol, se debe
+           <para>Cuando se especifican múltiples padres para un Rol, se debe
                 tener en cuenta que el último padre listado es el primero en ser
                 buscado por reglas aplicables para una solicitud de
-                autorización. </para>
+                autorización.</para>
         </note>
     </sect2>
 
@@ -158,14 +158,14 @@ echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';
         <title>Creando las Listas de Control de Acceso
             (<acronym>ACL</acronym>)</title>
 
-        <para> Una <acronym>ACL</acronym> puede representar cualquier grupo de
+       <para>Una <acronym>ACL</acronym> puede representar cualquier grupo de
             objetos físicos o virtuales que desee. Para propósitos de
             demostración, sin embargo, crearemos un <acronym>ACL</acronym>
             básico para un Sistema de Administración de Contenido
                 (<acronym>CMS</acronym>) que mantendrá varias escalas de grupos
             sobre una amplia variedad de áreas. Para crear un nuevo objeto
                 <acronym>ACL</acronym>, iniciamos la <acronym>ACL</acronym> sin
-            parámetros: </para>
+            parámetros:</para>
 
         <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
@@ -174,16 +174,16 @@ $acl = new Zend_Acl();
 ]]></programlisting>
 
         <note>
-            <para> Hasta que un desarrollador especifique una regla"permitido",
+           <para>Hasta que un desarrollador especifique una regla"permitido",
                     <classname>Zend_Acl</classname> deniega el acceso a cada
-                privilegio sobre cada recurso para cada rol. </para>
+                privilegio sobre cada recurso para cada rol.</para>
         </note>
     </sect2>
 
     <sect2 id="zend.acl.introduction.role_registry">
         <title>Registrando Roles</title>
 
-        <para> El Sistema de Administración de Contenido
+       <para>El Sistema de Administración de Contenido
             (<acronym>CMS</acronym>) casi siempre necesita una jerarquía de
             permisos para determinar la capacidad de identificación de sus
             usuarios. Puede haber un grupo de 'Invitados' para permitir acceso
@@ -198,7 +198,7 @@ $acl = new Zend_Acl();
             representados en un registro de roles, permitiendo a cada grupo
             heredar los privilegios de los grupos 'padre', al igual que
             proporcionando distintos privilegios solo para su grupo individual.
-            Los permisos pueden ser expresados como: </para>
+            Los permisos pueden ser expresados como:</para>
 
         <table
             id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
@@ -236,11 +236,11 @@ $acl = new Zend_Acl();
             </tgroup>
         </table>
 
-        <para> Para este ejemplo, se usa <classname>Zend_Acl_Role</classname> ,
+       <para>Para este ejemplo, se usa <classname>Zend_Acl_Role</classname> ,
             pero cualquier objeto que implemente
                 <classname>Zend_Acl_Role_Interface</classname> es admisible.
             Estos grupos pueden ser agregados al registro de roles de la
-            siguiente manera: </para>
+            siguiente manera:</para>
 
         <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
@@ -273,7 +273,7 @@ $acl->addRole(new Zend_Acl_Role('administrador'));
     <sect2 id="zend.acl.introduction.defining">
         <title>Definiendo Controles de Acceso</title>
 
-        <para> Ahora que la <acronym>ACL</acronym> contiene los roles
+       <para>Ahora que la <acronym>ACL</acronym> contiene los roles
             relevantes, se pueden establecer reglas que definan cómo los roles
             pueden acceder a los recursos. Tenga en cuenta que no definiremos
             ningún recurso en particular para este ejemplo, el cual está
@@ -282,11 +282,11 @@ $acl->addRole(new Zend_Acl_Role('administrador'));
             práctica por la cual las reglas solo necesitan ser asignadas de lo
             general a lo especifico, minimizando el número de reglas necesarias,
             porque los recursos y roles heredan reglas que están definidas en
-            sus padres. </para>
+            sus padres.</para>
 
-        <para> Consecuentemente, podemos definir un grupo razonablemente
+       <para>Consecuentemente, podemos definir un grupo razonablemente
             complejo de reglas con un mínimo de código. Para aplicar estos
-            permisos básicos como están definidos arriba: </para>
+            permisos básicos como están definidos arriba:</para>
 
         <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
@@ -319,20 +319,20 @@ $acl->allow('editor', null, array('publicar', 'archivar', 'eliminar'));
 $acl->allow('administrador');
 ]]></programlisting>
 
-        <para> El valor <constant>NULL</constant> en las llamadas de
+       <para>El valor <constant>NULL</constant> en las llamadas de
                 <methodname>allow()</methodname> es usado para indicar que las
-            reglas de permiso se aplican a todos los recursos. </para>
+            reglas de permiso se aplican a todos los recursos.</para>
 
     </sect2>
 
     <sect2 id="zend.acl.introduction.querying">
         <title>Consultando la ACL</title>
 
-        <para> Ahora tenemos una <acronym>ACL</acronym> flexible que puede ser
+       <para>Ahora tenemos una <acronym>ACL</acronym> flexible que puede ser
             usada para determinar qué solicitantes tienen permisos para realizar
             funciones a través de la aplicación web. Ejecutar consultas es la
             forma más simple de usar el método
-                <methodname>isAllowed()</methodname> : </para>
+                <methodname>isAllowed()</methodname> :</para>
 
         <programlisting language="php"><![CDATA[
 echo $acl->isAllowed('invitado', null, 'ver') ?
@@ -345,7 +345,7 @@ echo $acl->isAllowed('personal', null, 'revisar') ?
      "permitido" : "denegado"; // permitido
 
 echo $acl->isAllowed('editor', null, 'ver') ?
-     "permitido" : "denegado"; 
+     "permitido" : "denegado";
 // permitido debido a la herencia de invitado
 
 echo $acl->isAllowed('editor', null, 'actualizar') ?
@@ -353,15 +353,15 @@ echo $acl->isAllowed('editor', null, 'actualizar') ?
 // denegado debido a que no hay regla de permiso para 'actualizar'
 
 echo $acl->isAllowed('administrador', null, 'ver') ?
-     "permitido" : "denegado"; 
+     "permitido" : "denegado";
 // permitido porque administrador tiene permitidos todos los privilegios
 
 echo $acl->isAllowed('administrador') ?
-     "permitido" : "denegado"; 
+     "permitido" : "denegado";
 // permitido porque administrador tiene permitidos todos los privilegios
 
 echo $acl->isAllowed('administrador', null, 'actualizar') ?
-     "permitido" : "denegado"; 
+     "permitido" : "denegado";
 // permitido porque administrador tiene permitidos todos los privilegios
 ]]></programlisting>
     </sect2>

+ 124 - 124
documentation/manual/es/module_specs/Zend_Amf-Server.xml

@@ -4,20 +4,20 @@
 <sect1 id="zend.amf.server">
     <title>Zend_Amf_Server</title>
 
-    <para>
+   <para>
         <classname>Zend_Amf_Server</classname> proporciona un servidor al estilo
             <acronym>RPC</acronym> para tramitar solicitudes hechas desde Adobe
         Flash Player utilizando el protocolo <acronym>AMF</acronym>. Al igual
         que todas las clases de servidor, Zend Framework sigue la
             <acronym>API</acronym> de SoapServer, proporcionando una interfaz
-        para crear servidores fácil de recordar. </para>
+        para crear servidores fácil de recordar.</para>
 
     <example id="zend.amf.server.basic">
         <title>Servidor AMF básico</title>
 
-        <para> Asumamos que ha creado la clase <classname>Foo</classname> con
+       <para>Asumamos que ha creado la clase <classname>Foo</classname> con
             una variedad de métodos públicos. Usando el siguiente código, puede
-            crear un servidor <acronym>AMF</acronym>: </para>
+            crear un servidor <acronym>AMF</acronym>:</para>
 
         <programlisting language="php"><![CDATA[
 $servidor = new Zend_Amf_Server();
@@ -26,8 +26,8 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 ]]></programlisting>
 
-        <para> Alternativamente, en su lugar puede elegir agregar una función
-            simple como llamada de retorno: </para>
+       <para>Alternativamente, en su lugar puede elegir agregar una función
+            simple como llamada de retorno:</para>
 
         <programlisting language="php"><![CDATA[
 $servidor = new Zend_Amf_Server();
@@ -36,12 +36,12 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 ]]></programlisting>
 
-        <para> También puede combinar y examinar la identidad de varias clases y
+       <para>También puede combinar y examinar la identidad de varias clases y
             funciones. Al hacerlo, sugerimos darle un espacio de nombres a cada
             una para garantizar que no ocurran colisiones entre nombres de
             métodos; puede hacerse simplemente pasando una segunda cadena de
             argumentos para cualquier <methodname>addFunction()</methodname> o
-                <methodname>setClass()</methodname>: </para>
+                <methodname>setClass()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 $servidor = new Zend_Amf_Server();
@@ -52,21 +52,21 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 ]]></programlisting>
 
-        <para> El <classname>Zend_Amf_Server</classname> también permite cargar
+       <para>El <classname>Zend_Amf_Server</classname> también permite cargar
             servicios dinámicamente, en función de una ruta de directorio ya
             suministrada. Puede añadir al servidor tantos directorios como
             desee. El orden en que se añadan los directorios al servidor será el
             orden en que se realizarán las búsquedas <acronym>LIFO</acronym> en
             los directorios para coincidir con la clase. El método
                 <methodname>addDirectory()</methodname> realiza la acción de
-            añadir directorios. </para>
+            añadir directorios.</para>
 
         <programlisting language="php"><![CDATA[
 $servidor->addDirectory(dirname(__FILE__) .'/../services/');
 $servidor->addDirectory(dirname(__FILE__) .'/../package/');
 ]]></programlisting>
 
-        <para> Cuando se llama a servicios remotos, los nombres de los
+       <para>Cuando se llama a servicios remotos, los nombres de los
             directorios que contengan las fuentes pueden tener los delimitadores
             guión bajo ("_") y el punto ("."). Cuando se utilize un guión bajo
             ("_") tanto en <acronym>PEAR</acronym> como en Zend Framework, se
@@ -78,22 +78,22 @@ $servidor->addDirectory(dirname(__FILE__) .'/../package/');
             para su servicio remoto como <filename>com.Foo.Bar</filename> cada
             ruta incluida deberá tener <filename>com/Foo/Bar.php</filename>
             agregado al final para autocargar <filename>Bar.php</filename>
-        </para>
+       </para>
 
-        <para> Todos las solicitudes <acronym>AMF</acronym> enviadas al script
+       <para>Todos las solicitudes <acronym>AMF</acronym> enviadas al script
             serán manejadas por el servidor, y este devolverá una respuesta
-                <acronym>AMF</acronym>. </para>
+                <acronym>AMF</acronym>.</para>
     </example>
 
     <note>
         <title>Todos los métodos y las funciones agregadas requieren bloques de
             documentación (docblocks)</title>
 
-        <para> Como todos los demás componentes del servidor en Zend Framework,
+       <para>Como todos los demás componentes del servidor en Zend Framework,
             debe documentar los métodos de su clase usando
                 <acronym>PHP</acronym> docblocks. Como mínimo, necesita
             proporcionar anotaciones para cada argumento así como para el valor
-            de retorno. Como ejemplos: </para>
+            de retorno. Como ejemplos:</para>
 
         <programlisting language="php"><![CDATA[
 // Función que agregar:
@@ -126,25 +126,25 @@ class Mundo
 }
 ]]></programlisting>
 
-        <para> Pueden usarse otras anotaciones, pero serán ignoradas. </para>
+       <para>Pueden usarse otras anotaciones, pero serán ignoradas.</para>
     </note>
 
     <sect2 id="zend.amf.server.flex">
         <title>Conectándose al Servidor desde Flex</title>
 
-        <para> Conectarse a <classname>Zend_Amf_Server</classname> desde su
+       <para>Conectarse a <classname>Zend_Amf_Server</classname> desde su
             proyecto Flex es bastante simple; solo necesita apuntar el final del
                 <acronym>URI</acronym> a su script
-                <classname>Zend_Amf_Server</classname>. </para>
+                <classname>Zend_Amf_Server</classname>.</para>
 
-        <para> Por ejemplo, digamos que ya ha creado su servidor y lo ha puesto
+       <para>Por ejemplo, digamos que ya ha creado su servidor y lo ha puesto
             en el fichero <filename>server.php</filename> en el directorio raíz
             (root) de su aplicación, por lo tanto la <acronym>URI</acronym> es
                 <filename>http://example.com/server.php</filename>. En este
             caso, usted debería modificar su fichero
                 <filename>service-config.xml</filename> poniendo este valor como
-            atributo al punto final del canal<acronym>URI</acronym>. </para>
-        <para> Si nunca ha creado un fichero
+            atributo al punto final del canal<acronym>URI</acronym>.</para>
+       <para>Si nunca ha creado un fichero
                 <filename>service-config.xml</filename> puede hacerlo abriendo
             su proyecto en la ventana del navegador. Haga clic derecho sobre el
             nombre del proyecto y seleccione 'properties' (propiedades). En el
@@ -152,8 +152,8 @@ class Mundo
             Path' (Crear ruta Flex), luego en la pestaña ‘Library path’ (ruta de
             biblioteca) asegúrese de que el fichero
                 '<filename>rpc.swc</filename>' sea añadido a su ruta de
-            proyectos y pulse Ok (Aceptar) para cerrar la ventana. </para>
-        <para> También necesitará indicarle al compilador que debe usar
+            proyectos y pulse Ok (Aceptar) para cerrar la ventana.</para>
+       <para>También necesitará indicarle al compilador que debe usar
                 <filename>service-config.xml</filename> para encontrar el punto
             final de RemoteObject. Para hacerlo, abra de nuevo el panel de
             propiedades de su proyecto haciendo clic en el botón derecho sobre
@@ -164,8 +164,8 @@ class Mundo
             opción. Lo que acaba de hacer es decirle al compilador Flex que
             busque en el fichero <filename>services-config.xml</filename>
             aquellas variables que se usarán en tiempo de ejecución por la clase
-            RemotingObject. </para>
-        <para> Ahora, para conectarnos a nuestros métodos remotos debemos
+            RemotingObject.</para>
+       <para>Ahora, para conectarnos a nuestros métodos remotos debemos
             indicarle a Flex qué fichero de configuración de servicios utilizar.
             Por esta razón creamos un nuevo fichero
                 '<filename>services-config.xml</filename>' en la carpeta src del
@@ -173,13 +173,13 @@ class Mundo
             'new'(nuevo) 'File' (fichero), se abrirá una nueva ventana.
             Seleccione la carpeta del proyecto y luego nombre el archivo
                 '<filename>services-config.xml</filename>' y presione 'finish'
-            (finalizar). </para>
-        <para> Flex ha creado y abierto el nuevo fichero
+            (finalizar).</para>
+       <para>Flex ha creado y abierto el nuevo fichero
                 <filename>services-config.xml</filename>. Utilice el siguiente
             texto de ejemplo para su fichero
                 <filename>services-config.xml</filename>. Asegúrese de
             actualizar su punto final para que concuerde con el servidor.
-            Asegúrese también de guardar el fichero. </para>
+            Asegúrese también de guardar el fichero.</para>
 
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
@@ -208,10 +208,10 @@ class Mundo
 </services-config>
 ]]></programlisting>
 
-        <para> Hay dos puntos clave en el ejemplo. En primer lugar, pero último
+       <para>Hay dos puntos clave en el ejemplo. En primer lugar, pero último
             en el listado, creamos un canal <acronym>AMF</acronym>, y
             especificamos el punto final como la <acronym>URL</acronym> a
-            nuestro <classname>Zend_Amf_Server</classname>: </para>
+            nuestro <classname>Zend_Amf_Server</classname>:</para>
 
         <programlisting language="xml"><![CDATA[
 <channel-definition id="zend-endpoint"
@@ -220,14 +220,14 @@ class Mundo
 </channel-definition>
 ]]></programlisting>
 
-        <para> Advierta que a este canal le hemos dado un identificador,
+       <para>Advierta que a este canal le hemos dado un identificador,
             "zend-endpoint". El ejemplo crea un servicio cuyo destino hace
             referencia a este canal, asignándole también un ID, en este caso es
-            "zend". </para>
+            "zend".</para>
 
-        <para> Dentro de nuestros ficheros Flex <acronym>MXML</acronym>,
+       <para>Dentro de nuestros ficheros Flex <acronym>MXML</acronym>,
             necesitamos vincular un RemoteObject al servicio. En
-                <acronym>MXML</acronym>, esto podría hacerse así: </para>
+                <acronym>MXML</acronym>, esto podría hacerse así:</para>
 
         <programlisting language="xml"><![CDATA[
 <mx:RemoteObject id="myservice"
@@ -236,53 +236,53 @@ class Mundo
     destination="zend">
 ]]></programlisting>
 
-        <para> Aquí, hemos definido un nuevo objeto remoto identificado por
+       <para>Aquí, hemos definido un nuevo objeto remoto identificado por
             "myservice" vinculado destino de servicio "zend" que hemos definido
             en el fichero <filename>services-config.xml</filename>. Entonces
             invocamos sus métodos en nuestro ActionScript simplemente llamando a
-            "myservice.&lt;method&gt;". . A modo de ejemplo: </para>
+            "myservice.&lt;method&gt;". . A modo de ejemplo:</para>
 
         <programlisting language="ActionScript"><![CDATA[
 myservice.hello("Wade");
 ]]></programlisting>
 
-        <para> Cuando se usan nombres-de-espacio, puede usarse
-            "myservice.&lt;namespace&gt;.&lt;method&gt;": </para>
+       <para>Cuando se usan nombres-de-espacio, puede usarse
+            "myservice.&lt;namespace&gt;.&lt;method&gt;":</para>
 
         <programlisting language="ActionScript"><![CDATA[
 myservice.world.hello("Wade");
 ]]></programlisting>
 
-        <para> Para más información sobre como invocar a Flex RemoteObject
+       <para>Para más información sobre como invocar a Flex RemoteObject
             visite el sitio de ayuda de Adobe Flex 3 en:<ulink
                 url="http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_4.html"
-            />. </para>
+            />.</para>
     </sect2>
 
     <sect2 id="zend.amf.server.errors">
         <title>Manejo de errores</title>
 
-        <para> Por defecto, todas las excepciones producidas en sus clases o
+       <para>Por defecto, todas las excepciones producidas en sus clases o
             funciones adjuntas serán capturados y devueltas como mensajes de
             error de <acronym>AMF</acronym> (AMF ErrorMessages). Sin embargo, el
             contenido de estos objetos de mensajes de error variará dependiendo
             de si el servidor está o no en modo "producción" (el estado por
-            defecto). </para>
+            defecto).</para>
 
-        <para> Cuando se está en modo de producción, únicamente el código de
+       <para>Cuando se está en modo de producción, únicamente el código de
             excepción será devuelto. Si desactiva el modo de producción, algo
             que debe hacerse sólo para probar -- serán devueltos más detalles de
             la excepción: el mensaje de excepción (error), línea y backtrace
-            serán adjuntados. </para>
+            serán adjuntados.</para>
 
-        <para> Para desactivar el modo de producción, haga lo siguiente: </para>
+       <para>Para desactivar el modo de producción, haga lo siguiente:</para>
 
         <programlisting language="php"><![CDATA[
 $server->setProduction(false);
 ]]></programlisting>
 
-        <para> Para habilitarlo nuevamente, pase el valor
-                <constant>TRUE</constant> en su lugar. </para>
+       <para>Para habilitarlo nuevamente, pase el valor
+                <constant>TRUE</constant> en su lugar.</para>
 
         <programlisting language="php"><![CDATA[
 $server->setProduction(true);
@@ -291,16 +291,16 @@ $server->setProduction(true);
         <note>
             <title>¡Deshabilite el modo de producción racionalmente!</title>
 
-            <para> Sugerimos deshabilitar el modo de producción solo cuando se
+           <para>Sugerimos deshabilitar el modo de producción solo cuando se
                 está en modo de desarrollo. Los mensajes de excepción y los
                 backtraces puede contener información sensible del sistema, y no
                 desea que se pueda acceder a ellas desde el exterior. Aunque
                     <acronym>AMF</acronym> es un formato binario, ahora al ser
                 abierta la especificación, cualquiera puede potencialmente
-                deserializar los datos. </para>
+                deserializar los datos.</para>
         </note>
 
-        <para> Un área en la que se debe tener especialmente mucho cuidado son
+       <para>Un área en la que se debe tener especialmente mucho cuidado son
             los errores propios de <acronym>PHP</acronym>. Cuando la directiva
                 <acronym>INI</acronym>
             <property>display_errors</property> está habilitada, los errores de
@@ -309,24 +309,24 @@ $server->setProduction(true);
             hacer estragos con las respuestas de <acronym>AMF</acronym>. Para
             prevenir estos problemas, sugerimos deshabilitar la directiva
                 <property>display_errors</property> cuando se está en modo de
-            producción. </para>
+            producción.</para>
     </sect2>
 
     <sect2 id="zend.amf.server.response">
         <title>Respuestas de AMF</title>
 
-        <para> En ocasiones es posible que quiera manipular ligeramente el
+       <para>En ocasiones es posible que quiera manipular ligeramente el
             objeto respuesta, es bastante usual querer devolver algunas
             cebeceras de mensajes adicionales. Puede hacerlo mediante el método
             del servidor <methodname>handle()</methodname> que devuelve el
-            objeto respuesta. </para>
+            objeto respuesta.</para>
 
         <example id="zend.amf.server.response.messageHeaderExample">
             <title>Agregar cabeceras de mensaje a la respuesta de AMF</title>
 
-            <para> En este ejemplo, añadiremos la cabecera de mensaje
+           <para>En este ejemplo, añadiremos la cabecera de mensaje
                 (MessageHeader) "foo" con el valor 'bar' a la respuesta antes de
-                devolverla. </para>
+                devolverla.</para>
 
             <programlisting language="php"><![CDATA[
 $respuesta = $servidor->handle();
@@ -339,22 +339,22 @@ echo $respuesta;
     <sect2 id="zend.amf.server.typedobjects">
         <title>Objetos tipados</title>
 
-        <para> Similarmente a <acronym>SOAP</acronym>, <acronym>AMF</acronym>
+       <para>Similarmente a <acronym>SOAP</acronym>, <acronym>AMF</acronym>
             permite pasar objetos entre cliente y servidor. Esto le da una gran
-            flexibilidad y coherencia a ambos entornos. </para>
+            flexibilidad y coherencia a ambos entornos.</para>
 
-        <para>
+       <para>
             <methodname>Zend_Amf</methodname> ofrece tres métodos para mapear
-            ActionScript y objetos <acronym>PHP</acronym>. </para>
+            ActionScript y objetos <acronym>PHP</acronym>.</para>
 
         <itemizedlist>
             <listitem>
-                <para> Primero, usted puede crear uniones explícitas a nivel del
+               <para>Primero, usted puede crear uniones explícitas a nivel del
                     servidor, utilizando el método
                         <methodname>setClassMap()</methodname>. El primer
                     argumento es el nombre de la clase de ActionScript, el
                     segundo es el nombre de la clase <acronym>PHP</acronym> que
-                    lo mapea: </para>
+                    lo mapea:</para>
 
                 <programlisting language="php"><![CDATA[
 // Mapea la clase ActionScript 'ContactVO' a la clase PHP 'Contact':
@@ -363,10 +363,10 @@ $servidor->setClassMap('ContactVO', 'Contact');
             </listitem>
 
             <listitem>
-                <para> Segundo, en su clase <acronym>PHP</acronym> puede ajustar
+               <para>Segundo, en su clase <acronym>PHP</acronym> puede ajustar
                     la propiedad como pública mediante
                         <varname>$_explicitType</varname>, con el valor
-                    representativo de la clase ActionScript que mapear: </para>
+                    representativo de la clase ActionScript que mapear:</para>
 
                 <programlisting language="php"><![CDATA[
 class Contact
@@ -377,10 +377,10 @@ class Contact
             </listitem>
 
             <listitem>
-                <para> Tercero, en un sentido similar, puede definir como
+               <para>Tercero, en un sentido similar, puede definir como
                     público el método <methodname>getASClassName()</methodname>
                     dentro de su clase. Este método debe devolver la clase
-                    ActionScript apropiada: </para>
+                    ActionScript apropiada:</para>
 
                 <programlisting language="php"><![CDATA[
 class Contact
@@ -394,14 +394,14 @@ class Contact
             </listitem>
         </itemizedlist>
 
-        <para> Aunque hemos creado <emphasis>ContactVO</emphasis> en el
+       <para>Aunque hemos creado <emphasis>ContactVO</emphasis> en el
             servidor, ahora tenemos que hacer su clase correspondiente en
                 <acronym>AS3</acronym> para que el servidor pueda mapear el
-            objeto. </para>
-        <para> Haga clic derecho sobre la carpeta src del proyecto Flex y
+            objeto.</para>
+       <para>Haga clic derecho sobre la carpeta src del proyecto Flex y
             seleccione New -> ActionScript File. Nombre el fichero como
             ContactVO y pulse 'finish' (finalizar) para verlo. Copie el
-            siguiente código en el fichero para terminar de crear la clase. </para>
+            siguiente código en el fichero para terminar de crear la clase.</para>
         <programlisting language="as"><![CDATA[
 package
 {
@@ -419,7 +419,7 @@ package
     }
 }
 ]]></programlisting>
-        <para> La clase es sintácticamente equivalente a la de
+       <para>La clase es sintácticamente equivalente a la de
                 <acronym>PHP</acronym> del mismo nombre. Los nombres de
             variables son exactamente los mismos y necesitan estar en el mismo
             contenedor para trabajar correctamente. Hay dos meta tags
@@ -429,7 +429,7 @@ package
             objeto remoto con un nombre de alias, en este caso
                 <emphasis>ContactVO</emphasis> Es obligatorio que en esta
             etiqueta(tag), el valor que se estableció es la clase
-                <acronym>PHP</acronym> sea estrictamente equivalente. </para>
+                <acronym>PHP</acronym> sea estrictamente equivalente.</para>
         <programlisting language="as"><![CDATA[
 [Bindable]
 private var myContact:ContactVO;
@@ -438,22 +438,22 @@ private function getContactHandler(event:ResultEvent):void {
     myContact = ContactVO(event.result);
 }
 ]]></programlisting>
-        <para> El siguiente resultado del evento debido a la llamada de
+       <para>El siguiente resultado del evento debido a la llamada de
             servicio, se incorporó instantáneamente a
                 <emphasis>ContactVO</emphasis> de Flex. Cualquier cosa que esté
             ligada a myContact será actualizada con los datos retornados por
-                <emphasis>ContactVO</emphasis>. </para>
+                <emphasis>ContactVO</emphasis>.</para>
     </sect2>
 
     <sect2 id="zend.amf.server.resources">
         <title>Recursos</title>
 
-        <para>
+       <para>
             <classname>Zend_Amf</classname> provides tools for mapping resource
             types returned by service classes into data consumable by
-            ActionScript. </para>
+            ActionScript.</para>
 
-        <para> In order to handle specific resource type, the user needs to
+       <para>In order to handle specific resource type, the user needs to
             create a plugin class named after the resource name, with words
             capitalized and spaces removed (so, resource type "mysql result"
             becomes MysqlResult), with some prefix, e.g.
@@ -462,10 +462,10 @@ private function getContactHandler(event:ResultEvent):void {
             one argument - the resource - and returning the value that should be
             sent to ActionScript. The class should be located in the file named
             after the last component of the name, e.g.
-                <filename>MysqlResult.php</filename>. </para>
+                <filename>MysqlResult.php</filename>.</para>
 
-        <para> The directory containing the resource handling plugins should be
-            registered with <classname>Zend_Amf</classname> type loader: </para>
+       <para>The directory containing the resource handling plugins should be
+            registered with <classname>Zend_Amf</classname> type loader:</para>
 
         <programlisting language="php"><![CDATA[
 Zend_Amf_Parse_TypeLoader::addResourceDirectory(
@@ -474,12 +474,12 @@ Zend_Amf_Parse_TypeLoader::addResourceDirectory(
 ));
 ]]></programlisting>
 
-        <para> For detailed discussion of loading plugins, please see the <link
-                linkend="zend.loader.pluginloader">plugin loader</link> section. </para>
+       <para>For detailed discussion of loading plugins, please see the <link
+                linkend="zend.loader.pluginloader">plugin loader</link> section.</para>
 
-        <para> Default directory for <classname>Zend_Amf</classname> resources
+       <para>Default directory for <classname>Zend_Amf</classname> resources
             is registered automatically and currently contains handlers for
-            "mysql result" and "stream" resources. </para>
+            "mysql result" and "stream" resources.</para>
 
         <programlisting language="php"><![CDATA[
 // Example class implementing handling resources of type mysql result
@@ -501,8 +501,8 @@ class Zend_Amf_Parse_Resource_MysqlResult
 }
 ]]></programlisting>
 
-        <para> Trying to return unknown resource type (i.e., one for which no
-            handler plugin exists) will result in an exception. </para>
+       <para>Trying to return unknown resource type (i.e., one for which no
+            handler plugin exists) will result in an exception.</para>
 
     </sect2>
 
@@ -510,15 +510,15 @@ class Zend_Amf_Parse_Resource_MysqlResult
     <sect2 id="zend.amf.server.flash">
         <title>Conectándose al Servidor desde Flash</title>
 
-        <para> La conexión a <classname>Zend_Amf_Server</classname> desde su
+       <para>La conexión a <classname>Zend_Amf_Server</classname> desde su
             proyecto Flash es ligeramente distinta a la de Flex. Sin embargo una
             vez que la conexión con Flash funcione con
                 <classname>Zend_Amf_Server</classname> lo hará igual modo que
             con Flex. El siguiente ejemplo también puede ser utilizado desde un
             fichero Flex <acronym>AS3</acronym>. Para nuestra conexión vamos a
             reutilizar la misma configuracion
-                <classname>Zend_Amf_Server</classname> junto a la clase Mundo. </para>
-        <para> Abra Flash CS y cree un nuevo fichero Flash (ActionScript 3).
+                <classname>Zend_Amf_Server</classname> junto a la clase Mundo.</para>
+       <para>Abra Flash CS y cree un nuevo fichero Flash (ActionScript 3).
             Nombre al documento como <filename>ZendExample.fla</filename> y
             guárdelo en una carpeta que utilizará para este ejemplo. Cree una
             nuevo fichero <acronym>AS3</acronym> en el mismo directorio y
@@ -530,11 +530,11 @@ class Zend_Amf_Parse_Resource_MysqlResult
                 en<filename>ZendExample.fla</filename> Cuando ejecute el fichero
             ZendExample de Flash se ejecutará ahora la clase
                 <filename>Main.as</filename> El paso siguiente será añadir
-            ActionScript para hacer una lamada <acronym>AMF</acronym>. </para>
-        <para> Ahora vamos a hacer una clase Main(principal) para que podamos
+            ActionScript para hacer una lamada <acronym>AMF</acronym>.</para>
+       <para>Ahora vamos a hacer una clase Main(principal) para que podamos
             enviar los datos al servidor y mostrar el resultado. Copie el código
             siguiente en su fichero <filename>Main.as</filename> y luego vamos a
-            recorrer el código para describir cuál es el papel de cada elemento. </para>
+            recorrer el código para describir cuál es el papel de cada elemento.</para>
         <programlisting language="as"><![CDATA[
 package {
   import flash.display.MovieClip;
@@ -570,78 +570,78 @@ package {
 ]]></programlisting>
 
 
-        <para> Primero tenemos que importar dos bibliotecas de ActionScript que
+       <para>Primero tenemos que importar dos bibliotecas de ActionScript que
             realizan la mayor parte del trabajo. La primera es NetConnection que
             actúa como un tubo bidireccional entre el cliente y el servidor. La
             segunda es un objeto Responder que maneja los valores de retorno
             desde el servidor, y que están relacionados con el éxito o el
-            fracaso de la llamada. </para>
+            fracaso de la llamada.</para>
         <programlisting language="as"><![CDATA[
 import flash.net.NetConnection;
 import flash.net.Responder;
 ]]></programlisting>
-        <para> En la clase necesitaremos tres variables para representar a
+       <para>En la clase necesitaremos tres variables para representar a
             NetConnection, Responder, y la <acronym>URL</acronym> del gateway a
-            nuestra instalación <classname>Zend_Amf_Server</classname>. </para>
+            nuestra instalación <classname>Zend_Amf_Server</classname>.</para>
         <programlisting language="as"><![CDATA[
 private var gateway:String = "http://example.com/server.php";
 private var connection:NetConnection;
 private var responder:Responder;
 ]]></programlisting>
-        <para> En el constructor Main creamos un Responder(respondedor) y una
+       <para>En el constructor Main creamos un Responder(respondedor) y una
             nueva conexión al punto final de
                 <classname>Zend_Amf_Server</classname>. El respondedor define
             dos diferentes métodos para manejar la respuesta desde el servidor.
-            Por simplicidad los hemos llamado onResult y onFault. </para>
+            Por simplicidad los hemos llamado onResult y onFault.</para>
         <programlisting language="as"><![CDATA[
 responder = new Responder(onResult, onFault);
 connection = new NetConnection;
 connection.connect(gateway);
 ]]></programlisting>
-        <para> La función onComplete se ejecuta tan pronto como la construcción
+       <para>La función onComplete se ejecuta tan pronto como la construcción
             ha concluido, enviando los datos al servidor. Necesitamos añadir una
             línea más que hace una llamada a la función
-                <classname>Zend_Amf_Server</classname> Mundo->hola. </para>
+                <classname>Zend_Amf_Server</classname> Mundo->hola.</para>
         <programlisting language="as"><![CDATA[
 connection.call("Mundo.hola", responder, params);
 ]]></programlisting>
-        <para> Cuando creamos la variable responder hemos definido las funciones
+       <para>Cuando creamos la variable responder hemos definido las funciones
             onResult y onFault para manejar la respuesta proveniente del
             servidor. Hemos añadido la función OnResult para el resultado
             exitoso desde el servidor. Cada vez que se ejecuta apropiadamente el
             manejo de conexión con el servidor, el manejador de eventos llama
-            esta función. </para>
+            esta función.</para>
         <programlisting language="as"><![CDATA[
 private function onResult(result:Object):void {
     // Muestra los datos devueltos
     trace(String(result));
 }
 ]]></programlisting>
-        <para> La función onFault, se llama si hubo una respuesta nula desde el
+       <para>La función onFault, se llama si hubo una respuesta nula desde el
             servidor. Esto ocurre cuando hay un error en el servidor, la
                 <acronym>URL</acronym> al servidor es inválida, el servicio
             remoto o método no existe o cualquier otra cuestión relacionada con
-            la conexión. </para>
+            la conexión.</para>
         <programlisting language="as"><![CDATA[
 private function onFault(fault:Object):void {
     trace(String(fault.description));
 }
 ]]></programlisting>
-        <para> La inclusión de ActionScript para realizar la conexión remota ha
+       <para>La inclusión de ActionScript para realizar la conexión remota ha
             finalizado. Al ejecutar el fichero ZendExample, se establece una
             conexión con Zend_Amf. En resumen, se han añadido las variables
             requeridas para abrir una conexión con el servidor remoto, se han
             definido qué métodos se deben utilizar cuando su aplicación recibe
             una respuesta desde el servidor, y finalmente se han mostrado los
             datos de salida devueltos a través de
-                <methodname>trace()</methodname>. </para>
+                <methodname>trace()</methodname>.</para>
 
     </sect2>
 
     <sect2 id="zend.amf.server.auth">
         <title>Authentication</title>
 
-        <para>
+       <para>
             <classname>Zend_Amf_Server</classname> allows you to specify
             authentication and authorization hooks to control access to the
             services. It is using the infrastructure provided by <link
@@ -649,42 +649,42 @@ private function onFault(fault:Object):void {
                 <classname>Zend_Auth</classname>
             </link> and <link linkend="zend.acl">
                 <classname>Zend_Acl</classname>
-            </link> components. </para>
+            </link> components.</para>
 
-        <para> In order to define authentication, the user provides
+       <para>In order to define authentication, the user provides
             authentication adapter extening
                 <classname>Zend_Amf_Auth_Abstract</classname> abstract class.
             The adapter should implement the
                 <methodname>authenticate()</methodname> method just like regular
                 <link linkend="zend.auth.introduction.adapters">authentication
-                adapter</link>. </para>
+                adapter</link>.</para>
 
-        <para> The adapter should use properties <emphasis>_username</emphasis>
+       <para>The adapter should use properties <emphasis>_username</emphasis>
             and <emphasis>_password</emphasis> from the parent
                 <classname>Zend_Amf_Auth_Abstract</classname> class in order to
             authenticate. These values are set by the server using
                 <methodname>setCredentials()</methodname> method before call to
                 <methodname>authenticate()</methodname> if the credentials are
-            received in the <acronym>AMF</acronym> request headers. </para>
+            received in the <acronym>AMF</acronym> request headers.</para>
 
-        <para> The identity returned by the adapter should be an object
+       <para>The identity returned by the adapter should be an object
             containing property <property>role</property> for the
-                <acronym>ACL</acronym> access control to work. </para>
+                <acronym>ACL</acronym> access control to work.</para>
 
-        <para> If the authentication result is not successful, the request is
+       <para>If the authentication result is not successful, the request is
             not proceseed further and failure message is returned with the
-            reasons for failure taken from the result. </para>
+            reasons for failure taken from the result.</para>
 
-        <para> The adapter is connected to the server using
-                <methodname>setAuth()</methodname> method: </para>
+       <para>The adapter is connected to the server using
+                <methodname>setAuth()</methodname> method:</para>
 
         <programlisting language="php"><![CDATA[
 $server->setAuth(new My_Amf_Auth());
 ]]></programlisting>
 
-        <para> Access control is performed by using
+       <para>Access control is performed by using
                 <classname>Zend_Acl</classname> object set by
-                <methodname>setAcl()</methodname> method: </para>
+                <methodname>setAcl()</methodname> method:</para>
 
         <programlisting language="php"><![CDATA[
 $acl = new Zend_Acl();
@@ -692,21 +692,21 @@ createPermissions($acl); // create permission structure
 $server->setAcl($acl);
 ]]></programlisting>
 
-        <para> If the <acronym>ACL</acronym> object is set, and the class being
+       <para>If the <acronym>ACL</acronym> object is set, and the class being
             called defines <methodname>initAcl()</methodname> method, this
             method will be called with the <acronym>ACL</acronym> object as an
             argument. The class then can create additional
                 <acronym>ACL</acronym> rules and return
                 <constant>TRUE</constant>, or return <constant>FALSE</constant>
-            if no access control is required for this class. </para>
+            if no access control is required for this class.</para>
 
-        <para> After <acronym>ACL</acronym> have been set up, the server will
+       <para>After <acronym>ACL</acronym> have been set up, the server will
             check if access is allowed with role set by the authentication,
             resource being the class name (or <constant>NULL</constant> for
             function calls) and privilege being the function name. If no
             authentication was provided, then if the
                 <emphasis>anonymous</emphasis> role was defined, it will be
-            used, otherwise the access will be denied. </para>
+            used, otherwise the access will be denied.</para>
 
         <programlisting language="php"><![CDATA[
 if($this->_acl->isAllowed($role, $class, $function)) {

+ 4 - 4
documentation/manual/es/module_specs/Zend_Amf.xml

@@ -4,7 +4,7 @@
 <sect1 id="zend.amf.introduction">
     <title>Introducción</title>
 
-    <para>
+   <para>
         <classname>Zend_Amf</classname> provee apoyo para el Formato de Mensajes de ActionScript
             <ulink url="http://en.wikipedia.org/wiki/Action_Message_Format">Action Message
             Format</ulink> (<acronym>AMF</acronym>) de Adobe, que permite la comunicación entre
@@ -12,10 +12,10 @@
             <acronym>PHP</acronym>. Específicamente, proporciona una aplicación para un servidor
         gateway que tramita las solicitudes enviadas desde Flash Player al servidor, mapeando estos
         requerimientos al objeto y a sus métodos de clase, como así también a llamadas arbitrarias
-        de comunicación. </para>
+        de comunicación.</para>
 
-    <para> Las <ulink url="http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf">
+   <para>Las <ulink url="http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf">
             especificaciones (en ingles) de AMF3</ulink> son de libre disponibilidad y sirven como
         referencia para establecer qué tipos de mensajes pueden ser enviados entre Flash Player y el
-        servidor. </para>
+        servidor.</para>
 </sect1>

+ 17 - 17
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Db.xml

@@ -4,43 +4,43 @@
 <sect2 id="zend.application.available-resources.db">
     <title>Zend_Application_Resource_Db</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Resource_Db</classname> inicializará un adaptador
             <classname>Zend_Db</classname> basado en las opciones que se le pasen. Por defecto,
         también establece el adaptador por defecto para usarlo con
-            <classname>Zend_Db_Table</classname>. </para>
+            <classname>Zend_Db_Table</classname>.</para>
 
-    <para> Se reconocen las siguientes configuraciones claves: </para>
+   <para>Se reconocen las siguientes configuraciones claves:</para>
 
     <itemizedlist>
         <listitem>
-            <para>
+           <para>
                 <emphasis>
                     <property>adapter</property>
-                </emphasis>: tipo de adaptador <classname>Zend_Db</classname>. </para>
+                </emphasis>: tipo de adaptador <classname>Zend_Db</classname>.</para>
         </listitem>
 
         <listitem>
-            <para>
+           <para>
                 <emphasis>
                     <property>params</property>
                 </emphasis>: array asociativo de parámetros de configuración para utilizar al
-                recuperar la instancia del adaptador. </para>
+                recuperar la instancia del adaptador.</para>
         </listitem>
 
         <listitem>
-            <para>
+           <para>
                 <emphasis>
                     <property>isDefaultTableAdapter</property>
                 </emphasis>: Indica si establecer o no este adaptador como el adaptador de tablas
-                por defecto. </para>
+                por defecto.</para>
         </listitem>
     </itemizedlist>
 
     <example id="zend.application.available-resources.db.configExample">
         <title>Muestra de la Configuracion de Recursos del Adaptador DB (Base de Datos) </title>
-        <para> A continuación, un ejemplo de configuración<acronym>INI</acronym> que puede ser
-            utilizada para iniciar el recurso DB. </para>
+       <para>A continuación, un ejemplo de configuración<acronym>INI</acronym> que puede ser
+            utilizada para iniciar el recurso DB.</para>
 
         <programlisting language="ini"><![CDATA[
 
@@ -57,19 +57,19 @@ resources.db.isDefaultTableAdapter = true
     <note>
         <title>Recuperando la Instancia del Adaptador</title>
 
-        <para> Si decide no hacer la instanciación del adaptador con este recurso por defecto del
-            adaptador de tabla, ¿cómo puede recuperar la instancia del adaptador? </para>
+       <para>Si decide no hacer la instanciación del adaptador con este recurso por defecto del
+            adaptador de tabla, ¿cómo puede recuperar la instancia del adaptador?</para>
 
-        <para> Como con cualquier recurso de plugin, se puede recuperar el recurso de plugin de DB
-            desde su archivo de arranque: </para>
+       <para>Como con cualquier recurso de plugin, se puede recuperar el recurso de plugin de DB
+            desde su archivo de arranque:</para>
 
         <programlisting language="php"><![CDATA[
 
 $resource = $bootstrap->getPluginResource('db');
 ]]></programlisting>
 
-        <para> Una vez que tiene el recurso objeto, puede recuperar el adaptador de DB usando el
-            método <methodname>getDbAdapter()</methodname>: </para>
+       <para>Una vez que tiene el recurso objeto, puede recuperar el adaptador de DB usando el
+            método <methodname>getDbAdapter()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 

+ 22 - 22
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Frontcontroller.xml

@@ -4,89 +4,89 @@
 <sect2 id="zend.application.available-resources.frontcontroller">
     <title>Zend_Application_Resource_Frontcontroller</title>
 
-    <para>
+   <para>
         Probablemente el recurso más común que se carga con
         <classname>Zend_Application</classname> será el recurso Front Controller
         , que proporciona la habilidad para configurar
         <classname>Zend_Controller_Front</classname>. Este recurso ofrece
         la posibilidad de establecer parámetros arbitrarios del Front Controller,
         especificar plugins para inicializar, y mucho más.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Una vez inicializado, el recurso asigna la propiedad del
         <varname>$frontController</varname> del bootstrap a la instancia
         <classname>Zend_Controller_Front</classname>.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Las claves de configuración disponibles incluyen las siguientes,
         sin importar si son mayúsculas ó minúsculas:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem><para>
             <emphasis><property>controllerDirectory</property></emphasis>:: ya sea un valor de string
             especificando un único directorio controlador, o un array de
             pares de directorio módulo/controlador.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <emphasis><property>moduleControllerDirectoryName</property></emphasis>: un valor de string
             indicando el subdirectorio bajo el cual un módulo contiene controladores.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <emphasis><property>moduleDirectory</property></emphasis>: directorio bajo el cual pueden
             encontrarse los módulos.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <emphasis><property>defaultControllerName</property></emphasis>: Nombre base del controlador por
             defecto (normalmente, "índex").
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <methodname>defaultAction</methodname>: nombre base de la acción por defecto
             (normalmente, "índex").
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <emphasis><property>defaultModule</property></emphasis>: nombre base del módulo por defecto
             (normalmente, "default").
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <emphasis><property>baseUrl</property></emphasis>: base explícita a la URL de la aplicación
             (normalmente auto-detect).
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <emphasis><property>plugins</property></emphasis>: array con los nombres de los plugins de las
             clases de los Front Controllers.
             El recurso instanciará a cada clase (sin argumentos al constructor)
             y luego registra la instancia con el Front Controller.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <emphasis><property>params</property></emphasis>: array de pares clave/valor para registrarse con
             el front controller.
-        </para></listitem>
+       </para></listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         Si se ingresa una clave no reconocida, ésta será registrada como un
         parámetro de Front Controller pasándolo a <methodname>setParam()</methodname>.
-    </para>
+   </para>
+
 
-   
     <example id="zend.application.available-resources.frontcontroller.configExample">
         <title>Ejemplo Front Controller resource configuration</title>
 
-        <para>
+       <para>
             A continuación, <acronym>INI</acronym>  es un snippet para mostrar cómo configurar
             el recurso Front Controller.
-        </para>
+       </para>
 
         <programlisting language="ini"><![CDATA[
 
@@ -105,11 +105,11 @@ resources.frontController.env = APPLICATION_ENV
     </example>
     <example id="zend.application.available-resources.frontcontroller.frontControllerPropertyExample">
         <title>Recuperar el Front Controller de su arranque (bootstrap)</title>
-        <para>
+       <para>
             Una vez que el recurso de su Front Controller ha sido inicializado,
             se puede recuperar la instancia de Front Controller a través de la
             propiedad <varname>$frontController</varname> de su bootstrap.
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 

+ 48 - 48
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Modules.xml

@@ -2,42 +2,42 @@
 <!-- EN-Revision: 18178 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.modules">
-	<title>Zend_Application_Resource_Modules</title>
-	<para>
-		<classname>Zend_Application_Resource_Modules</classname> se utiliza
+    <title>Zend_Application_Resource_Modules</title>
+   <para>
+        <classname>Zend_Application_Resource_Modules</classname> se utiliza
         para inicializar sus módulos de aplicación. Si su módulo tiene un
         archivo <filename>Bootstrap.php</filename> en su raíz, y contiene una clase
         llamada <classname>Module_Bootstrap</classname> (donde "Module" es el nombre del
         módulo), entonces usará esa clase para arrancar el módulo.
-    </para>
-	<para>
+   </para>
+   <para>
         Por defecto, se creará una instancia de
         <classname>Zend_Application_Module_Autoloader</classname> para el
         módulo, utilizando el nombre del módulo y del directorio para
         inicializarlo.
-    </para>
-    
-	<para>
-		Ya que los módulos no reciben ningún parámetro por defecto, para poder activarlos via configuración,
-		será necesario crearlo como un array vacío. Seguiendo el estilo de configuración <acronim>INI</acronim> 
-		será similar a:
-    </para>
-	<programlisting language="ini"><![CDATA[resources.modules[] =]]></programlisting>
-	<para>
+   </para>
+
+   <para>
+        Ya que los módulos no reciben ningún parámetro por defecto, para poder activarlos via configuración,
+        será necesario crearlo como un array vacío. Seguiendo el estilo de configuración <acronim>INI</acronim>
+        será similar a:
+   </para>
+    <programlisting language="ini"><![CDATA[resources.modules[] =]]></programlisting>
+   <para>
         Siguiendo el estilo de configuración <acronym>XML</acronym> será similar a:
-    </para>
-	<programlisting language="xml"><![CDATA[
-		<resources>
-			<modules>
-				<!-- Placeholder to ensure an array is created -->
-				<placeholder />
-			</modules>
-		</resources>
+   </para>
+    <programlisting language="xml"><![CDATA[
+        <resources>
+            <modules>
+                <!-- Placeholder to ensure an array is created -->
+                <placeholder />
+            </modules>
+        </resources>
 ]]></programlisting>
-	<para>
-		Utilizando un array <acronym>PHP</acronym> estandar, simplemente creelo como un array vacío:
-    </para>
-	<programlisting language="php"><![CDATA[
+   <para>
+        Utilizando un array <acronym>PHP</acronym> estandar, simplemente creelo como un array vacío:
+   </para>
+    <programlisting language="php"><![CDATA[
 $options = array(
     'resources' => array(
         'modules' => array(),
@@ -45,9 +45,9 @@ $options = array(
 );
 ]]></programlisting>
 
-	<note>
-		<title>Dependencia de Recursos del Front Controller</title>
-		<para>
+    <note>
+        <title>Dependencia de Recursos del Front Controller</title>
+       <para>
             El recurso Modules tiene una dependencia de
             <link linkend="zend.application.available-resources.frontcontroller">
             Front Controller resource</link>. Usted puede, por supuesto,
@@ -57,21 +57,21 @@ $options = array(
             el plugin del recurso de la clase termine en "Frontcontroller"
             o el método inicializador se llame "_initFrontController"
             (case insensible).
-        </para>
-	</note>
-	<example id="zend.application.available-resources.modules.configExample">
-		<title>Configurando Módulos</title>
-		<para>
+       </para>
+    </note>
+    <example id="zend.application.available-resources.modules.configExample">
+        <title>Configurando Módulos</title>
+       <para>
             Usted puede especificar una configuración específica de un módulo
             utilizando el nombre del módulo como un prefijo/sub-sección en su
             archivo de configuración.
-        </para>
-		<para>
+       </para>
+       <para>
             Por ejemplo, supongamos que su aplicación tiene un módulo "noticias".
             Los siguientes son ejemplos de <acronym>INI</acronym> y <acronym>XML</acronym>que muestran la
             configuración de recursos en ese módulo.
-        </para>
-		<programlisting language="ini"><![CDATA[
+       </para>
+        <programlisting language="ini"><![CDATA[
 
 [production]
 news.resources.db.adapter = "pdo_mysql"
@@ -81,7 +81,7 @@ news.resources.db.params.password = "XXXXXXX"
 news.resources.db.params.dbname = "news"
 news.resources.layout.layout = "news"
 ]]></programlisting>
-		<programlisting language="xml"><![CDATA[
+        <programlisting language="xml"><![CDATA[
 
 <?xml version="1.0"?>
 <config>
@@ -103,21 +103,21 @@ news.resources.layout.layout = "news"
     </production>
 </config>
 ]]></programlisting>
-	</example>
-	<example id="zend.application.available-resources.modules.retrieveBootstrapExample">
-		<title>Recuperando el bootstrap de un módulo específico</title>
-		<para>
-            En ocasiones, puede que necesite para recuperar el objeto bootstrap 
+    </example>
+    <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
+        <title>Recuperando el bootstrap de un módulo específico</title>
+       <para>
+            En ocasiones, puede que necesite para recuperar el objeto bootstrap
             de un módulo específico -- tal vez para ejecutar discretos
             métodos bootstrap ,o a recoger el cargador automático con el fin de
             configurarlo. Esto puede hacerse utilizando el método
-            <methodname>getExecutedBootstraps()</methodname> de los recursos de Módulo. 
-        </para>
-		<programlisting language="php"><![CDATA[
+            <methodname>getExecutedBootstraps()</methodname> de los recursos de Módulo.
+       </para>
+        <programlisting language="php"><![CDATA[
 
 $resource = $bootstrap->getPluginResource('modules');
 $moduleBootstraps = $resource->getExecutedBootstraps();
 $newsBootstrap = $moduleBootstraps['news'];
 ]]></programlisting>
-	</example>
+    </example>
 </sect2>

+ 18 - 18
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Session.xml

@@ -4,24 +4,24 @@
 <sect2 id="zend.application.available-resources.session">
     <title>Zend_Application_Resource_Session</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Resource_Session</classname> le permite
         configurar <classname>Zend_Session</classname> y opcionalmente
         inicializar una sesión SaveHandler.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Para establecer un manejador de sesiones, simplemente pasar al recurso
         la clave opcional <property>saveHandler</property> (case insensible). El valor
         de esta opción puede ser uno de los siguientes:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem><para>
             <type>String</type>: un string indicando una clase implementando
             <classname>Zend_Session_SaveHandler_Interface</classname> que
             debería ser instanciada.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <type>Array</type>: un array con las claves "class" y,
@@ -29,29 +29,29 @@
             <classname>Zend_Session_SaveHandler_Interface</classname> que
             debería ser instanciada y una variedad de opciones para proporcionar
             a su constructor.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
             <classname>Zend_Session_SaveHandler_Interface</classname>: un objeto
             implementando esta interfaz.
-        </para></listitem>
+       </para></listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         Pasando cualquier otra opción de claves será pasado a
         <methodname>Zend_Session::setOptions()</methodname>  para configurar
         <classname>Zend_Session</classname>.
-    </para>
+   </para>
 
     <example id="zend.application.available-resources.session.configExample">
         <title>Configuración de recursos de la Sesión Ejemplo</title>
 
-        <para>
+       <para>
             A continuación el snippet <acronym>INI</acronym> nos muestra cómo configurar el recurso
             para sesiones. Se establecen varias opciones
             <classname>Zend_Session</classname>, como también configura una
             instancia <classname>Zend_Session_SaveHandler_DbTable</classname>.
-        </para>
+       </para>
 
         <programlisting language="ini"><![CDATA[
 
@@ -71,21 +71,21 @@ resources.session.saveHandler.options.dataColumn = "session_data"
 resources.session.saveHandler.options.lifetimeColumn = "lifetime"
 ]]></programlisting>
     </example>
-    
+
     <note>
         <title>Configurando tu primera base de datos!</title>
-        
-        <para>
+
+       <para>
             Si vas a configurar el manejador
             <classname>Zend_Session_SaveHandler_DbTable</classname>  para guardar sesiones
             , primero deberas configurar tu conexión a la base de datos.
-            Lo puedes hacer mediante 
+            Lo puedes hacer mediante
            <link linkend="zend.application.available-resources.db">Db</link>
              -- y asegurate de que la llave "<property>resources.db</property>" esta antes que el
             "<property>resources.session</property>"  -- o escribiedo tu propia clase para inicializar la base
-            de datos y establecer los valores predeterminados para el adaptador            
+            de datos y establecer los valores predeterminados para el adaptador
             <classname>Zend_Db_Table</classname> .
-        </para>
+       </para>
     </note>
-    
+
 </sect2>

+ 7 - 7
documentation/manual/es/module_specs/Zend_Application-AvailableResources-View.xml

@@ -4,29 +4,29 @@
 <sect2 id="zend.application.available-resources.view">
     <title>Zend_Application_Resource_View</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Resource_View</classname> puede ser
-        utilizada para configurar una instancia <classname>Zend_View</classname>. 
+        utilizada para configurar una instancia <classname>Zend_View</classname>.
         Las opciones de configuración son por <link
             linkend="zend.view.introduction.options">las opciones de <classname>Zend_View</classname></link>.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Una vez hecha la configuración de la instancia de vista, crea una
         instancia de
         <classname>Zend_Controller_Action_Helper_ViewRenderer</classname> y
         registra el ViewRenderer con
         <classname>Zend_Controller_Action_HelperBroker</classname> -- desde la
         cual usted puede recuperarla posteriormente.
-    </para>
+   </para>
 
     <example id="zend.application.available-resources.view.configExample">
         <title>Ejemplo de configuración del recurso Vista</title>
 
-        <para>
+       <para>
             A continuación un snippet <acronym>INI</acronym>  mostrando cómo configurar el recurso
             vista (view).
-        </para>
+       </para>
 
         <programlisting language="ini"><![CDATA[
 

+ 2 - 2
documentation/manual/es/module_specs/Zend_Application-AvailableResources.xml

@@ -4,8 +4,8 @@
 <sect1 id="zend.application.available-resources" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Plugins de Recursos Disponibles</title>
 
-    <para> Aquí encontrará documentación del tipo <acronym>API</acronym> sobre todos los recursos de
-        plugins disponibles por defecto en <classname>Zend_Application</classname>. </para>
+   <para>Aquí encontrará documentación del tipo <acronym>API</acronym> sobre todos los recursos de
+        plugins disponibles por defecto en <classname>Zend_Application</classname>.</para>
 
     <xi:include href="Zend_Application-AvailableResources-Db.xml"/>
     <xi:include href="Zend_Application-AvailableResources-Frontcontroller.xml"/>

+ 44 - 44
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Application.xml

@@ -4,12 +4,12 @@
 <sect2 id="zend.application.core-functionality.application">
     <title>Zend_Application</title>
 
-    <para>
+   <para>
         <classname>Zend_Application</classname>  proporciona la funcionalidad
         básica del componente, y el punto de entrada a su aplicación
         Zend Framework. Su propósito es doble: para configurar el medio ambiente
         <acronym>PHP</acronym> (incluyendo autocarga), y ejecutar su aplicación bootstrap.
-    </para>
+   </para>
 
     <table id="zend.application.core-functionality.application.api.options">
         <title>Zend_Application options</title>
@@ -26,51 +26,51 @@
                     <entry><para>
                         Array of <filename>php.ini</filename> settings to use. Keys should be the
                         <filename>php.ini</filename> keys.
-                    </para></entry>
+                   </para></entry>
                 </row>
-                
+
                 <row>
                     <entry><emphasis><property>includePaths</property></emphasis></entry>
                     <entry><para>
                         Additional paths to prepend to the
                         <emphasis>include_path</emphasis>. Should be an array of paths.
-                    </para></entry>
+                   </para></entry>
                 </row>
-                
+
                 <row>
                     <entry><emphasis><property>autoloaderNamespaces</property></emphasis></entry>
                     <entry><para>
                         Array of additional namespaces to register with the
                         <classname>Zend_Loader_Autoloader</classname> instance.
-                    </para></entry>
+                   </para></entry>
                 </row>
-                
+
                 <row>
                     <entry><emphasis><property>bootstrap</property></emphasis></entry>
                     <entry><para>
                         Either the string path to the bootstrap class, or an array
                         with elements for the 'path' and 'class' for the application
                         bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
             </tbody>
         </tgroup>
     </table>
-    
+
     <note>
         <title>Option names</title>
-        
-        <para>
+
+       <para>
             Please note that option names are case insensitive.
-        </para>
+       </para>
     </note>
 
-    <para>
+   <para>
         Típicamente, pasará toda la configuración al constructor
         <classname>Zend_Application</classname>, pero también puede configurar
-        totalmente el objeto utilizando sus propios métodos. En esta referencia 
+        totalmente el objeto utilizando sus propios métodos. En esta referencia
         se ilustran ambos casos de uso.
-    </para>
+   </para>
 
     <table id="zend.application.core-functionality.application.api.table">
         <title>Métodos de Zend_Application</title>
@@ -96,13 +96,13 @@
                                 Strings típicos podrían incluir "desarrollo",
                                 "pruebas", "qa", o "producción", pero será definido
                                 por sus requisitos organizacionales.
-                            </para></listitem>
+                           </para></listitem>
 
                             <listitem>
-                            <para>
+                           <para>
                                 <varname>$options</varname>>: <emphasis>opcional</emphasis>.
                                 El argumento puede ser uno de los siguientes valores:
-                            </para>
+                           </para>
                             <itemizedlist>
                                 <listitem><para>
                                     <emphasis>String</emphasis>: path
@@ -112,17 +112,17 @@
                                     <methodname>$environment</methodname> se utilizará para
                                     determinar qué sección de la configuración
                                     se traerá.
-                                </para></listitem>
+                               </para></listitem>
 
                                 <listitem><para>
                                     <emphasis><type>Array</type></emphasis>: array asociativo
                                     de datos de configuración para su aplicación.
-                                </para></listitem>
+                               </para></listitem>
 
                                 <listitem><para>
                                     <emphasis><classname>Zend_Config</classname></emphasis>:
                                     instancia del objeto de configuración.
-                                </para></listitem>
+                               </para></listitem>
                             </itemizedlist>
                         </listitem>
                     </itemizedlist></entry>
@@ -134,7 +134,7 @@
                         es registrada durante la instanciación.
                         Las opciones pasadas al onstructor se pasan a
                         <methodname>setOptions()</methodname>.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -144,7 +144,7 @@
                     <entry><para>
                         Recuperar el string del medio ambiente que se pasó al
                         constructor.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -155,7 +155,7 @@
                         Recuperar la instancia de
                         <classname>Zend_Loader_Autoloader</classname>
                         registrados durante la instanciación.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -165,7 +165,7 @@
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>requerido</emphasis>.
                             Un array de opciones de aplicación.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Todas las opciones se almacenan internamente, y llamando
@@ -176,7 +176,7 @@
                         <methodname>setPhpSettings()</methodname>.
                         (Los nombres de opciones son indiferentes a mayúsculas/
                         minúsculas.)
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -188,7 +188,7 @@
                         objeto; podría ser utilizada para guardar en cache a
                         través de <classname>Zend_Config</classname> las
                         opciones para serializar un formato entre reqerimientos.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -198,14 +198,14 @@
                     <itemizedlist>
                         <listitem><para>
                             <varname>$key</varname>: String opcional de la clave de lookup
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist>
                     </entry>
                     <entry><para>
                         Determinar si una opción con la clave ha sido registrada
                         o no. Las claves son indiferentes a mayúsculas/
                         minúsculas.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -214,12 +214,12 @@
                     <entry><itemizedlist>
                         <listitem><para>
                             <varname>$key</varname>: String opcional de la clave de lookup
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Recuperar el valor de la opción de una clave dada.
                         Retorna <constant>NULL</constant> si la clave no existe.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -229,26 +229,26 @@
                         <listitem><para>
                             <varname>$settings</varname>: <emphasis>requerido</emphasis>.
                             Array asociativo en los settings de <acronym>PHP</acronym>  <acronym>INI</acronym>.
-                        </para></listitem>
+                       </para></listitem>
 
                         <listitem><para>
                             <varname>$prefix</varname>: <emphasis>opcional</emphasis>.
                             Prefijo de tipo string para anteponer a la opción
-                            claves. Usado internamente para permitir el mapping 
+                            claves. Usado internamente para permitir el mapping
                             anidado de matrices separados por puntos en las
                             claves de <filename>php.ini</filename>.
                             En el uso normal, este argumento nunca debe ser
                             pasado por un usuario.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
-                        Establece un conjunto de ajustaes en <filename>php.ini</filename>. para run-time. 
+                        Establece un conjunto de ajustaes en <filename>php.ini</filename>. para run-time.
                         Las configuraciones separadas por punto pueden ser
                         anidadas jerárquicamente
                         (lo que puede ocurrir con los archivos <acronym>INI</acronym>
                         <classname>Zend_Config</classname>) mediante un array de
                         de arrays, y aún resolver correctamente.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -260,12 +260,12 @@
                             Array de strings representando los namespaces a
                             registrar con la instancia
                             <classname>Zend_Loader_Autoloader</classname>.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Registra los namespaces con la instancia
                         <classname>Zend_Loader_Autoloader</classname>.
-                      </para></entry>
+                     </para></entry>
                 </row>
 
                 <row>
@@ -279,7 +279,7 @@
                             </classname>, un string del path a la clase bootstrap,
                             un arrray asociativo de classname =&gt;nombre_de_archivo,
                             o un array asociativo con las claves 'class' y 'path'.
-                        </para></listitem>
+                       </para></listitem>
 
                         <listitem><para>
                             <varname>$class</varname>: <emphasis>opcional</emphasis>.
@@ -287,7 +287,7 @@
                             <varname>$class</varname> puede ser especificado,
                             y debe ser el string nombre de clase de la
                             clase contenida en el archivo representado por path.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                 </row>
 
@@ -297,7 +297,7 @@
                     <entry>N/A</entry>
                     <entry><para>
                         Recuperar la instancia del bootstrap registrado.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -307,7 +307,7 @@
                     <entry><para>
                         Llamar al método <methodname>bootstrap()</methodname>
                         para cargar la aplicación.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -317,7 +317,7 @@
                     <entry><para>
                         Llamar al método <methodname>run()</methodname> del bootstrap
                         para despachar la aplicación.
-                    </para></entry>
+                   </para></entry>
                 </row>
             </tbody>
         </tgroup>

+ 20 - 20
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrap.xml

@@ -4,22 +4,22 @@
 <sect2 id="zend.application.core-functionality.bootstrap-bootstrap">
     <title>Zend_Application_Bootstrap_Bootstrap</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Bootstrap_Bootstrap</classname> es una implementación concreta
         de <link linkend="zend.application.core-functionality.bootstrap-bootstrapabstract"
             >Zend_Application_Bootstrap_BootstrapAbstract</link>. Su principal característica es que
         registra el <link linkend="zend.application.available-resources.frontcontroller">recurso
             Front Controller</link>, y que el método <methodname>run()</methodname> primero
-        comprueba esté definido un módulo por defecto y luego despacha el front controller. </para>
+        comprueba esté definido un módulo por defecto y luego despacha el front controller.</para>
 
-    <para> En muchos casos, usted quisiera extender esta clase por sus necesidades de bootstrapping,
+   <para>En muchos casos, usted quisiera extender esta clase por sus necesidades de bootstrapping,
         o simplemente utilizar esta clase y proporcionar una lista de los plugins de recursos a
-        utilizar. </para>
-    
+        utilizar.</para>
+
     <sect3 id="zend.application.core-functionality.bootstrap-bootstrap.autoloading">
         <title>Enabling Application Autoloading</title>
-        
-        <para>
+
+       <para>
             Additionally, this bootstrap implementation provides the ability to specify the
             "namespace" or class prefix for resources located in its tree, which will enable
             autoloading of various application resources; essentially, it instantiates a <link
@@ -27,30 +27,30 @@
             object, providing the requested namespace and the bootstrap's directory as arguments.
             You may enable this functionality by providing a namespace to the "appnamespace"
             configuration option. As an <acronym>INI</acronym> Ejemplo:
-        </para>
-        
+       </para>
+
         <programlisting language="ini"><![CDATA[
 appnamespace = "Application"
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             O en <acronym>XML</acronym>:
-        </para>
-        
+       </para>
+
         <programlisting language="xml"><![CDATA[
 <appnamespace>Application</appnamespace>
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             By default, <classname>Zend_Tool</classname> will enable this option with the value
             "Application".
-        </para>
-        
-        <para>
+       </para>
+
+       <para>
             Alternately, you can simply define the <varname>$_appNamespace</varname> property of your
             bootstrap class with the appropriate value:
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {

+ 34 - 34
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_BootstrapAbstract.xml

@@ -4,7 +4,7 @@
 <sect2 id="zend.application.core-functionality.bootstrap-bootstrapabstract">
     <title>Zend_Application_Bootstrap_BootstrapAbstract</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname> es
         una clase abstracta que proporciona la base funcional de un arranque
         (bootstrap) común. Implementa a ambos
@@ -12,7 +12,7 @@
             Zend_Application_Bootstrap_Bootstrapper</link> y a <link
             linkend="zend.application.core-functionality.bootstrap-resourcebootstrapper">
            <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname></link>.
-    </para>
+   </para>
 
     <table id="zend.application.core-functionality.bootstrap-bootstrapabstract.api.table">
         <title>Métodos de Zend_Application_Bootstrap_BootstrapAbstract</title>
@@ -35,13 +35,13 @@
                             Acepta tanto a <classname>Zend_Application</classname> o al
                             objeto <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
                             como único argumento.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Constructor. Acepta un solo argumento, que debe ser un
                         objeto <classname>Zend_Application</classname>, u otro
                         objeto bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -51,18 +51,18 @@
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>requerido</emphasis>.
                             Array de opciones a establecer.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry>
-                    <para>
+                   <para>
                         Cualquier opción que tiene un setter concordante invocará
                         ese setter; de lo contrario, la opción será simplemente
                         almacenada para su recuperación posterior.
                         Como ejemplo, si su clase extendida definió
                         un método  <methodname>setFoo()</methodname>, la opción 'foo'
                         pasaría el valor a ese método.
-                    </para>
-                    <para>
+                   </para>
+                   <para>
                         También pueden usarse dos opciones especiales clave.
                         <property>pluginPaths</property> puede ser utilizada para
                         especificar prefijos de paths para los recursos plugin;
@@ -71,7 +71,7 @@
                         especificar los recursos plugin a utilizar,
                         y debería estar constituído por pares de opciones plugin
                         recurso/instanciación.
-                    </para>
+                   </para>
                     </entry>
                 </row>
 
@@ -82,7 +82,7 @@
                     <entry><para>
                         Devuelve todas las opciones registradas via
                         <methodname>setOptions()</methodname>.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -92,7 +92,7 @@
                         <listitem><para>
                             <varname>$key</varname>: <emphasis>requerido</emphasis>.
                             Clave de opción a probar.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>Determinar si una opción clave está presente.</para></entry>
                 </row>
@@ -104,13 +104,13 @@
                         <listitem><para>
                             <varname>$key</varname>: <emphasis>requerido</emphasis>.
                             Clave de opción para recuperar.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Recuperar el valor asociado con una opción clave;
                         retorna <constant>NULL</constant> si ninguna opción está registrada con
                         esa clave.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -125,11 +125,11 @@
                     <entry><itemizedlist>
                             <listitem><para>
                                 <varname>$application</varname>: <emphasis>requerido</emphasis>.
-                            </para></listitem>
+                           </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Registrar al objeto padre de la aplicación o en el bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -140,7 +140,7 @@
                     <entry><para>
                         Recuperar el objeto aplicación/bootstrap pasado via
                         constructor.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -150,7 +150,7 @@
                     <entry><para>
                         Recuperar el string del entorno registrado
                         con el objeto padre de la aplicación o del bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -161,7 +161,7 @@
                         Recuperar una lista de los recursos inicializadores de
                         nombres disponibles con los fueron definidos en la clase.
                         Esto puede ser de implementación específica.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -174,7 +174,7 @@
                         registra una instancia
                         <link linkend="zend.registry">Zend_Registry</link>
                         antes de retornarlo.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -184,14 +184,14 @@
                         <listitem><para>
                             <varname>$container</varname>, <emphasis>requerido</emphasis>.
                             Un objeto en el cual almacenar recursos.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Proporciona un contenedor en el que se almacenan recursos.
                         Cuando un método de recurso o plugin devuelve un valor,
                         será almacenado en este contenedor para su recuperación
                         posterior.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -201,7 +201,7 @@
                         <listitem><para>
                             <methodname>$name</methodname>, <emphasis>requerido</emphasis>.
                             Nombre del recurso a comprobar.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Cuando un método de recurso o plugin devuelve un valor,
@@ -209,7 +209,7 @@
                         <methodname>getContainer()</methodname> y
                         <methodname>setContainer()</methodname>. Este método indicará si
                         se ha establecido o no un valor para ese recurso.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -219,7 +219,7 @@
                         <listitem><para>
                             <varname>$name</varname>, <emphasis>requerido</emphasis>.
                             Nombre del recurso a recuperar.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Cuando un método de recurso o plugin devuelve un valor,
@@ -227,7 +227,7 @@
                         <methodname>getContainer()</methodname> y
                         <methodname>setContainer()</methodname>. Este método recuperará
                         recursos del contenedor.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -236,24 +236,24 @@
                     <entry><itemizedlist>
                         <listitem><para>
                             <varname>$resource</varname>: <emphasis>opcional</emphasis>.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry>
-                    <para>
+                   <para>
                         Si <varname>$resource</varname> está vacío, ejecutar todos
                         los recursos del bootstrap.
                         Si es un string, ejecutar ese único recurso;
                         si es un array, ejecutar cada recurso del array.
-                    </para>
+                   </para>
 
-                    <para>
+                   <para>
                         Este método puede ser utilizado para ejecutar
                         bootstraps individuales, ya hayan sido definidos en la
                         propia clase o mediante clases de recursos de plugin.
                         Un recurso definido en la clase será ejecutado en
                         preferencia por sobre un recurso de plugin en el caso
                         de conflicto de nombres.
-                    </para>
+                   </para>
                     </entry>
                 </row>
 
@@ -264,7 +264,7 @@
                     <entry><para>
                         Define qué lógica de aplicación ejecutar luego del
                         bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -274,19 +274,19 @@
                         <listitem><para>
                             <varname>$method</varname>: <emphasis>requerido</emphasis>.
                             El nombre del método a llamar.
-                        </para></listitem>
+                       </para></listitem>
 
                         <listitem><para>
                             <varname>$args</varname>: <emphasis>requerido</emphasis>.
                             Array de argumentos para usar en el método de llamada.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Ofrece comodidad para bootstrapping de recursos
                         individuales permitiéndole llamar
                         'bootstrap&lt;ResourceName&gt;()' en vez de usar el
                         método <methodname>bootstrap()</methodname>.
-                    </para></entry>
+                   </para></entry>
                 </row>
             </tbody>
         </tgroup>

+ 15 - 15
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrapper.xml

@@ -4,17 +4,17 @@
 <sect2 id="zend.application.core-functionality.bootstrap-bootstrapper">
     <title>Zend_Application_Bootstrap_Bootstrapper</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Bootstrap_Bootstrapper</classname> es la
         interfaz base que deben implementar todas clases bootstrap.
         Las funcionalidades de base están encaminadan a la configuración,
         identificación de los recursos, bootstraping (ya sea de los recursos
         individuales o de toda la aplicación), y de despachar la aplicación.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Los siguientes métodos conforman la definición de la interfaz.
-    </para>
+   </para>
 
     <table id="zend.application.core-functionality.bootstrap-bootstrapper.methods-table">
         <title>Zend_Application_Bootstrap_Bootstrapper Interface</title>
@@ -37,14 +37,14 @@
                             Debe aceptar un objeto <classname>Zend_Application</classname> o
                             <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
                             como único argumento.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Constructor. Acepta un solo argumento, que debe ser un
                         objeto
                         <classname>Zend_Application</classname>, u otro objero
                         bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -54,27 +54,27 @@
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>requerido</emphasis>.
                             Array de opciones a establecer.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Típicamente, cualquier opción que tiene un setter
                         concordante invocará ese setter; de lo contrario,
                         la opción será simplemente almacenada para su
                         recuperación posterior.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
                     <entry><methodname>getApplication()</methodname></entry>
                     <entry>
-                        <classname>Zend_Application | 
+                        <classname>Zend_Application |
                         Zend_Application_Bootstrap_Bootstrapper</classname>
                     </entry>
                     <entry>N/A</entry>
                     <entry><para>
                         Recuperar el objeto aplicación/bootstrap pasado via
                         constructor.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -84,7 +84,7 @@
                     <entry><para>
                         Recuperar el string del medio ambiente registrado
                         con el objeto padre de la aplicación o del bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -95,7 +95,7 @@
                         Recuperar una lista de los recursos inicializadores de
                         nombres disponibles con los que fueron definidos en la clase.
                         Esto puede ser de implementación específica.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -104,14 +104,14 @@
                     <entry><itemizedlist>
                         <listitem><para>
                             <varname>$resource</varname>: <emphasis>optional</emphasis>.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Si <varname>$resource</varname> está vacío, ejecutar todos
                         los recursos del bootstrap.
                         Si es un string, ejecutar ese único recurso;
                         si es un array, ejecutar cada recurso del array.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -121,7 +121,7 @@
                     <entry><para>
                         Define qué lógica de aplicación ejecutar luego del
                         bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
             </tbody>
         </tgroup>

+ 17 - 17
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Bootstrap_ResourceBootstrapper.xml

@@ -4,7 +4,7 @@
 <sect2 id="zend.application.core-functionality.bootstrap-resourcebootstrapper">
     <title>Zend_Application_Bootstrap_ResourceBootstrapper</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname> es una
         interfaz para usar cuando una clase de arranque cargará recursos
         externos -- por ejemplo, uno o más recursos no se definirán
@@ -13,11 +13,11 @@
         <link linkend="zend.application.core-functionality.bootstrap-bootstrapper">Zend_Application_Bootstrap_Bootstrapper</link>;
         <link linkend="zend.application.core-functionality.bootstrap-bootstrapabstract">Zend_Application_Bootstrap_BootstrapAbstract</link>
         que implementan esta funcionalidad.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Los siguientes métodos conforman la definición de la interfaz.
-    </para>
+   </para>
 
     <table id="zend.application.core-functionality.bootstrap-resourcebootstrapper.methods-table">
         <title>Zend_Application_Bootstrap_ResourceBootstrapper Interface</title>
@@ -40,18 +40,18 @@
                             <varname>$resource</varname>: <emphasis>requerido</emphasis>.
                             Un nombre de recurso o un objeto
                             <classname>Zend_Application_Resource_Resource</classname>.
-                        </para></listitem>
+                       </para></listitem>
 
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>opcional</emphasis>.
                             Un array o un objeto <classname>Zend_Config</classname>
                             para pasar al recurso en instanciación.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Registre un recurso con la clase, proporcionando
                         configuración opcional para pasar al recurso.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -61,11 +61,11 @@
                         <listitem><para>
                             <varname>$resource</varname>: <emphasis>requerido</emphasis>.
                             Nombre de un recurso para des-registrar desde la clase.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Eliminar un recurso de plugin de la clase.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -75,12 +75,12 @@
                         <listitem><para>
                             <methodname>$resource</methodname>: <emphasis>requerido</emphasis>.
                             Nombre del recurso.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Determinar si un recurso específico se ha registrado
                         en la clase.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -90,11 +90,11 @@
                         <listitem><para>
                             <varname>$resource</varname>: <emphasis>requerido</emphasis>.
                             Nombre de un recurso a recuperar (string).
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Recuperar una instacia de un recurso de plugin por su nombre.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -104,7 +104,7 @@
                     <entry><para>
                         Recuperar una lista de todos los nombres de recursos de
                         plugin registrados.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -116,12 +116,12 @@
                             <varname>$loader</varname>: <emphasis>requerido</emphasis>.
                             Instancia del cargador de plugin para utilizar
                             cuando se resuelven nombres de plugin a las clases.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Registre una instancia del cargador de plugin para
                         utilizar cuando se resuelven nombres de clases de plugin.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -130,7 +130,7 @@
                     <entry>N/A</entry>
                     <entry><para>
                         Recuperar el cargador de plugin registrado.
-                    </para></entry>
+                   </para></entry>
                 </row>
             </tbody>
         </tgroup>

+ 11 - 11
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Resource_Resource.xml

@@ -4,14 +4,14 @@
 <sect2 id="zend.application.core-functionality.resource-resource">
     <title>Zend_Application_Resource_Resource</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Resource_Resource</classname> es una
         interfaz para recursos de plugin utilizados con clases bootstrap implementando
         <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>.
         Se espera que los recursos de plugins permitan la configuración,
         estar enterados del bootstrap, y aplicar un patrón de estrategia para la
         inicialización de recursos.
-    </para>
+   </para>
 
     <table id="zend.application.core-functionality.resource-resource.api">
         <title>Zend_Application_Resource_Resource Interface</title>
@@ -32,12 +32,12 @@
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>opcional</emphasis>.
                             Opciones con las cuales establecer el estado de los recursos.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         El constructor debería permitir pasar opciones con las
                         cuales inicializar el estado.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -47,11 +47,11 @@
                             <listitem><para>
                                 <varname>$bootstrap</varname>: <emphasis>requerido</emphasis>.
                                 Padre del bootstrap inicializando este recurso.
-                            </para></listitem>
+                           </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Debería permitir registrar el objeto padre del bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -60,7 +60,7 @@
                     <entry>N/A</entry>
                     <entry><para>
                         Recuperar la instancia del bootstrap registrado.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -70,11 +70,11 @@
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>requerido</emphasis>.
                             Opciones con las cuales establecer el estado.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Establecer el estado del recurso.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -83,7 +83,7 @@
                     <entry>N/A</entry>
                     <entry><para>
                         Recuperar opciones registradas.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -92,7 +92,7 @@
                     <entry>N/A</entry>
                     <entry><para>
                         Patrón de estrategia: ejecute inicialización de los recursos.
-                    </para></entry>
+                   </para></entry>
                 </row>
             </tbody>
         </tgroup>

+ 42 - 42
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality-Resource_ResourceAbstract.xml

@@ -4,17 +4,17 @@
 <sect2 id="zend.application.core-functionality.resource-resourceabstract">
     <title>Zend_Application_Resource_ResourceAbstract</title>
 
-    <para>
+   <para>
         <classname>Zend_Application_Resource_ResourceAbstract</classname> es una clase abstracta
         implementando <link linkend="zend.application.core-functionality.resource-resource">Zend_Application_Resource_Resource</link>,
         y es un buen punto de partida para crear sus propios recursos de plugin
         personalizados.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Nota: esta clase abstracta no implementa el método <methodname>init()</methodname>;
         esto se deja para la definición de extensiones concretas de la clase.
-    </para>
+   </para>
 
     <table id="zend.application.core-functionality.resource-resourceabstract.api">
         <title>Zend_Application_Resource_ResourceAbstract Methods</title>
@@ -35,12 +35,12 @@
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>opcional</emphasis>.
                             Opciones con las cuales establecer el estado del recurso.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         El constructor debería permitir pasar opciones con las
                         cuales inicializar el estado.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -50,11 +50,11 @@
                             <listitem><para>
                                 <varname>$bootstrap</varname>: <emphasis>requerido</emphasis>.
                                 Padre del bootstrap inicializando este recurso.
-                            </para></listitem>
+                           </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Debería permitir registrar el objeto padre del bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -63,7 +63,7 @@
                     <entry>N/A</entry>
                     <entry><para>
                         Recuperar la instancia registrada del bootstrap.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -73,11 +73,11 @@
                         <listitem><para>
                             <varname>$options</varname>: <emphasis>requerido</emphasis>.
                             Opciones con las cuales establecer el estado.
-                        </para></listitem>
+                       </para></listitem>
                     </itemizedlist></entry>
                     <entry><para>
                         Establecer el estado del recurso.
-                    </para></entry>
+                   </para></entry>
                 </row>
 
                 <row>
@@ -86,22 +86,22 @@
                     <entry>N/A</entry>
                     <entry><para>
                         Recuperar opciones registradas.
-                    </para></entry>
+                   </para></entry>
                 </row>
             </tbody>
         </tgroup>
     </table>
     <sect3 id="zend.application.core-functionality.resource-resourceabstract.names">
         <title>Resource Names</title>
-        
-        <para>
+
+       <para>
             When registering plugin resources, one issue that arises is how you
             should refer to them from the parent bootstrap class. There are
             three different mechanisms that may be used, depending on how you
             have configured the bootstrap and its plugin resources.
-        </para>
-        
-        <para>
+       </para>
+
+       <para>
             First, if your plugins are defined within a defined prefix path, you
             may refer to them simply by their "short name" -- i.e., the portion
             of the class name following the class prefix. As an example, the
@@ -109,8 +109,8 @@
             simply "View", as the prefix path "<classname>Zend_Application_Resource</classname>"
             is already registered. You may register them using the full class name or the
             short name:
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 $app = new Zend_Application(APPLICATION_ENV, array(
     'pluginPaths' => array(
@@ -125,23 +125,23 @@ $app = new Zend_Application(APPLICATION_ENV, array(
     ),
 ));
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             In each case, you can then bootstrap the resource and retrieve it
             later using the short name:
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 $bootstrap->bootstrap('view');
 $view = $bootstrap->getResource('view');
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             Second, if no matching plugin path is defined, you may still pass a
             resource by the full class name. In this case, you can reference it
             using the resource's full class name:
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 $app = new Zend_Application(APPLICATION_ENV, array(
     'resources' => array(
@@ -153,25 +153,25 @@ $app = new Zend_Application(APPLICATION_ENV, array(
     ),
 ));
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             Obviously, this makes referencing the resource much more verbose:
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 $bootstrap->bootstrap('My_Resource_View');
 $view = $bootstrap->getResource('My_Resource_View');
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             This brings us to the third option. You can specify an explicit name
             that a given resource class will register as. This can be done by
             adding a public <varname>$_explicitType</varname> property to the resource
             plugin class, with a string value; that value will then be used
             whenever you wish to reference the plugin resource via the
             bootstrap. As an example, let's define our own view class:
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
 {
@@ -183,22 +183,22 @@ class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
     }
 }
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             We can then bootstrap that resource or retrieve it by the name
             "<classname>My_View</classname>":
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 $bootstrap->bootstrap('My_View');
 $view = $bootstrap->getResource('My_View');
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             Using these various naming approaches, you can override existing
             resources, add your own, mix multiple resources to achieve complex
             initialization, and more.
-        </para>
+       </para>
     </sect3>
 </sect2>
 

+ 2 - 2
documentation/manual/es/module_specs/Zend_Application-CoreFunctionality.xml

@@ -4,10 +4,10 @@
 <sect1 id="zend.application.core-functionality" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Funcionalidad Básica</title>
 
-    <para>
+   <para>
         Aquí encontrará documentación del tipo <acronym>API</acronym> acerca de todos los
         componentes básicos de <classname>Zend_Application</classname>.
-    </para>
+   </para>
 
     <xi:include href="Zend_Application-CoreFunctionality-Application.xml" />
     <xi:include href="Zend_Application-CoreFunctionality-Bootstrap_Bootstrapper.xml" />

+ 63 - 90
documentation/manual/es/module_specs/Zend_Application-Examples.xml

@@ -1,24 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17734-->
+<!-- EN-Revision: 17734 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.application.examples">
     <title>Ejemplos</title>
 
-    <para>
-        La propia clase Bootstrap suelen ser bastante mínima; a menudo,
-        será simplemente un talón vacío ampliando la clase base bootstrap:
-    </para>
+   <para>La propia clase Bootstrap suelen ser bastante mínima; a menudo, será
+        simplemente un talón vacío ampliando la clase base bootstrap:</para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
 }
 ]]></programlisting>
 
-    <para>
-        Con el archivo de configuración coresspondiente:
-    </para>
+   <para>Con el archivo de configuración coresspondiente:</para>
 
     <programlisting language="ini"><![CDATA[
 
@@ -32,32 +28,27 @@ resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
 [development : production]
 ]]></programlisting>
 
-    <para>
-        Sin embargo, si debiera ser necesaria un inicialización personalizada,
-        usted tiene dos opciones. En primer lugar, usted puede escribir métodos
-        prefijados con <emphasis>_init</emphasis> para especificar códigos distintos de
-        arranque. Estos métodos pueden ser llamados por <methodname>bootstrap()</methodname>, y también
-        pueden ser llamados como si fueran métodos públicos:
-        <emphasis>bootstrap&lt;resource&gt;()</emphasis>. Deben aceptar opcionalmente un
-        array de opciones.
-    </para>
-
-    <para>
-        Si su método recurso devuelve un valor, será almacenado en un contenedor
-        en el bootstrap. Esto puede ser útil cuando diferentes recursos necesitan
-        interactuar (como un recurso inyectándose a sí mismo en otro).
-        Luego, el método <methodname>getResource()</methodname> puede ser utilizado para
-        recuperar esos valores.
-    </para>
-
-    <para>
-        El siguiente ejemplo muestra un recurso de método para inicializar el
-        objeto solicitado. Hace uso del segimiento de la dependencia
-        (que depende del recurso Front Controller), obteniendo un recurso
-        desde el bootstrap y devolver el valor para almacenar en el bootstrap.
-    </para>
-
-     <programlisting language="php"><![CDATA[
+   <para>Sin embargo, si debiera ser necesaria un inicialización
+        personalizada, usted tiene dos opciones. En primer lugar, usted puede
+        escribir métodos prefijados con <emphasis>_init</emphasis> para
+        especificar códigos distintos de arranque. Estos métodos pueden ser
+        llamados por <methodname>bootstrap()</methodname>, y también pueden ser
+        llamados como si fueran métodos públicos:
+            <emphasis>bootstrap&lt;resource&gt;()</emphasis>. Deben
+        aceptar opcionalmente un array de opciones.</para>
+
+   <para>Si su método recurso devuelve un valor, será almacenado en un
+        contenedor en el bootstrap. Esto puede ser útil cuando diferentes
+        recursos necesitan interactuar (como un recurso inyectándose a sí mismo
+        en otro). Luego, el método <methodname>getResource()</methodname> puede
+        ser utilizado para recuperar esos valores.</para>
+
+   <para>El siguiente ejemplo muestra un recurso de método para inicializar el
+        objeto solicitado. Hace uso del segimiento de la dependencia (que
+        depende del recurso Front Controller), obteniendo un recurso desde el
+        bootstrap y devolver el valor para almacenar en el bootstrap.</para>
+
+    <programlisting language="php"><![CDATA[
 
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
@@ -81,47 +72,38 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 }
 ]]></programlisting>
 
-    <para>
-        Nótese en este ejemplo la llamada a <methodname>bootstrap()</methodname>;
-        esto asegura que el front controller ha sido inicializado antes de
-        llamar a este método. Esa llamada puede desencadenar tanto un recurso u
-        otro método de la clase.
-    </para>
+   <para>Nótese en este ejemplo la llamada a
+            <methodname>bootstrap()</methodname>; esto asegura que el front
+        controller ha sido inicializado antes de llamar a este método. Esa
+        llamada puede desencadenar tanto un recurso u otro método de la clase.</para>
 
-    <para>
-        La otra opción es usar plugins de recursos, estos son objetos que
-        realizan inicializaciones específicas, y pueden ser especificados:
-    </para>
+   <para>La otra opción es usar plugins de recursos, estos son objetos que
+        realizan inicializaciones específicas, y pueden ser especificados:</para>
 
     <itemizedlist>
         <listitem>
-            <para>
-                Cuando se instancia un onbeto de <classname>Zend_Application</classname>
-            </para>
+           <para>Cuando se instancia un onbeto de
+                    <classname>Zend_Application</classname>
+           </para>
         </listitem>
         <listitem>
-            <para>
-                Durante la inicialización del objeto bootstrap (arranque)
-            </para>
+           <para>Durante la inicialización del objeto bootstrap (arranque)
+           </para>
         </listitem>
         <listitem>
-            <para>
-                Habilitándolos explícitamente a través del método de llamada
-                al objeto bootstrap
-            </para>
+           <para>Habilitándolos explícitamente a través del método de llamada
+                al objeto bootstrap</para>
         </listitem>
     </itemizedlist>
 
-    <para>
-        Los recursos de plugins implementan
-        <classname>Zend_Application_Resource_ResourceAbstract</classname>, que define
-        simplemente que permitirán la inyección del llamador y opciones,
-        y que tienen un método <methodname>init()</methodname> method.
+   <para>Los recursos de plugins implementan
+            <classname>Zend_Application_Resource_ResourceAbstract</classname>,
+        que define simplemente que permitirán la inyección del llamador y
+        opciones, y que tienen un método <methodname>init()</methodname> method.
         Como ejemplo, un recurso de una Vista (View) personalizada de bootstrap
-        podría ser como lo siguiente:
-    </para>
+        podría ser como lo siguiente:</para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 
 class My_Bootstrap_Resource_View
     extends Zend_Application_Resource_ResourceAbstract
@@ -153,14 +135,12 @@ class My_Bootstrap_Resource_View
 }
 ]]></programlisting>
 
-    <para>
-        Para decirle al bootstrap que utilice éste, se tendría que proporcionar
-        ya sea el nombre de la clase del plugin del recurso, o una combinación del
-        del prefijo de la ruta de carga del plugin y el nombre corto del plugin del recurso
-        (por ejemplo, "view"):
-    </para>
+   <para>Para decirle al bootstrap que utilice éste, se tendría que
+        proporcionar ya sea el nombre de la clase del plugin del recurso, o una
+        combinación del del prefijo de la ruta de carga del plugin y el nombre
+        corto del plugin del recurso (por ejemplo, "view"):</para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 
 $application = new Zend_Application(
     APPLICATION_ENV,
@@ -182,12 +162,10 @@ $application = new Zend_Application(
 );
 ]]></programlisting>
 
-    <para>
-        Los recursos que son plugins puede llamar a otros recursos e inicializadores accediendo
-        al bootstrap padre:
-    </para>
+   <para>Los recursos que son plugins puede llamar a otros recursos e
+        inicializadores accediendo al bootstrap padre:</para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 
 class My_Bootstrap_Resource_Layout
     extends Zend_Application_Resource_ResourceAbstract
@@ -205,24 +183,20 @@ class My_Bootstrap_Resource_Layout
 }
 ]]></programlisting>
 
-    <para>
-        En el uso normal, se podría instanciar la aplicación, arrancarla,
-        y ejecutarla:
-    </para>
+   <para>En el uso normal, se podría instanciar la aplicación, arrancarla, y
+        ejecutarla:</para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 
 $application = new Zend_Application(...);
 $application->bootstrap()
             ->run();
 ]]></programlisting>
 
-    <para>
-        Para un script personalizado, se podría necesitar simplemente
-        inicializar recursos específicos:
-    </para>
+   <para>Para un script personalizado, se podría necesitar simplemente
+        inicializar recursos específicos:</para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 
 $application = new Zend_Application(...);
 $application->getBootstrap()->bootstrap('db');
@@ -232,12 +206,11 @@ $service->setClass('Foo');  // uses database...
 echo $service->handle();
 ]]></programlisting>
 
-    <para>
-        En lugar de utilizar el método <methodname>bootstrap()</methodname> para llamar
-        a los métodos internos o recursos, también puede usar sobrecarga:
-    </para>
+   <para>En lugar de utilizar el método <methodname>bootstrap()</methodname>
+        para llamar a los métodos internos o recursos, también puede usar
+        sobrecarga:</para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 
 $application = new Zend_Application(...);
 $application->getBootstrap()->bootstrapDb();

+ 4 - 4
documentation/manual/es/module_specs/Zend_Application-Introduction.xml

@@ -4,12 +4,12 @@
 <sect1 id="zend.application.introduction">
     <title>Introducción</title>
 
-    <para>
+   <para>
         <classname>Zend_Application</classname>
         facilita la inicialización de nuestras aplicaciones
         proporcionando recursos reutilizables, comunes y asociados con el módulo
-		de la clase de arranque y control de dependencias.
-		También se ocupa de establecer el entorno de <acronym>PHP</acronym>
+        de la clase de arranque y control de dependencias.
+        También se ocupa de establecer el entorno de <acronym>PHP</acronym>
         e introduce la autocarga (autoloading) por defecto.
-    </para>
+   </para>
 </sect1>

+ 65 - 65
documentation/manual/es/module_specs/Zend_Application-QuickStart.xml

@@ -4,51 +4,51 @@
 <sect1 id="zend.application.quick-start">
     <title>Inicio rápido con Zend_Application</title>
 
-    <para>
+   <para>
         Hay dos caminos para empezar con
         <classname>Zend_Application</classname>, y dependen de cómo inicia su
         proyecto. En cada caso, siempre se comienza con la creación de la
         clase <classname>Bootstrap</classname>, y un archivo de configuración asociado.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Si se planea utilizar <classname>Zend_Tool</classname> para crear su
         proyecto, continúe leyendo. Si va añadir
         <classname>Zend_Application</classname> a un proyecto existente,
         debe <link linkend="zend.application.quick-start.manual"> ir aquí</link>.
-    </para>
+   </para>
 
     <sect2 id="zend.application.quick-start.zend-tool">
         <title>Usando Zend_Tool</title>
 
-        <para>
+       <para>
             La forma más rápida para comenzar a utilizar
             <classname>Zend_Application</classname> es usar
             <classname>Zend_Tool</classname> para generar su proyecto.
             Esto también creará su clase y archivo <classname>Bootstrap</classname>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Para crear un proyecto, ejecute el comando <command>zf</command> (en sistemas *nix):
-        </para>
+       </para>
 
         <programlisting language="sh"><![CDATA[
 
 % zf create project newproject
 ]]></programlisting>
 
-        <para>
+       <para>
             O el comando <filename>zf.bat</filename> en Windows:
-        </para>
+       </para>
 
         <programlisting language="dos"><![CDATA[
 
 C:> zf.bat create project newproject
 ]]></programlisting>
 
-        <para>
+       <para>
             Ambos crearán una estructura del proyecto que se parece a lo siguiente:
-        </para>
+       </para>
 
         <programlisting language="text"><![CDATA[
 
@@ -79,11 +79,11 @@ newproject
     `-- phpunit.xml
 ]]></programlisting>
 
-        <para>
+       <para>
             En el diagrama anterior, su bootstrap se encuentra en
              <filename>newproject/application/Bootstrap.php</filename>, y al principio
             se vería así:
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 
@@ -91,11 +91,11 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {}
 ]]></programlisting>
 
-        <para>
+       <para>
             También notará que se ha creado un archivo de configuración,
             <filename>newproject/application/configs/application.ini</filename>.
             Con el siguiente contenido:
-        </para>
+       </para>
 
         <programlisting language="dosini"><![CDATA[
 
@@ -118,17 +118,17 @@ phpSettings.display_startup_errors = 1
 phpSettings.display_errors = 1
 ]]></programlisting>
 
-        <para>
+       <para>
             Todos las opciones en este archivo de configuración son para
             su uso con <classname>Zend_Application</classname>
             y su bootstrap.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Otro archivo de interés es <filename>newproject/public/index.php</filename>,
             el cual invoca a
             <classname>Zend_Application</classname> y lo envía.
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 
@@ -156,43 +156,43 @@ $application->bootstrap()
              ->run();
 ]]></programlisting>
 
-        <para>
+       <para>
             Para continuar con el inicio rápido, por favor
             <link linkend="zend.application.quick-start.resources">
            vaya a la sección de Recursos</link>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.application.quick-start.manual">
         <title>Añadir Zend_Application a su aplicación</title>
 
-        <para>
+       <para>
             Los fundamentos de <classname>Zend_Application</classname> son bastante simples:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem><para>
                 Crear un archivo <filename>application/Bootstrap.php</filename>, con la
                 clase <classname>Bootstrap</classname>.
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 Crear un archivo de configuración
                 <filename>application/configs/application.ini</filename>
                 con la configuración básica necesaria para
                 <classname>Zend_Application</classname>.
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 Modificar su <filename>public/index.php</filename> para usar
                 <classname>Zend_Application</classname>.
-            </para></listitem>
+           </para></listitem>
         </itemizedlist>
 
-        <para>
+       <para>
             Primero, genere su clase <classname>Bootstrap</classname>. Crear un archivo,
             <filename>application/Bootstrap.php</filename>, con el siguiente contenido:
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 
@@ -202,13 +202,13 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             Ahora, debe crear su configuración. Para este tutorial, usaremos
             una configuración de estilo <acronym>INI</acronym>; puede, por supuesto,
             usar un archivo de configuración <acronym>XML</acronym> o <acronym>PHP</acronym>. Cree el archivo
             <filename>application/configs/application.ini</filename>, proporcionando
             el siguiente contenido.
-        </para>
+       </para>
 
         <programlisting language="dosini"><![CDATA[
 
@@ -231,11 +231,11 @@ phpSettings.display_startup_errors = 1
 phpSettings.display_errors = 1
 ]]></programlisting>
 
-        <para>
+       <para>
             Ahora, modifiquemos su script de entrada (gateway),
             <filename>public/index.php</filename>. Si el archivo no existe, cree uno;
             de lo contrario, sustitúyalo por el siguiente contenido:
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 
@@ -257,7 +257,7 @@ set_include_path(implode(PATH_SEPARATOR, array(
     dirname(dirname(__FILE__)) . '/library',
     get_include_path(),
 )));
-										 
+                                        
 /** Zend_Application */
 require_once 'Zend/Application.php';
 
@@ -270,14 +270,14 @@ $application->bootstrap()
             ->run();
 ]]></programlisting>
 
-        <para>
+       <para>
             Se puede observar que el valor constante del entorno de la aplicación
             busca una variable de entorno "APPLICATION_ENV".
             Recomendamos este ajuste en el entorno de su servidor web.
             En Apache, puede también configurarlo en la definición de su vhost,
             o en su archivo <filename>.htaccess</filename>. Recomendamos el siguiente
             contenido para su archivo <filename>public/.htaccess</filename>:
-        </para>
+       </para>
 
         <programlisting language="conf"><![CDATA[
 
@@ -294,52 +294,52 @@ RewriteRule ^.*$ index.php [NC,L]
         <note>
             <title>Más información sobre mod_rewrite</title>
 
-			<para>
-			Las reglas de reescritura le permitin reescribir el acceso a 
-			cualquier archivo en la raíz de los documentos web de su host virtual.
-			Si hay archivos que no desea que esten expuestos y desea ocualtarlos, puedes
-			ser mas restrictivo en tus reglas 
-			Ir a la página web de Apache <ulink
+           <para>
+            Las reglas de reescritura le permitin reescribir el acceso a
+            cualquier archivo en la raíz de los documentos web de su host virtual.
+            Si hay archivos que no desea que esten expuestos y desea ocualtarlos, puedes
+            ser mas restrictivo en tus reglas
+            Ir a la página web de Apache <ulink
                     url="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">para obtener más información acerca de about mod_rewrite</ulink>.
-			</para>
-            
+           </para>
+
         </note>
-		
-        <para>
+        
+       <para>
             En este punto, está listo para comenzar a usar las ventajas de
             <classname>Zend_Application</classname>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.application.quick-start.resources">
         <title>Agregando y Creando Recursos</title>
 
-        <para>
+       <para>
             Si ha seguido las instrucciones anteriores, entonces su clase de
             arranque estará utilizando un controlador frontal (front controller),
             y cuando se ejecute, enviará el controlador frontal (front controller).
             Sin embargo, con toda probabilidad, necesitará un poco más de
             configuración que ésta.
-        </para>
+       </para>
 
-        <para>
+       <para>
             En esta sección, veremos como añadir dos recursos a su aplicación.
             En primer lugar, estableceremos los layouts,
             y luego vamos a personalizar sus objetos de la  vista.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Uno de los recursos estándar provistos con
             <classname>Zend_Application</classname> es el recurso "layout".
             Este recurso espera que definas valores de configuración, los
             que entonces utilizará para configurar su instancia
             <classname>Zend_Layout</classname>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Para usarlo, todo lo que tenemos que hacer es actualizar el
             archivo de configuración.
-        </para>
+       </para>
 
         <programlisting language="dosini"><![CDATA[
 
@@ -364,13 +364,13 @@ phpSettings.display_startup_errors = 1
 phpSettings.display_errors = 1
 ]]></programlisting>
 
-        <para>
+       <para>
             Si hasta ahora no lo ha hecho, genere el directorio
             <filename>application/layouts/scripts/</filename>, y el archivo
             <filename>layout.phtml</filename> dentro de ese directorio. Un buen layout
             inicial es como sigue
             (y vincularlo con los recursos de la vista que cubriremos a continuación):
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 
@@ -388,17 +388,17 @@ phpSettings.display_errors = 1
 </html>
 ]]></programlisting>
 
-        <para>
+       <para>
             En este punto, usted tendrá un layout ya trabajando.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Ahora, vamos añadir una vista de recurso personalizada.
             Cuando se inicializa la vista, queremos establecer el DocType <acronym>HTML</acronym>
             y un valor predeterminado del título para utilizarlo en la cabecera
             de <acronym>HTML</acronym>. Esto puede llevarse a cabo editando su clase
             <classname>Bootstrap</classname> para agregar un método.
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 
@@ -423,21 +423,21 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
     }
 }]]></programlisting>
 
-        <para>
+       <para>
             Este método se ejecuta automáticamente cuando arranca la aplicación,
             y se asegurará que su vista sea inicializada según las necesidades
             de su aplicación.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.application.quick-start.next-steps">
         <title>Próximos pasos con Zend_Application</title>
 
-        <para>
+       <para>
             Con lo anterior debería poder comenzar con <classname>Zend_Application</classname>
             y con la creación del bootstrap de su aplicación.  De aquí, usted debe comenzar a
             crear sus métodos de recursos, o para la máxima re-usabilidad,
             clases de recursos de plugin. Y seguir leyendo para aprender más!
-        </para>
+       </para>
     </sect2>
 </sect1>

+ 120 - 120
documentation/manual/es/module_specs/Zend_Application-TheoryOfOperation.xml

@@ -4,43 +4,43 @@
 <sect1 id="zend.application.theory-of-operation">
     <title>Teoría de Operación</title>
 
-    <para>
-        Obtener una aplicación <acronym>MVC</acronym> configurada y lista para funcionar 
+   <para>
+        Obtener una aplicación <acronym>MVC</acronym> configurada y lista para funcionar
         requiere de un porcentaje cada vez mayor de código que disponga
         de más características, tales como: Establecer la base de datos,
         configurar la vista y los ayudantes(helpers) de vistas, configurar los layouts,
         registro de plugins, registro de ayudantes de acción (action helpers), y mucho más.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Además, a menudo deseará reutilizar el mismo código para arrancar sus
         pruebas, un cronjob, o un servicio en linea de comandos.
         Si bien es posible incluir simplemente su script bootstrap,
         a menudo hay inicializaciones que son específicas del entorno,
         puede que  no necesite el <acronym>MVC</acronym> para un cronjob, o simplemente
         la capa de DB para un servicio script.
-    </para>
+   </para>
 
-    <para>
+   <para>
         <classname>Zend_Application</classname> pretende hacer esto más fácil
         y promover la reutilización mediante el encapsulamiento del
         bootstraping en paradigmas de <acronym>OOP</acronym>.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Zend_Application está dividida en tres áreas:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem>
-            <para>
+           <para>
                 <classname>Zend_Application</classname>: carga el entono
-				de <acronym>PHP</acronym>, incluyendo include_paths y autocarga,
+                de <acronym>PHP</acronym>, incluyendo include_paths y autocarga,
                 e instancia la clase requerida de bootstrap.
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 <classname>Zend_Application_Bootstrap</classname>: suministra
                 interfaces para las clases bootstrap.
                 <classname>Zend_Application_Bootstrap_Bootstrap</classname>
@@ -48,19 +48,19 @@
                 de bootstrap, incluyendo algoritmos de comprobación de
                 dependencias y la capacidad de cargar recursos de bootstrap
                 por demanda.
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 <classname>Zend_Application_Resource</classname> provee una
                 interfaz para recursos estandar de bootstrap que pueden ser
                 cargados por demanda mediante una instancia bootstrap,
                 así como implementaciones de varios recursos por defecto.
-            </para>
+           </para>
         </listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         Los desarrolladores crean una clase de arranque(bootstrap) para sus
         aplicaciones, extendiendo
         <classname>Zend_Application_Bootstrap_Bootstrap</classname> o
@@ -68,85 +68,85 @@
         <classname>Zend_Application_Bootstrap_Bootstrapper</classname>. El punto de entrada
         (por ejemplo, public/index.php) cargará <classname>Zend_Application</classname>,
         y la instanciará pasando por:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem>
-            <para>
+           <para>
                 El entorno actual
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 Opciones para bootstrapping
-            </para>
+           </para>
         </listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         Las opciones de bootstrap incluyen la ruta hacia el archivo que
         contiene la clase bootstrap y opcionalmente:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem>
-            <para>
+           <para>
                 Cualquier include_paths extras a establecer
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 Cualquier otro namespace de autocarga adicional a registrar
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 Cualquier configuración de <filename>php.ini</filename> a inicializar
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 El nombre de clase para la clase bootstrap (si no es "Bootstrap")
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 Pares de recursos prefijo de ruta a usar
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 Cualquier recurso a usar (por nombre de clase o nombre corto)
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 Ruta adicional al archivo de configuración a cargar
-            </para>
+           </para>
         </listitem>
         <listitem>
-            <para>
+           <para>
                 Opciones adicionales de configuración
-            </para>
+           </para>
         </listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         Las opciones puden ser una array, un objeto
         <classname>Zend_Config</classname>, o la ruta a un archivo de
         configuración.
-    </para>
+   </para>
 
     <sect2 id="zend.application.theory-of-operation.bootstrap">
         <title>Bootstrapping</title>
 
-        <para>
+       <para>
             La segunda área de responsabilidad de
             <classname>Zend_Application</classname> es ejecutar la solicitud
             del bootstrap. Los bootstraps necesitan mínimamente implementar
             <classname>Zend_Application_Bootstrap_Bootstrapper</classname>,
             la que define la siguiente <acronym>API</acronym>:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 
@@ -163,53 +163,53 @@ interface Zend_Application_Bootstrap_Bootstrapper
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             Esta <acronym>API</acronym> permite aceptar al bootstrap en el entorno y  la
             configuración desde el objeto de la aplicación, informa la
             responsabilidad de los recursos para los recursos bootstraping,
             luego hace el bootstrap y ejecuta la aplicación.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Puede implementar esta interfaz usted mismo, extendiendo
             <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>,
             o usar
             <classname>Zend_Application_Bootstrap_Bootstrap</classname>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Además de esta funcionalidad, hay muchas otras áreas de
             incumbencia con las cuales debe familiarizarse.
-        </para>
+       </para>
 
         <sect3 id="zend.application.theory-of-operation.bootstrap.resource-methods">
             <title>Métodos Recursos</title>
 
-            <para>
+           <para>
                 La implementación de
                 <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
                 proporciona una simple convención para definir métodos de
                 recursos de clase. Cualquier método protegido cuyo nombre
                 comience con un prefijo <methodname>_init</methodname> será considerado
                 un método de recurso.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Para arrancar un único método de recurso, utilizar el método
                 <methodname>bootstrap()</methodname>, y pasarle el nombre del recurso.
                 El nombre será el nombre de método menos el prefijo
                 <emphasis>_init</emphasis>.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Para arrancar varios métodos de recursos, pasar un array de
                 nombres. Para bootstrap de todos los métodos de recursos,
                 no pasar nada.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Tome las siguientes clases bootstrap:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -232,30 +232,30 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Para arrancar solo el método <methodname>_initFoo()</methodname>, haga lo
                 siguiente:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
 $bootstrap->bootstrap('foo');
 ]]></programlisting>
 
-            <para>
+           <para>
                 Para arrancar los métodos <methodname>_initFoo()</methodname> y
                 <methodname>_initBar()</methodname> , haga lo siguiente:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
 $bootstrap->bootstrap(array('foo', 'bar));
 ]]></programlisting>
 
-            <para>
+           <para>
                 Para arrancar todos los métodos de recursos, llame a
                 <methodname>bootstrap()</methodname> sin argumentos:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -266,7 +266,7 @@ $bootstrap->bootstrap();
         <sect3 id="zend.application.theory-of-operation.bootstrap.resource-plugins">
             <title>Bootstraps que usan plugins de recursos</title>
 
-            <para>
+           <para>
                 Para hacer más re-utilizables sus bootstraps, hemos
                 proporcionado la capacidad de impulsar sus recursos dentro de
                 las clases de recursos de plugin. Esto le permite combinar
@@ -275,15 +275,15 @@ $bootstrap->bootstrap();
                 linkend="zend.application.theory-of-operation.resources">cómo
                 crear recursos</link> más adelante; en esta sección le
                 mostraremos sólo cómo utilizarlos.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Si su bootstrap debe ser capaz de utilizar recursos de plugins,
                 necesitará implementar una interfaz adicional,
                 <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>.
                 Esta interfaz define una <acronym>API</acronym> para localizar, registrar,
                 y cargar recursos de plugins:
-            </para>
+           </para>
 
          <programlisting language="php"><![CDATA[
 
@@ -300,22 +300,22 @@ interface Zend_Application_Bootstrap_ResourceBootstrapper
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Básicamente los recursos de plugins ofrecen la posibilidad de
                 crear recursos incializadores que puede ser re-utilizados entre
                 aplicaciones. Esto le permite mantener su actual bootstrap
                 relativamente limpio, e introducir nuevos recursos
                 sin necesidad de tocar su propio arranque (bootstrap).
-            </para>
+           </para>
 
-            <para>
+           <para>
                 <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname> (y
                 <classname>Zend_Application_Bootstrap_Bootstrap</classname> por extensión)
                 implementan esta interfaz, que le permite utilizar recursos de
                 plugins.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Para utilizar recursos de plugins, debe especificarlos en las
                 opciones que pasó al objeto aplicación y/o bootstrap.
                 Estas opciones pueden provenir de un archivo de configuración,
@@ -327,7 +327,7 @@ interface Zend_Application_Bootstrap_ResourceBootstrapper
                 tienen el prefijo de clase "Zend_Application_Resource_";
                 cualquier cosa que le siga después debe ser el nombre del recurso.
                 Como por ejemplo,
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -340,12 +340,12 @@ $application = new Zend_Application(APPLICATION_ENV, array(
 ));
 ]]></programlisting>
 
-            <para>
+           <para>
                 Esto indica que el recurso "Front Controller", debería ser
                 utilizado, con las opciones especificadas.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Si usted comienza a escribir su propio recurso de plugin,
                 o utilizar recursos de plugin de terceras partes,
                 necesitará decirle a su bootstrap donde encontrarlos.
@@ -353,15 +353,15 @@ $application = new Zend_Application(APPLICATION_ENV, array(
                 <classname>Zend_Loader_PluginLoader</classname>, de manera tal
                 que sólo necesitará indicar el prefijo de la clase común como
                 pares de path.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Supongamos por ejemplo, que usted tiene recursos de plugins
                 personalizados en <filename>APPLICATION_PATH/resources/</filename> y que
                 ellos comparten el prefijo de clase común <classname>My_Resource</classname>.
                 Entonces, debería pasar esa información al objeto aplicación
                 de la siguiente manera:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -377,18 +377,18 @@ $application = new Zend_Application(APPLICATION_ENV, array(
 ));
 ]]></programlisting>
 
-            <para>
+           <para>
                 Ahora usted está habilitado para utilizar los recursos de
                 ese directorio.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Tal como los métodos de recursos, utilice el método bootstrap()
                 para ejecutar recursos de plugins. También tal como con los
                 métodos de recursos, puede especificar bien un único recurso de
                 plugin, múltiples plugins (vía un array), o todos los plugins.
                 Además, los puede combinar para ejecutar métodos de recursos.
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -406,20 +406,20 @@ $bootstrap->bootstrap();
         <sect3 id="zend.application.theory-of-operation.bootstrap.registry">
             <title>Registro de Recursos</title>
 
-            <para>
+           <para>
                 Muchos, si no todos, sus métodos de recursos o plugins
                 inicializarán objetos y, en muchos casos, estos objetos serán
                 necesarios en otros lugares de su aplicación.
                 ¿Cómo se puede acceder a ellos?
-            </para>
+           </para>
 
-            <para>
+           <para>
                 <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
                 ofrece un registro local para estos objetos. Para almacenar sus
                 objetos en ellos, simplemente debe devolverlos desde sus recursos.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Para máxima flexibilidad, este registro es mencionado
                 internamente como un "contenedor"; el único requisito es que
                 sea un objeto. Los recursos son luego registrados como
@@ -433,11 +433,11 @@ $bootstrap->bootstrap();
                 recuperar un recurso determinado del contenedor, y
                 <methodname>hasResource($resource)</methodname> para verificar si el
                 recurso ha sido efectivamente registrado.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Como ejemplo, considere una visión básica del recurso:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -453,9 +453,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 A continuación, puede comprobarlos y/o traerlos así:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -471,7 +471,7 @@ if (isset($container->view)) {
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Tenga en cuenta que el registro y el contenedor no es global.
                 Esto significa que usted necesita acceso al bootstrap a fin de
                 recuperar recursos. <classname>Zend_Application_Bootstrap_Bootstrap</classname>
@@ -480,13 +480,13 @@ if (isset($container->view)) {
                 Controller" en el parámetro del "bootstrap", que permite
                 buscarlo desde el router, despachador, plugins, y los
                 contoladores de acción.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Como ejemplo, si quiere tener acceso a los recursos de la
                 vista desde dentro de su controlador de acción, podría
                 hacer lo siguiente:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -505,40 +505,40 @@ class FooController extends Zend_Controller_Action
         <sect3 id="zend.application.theory-of-operation.bootstrap.dependency-tracking">
             <title>Localización de las Dependencias</title>
 
-            <para>
+           <para>
                 Además de ejecutar los métodos de recursos métodos y plugins,
-                es necesario garantizar que estos son ejecutados una vez y solo 
+                es necesario garantizar que estos son ejecutados una vez y solo
                 una vez; esto es lo que se pretende con el bootstrap de una
                 aplicación, y ejecutarlo múltiples veces puede conducir a
                 una sobrecarga de recursos.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Al mismo tiempo, algunos recursos puede depender de otros
                 que están en ejecución. Para resolver estas dos cuestiones,
                 <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
                 proporciona un mecanismo simple pero eficaz para la localización
                 de dependencias.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Como se señaló anteriormente, todos los recursos --
                 ya sean métodos o plugins -- son arrancados llamando a
                 <methodname>bootstrap($resource)</methodname>, dende  <varname>$resource</varname>
                 es el nombre de un recurso, un array de recursos,
                 o si se dejó vacío, indica que deberían ejecutarse todos los recursos.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Si un recurso depende de otro recurso, debe llamar a
                 <methodname>bootstrap()</methodname> dentro de su código para garantizar
                 que ese recurso ha sido ejecutado.
                 Las llamadas subsiguientes a él, serán ignoradas.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 En un método de recursos, esa llamada sería parecida a lo siguiente:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 
@@ -568,7 +568,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
     <sect2 id="zend.application.theory-of-operation.resources">
         <title>Plugins de Recursos</title>
 
-        <para>
+       <para>
             <link linkend="zend.application.theory-of-operation.bootstrap.resource-plugins">Como se señaló anteriormente</link>,
             una buena forma de crear recursos de bootstrap re-utilizables y a
             traspasar mucha de su codificación a clases discretas es utilizar
@@ -576,15 +576,15 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
             serie de plugins de recursos, la intención es que los
             desarrolladores deberían escribir los suyos para encapsular
             sus propias necesidades de inicialización.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Los recursos plugins solo necesitan implemetar
             <classname>Zend_Application_Resource_Resource</classname>, o
             más simple aún, extenderse
             <classname>Zend_Application_Resource_ResourceAbstract</classname>.
             La interfaz básica es simplemente esto:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 
@@ -601,19 +601,19 @@ interface Zend_Application_Resource_Resource
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             La interfaz define simplemente que un recurso plugin debe aceptar opciones
             para el constructor, tiene mecanismos de establecer y recuperar
             opciones, mecanismos de establecer y recuperar el objeto bootstrap,
             y un método de inicialización.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Como ejemplo, supongamos que tiene una vista común de inicialización
             que utiliza en sus aplicaciones. Usted tiene un doctype común, <acronym>CSS</acronym>
             y JavaScript, y quiere se capaz de pasar desde un documento base el
             título via configuración. Un recurso plugin tal podría ser como este:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 
@@ -656,12 +656,12 @@ class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             Minetrtas usted haya registrado el path del prefijo para este
             recurso de plugin, puede usarlo en su aplicación. Mejor aún,
             ya que usa el cargador de plugin, usted está pasando por encima del
-            recurso de plugin de la "View" que viene con Zend Framework, 
+            recurso de plugin de la "View" que viene con Zend Framework,
             se está asegurando así que usa el suyo en lugar del original.
-        </para>
+       </para>
     </sect2>
 </sect1>

+ 120 - 120
documentation/manual/es/module_specs/Zend_Auth.xml

@@ -3,11 +3,11 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.auth.introduction">
     <title>Introducción</title>
-    <para>
+   <para>
         <classname>Zend_Auth</classname> provee una <acronym>API</acronym> para
         autenticación e incluye adaptadores concretos de autenticación para
-        escenarios de casos de uso común. </para>
-    <para>
+        escenarios de casos de uso común.</para>
+   <para>
         <classname>Zend_Auth</classname> es concerniente sólo con
         <emphasis>autenticación</emphasis> y no con
         <emphasis>autorización</emphasis> . Autenticación es vagamente
@@ -17,22 +17,22 @@
         a, o el realizar operaciones en, otras entidades esta fuera del alcance
         de <classname>Zend_Auth</classname> . Para más información sobre
         autorización y control de acceso con Zend Framework, por favor vea <link
-            linkend="zend.acl">Zend_Acl</link> . </para>
+            linkend="zend.acl">Zend_Acl</link> .</para>
     <note>
-        <para> La clase <classname>Zend_Auth</classname> implementa el patrón
+       <para>La clase <classname>Zend_Auth</classname> implementa el patrón
             Singleton - sólo una instancia de la clase está disponible - a
             través de su método estático <methodname>getInstance()</methodname>
             . Esto significa que usar el operador <methodname>new</methodname> y
             la keyword <methodname>clone</methodname> no va a funcionar con la
             clase <classname>Zend_Auth</classname> : use
             <methodname>Zend_Auth::getInstance()</methodname> en su lugar.
-        </para>
+       </para>
     </note>
     <sect2 id="zend.auth.introduction.adapters">
-        
+
         <title>Adaptadores</title>
-        
-        <para> Un adaptador <classname>Zend_Auth</classname> es usado para
+
+       <para>Un adaptador <classname>Zend_Auth</classname> es usado para
             autenticar en contra de un tipo particular de servicio de
             autenticación, como <acronym>LDAP</acronym>, <acronym>RDBMS</acronym>, o almacenamiento basado en
             ficheros. Diferentes adaptadores pueden tener opciones y
@@ -41,9 +41,9 @@
             credenciales de autenticación (incluyendo una identidad supuesta),
             realizar consultas ante el servicio de autenticación, y regresar
             resultados, son comunes para los adaptadores
-            <classname>Zend_Auth</classname> . </para>
-        
-        <para> Cada clase adaptadora <classname>Zend_Auth</classname> implementa
+            <classname>Zend_Auth</classname> .</para>
+
+       <para>Cada clase adaptadora <classname>Zend_Auth</classname> implementa
             <classname>Zend_Auth_Adapter_Interface</classname> . Esta
             interface define un metodo, <methodname>authenticate()</methodname>
             , que la clase adaptadora debe implementar para realizar una
@@ -53,14 +53,14 @@
             nombre de usuario y contraseña) y la definición de valores para
             opciones de configuración especificos del adaptador, como valores de
             coneccion a base de datos para un adaptador de tabla de base de
-            datos. </para>
-        
-        <para> El siguente ejemplo es un adaptador de autenticación que requiere
+            datos.</para>
+
+       <para>El siguente ejemplo es un adaptador de autenticación que requiere
             que un nombre de usuario y contraseña sean especificados para la
             autenticación. Otros detalles, como la forma de realizar peticiones
-            al servicio de autenticación, han sido omitídos por brevedad: 
-        </para>
-        
+            al servicio de autenticación, han sido omitídos por brevedad:
+       </para>
+
         <programlisting language="php"><![CDATA[
 class MyAuthAdapter implements Zend_Auth_Adapter_Interface
 {
@@ -86,9 +86,9 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
         // ...
     }
 }
-]]></programlisting> 
-        
-        <para>
+]]></programlisting>
+
+       <para>
             Como se ha indicado en su docblock,
             <methodname>authenticate()</methodname> debe regresar una
             instancia de <classname>Zend_Auth_Result</classname> (o de una clase
@@ -96,16 +96,16 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
             razón es imposible realizar una petición de autenticación,
             <methodname>authenticate()</methodname> debería arrojar una
             excepción que se derive de
-            <classname>Zend_Auth_Adapter_Exception</classname> . 
-        </para>
-        
+            <classname>Zend_Auth_Adapter_Exception</classname> .
+       </para>
+
     </sect2>
-    
+
     <sect2 id="zend.auth.introduction.results">
-        
+
         <title>Resultados</title>
-        
-        <para> Los adaptadores <classname>Zend_Auth</classname> regresan una instancia de
+
+       <para>Los adaptadores <classname>Zend_Auth</classname> regresan una instancia de
             <classname>Zend_Auth_Result</classname> con
             <methodname>authenticate()</methodname> para representar el
             resultado de un intento de autenticación. Los adaptadores llenan el
@@ -114,13 +114,13 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
             básico de operaciones "frente al usuario" que son comunes a los
             resultados de adaptadores Zend_Auth: <itemizedlist>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>isValid()</methodname> - regresa true si y
                         solo si el resultado representa un intento de
-                        autenticación exitoso </para>
+                        autenticación exitoso</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>getCode()</methodname> - regresa una
                         constante identificadora
                         <classname>Zend_Auth_Result</classname> para
@@ -136,32 +136,32 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
                         considerar el riesgo de proporcionar tales detalles a
                         los usuarios, en vez de un mensaje general de fallo en
                         la autenticación. Para más información, vea las
-                        siguientes notas: </para>
+                        siguientes notas:</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>getIdentity()</methodname> - regresa la
-                        identidad del intento de autenticación </para>
+                        identidad del intento de autenticación</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>getMessages()</methodname> - regresa un
                         arreglo de mensajes pertinentes a un fallido intento de
-                        autenticación </para>
+                        autenticación</para>
                 </listitem>
             </itemizedlist>
-        </para>
-        
-        <para> El desarrollador podría desear ramificar basado en el tipo de
+       </para>
+
+       <para>El desarrollador podría desear ramificar basado en el tipo de
             resultado de la autenticación a fin de realizar operaciones mas
             específicas. Algunas operaciones que los desarrolladores podrían
             encontrar útiles son: bloquear cuentas despues de varios intentos
             fallidos de ingresar una contraseña, marcar una dirección IP despues
             de que ha intentado muchas identidades no existentes, y porporcionar
             al usuario mensajes especificos resultados de la autenticación. Los
-            siguientes codigos de resultado están disponibles: 
-        </para>
-        
+            siguientes codigos de resultado están disponibles:
+       </para>
+
         <programlisting language="php"><![CDATA[
 Zend_Auth_Result::SUCCESS
 Zend_Auth_Result::FAILURE
@@ -170,11 +170,11 @@ Zend_Auth_Result::FAILURE_IDENTITY_AMBIGUOUS
 Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID
 Zend_Auth_Result::FAILURE_UNCATEGORIZED
 ]]></programlisting>
-        
-        
-        <para> El siguiente ejemplo ilustra como un desarrollador podría
+
+
+       <para>El siguiente ejemplo ilustra como un desarrollador podría
             ramificar basado en el código resultado:
-        </para>
+       </para>
         <programlisting language="php"><![CDATA[
 // debtri de AuthController / loginAction
 $result = $this->_auth->authenticate($adapter);
@@ -198,31 +198,31 @@ switch ($result->getCode()) {
         break;
 }
 ]]></programlisting>
-        
-        
+
+
     </sect2>
-    
+
     <sect2 id="zend.auth.introduction.persistence">
-        
+
         <title>Persistencia de Identidad</title>
-        
-        <para> Autenticar una petición que incluye credenciales de autenticación
+
+       <para>Autenticar una petición que incluye credenciales de autenticación
             es util por sí mismo, pero también es importante el soportar
             mantener la identidad autenticada sin tener que presentar las
-            credenciales de autenticación con cada petición. </para>
-        
-        <para> 
+            credenciales de autenticación con cada petición.</para>
+
+       <para>
             <acronym>HTTP</acronym> es un protocolo sin estado, sin embargo, se han desarrollado
             técnicas como las cookies y sesiones a fin de facilitar mantener el
             estado a través de multiples peticiones en aplicaciones web del lado
-            del servidor. 
-        </para>
-        
+            del servidor.
+       </para>
+
         <sect3 id="zend.auth.introduction.persistence.default">
-            
+
             <title>Persistencia por Defecto en la Sesión PHP</title>
-            
-            <para> Por defecto, <classname>Zend_Auth</classname> provee
+
+           <para>Por defecto, <classname>Zend_Auth</classname> provee
                 almacenamiento persistente de la identidad desde un intento de
                 autenticación exitoso usando la sesión <acronym>PHP</acronym>. En un intento de
                 autenticación exitoso,
@@ -238,22 +238,22 @@ switch ($result->getCode()) {
                 proveer un objeto que implemente
                 <classname>Zend_Auth_Storage_Interface</classname> a
                 <methodname>Zend_Auth::setStorage()</methodname>
-            </para>
-            
+           </para>
+
             <note>
-                <para> Si el automático almacenamiento persistente de la
+               <para>Si el automático almacenamiento persistente de la
                     identidad no es apropiado para un caso en particular,
                     entonces los desarrolladores podrían dejar de usar la clase
                     <classname>Zend_Auth</classname> al mismo tiempo,
                     utilizando en su lugar una clase adaptadora directamente.
-                </para>
+               </para>
             </note>
-            
+
             <example id="zend.auth.introduction.persistence.default.example">
-                
+
                 <title>Modifying the Session Namespace</title>
-                
-                <para>
+
+               <para>
                     <classname>Zend_Auth_Storage_Session</classname> usa un
                     espacionombre (namespace) de sesión 'Zend_Auth'. Este
                     espacio-nombre podría ser OVERRIDDEN al pasar un valor
@@ -264,8 +264,8 @@ switch ($result->getCode()) {
                     debería ocurrir antes de que se intente la autenticación, ya
                     que <methodname>Zend_Auth::authenticate()</methodname> realiza
                     el almacenamiento automático de la identidad.
-                </para>
-                
+               </para>
+
                 <programlisting language="php"><![CDATA[
 // Almacena una referencia a la instancia Singleton de Zend_Auth
 $auth = Zend_Auth::getInstance();
@@ -281,29 +281,29 @@ $auth->setStorage(new Zend_Auth_Storage_Session('unEspacionombre'));
 // suceso
 $result = $auth->authenticate($authAdapter);
 ]]></programlisting>
-                
-                
+
+
             </example>
-            
+
         </sect3>
-        
+
         <sect3 id="zend.auth.introduction.persistence.custom">
-            
+
             <title>Implementando Almacenamiento Personalizado</title>
-            
-            <para> En ocaciones los desarrolladores podrían necesitar usar un
+
+           <para>En ocaciones los desarrolladores podrían necesitar usar un
                 diferente comportamiento de persistencia de identidad que el
                 provisto por <classname>Zend_Auth_Storage_Session</classname> .
                 Para esos casos los desarrolladores podrían simplemente
                 implementar <classname>Zend_Auth_Storage_Interface</classname> y
                 suplir una instancia de la clase a
-                <methodname>Zend_Auth::setStorage()</methodname> . </para>
-            
+                <methodname>Zend_Auth::setStorage()</methodname> .</para>
+
             <example id="zend.auth.introduction.persistence.custom.example">
-                
+
                 <title>Usando una Clase de Almacenamiento Personalizada</title>
-                
-                <para> Para poder utilizar una clase de almacenamiento
+
+               <para>Para poder utilizar una clase de almacenamiento
                     persistente de identidad diferente a
                     <classname>Zend_Auth_Storage_Session</classname> , el
                     desarrollador implementa
@@ -371,13 +371,13 @@ class MyStorage implements Zend_Auth_Storage_Interface
     }
 }
 ]]></programlisting>
-                </para>
-                
-                <para> A fin de poder usar esta clase de almacenamiento
+               </para>
+
+               <para>A fin de poder usar esta clase de almacenamiento
                     personalizada,
                     <methodname>Zend_Auth::setStorage()</methodname> es
                     invocada antes de intentar una petición de autenticación:
-                </para>
+               </para>
                 <programlisting language="php"><![CDATA[
 // Instruye Zend_Auth para usar la clase de almacenamiento personalizada
 Zend_Auth::getInstance()->setStorage(new MyStorage());
@@ -390,36 +390,36 @@ Zend_Auth::getInstance()->setStorage(new MyStorage());
 // si hay exito
 $result = Zend_Auth::getInstance()->authenticate($authAdapter);
 ]]></programlisting>
-                
-                
+
+
             </example>
-            
+
         </sect3>
-        
+
     </sect2>
-    
+
     <sect2 id="zend.auth.introduction.using">
-        
+
         <title>Uso</title>
-        
-        <para> Hay dos formas provistas de usar adaptadores <classname>Zend_Auth</classname>: 
-            
-        </para>
+
+       <para>Hay dos formas provistas de usar adaptadores <classname>Zend_Auth</classname>:
+
+       </para>
         <orderedlist>
             <listitem>
-                <para> indirectamente, a través de
+               <para>indirectamente, a través de
                     <methodname>Zend_Auth::authenticate()</methodname>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para> directamente, a través del metodo
+               <para>directamente, a través del metodo
                     <methodname>authenticate()</methodname> del
-                    adaptador </para>
+                    adaptador</para>
             </listitem>
         </orderedlist>
-        
-        
-        <para> El siguiente ejemplo ilustra como usar el adaptador
+
+
+       <para>El siguiente ejemplo ilustra como usar el adaptador
             <classname>:Zend_Auth</classname> : indirectamente, a través del
             uso de la clase <classname>Zend_Auth</classname> : <programlisting language="php"><![CDATA[
 // Recibe una referencia a la instancia singleton de Zend_Auth
@@ -443,12 +443,12 @@ if (!$result->isValid()) {
     // $result->getIdentity() === $username
 }
 ]]></programlisting>
-        </para>
-        
-        <para> Una vez que la autenticación ha sido intentada en una petición,
+       </para>
+
+       <para>Una vez que la autenticación ha sido intentada en una petición,
             como en el ejemplo anterior, es fácil verificar si existe una
             identidad autenticada exitosamente:
-        </para>
+       </para>
         <programlisting language="php"><![CDATA[
 $auth = Zend_Auth::getInstance();
 if ($auth->hasIdentity()) {
@@ -456,17 +456,17 @@ if ($auth->hasIdentity()) {
     $identity = $auth->getIdentity();
 }
 ]]></programlisting>
-        
-        
-        <para> Para remover una identidad del almacenamiento persistente,
+
+
+       <para>Para remover una identidad del almacenamiento persistente,
             simplemente usa el metodo <methodname>clearIdentity()</methodname>
             method. Comunmente esto sería usado para implementar una operación
             "cerrar sesión" en la aplicación: <programlisting language="php"><![CDATA[
 Zend_Auth::getInstance()->clearIdentity();
 ]]></programlisting>
-        </para>
-        
-        <para> Cuando el uso automático de almacenamiento persistente es
+       </para>
+
+       <para>Cuando el uso automático de almacenamiento persistente es
             inapropiado para un caso en particular, el desarrollador podría
             simplemente omitir el uso de la clase
             <classname>Zend_Auth</classname> , usando una clase adaptadora
@@ -475,9 +475,9 @@ Zend_Auth::getInstance()->clearIdentity();
             metodo <methodname>authenticate()</methodname> . Los detalles
             específicos del adaptador son discutidos en la documentación de cada
             adaptador. El siguiente ejemplo utiliza directamente
-            <methodname>MyAuthAdapter</methodname> : 
-        </para>
-        
+            <methodname>MyAuthAdapter</methodname> :
+       </para>
+
         <programlisting language="php"><![CDATA[
 // Configura el adaptador de autenticación
 $authAdapter = new MyAuthAdapter($username, $password);
@@ -495,8 +495,8 @@ if (!$result->isValid()) {
     // $result->getIdentity() === $username
 }
 ]]></programlisting>
-        
-        
+
+
     </sect2>
-    
+
 </sect1>

+ 60 - 60
documentation/manual/es/module_specs/Zend_Auth_Adapter_DbTable.xml

@@ -5,7 +5,7 @@
     <title>Tabla de base de datos de autenticación</title>
     <sect2 id="zend.auth.adapter.dbtable.introduction">
         <title>Introducción</title>
-        <para>
+       <para>
             <classname>Zend_Auth_Adapter_DbTable</classname> proporciona la
             capacidad de autenticar contra credenciales almacenadas en una tabla
             de la base de datos. Como
@@ -14,38 +14,38 @@
             será pasada a su constructor, cada instancia está vinculada a una
             conexión concreta de la base de datos. Se pueden establecer otras
             opciones de configuración a través del constructor y de métodos de
-            instancia: </para>
-        <para> Las opciones de configuración disponibles incluyen:
-        </para>
-        
+            instancia:</para>
+       <para>Las opciones de configuración disponibles incluyen:
+       </para>
+
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <emphasis><property>tableName</property></emphasis>: Nombre de tabla de
                     la base de datos que contiene las credenciales de
                     autenticación, y contra la cual se realiza la búsqueda
-                    de autenticación en la base de datos. </para>
+                    de autenticación en la base de datos.</para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <emphasis><property>identityColumn</property></emphasis>: Nombre de la
                     columna de la tabla de la base de datos utilizada para
                     representar la identidad. La columna identidad debe
                     contar con valores únicos, tales como un apellido ó una
-                    dirección de e-mail. </para>
+                    dirección de e-mail.</para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <emphasis><property>credentialColumn</property></emphasis>: Nombre de la
                     columna de la tabla de la base de datos utilizada para
                     representar la credencial. Conforme a un sistema de
                     identidad simple y autenticación de contraseña, el valor
                     de la credencial corresponde con la contraseña. Véase
                     también la opción <property>credentialTreatment
-                    </property>. </para>
+                    </property>.</para>
             </listitem>
             <listitem>
-              <para>
+             <para>
                   <emphasis><property>credentialTreatment</property></emphasis>: En muchos
                   casos, contraseñas y otros datos son encriptados,
                   mezclados, codificados, ocultados, desplazados o
@@ -59,24 +59,24 @@
                   funciones son específicas de los <acronym>RDBMS</acronym>, debemos
                   consultar el manual de la base de datos para comprobar
                   la disponibilidad de tales funciones para su sistema de
-                  base de datos. 
-              </para>
+                  base de datos.
+             </para>
             </listitem>
         </itemizedlist>
-        
+
         <example id="zend.auth.adapter.dbtable.introduction.example.basic_usage">
             <title>Uso Básico</title>
-            <para> Como se explicó en la introducción, el constructor
+           <para>Como se explicó en la introducción, el constructor
                 <classname>Zend_Auth_Adapter_DbTable</classname> requiere
                 una instancia de <classname>Zend_Db_Adapter_Abstract</classname>
                 que sirve como conexión a la base de datos a la cual la
                 instancia de autenticación está obligada a adaptarse. En primer
-                lugar, la conexión de la base de datos debe ser creada. </para>
-            <para> El siguiente código crea un adaptador para una base de datos
+                lugar, la conexión de la base de datos debe ser creada.</para>
+           <para>El siguiente código crea un adaptador para una base de datos
                 en memoria , un esquema simple de la tabla, e inserta una fila
                 contra la que se pueda realizar una consulta de autenticación
                 posterior. Este ejemplo requiere que la extensión <acronym>PDO</acronym> SQLite
-                esté disponible. </para>
+                esté disponible.</para>
             <programlisting language="php"><![CDATA[
 // Crear una conexión en memoria de la bade de datos SQLite
 $dbAdapter = new Zend_Db_Adapter_Pdo_Sqlite(array('dbname' =>
@@ -99,12 +99,12 @@ $sqlInsert = "INSERT INTO users (username, password, real_name) "
 // Insertar los datos
 $dbAdapter->query($sqlInsert);
 ]]></programlisting>
-            <para> Con la conexión de la base de datos y los datos de la tabla
+           <para>Con la conexión de la base de datos y los datos de la tabla
                 disponibles, podemos crear un instancia de
                 <classname>Zend_Auth_Adapter_DbTable</classname>. Los
                 valores de las opciones de configuración pueden ser pasados al
                 constructor o pasados como parámetros a los métodos setter
-                después de ser instanciados. </para>
+                después de ser instanciados.</para>
             <programlisting language="php"><![CDATA[
 // Configurar la instancia con los parámetros del constructor...
 $authAdapter = new Zend_Auth_Adapter_DbTable(
@@ -123,11 +123,11 @@ $authAdapter
     ->setCredentialColumn('password')
 ;
 ]]></programlisting>
-            <para> En este punto, el adaptador de la instancia de autenticación
+           <para>En este punto, el adaptador de la instancia de autenticación
                 está listo para aceptar consultas de autenticación. Con el fin
                 de elaborar una consulta de autenticación, los valores de
                 entrada de la credencial son pasados por el adaptador ates de
-                llamar al método <methodname>authenticate()</methodname>: </para>
+                llamar al método <methodname>authenticate()</methodname>:</para>
             <programlisting language="php"><![CDATA[
 // Seleccionamos los valores de entrada de la credencial (e.g., de un formulario de acceso)
 $authAdapter
@@ -137,12 +137,12 @@ $authAdapter
 
 // Ejecutamos la consulta de autenticación, salvando los resultados
 ]]></programlisting>
-            <para> Además de la disponibilidad del método
+           <para>Además de la disponibilidad del método
                 <methodname>getIdentity()</methodname> sobre el objeto
                 resultante de la autenticación,
                 <classname>Zend_Auth_Adapter_DbTable</classname> también
                 ayuda a recuperar la fila de al tabla sobre la autenticación
-                realizada. </para>
+                realizada.</para>
             <programlisting language="php"><![CDATA[
 // Imprimir la identidad
 echo $result->getIdentity() . "\n\n";
@@ -161,15 +161,15 @@ Array
     [real_name] => My Real Name
 )
 ]]></programlisting>
-            <para> Ya que la fila de la tabla contiene el valor de la
+           <para>Ya que la fila de la tabla contiene el valor de la
                 credencial, es importante proteger los valores contra accesos no
-                deseados. </para>
+                deseados.</para>
         </example>
     </sect2>
     <sect2 id="zend.auth.adapter.dbtable.advanced.storing_result_row">
         <title>Advanced Usage: Manteniendo el resultado del Objeto
             DbTable</title>
-        <para> Por defecto, <classname>Zend_Auth_Adapter_DbTable</classname>
+       <para>Por defecto, <classname>Zend_Auth_Adapter_DbTable</classname>
             devuelve la identidad proporcionada al objeto Auth en la
             autenticación realizada. Otro de los casos de uso, donde los
             desarrolladores desean guardar para mantener el mecanismo de
@@ -178,7 +178,7 @@ Array
             se resuelve usando el método
             <methodname>getResultRowObject()</methodname> para devolver un
             objeto <emphasis>stdClass</emphasis>. El siguiente fragmento de
-            código muestra su uso: </para>
+            código muestra su uso:</para>
         <programlisting language="php"><![CDATA[
 // Autenticar con Zend_Auth_Adapter_DbTable
 $result = $this->_auth->authenticate($adapter);
@@ -208,10 +208,10 @@ if ($result->isValid()) {
 }
 ]]></programlisting>
     </sect2>
-    
+
     <sect2 id="zend.auth.adapter.dbtable.advanced.advanced_usage">
         <title>Ejemplo de Uso Avanzado</title>
-        <para> Si bien el objetivo primordial de
+       <para>Si bien el objetivo primordial de
             <classname>Zend_Auth</classname> (y, por consiguiente,
             <classname>Zend_Auth_Adapter_DbTable</classname>) es
             principalmente la <emphasis>autenticación</emphasis> y no la
@@ -219,14 +219,14 @@ if ($result->isValid()) {
             problemas que se encuentran al límite entre cuales encajan dentro
             del dominio. Dependiendo de cómo haya decidido explicar su problema,
             a veces tiene sentido resolver lo que podría parecer un problema de
-            autorización dentro de un adaptador de autenticación. </para>
-        
-        <para> Con esa excepción fuera de lo común,
+            autorización dentro de un adaptador de autenticación.</para>
+
+       <para>Con esa excepción fuera de lo común,
             <classname>Zend_Auth_Adapter_DbTable</classname> ha construido
             mecanismos que pueden ser aprovechados para realizar controles
             adicionales en la autenticación a la vez que se resuelven algunos
-            problemas comunes de los usuarios. </para>
-        
+            problemas comunes de los usuarios.</para>
+
         <programlisting language="php"><![CDATA[
 // El valor del campo status de una cuenta no es igual a "compromised"
 $adapter = new Zend_Auth_Adapter_DbTable(
@@ -245,33 +245,33 @@ $adapter = new Zend_Auth_Adapter_DbTable(
     'password',
     'MD5(?) AND active = "TRUE"'
     ]]></programlisting>
-        
-        <para> Otra idea puede ser la aplicación de un mecanismo de "salting".
+
+       <para>Otra idea puede ser la aplicación de un mecanismo de "salting".
             "Salting" es un término que se refiere a una técnica que puede
             mejorar altamente la seguridad de su aplicación. Se basa en la idea
             de concatenar una cadena aleatoria a cada contraseña para evitar un
             ataque de fuerza bruta sobre la base de datos usando los valores
-            hash de un diccionario pre-calculado. </para>
-        
-        <para> Por lo tanto, tenemos que modificar nuestra tabla para almacenar
-            nuestra cadena mezclada: </para>
-        
+            hash de un diccionario pre-calculado.</para>
+
+       <para>Por lo tanto, tenemos que modificar nuestra tabla para almacenar
+            nuestra cadena mezclada:</para>
+
         <programlisting language="php"><![CDATA[
 $sqlAlter = "ALTER TABLE [users] "
           . "ADD COLUMN [password_salt] "
           . "AFTER [password]";
 ]]></programlisting>
-        
-        <para> Aquí hay una forma sencilla de generar una cadena mezclada por
-            cada usuario en el momento del registro: </para>
-       
+
+       <para>Aquí hay una forma sencilla de generar una cadena mezclada por
+            cada usuario en el momento del registro:</para>
+
         <programlisting language="php"><![CDATA[
 for ($i = 0; $i < 50; $i++) {
     $dynamicSalt .= chr(rand(33, 126));
 ]]></programlisting>
-        
-        <para> Y ahora vamos a construir el adaptador: </para>
-       
+
+       <para>Y ahora vamos a construir el adaptador:</para>
+
         <programlisting language="php"><![CDATA[
 $adapter = new Zend_Auth_Adapter_DbTable(
     $db,
@@ -283,16 +283,16 @@ $adapter = new Zend_Auth_Adapter_DbTable(
     . "', ?, password_salt))"
 );
 ]]></programlisting>
-        
+
         <note>
-            <para> Puede mejorar aún más la seguridad mediante el uso de un
+           <para>Puede mejorar aún más la seguridad mediante el uso de un
                 valor 'salt' estático fuertemente codificado en su aplicación.
                 En el caso de que su base de datos se vea comprometida (por
                 ejemplo, por un ataque de inyección <acronym>SQL</acronym>), su servidor web está
-                intacto y sus datos son inutilizable para el atacante. </para>
+                intacto y sus datos son inutilizable para el atacante.</para>
         </note>
-        
-        <para> Otra alternativa es utilizar el método
+
+       <para>Otra alternativa es utilizar el método
             <methodname>getDbSelect()</methodname> de
             <classname>Zend_Auth_Adapter_DbTable</classname> después de que el adaptador se ha
             construido. Este método devolverá la instancia del objeto
@@ -302,12 +302,12 @@ $adapter = new Zend_Auth_Adapter_DbTable(
             sido llamado o no. Este objeto <emphasis>no tendrá</emphasis>
             ninguna de las credenciales de identidad o información de como estos
             valores son colocados dentro del objeto seleccionado en
-            <methodname>authenticate()</methodname>. </para>
-        
-        <para> Un ejemplo de una situación en la que uno podría querer utilizar
+            <methodname>authenticate()</methodname>.</para>
+
+       <para>Un ejemplo de una situación en la que uno podría querer utilizar
             el método <methodname>getDbSelect()</methodname> sería comprobar el estado de un usuario, en
-            otras palabras, ver si la cuenta del usuario está habilitada. </para>
-        
+            otras palabras, ver si la cuenta del usuario está habilitada.</para>
+
         <programlisting language="php"><![CDATA[
 // Continuando con el ejemplo de arriba
 $adapter = new Zend_Auth_Adapter_DbTable(

+ 31 - 31
documentation/manual/es/module_specs/Zend_Auth_Adapter_Digest.xml

@@ -9,74 +9,74 @@
 
         <title>Introducción</title>
 
-        <para> La <ulink
+       <para>La <ulink
                 url="http://en.wikipedia.org/wiki/Digest_access_authentication"
                 >Autenticación "Digest"</ulink> es un método de la autenticación
             <acronym>HTTP</acronym> que mejora la <ulink
                 url="http://en.wikipedia.org/wiki/Basic_authentication_scheme"
                 >Autenticación Básica</ulink> proporcionando una manera de
             autenticar sin tener que transmitir la contraseña de manera clara a
-            través de la red. </para>
+            través de la red.</para>
 
-        <para> Este adaptador permite la autentificación contra archivos de
+       <para>Este adaptador permite la autentificación contra archivos de
             texto que contengan líneas que tengan los elementos básicos de la
             autenticación "Digest":
-        </para>
-        
+       </para>
+
             <itemizedlist>
                 <listitem>
-                    <para> username, tal como
-                        "<emphasis><filename>joe.user</filename></emphasis>" </para>
+                   <para>username, tal como
+                        "<emphasis><filename>joe.user</filename></emphasis>"</para>
                 </listitem>
                 <listitem>
-                    <para> realm, tal como "<emphasis>Administrative Area</emphasis>" </para>
+                   <para>realm, tal como "<emphasis>Administrative Area</emphasis>"</para>
                 </listitem>
                 <listitem>
-                    <para> Hash  <acronym>MD5</acronym> del username, realm y password,
-                        separados por dos puntos </para>
+                   <para>Hash  <acronym>MD5</acronym> del username, realm y password,
+                        separados por dos puntos</para>
                 </listitem>
-            </itemizedlist> 
-        
-        <para>
+            </itemizedlist>
+
+       <para>
         Los elementos anteriores están separados por dos
             puntos, como en el ejemplo siguiente (en el que la contraseña es
-            "<emphasis>somePassword</emphasis>"): </para>
+            "<emphasis>somePassword</emphasis>"):</para>
 
         <programlisting language="txt"><![CDATA[
 someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
 ]]></programlisting>
-    
+
     </sect2>
 
     <sect2 id="zend.auth.adapter.digest.specifics">
 
         <title>Detalles Específicos</title>
 
-        <para> El adaptador de autenticación "Digest",
+       <para>El adaptador de autenticación "Digest",
                 <classname>Zend_Auth_Adapter_Digest</classname>, requiere varios
-            parámetros de entrada: 
-        </para>
-        
+            parámetros de entrada:
+       </para>
+
             <itemizedlist>
                 <listitem>
-                    <para> filename - Nombre del archivo contra el que se
-                        realiza la autenticación de las consultas </para>
+                   <para>filename - Nombre del archivo contra el que se
+                        realiza la autenticación de las consultas</para>
                 </listitem>
                 <listitem>
-                    <para> realm - Domino de la autenticación "Digest" </para>
+                   <para>realm - Domino de la autenticación "Digest"</para>
                 </listitem>
                 <listitem>
-                    <para> username - Usuario de la autenticación "Digest"
-                    </para>
+                   <para>username - Usuario de la autenticación "Digest"
+                   </para>
                 </listitem>
                 <listitem>
-                    <para> password - Contraseña para el usuario del dominio
-                    </para>
+                   <para>password - Contraseña para el usuario del dominio
+                   </para>
                 </listitem>
-            </itemizedlist> 
-        <para>
+            </itemizedlist>
+       <para>
         Estos parámetros deben ser establecidos antes de
-            llamar a <methodname>authenticate()</methodname>. </para>
+            llamar a <methodname>authenticate()</methodname>.</para>
 
     </sect2>
 
@@ -84,13 +84,13 @@ someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
 
         <title>Identidad</title>
 
-        <para> El adaptador de autenticación "Digest" devuelve un objeto
+       <para>El adaptador de autenticación "Digest" devuelve un objeto
                 <classname>Zend_Auth_Result</classname>, que ha sido rellenado
             con la identidad como un array que tenga claves
             <emphasis>realm</emphasis> y
             <emphasis>username</emphasis>. Los respectivos valores del
             array asociados con esas claves correspondes con los valores fijados
-            andes de llamar a <methodname>authenticate()</methodname>. </para>
+            andes de llamar a <methodname>authenticate()</methodname>.</para>
 
         <programlisting language="php"><![CDATA[
 $adapter = new Zend_Auth_Adapter_Digest($filename,

+ 46 - 46
documentation/manual/es/module_specs/Zend_Auth_Adapter_Http.xml

@@ -9,7 +9,7 @@
 
         <title>Introducción</title>
 
-        <para>
+       <para>
             <classname>Zend_Auth_Adapter_Http</classname> proporciona una
             implementación compatible con <ulink
                 url="http://tools.ietf.org/html/rfc2617">RFC-2617</ulink>,
@@ -21,46 +21,46 @@
             autenticación "Digest" es un método de autenticación
                 <acronym>HTTP</acronym> que mejora la autenticación básica
             proporcionando una manera de autenticar sin tener que transmitir la
-            contraseña de manera clara en un texto a través de la red. </para>
+            contraseña de manera clara en un texto a través de la red.</para>
 
-        <para>
+       <para>
             <emphasis role="strong">Características Principales:</emphasis>
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para> Soporta tanto Autenticación "Digest" como Básica. </para>
+               <para>Soporta tanto Autenticación "Digest" como Básica.</para>
             </listitem>
             <listitem>
-                <para> Establece retos en todos los proyectos soportados, por lo
+               <para>Establece retos en todos los proyectos soportados, por lo
                     que el cliente puede responder con cualquier proyecto que
-                    soporte. </para>
+                    soporte.</para>
             </listitem>
             <listitem>
-                <para> Soporta autenticación proxy. </para>
+               <para>Soporta autenticación proxy.</para>
             </listitem>
             <listitem>
-                <para> Incluye soporte para la autenticación contra archivos de
+               <para>Incluye soporte para la autenticación contra archivos de
                     texto y proporciona una interfaz para autenticar contra
-                    otras fuentes, tales como bases de datos. </para>
+                    otras fuentes, tales como bases de datos.</para>
             </listitem>
         </itemizedlist>
 
 
-        <para> Hay algunas características notables del
-                <acronym>RFC-2617</acronym> no implementadas todavía: </para>
+       <para>Hay algunas características notables del
+                <acronym>RFC-2617</acronym> no implementadas todavía:</para>
         <itemizedlist>
             <listitem>
-                <para> Seguimiento "nonce", que permitiría un gran apoyo, y un
-                    aumento de la protección de repetidos ataques. </para>
+               <para>Seguimiento "nonce", que permitiría un gran apoyo, y un
+                    aumento de la protección de repetidos ataques.</para>
             </listitem>
             <listitem>
-                <para> Autenticación con comprobación de integridad, o
-                    "auth-int". </para>
+               <para>Autenticación con comprobación de integridad, o
+                    "auth-int".</para>
             </listitem>
             <listitem>
-                <para> Cabecera de información de la autenticación
-                        <acronym>HTTP</acronym>. </para>
+               <para>Cabecera de información de la autenticación
+                        <acronym>HTTP</acronym>.</para>
             </listitem>
         </itemizedlist>
 
@@ -71,7 +71,7 @@
 
         <title>Descripción del diseño</title>
 
-        <para> Este adaptador consiste en dos sub-componentes, la propia clase
+       <para>Este adaptador consiste en dos sub-componentes, la propia clase
             autenticación <acronym>HTTP</acronym>, y el llamado "Resolvers". La
             clase autenticación <acronym>HTTP</acronym> encapsula la lógica para
             llevar a cabo tanto la autenticación basica y la "Digest". Utiliza
@@ -79,7 +79,7 @@
             almacenados (por defecto, archivos de texto), y recuperar las
             credenciales de los datos almacenados. Las credenciales del
             "Resolved" se comparan con los valores presentados por el cliente
-            para determinar si la autenticación es satisfactoria. </para>
+            para determinar si la autenticación es satisfactoria.</para>
 
     </sect2>
 
@@ -87,9 +87,9 @@
 
         <title>Opciones de Configuración</title>
 
-        <para> La clase <classname>Zend_Auth_Adapter_Http</classname> requiere
+       <para>La clase <classname>Zend_Auth_Adapter_Http</classname> requiere
             un array configurado que pasará a su constructor. Hay varias
-            opciones de configuración disponibles, y algunas son obligatorias: </para>
+            opciones de configuración disponibles, y algunas son obligatorias:</para>
         <table id="zend.auth.adapter.configuration_options.table">
             <title>Opciones de Configuración</title>
             <tgroup cols="3">
@@ -168,14 +168,14 @@
         </table>
 
         <note>
-            <para> La implementación actual del
+           <para>La implementación actual del
                     <property>nonce_timeout</property> tiene algunos efectos
                 colaterales interesantes. Este ajuste es supuesto para
                 determinar la vida util válida para un determinado "nonce", o de
                 manera efectiva el tiempo que una información de autenticación
                 del cliente es aceptada. Actualmente, si se establece en 3600
                 (por ejemplo), hará que el adaptador indique al cliente las
-                nuevas credenciales cada hora, a la hora en punto. </para>
+                nuevas credenciales cada hora, a la hora en punto.</para>
         </note>
 
     </sect2>
@@ -184,35 +184,35 @@
 
         <title>Resolvers</title>
 
-        <para> El trabajo del "Resolver" es tener un username y un realm, y
+       <para>El trabajo del "Resolver" es tener un username y un realm, y
             devolver algún valor de tipo credencial. La autenticación básica
             espera recibir la versión codificada en Base64 de la contraseña del
             usuario. La autenticación "Digest" espera recibir un hash del
             username del usuario, un realm, y su contraseña (separados por
             coma). Actualmente, sólo se admite el algoritmo de hash
-                <acronym>MD5</acronym>. </para>
+                <acronym>MD5</acronym>.</para>
 
-        <para>
+       <para>
             <classname>Zend_Auth_Adapter_Http</classname> se basa en la
             implementación de objetos
                 <classname>Zend_Auth_Adapter_Http_Resolver_Interface</classname>.
             Un archivo de texto de la clase "Resolve" se incluye con este
             adaptador, pero cualquier otro tipo de "resolver" puede ser creado
-            simplemente implementando la interfaz del "resolver". </para>
+            simplemente implementando la interfaz del "resolver".</para>
 
         <sect3 id="zend.auth.adapter.http.resolvers.file">
             <title>Archivo Resolver</title>
-            <para> El archivo "resolver" es una clase muy simple. Tiene una
+           <para>El archivo "resolver" es una clase muy simple. Tiene una
                 única propiedad que especifique un nombre de archivo, que
                 también puede ser pasado al constructor. Su método
                     <methodname>resolve()</methodname> recorre el archivo de
                 texto, buscando una linea con el correspondiente username y
                 realm. El formato del archivo de texto es similar a los archivos
-                htpasswd de Apache: </para>
+                htpasswd de Apache:</para>
             <programlisting><![CDATA[
 <username>:<realm>:<credentials>\n
 ]]></programlisting>
-            <para> Cada linea consta de tres campos -username, realm, y
+           <para>Cada linea consta de tres campos -username, realm, y
                 credenciales - cada uno separados por dos puntos. El campo
                 credenciales es opaco al archivo "resolver"; simplemente
                 devuelve el valor tal como és al llamador. Por lo tanto, este
@@ -220,22 +220,22 @@
                 "Digest". En la autenticación básica, el campo credenciales debe
                 ser escrito en texto claro. En la autenticación "Digest",
                 debería ser en hash <acronym>MD5</acronym> descrito
-                anteriormente. </para>
+                anteriormente.</para>
 
-            <para> Hay dos formas igualmente fácil de crear un archivo de
-                "resolver": </para>
+           <para>Hay dos formas igualmente fácil de crear un archivo de
+                "resolver":</para>
             <programlisting language="php"><![CDATA[
 $path     = 'files/passwd.txt';
 $resolver = new Zend_Auth_Adapter_Http_Resolver_File($path);
 ]]></programlisting>
-            <para> o </para>
+           <para>o</para>
             <programlisting language="php"><![CDATA[
 $path     = 'files/passwd.txt';
 $resolver = new Zend_Auth_Adapter_Http_Resolver_File();
 $resolver->setFile($path);
 ]]></programlisting>
-            <para> Si la ruta está vacía o no se puede leer, se lanza una
-                excepción. </para>
+           <para>Si la ruta está vacía o no se puede leer, se lanza una
+                excepción.</para>
         </sect3>
 
     </sect2>
@@ -244,8 +244,8 @@ $resolver->setFile($path);
 
         <title>Uso Básico</title>
 
-        <para> En primer lugar, establecemos un array con los valores de
-            configuración obligatorios: </para>
+       <para>En primer lugar, establecemos un array con los valores de
+            configuración obligatorios:</para>
         <programlisting language="php"><![CDATA[
 $config = array(
     'accept_schemes' => 'basic digest',
@@ -254,23 +254,23 @@ $config = array(
     'nonce_timeout'  => 3600,
 );
 ]]></programlisting>
-        <para> Este array hará que el adaptador acepte la autenticación básica o
+       <para>Este array hará que el adaptador acepte la autenticación básica o
             "Digest", y requerirá un acceso autenticado a todas las áreas del
             sitio en <filename>/members_only</filename> y
                 <filename>/my_account</filename>. El valor realm es normalmente
             mostrado por el navegador en el cuadro de dialogo contraseña. El
                 <property>nonce_timeout</property>, por supuesto, se comporta
-            como se ha descrito anteriormente. </para>
+            como se ha descrito anteriormente.</para>
 
-        <para> A continuación, creamos el objeto Zend_Auth_Adapter_Http: </para>
+       <para>A continuación, creamos el objeto Zend_Auth_Adapter_Http:</para>
         <programlisting language="php"><![CDATA[
 $adapter = new Zend_Auth_Adapter_Http($config);
 ]]></programlisting>
 
 
-        <para> Ya que estamos soportando tanto la autenticación básica como la
+       <para>Ya que estamos soportando tanto la autenticación básica como la
             "Digest", necesitamos dos objetos diferentes resolver. Tenga en
-            cuenta que esto podría ser facilmente dos clases diferentes: </para>
+            cuenta que esto podría ser facilmente dos clases diferentes:</para>
         <programlisting language="php"><![CDATA[
 $basicResolver = new Zend_Auth_Adapter_Http_Resolver_File();
 $basicResolver->setFile('files/basicPasswd.txt');
@@ -283,9 +283,9 @@ $adapter->setDigestResolver($digestResolver);
 ]]></programlisting>
 
 
-        <para> Por último, realizamos la autenticación. El adaptador necesita
+       <para>Por último, realizamos la autenticación. El adaptador necesita
             una referencia a ambos objetos solicitud y respuesta para hacer su
-            trabajo: </para>
+            trabajo:</para>
         <programlisting language="php"><![CDATA[
 assert($request instanceof Zend_Controller_Request_Http);
 assert($response instanceof Zend_Controller_Response_Http);

+ 67 - 67
documentation/manual/es/module_specs/Zend_Auth_Adapter_OpenId.xml

@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 14000 -->
+<!-- EN-Revision: 15960 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.auth.adapter.openid">
 
-    <title>Autenticación  con Open ID </title>
+    <title>Autenticación con Open ID </title>
 
     <sect2 id="zend.auth.adapter.openid.introduction">
 
         <title>Introducción</title>
-        <para>
-            El adaptador <classname>Zend_Auth_Adapter_OpenId</classname> se puede usar para autentificar 
-            usuarios usando un servidor remoto de OpenID.
-            Este método de autenticación supone que el usuario sólo
-            envia su OpenID a la aplicacion web, luego se redirecciona (envia) a su proveedor de OpenID para 
-            su verificacion mediante su contraseña o algún otro metodo. Esta contraseña no se le 
-            proporciona a la aplicacion web.            
-            
-        </para>
-        <para>
-            El OpenID solo es un <acronym>URI</acronym> que apunta a un sitio con 
-            información del usuari, así como información especiales que describe
-            que servidor usar y que información (identidad) se debe enviar. Puedes 
-            leer más información acerca de OpenID en el
-            <ulink url="http://www.openid.net/">sitio oficial de OpenId</ulink>.
-        </para>
-        <para>
-            La clase  <classname>Zend_Auth_Adapter_OpenId</classname>encapsula al componente            
-             <classname>Zend_OpenId_Consumer</classname>, el cual implementa el protocolo de
-             autentificación OpenID.
-        </para>
+       <para>El adaptador <classname>Zend_Auth_Adapter_OpenId</classname> se
+            puede usar para autentificar usuarios usando un servidor remoto de
+            OpenID. Este método de autenticación supone que el usuario sólo
+            envia su OpenID a la aplicacion web, luego se redirecciona (envia) a
+            su proveedor de OpenID para su verificacion mediante su contraseña o
+            algún otro metodo. Esta contraseña no se le proporciona a la
+            aplicacion web.</para>
+       <para>El OpenID solo es un <acronym>URI</acronym> que apunta a un sitio
+            con información del usuari, así como información especiales que
+            describe que servidor usar y que información (identidad) se debe
+            enviar. Puedes leer más información acerca de OpenID en el <ulink
+                url="http://www.openid.net/">sitio oficial de OpenId</ulink>.</para>
+       <para>La clase <classname>Zend_Auth_Adapter_OpenId</classname>encapsula
+            al componente <classname>Zend_OpenId_Consumer</classname>, el cual
+            implementa el protocolo de autentificación OpenID.</para>
 
         <note>
-            <para>
+           <para>
                 <classname>Zend_OpenId</classname> aprovecha las <ulink
-                    url="http://php.net/gmp">GMP extension</ulink>, cuando estén disponibles. Considere
-                    la posibilidad de usar <acronym>GMP extension</acronym> para un mejor
-                    rendimiento cuando use <classname>Zend_Auth_Adapter_OpenId</classname>.
-            </para>
+                    url="http://php.net/gmp">GMP extension</ulink>, cuando estén
+                disponibles. Considere la posibilidad de usar <acronym>GMP</acronym>
+                    extension para un mejor rendimiento cuando use
+                    <classname>Zend_Auth_Adapter_OpenId</classname>.</para>
         </note>
     </sect2>
 
     <sect2 id="zend.auth.adapter.openid.specifics">
         <title>Características</title>
-        <para>
-        Como es el caso de todos los adaptadores <classname>Zend_Auth</classname>, la clase 
-        <classname>Zend_Auth_Adapter_OpenId</classname> implementa <classname>Zend_Auth_Adapter_Interface</classname>,
-        el cual define un metodo <methodname>authenticate()</methodname>. Este método realiza la autenticación en sí, 
-        pero el objeto debe estar configurado antes de ser llamado. 
-        La configuracion  del adaptador requiere la creacion de un OpenID y otras opciones de <classname>Zend_OpenId</classname>
-        específicos.            
-        </para>
-        <para>
-           Sin embargo, a diferencia de otros adaptadores de  <classname>Zend_Auth</classname>, 
-           <classname>Zend_Auth_Adapter_OpenId</classname> realiza la autenticación en un servidor externo 
-           en dos peticiones <acronym>HTTP</acronym> separadas. 
-           Así que el método  <methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname>
-           debe ser llamado dos veces. En la primera invocación del método no regresará nada, 
-           sino que redirige al usuario a su servidor de OpenID. Luego, después de que el usuario se 
-           autentica en el servidor remoto, este te regresará desde donde lo invocaste (a tu código)  
-           y deberás invocar a <methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname>  de nuevo para verificar 
-           la firma que acompaña a la petición de re-direccionamiento del servidor para completar el 
-           proceso de autenticación . En esta segunda invocación, 
-           el método devolverá el objeto <classname>Zend_Auth_Result</classname> como se esperaba.
-        </para>
+       <para>Como es el caso de todos los adaptadores
+                <classname>Zend_Auth</classname>, la clase
+                <classname>Zend_Auth_Adapter_OpenId</classname> implementa
+                <classname>Zend_Auth_Adapter_Interface</classname>, el cual
+            define un metodo <methodname>authenticate()</methodname>. Este
+            método realiza la autenticación en sí, pero el objeto debe estar
+            configurado antes de ser llamado. La configuracion del adaptador
+            requiere la creacion de un OpenID y otras opciones de
+                <classname>Zend_OpenId</classname> específicos.</para>
+       <para>Sin embargo, a diferencia de otros adaptadores de
+                <classname>Zend_Auth</classname>,
+                <classname>Zend_Auth_Adapter_OpenId</classname> realiza la
+            autenticación en un servidor externo en dos peticiones
+                <acronym>HTTP</acronym> separadas. Así que el método
+                <methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname>
+            debe ser llamado dos veces. En la primera invocación del método no
+            regresará nada, sino que redirige al usuario a su servidor de
+            OpenID. Luego, después de que el usuario se autentica en el servidor
+            remoto, este te regresará desde donde lo invocaste (a tu código) y
+            deberás invocar a
+                <methodname>Zend_Auth_Adapter_OpenId::authenticate()</methodname>
+            de nuevo para verificar la firma que acompaña a la petición de
+            re-direccionamiento del servidor para completar el proceso de
+            autenticación . En esta segunda invocación, el método devolverá el
+            objeto <classname>Zend_Auth_Result</classname> como se esperaba.</para>
 
-        <para>
-        	El siguiente ejemplo muestra el uso de <classname>Zend_Auth_Adapter_OpenId</classname>. 
-        	Como se mencionó anteriormente, <methodname>Zend_Auth_Adapter_OpenId::autenticar()</methodname> 
-        	debe ser llamada dos veces. 
-        	La primera vez es cuando el usuario envía el formulario <acronym>HTML</acronym> 
-        	con el <varname>$_POST['openid_action']</varname> en  <emphasis>"Login" </emphasis>, 
-        	y la segunda es posterior a la redirección <acronym>HTTP</acronym> del servidor OpenID 
-        	con <varname>$_GET['openid_mode']</varname> o <varname>$_POST['openid_mode'] </varname>.
-        </para>
+       <para>El siguiente ejemplo muestra el uso de
+                <classname>Zend_Auth_Adapter_OpenId</classname>. Como se
+            mencionó anteriormente,
+                <methodname>Zend_Auth_Adapter_OpenId::autenticar()</methodname>
+            debe ser llamada dos veces. La primera vez es cuando el usuario
+            envía el formulario <acronym>HTML</acronym> con el
+                <varname>$_POST['openid_action']</varname> en <emphasis>"Login"
+            </emphasis>, y la segunda es posterior a la redirección
+                <acronym>HTTP</acronym> del servidor OpenID con
+                <varname>$_GET['openid_mode']</varname> o
+                <varname>$_POST['openid_mode'] </varname>.</para>
 
         <programlisting language="php"><![CDATA[
 <?php
@@ -116,15 +116,15 @@ if ((isset($_POST['openid_action']) &&
 </fieldset></form></body></html>
 
 ]]></programlisting>
-        <para>
-        Puede personalizar el proceso de autenticación OpenID de varias formas. 
-        Por ejemplo, recibir la redirección del servidor de OpenID en una página aparte,
-        especificando la "raíz" del sitio web y utilizar un <classname>Zend_OpenId_Consumer_Storage</classname> o 
-        un <classname>Zend_Controller_Response</classname>. 
-        Usted también puede utilizar el simple registro de extensiones 
-        para recuperar información sobre el usuario desde el servidor de OpenID. 
-        Todas estas posibilidades se describen con más detalle en el capítulo <classname>Zend_OpenId_Consume</classname>.                   
-        </para>
+       <para>Puede personalizar el proceso de autenticación OpenID de varias
+            formas. Por ejemplo, recibir la redirección del servidor de OpenID
+            en una página aparte, especificando la "raíz" del sitio web y
+            utilizar un <classname>Zend_OpenId_Consumer_Storage</classname> o un
+                <classname>Zend_Controller_Response</classname>. Usted también
+            puede utilizar el simple registro de extensiones para recuperar
+            información sobre el usuario desde el servidor de OpenID. Todas
+            estas posibilidades se describen con más detalle en el capítulo
+                <classname>Zend_OpenId_Consume</classname>.</para>
 
     </sect2>
 </sect1>

+ 21 - 21
documentation/manual/es/module_specs/Zend_Cache-Introduction.xml

@@ -3,11 +3,11 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.cache.introduction">
     <title>Introducción</title>
-    <para>
+   <para>
         <classname>Zend_Cache</classname>
         provee una forma genérica para cualquier caché de datos.
-    </para>
-    <para>
+   </para>
+   <para>
         El almacenamiento en caché en Zend Framework se opera por
         interfaces, mientras que los registros de caché son almacenados
         a través de adapatadores del backend (
@@ -20,10 +20,10 @@
         etiquetas. Utilizando éstas, es fácil en el futuro eliminar
         determinados tipos de registro.(Ejemplo: "eliminar todos los
         registros caché de determinada etiqueta").
-    </para>
-    <para>
+   </para>
+   <para>
         El módulo principal (<classname>Zend_Cache_Core</classname>)
-		es genérico, flexible y configurable. Aun para sus necesidades
+        es genérico, flexible y configurable. Aun para sus necesidades
         específicas existen frontends de caché que extienden
         <classname>Zend_Cache_Core</classname>
         a conveniencia:
@@ -36,13 +36,13 @@
         <emphasis>Class</emphasis>
         .
 
-    </para>
+   </para>
     <example id="zend.cache.introduction.example-1">
         <title>
             Obtener un frontend con
             Zend_Cache::factory()
         </title>
-        <para>
+       <para>
             <methodname>Zend_Cache::factory()</methodname>
             ejemplifica objetos correctos y los une. En este primer
             ejemplo, usaremos el frontend
@@ -50,7 +50,7 @@
             junto con el backend
             <emphasis>File</emphasis>
             .
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $frontendOptions = array(
@@ -74,18 +74,18 @@ $cache = Zend_Cache::factory('Core',
         <title>
             Frontends y Backends Compuestos de Múltiples Palabras
         </title>
-        <para>
+       <para>
             Algunos frontends y backends se nombran usando varias
             palabras, tal como 'ZenPlatform'. Al fabricarlas las
             especificamos, las separamos usando un separador de
             palabras, como un espacio (' '), guión ('-'), o punto ('.').
-        </para>
+       </para>
     </note>
 
     <example id="zend.cache.introduction.example-2">
         <title>Almacenando en caché un resultado de consulta a una base de datos</title>
 
-        <para>
+       <para>
             Ahora que tenemos un frontend, podemos almacenar en caché
             cualquier tipo de dato (hemos activado la serialización). Por
             ejemplo, podemos almacenar en caché un resultado de una
@@ -93,7 +93,7 @@ $cache = Zend_Cache::factory('Core',
             almacenada en caché, no es necesario ni conectar la base
             de datos; los registros se obtienen del caché de forma no
             serializada.
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 // $cache initializada en el ejemplo anterior
@@ -126,7 +126,7 @@ print_r($result);
             salida
             Zend_Cache
         </title>
-        <para>
+       <para>
             ‘Resaltamos’ las secciones en las que deseamos almacenar en
             caché la salida, mediante la adición de algunas condiciones lógicas,
             encapsulamos la sección dentro de los métodos
@@ -135,8 +135,8 @@ print_r($result);
             <methodname>end()</methodname>
             (esto se parece al primer ejemplo y es la estrategia
             fundamental para el almacenamiento en caché).
-        </para>
-        <para>
+       </para>
+       <para>
             Dentro, los datos de salida, como siempre – todas las salidas
             serán almacenadas en caché cuando se ordene la ejecución del
             método
@@ -144,7 +144,7 @@ print_r($result);
             . En la siguiente ejecución, toda la sección se saltará a
             favor de la búsqueda de datos del caché (tanto tiempo como
             el registro del caché sea válido).
-        </para>
+       </para>
          <programlisting language="php"><![CDATA[
 $frontendOptions = array(
    'lifetime' => 30,                   // tiempo de vida de caché de 30 segundos
@@ -170,7 +170,7 @@ if(!$cache->start('mypage')) {
 
 echo 'Esto no estará en caché nunca ('.time().').';
 ]]></programlisting>
-        <para>
+       <para>
             Note que delineamos el resultado de
             <methodname>time()</methodname>
             dos veces; esto es algo dinámico para los propósitos de la
@@ -184,10 +184,10 @@ echo 'Esto no estará en caché nunca ('.time().').';
             registro caché ha expirado -- sólo para ser almacenado en
             caché nuevamente. Deberá probarlo en su visualizador o
             consola.
-        </para>
+       </para>
     </example>
     <note>
-        <para>
+       <para>
             Cuando usamos <classname>Zend_Cache</classname>, ponemos atención a la importación
             del identificador caché (pasado a
             <methodname>save()</methodname>
@@ -197,7 +197,7 @@ echo 'Esto no estará en caché nunca ('.time().').';
             en caché, de otra manera los registros almacenados en caché
             que no se vinculan podrían borrarse unos a otros, o peor
             aún, mostrarse uno en lugar del otro.
-        </para>
+       </para>
     </note>
 </sect1>
 <!--

+ 4 - 4
documentation/manual/es/module_specs/Zend_Captcha.xml

@@ -4,7 +4,7 @@
 <sect1 id="zend.captcha.introduction">
     <title>Introducción</title>
 
-    <para>
+   <para>
         <ulink url="http://en.wikipedia.org/wiki/Captcha">
             CAPTCHA
         </ulink>
@@ -15,16 +15,16 @@
     viene de un humano y no de un proceso automatizado. Típicamente,
         un captcha es usado con envío de formularios donde no es necesario que el
     usuario se haya autenticado, pero se desea prevenir el envío de spam.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Los Captchas pueden presentarse en multitud de formas, incluyendo
         preguntas lógicas, caracteres trastocados o presentar múltiples imágenes y preguntar
         cómo se relacionan. <classname>Zend_Form</classname> intenta proveer una amalgama de backends
         que pueden ser utilizados por separado o en conjunción con
         <methodname>Zend_Form</methodname>
         .
-    </para>
+   </para>
 </sect1>
 <!--
     vim:se ts=4 sw=4 et:

+ 22 - 22
documentation/manual/es/module_specs/Zend_CodeGenerator-Examples.xml

@@ -7,8 +7,8 @@
     <example id="zend.codegenerator.examples.class">
         <title>Generando clases PHP</title>
 
-        <para> El siguiente ejemplo genera una clase vacía con una clase de
-            nivel DocBlock. </para>
+       <para>El siguiente ejemplo genera una clase vacía con una clase de
+            nivel DocBlock.</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -32,7 +32,7 @@ $foo->setName('Foo')
 echo $foo->generate();
 ]]></programlisting>
 
-        <para> El código anterior resultará en lo siguiente: </para>
+       <para>El código anterior resultará en lo siguiente:</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -56,8 +56,8 @@ class Foo
     <example id="zend.codegenerator.examples.class-properties">
         <title>Generando clases PHP con propiedades de clase</title>
 
-        <para> Basándonos en el ejemplo anterior, ahora agreguemos propiedades a
-            nuestra clase generada. </para>
+       <para>Basándonos en el ejemplo anterior, ahora agreguemos propiedades a
+            nuestra clase generada.</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -98,7 +98,7 @@ $foo->setName('Foo')
 echo $foo->generate();
 ]]></programlisting>
 
-        <para> Lo anterior resulta en la siguiente definición de clase: </para>
+       <para>Lo anterior resulta en la siguiente definición de clase:</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -128,11 +128,11 @@ class Foo
     <example id="zend.codegenerator.examples.class-methods">
         <title>Generando clases PHP con métodos de clase</title>
 
-        <para>
+       <para>
             <classname>Zend_CodeGenerator_Php_Class</classname> le permite
             adjuntar métodos con contenido opcional a sus clases. Los métodos
             pueden adjuntarse tanto como arrys o como instancias concretas de
-                <classname>Zend_CodeGenerator_Php_Method</classname>. </para>
+                <classname>Zend_CodeGenerator_Php_Method</classname>.</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -209,7 +209,7 @@ $foo->setName('Foo')
 echo $foo->generate();
 ]]></programlisting>
 
-        <para> Lo anterior genera la siguiente salida: </para>
+       <para>Lo anterior genera la siguiente salida:</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -262,18 +262,18 @@ class Foo
     <example id="zend.codegenerator.examples.file">
         <title>Generando archivos PHP</title>
 
-        <para>
+       <para>
             <classname>Zend_CodeGenerator_Php_File</classname> puede ser
             utilizada para generar el contenido de un archivo
                 <acronym>PHP</acronym>. Usted puede incluir clases, así como el
             contenido arbitrario del cuerpo. Cuando acople clases, debe adjuntar
             instancias concretas de
                 <classname>Zend_CodeGenerator_Php_Class</classname> o un array
-            definiendo la clase. </para>
+            definiendo la clase.</para>
 
-        <para> En el ejemplo siguiente, asumiremos que ha definido
+       <para>En el ejemplo siguiente, asumiremos que ha definido
                 <varname>$foo</varname> como una de las definiciones de clase
-            del ejemplo anterior. </para>
+            del ejemplo anterior.</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -292,9 +292,9 @@ $file = new Zend_CodeGenerator_Php_File(array(
 ));
 ]]></programlisting>
 
-        <para> Llamando a <methodname>generate()</methodname> generará el código
+       <para>Llamando a <methodname>generate()</methodname> generará el código
             -- pero no lo grabará en un archivo. Usted mismo deberá capturar y
-            grabar los contenidos en un archivo. Por ejemplo: </para>
+            grabar los contenidos en un archivo. Por ejemplo:</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -302,7 +302,7 @@ $code = $file->generate();
 file_put_contents('Foo.php', $code);
 ]]></programlisting>
 
-        <para> Lo anterior generará el siguiente archivo: </para>
+       <para>Lo anterior generará el siguiente archivo:</para>
 
         <programlisting language="php"><![CDATA[
 
@@ -366,11 +366,11 @@ define('APPLICATION_ENV', 'testing');
     <example id="zend.codegenerator.examples.reflection-file">
         <title>Sembrando la generación de código para un archivo PHP via
             reflection</title>
-        <para> You can add <acronym>PHP</acronym> code to an existing
+       <para>You can add <acronym>PHP</acronym> code to an existing
                 <acronym>PHP</acronym> file using the code generator. To do so,
             you need to first do reflection on it. The static method
                 <methodname>fromReflectedFileName()</methodname> allows you to
-            do this. </para>
+            do this.</para>
 
         <programlisting language="php"><![CDATA[
 $generator = Zend_CodeGenerator_Php_File::fromReflectedFileName($path);
@@ -382,10 +382,10 @@ file_put_contents($path, $generator->generate());
 
     <example id="zend.codegenerator.examples.reflection-class">
         <title>Sembrando la generación de clases PHP via reflection</title>
-        <para> You may add code to an existing class. To do so, first use the
+       <para>You may add code to an existing class. To do so, first use the
             static <methodname>fromReflection()</methodname> method to map the
             class into a generator object. From there, you may add additional
-            properties or methods, and then regenerate the class. </para>
+            properties or methods, and then regenerate the class.</para>
 
         <programlisting language="php"><![CDATA[
 $generator = Zend_CodeGenerator_Php_Class::fromReflection(
@@ -417,9 +417,9 @@ $code = $generator->generate();
 
     <example id="zend.codegenerator.examples.reflection-method">
         <title>Sembrando la generación de métodos PHP via reflection</title>
-        <para> You may add code to an existing class. To do so, first use the
+       <para>You may add code to an existing class. To do so, first use the
             static <methodname>fromReflection()</methodname> method to map the
             class into a generator object. From there, you may add additional
-            properties or methods, and then regenerate the class. </para>
+            properties or methods, and then regenerate the class.</para>
     </example>
 </sect1>

+ 28 - 28
documentation/manual/es/module_specs/Zend_CodeGenerator-Introduction.xml

@@ -4,26 +4,26 @@
 <sect1 id="zend.codegenerator.introduction">
     <title>Introducción</title>
 
-    <para>
-        <classname>Zend_CodeGenerator</classname> ofrece facilidades para 
-        generar código arbitrario usando una interfaz orientada a objetos, tanto 
-        para crear código nuevo como para actualizar código existente. 
-        Mientras que la implementación actual se limita a generar código <acronym>PHP</acronym>, 
-        usted fácilmente puede extender la clase base a fin de proveer 
-        generación de código para otras tareas como: JavaScript, archivos de 
+   <para>
+        <classname>Zend_CodeGenerator</classname> ofrece facilidades para
+        generar código arbitrario usando una interfaz orientada a objetos, tanto
+        para crear código nuevo como para actualizar código existente.
+        Mientras que la implementación actual se limita a generar código <acronym>PHP</acronym>,
+        usted fácilmente puede extender la clase base a fin de proveer
+        generación de código para otras tareas como: JavaScript, archivos de
         configuración, apache vhost, etc.
-    </para>
+   </para>
 
     <sect2 id="zend.codegenerator.introduction.theory">
         <title>Teoría de Operación</title>
 
-        <para>
+       <para>
             En el caso de uso más típico, simplemente instanciará una clase de
-            generación de código y podrá pasarle tanto la configuración adecuada 
-            o configurarla después de la instanciación. Para generar el código, 
-            simplemente haga "echo" del objeto o llame a su método 
+            generación de código y podrá pasarle tanto la configuración adecuada
+            o configurarla después de la instanciación. Para generar el código,
+            simplemente haga "echo" del objeto o llame a su método
             <methodname>generate()</methodname>.
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 
@@ -61,9 +61,9 @@ echo $file;
 file_put_contents('World.php', $file->generate());
 ]]></programlisting>
 
-        <para>
+       <para>
             Ambos ejemplos anteriores mostrarán el mismo resultado:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 
@@ -82,20 +82,20 @@ class World
 }
 ]]></programlisting>
 
-        <para>
-            Otro caso de uso común es actualizar el código actual -- por ejemplo, 
-            para añadir un método a una clase. En ese caso, primero debe 
-            inspeccionar el código actual utilizando reflexión, y entonces 
+       <para>
+            Otro caso de uso común es actualizar el código actual -- por ejemplo,
+            para añadir un método a una clase. En ese caso, primero debe
+            inspeccionar el código actual utilizando reflexión, y entonces
             añadir su nuevo método.
-            <classname>Zend_CodeGenerator</classname> lo hace trivialmente simple, 
+            <classname>Zend_CodeGenerator</classname> lo hace trivialmente simple,
             aprovechando <link linkend="zend.reflection">Zend_Reflection</link>.
-        </para>
+       </para>
 
-        <para>
-            Como ejemplo, digamos que hemos grabado lo anterior al archivo 
-            "<filename>World.php</filename>", y que ya está incluído. Podríamos entonces hacer lo 
+       <para>
+            Como ejemplo, digamos que hemos grabado lo anterior al archivo
+            "<filename>World.php</filename>", y que ya está incluído. Podríamos entonces hacer lo
             siguiente:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 
@@ -118,9 +118,9 @@ echo $file;
 file_put_contents('World.php', $file->generate());
 ]]></programlisting>
 
-        <para>
-            El archivo de la clase resultante se vería así:       
-        </para>
+       <para>
+            El archivo de la clase resultante se vería así:
+       </para>
 
          <programlisting language="php"><![CDATA[
 

+ 65 - 65
documentation/manual/es/module_specs/Zend_CodeGenerator-Reference.xml

@@ -10,9 +10,9 @@
         <sect3 id="zend.codegenerator.reference.abstracts.abstract">
             <title>Zend_CodeGenerator_Abstract</title>
 
-            <para> La clase base desde la cual heredan todos las clases
+           <para>La clase base desde la cual heredan todos las clases
                 CodeGenerator proporciona la funcionalidad mínima necesaria. Su
-                    <acronym>API</acronym> es la siguiente: </para>
+                    <acronym>API</acronym> es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 abstract class Zend_CodeGenerator_Abstract
@@ -28,41 +28,41 @@ abstract class Zend_CodeGenerator_Abstract
 }
 ]]></programlisting>
 
-            <para> El constructor primero llama a
+           <para>El constructor primero llama a
                     <methodname>_init()</methodname> (que se deja vacía para
                 implementar extenciones a clases concretas), se pasa entonces el
                 parámetro <varname>$options</varname> a
                     <methodname>setOptions()</methodname>, y finalmente se llama
                 a <methodname>_prepare()</methodname> (nuevamente, a ser
-                implementada por extensión de una clase) </para>
+                implementada por extensión de una clase)</para>
 
-            <para> Al igual que la mayoría de las clases en Zend Framework,
+           <para>Al igual que la mayoría de las clases en Zend Framework,
                     <methodname>setOptions()</methodname> compara una opción
                 clave con setters existentes en la clase, y pasa el valor de ese
-                método si lo encuentra. </para>
+                método si lo encuentra.</para>
 
-            <para>
+           <para>
                 <methodname>__toString()</methodname> es marcado como final, y
-                proxies a <methodname>generate()</methodname>. </para>
+                proxies a <methodname>generate()</methodname>.</para>
 
-            <para>
+           <para>
                 <methodname>setSourceContent()</methodname> y
                     <methodname>getSourceContent()</methodname> están destinados
                 ya sea para fijar el valor por defecto del contenido para el
                 código a ser generado, o para sustituir dicho contenido una vez
-                que se completen todas las tareas de generación. </para>
+                que se completen todas las tareas de generación.</para>
         </sect3>
 
         <sect3 id="zend.codegenerator.reference.abstracts.php-abstract">
             <title>Zend_CodeGenerator_Php_Abstract</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Abstract</classname> extiende
                     <classname>Zend_CodeGenerator_Abstract</classname>, y añade
                 algunas propiedades para localizar su contenido si es que ha
                 cambiado, así como el nivel de identación que debe aparecer
                 antes del contenido generado. Su <acronym>API</acronym> es la
-                siguiente: </para>
+                siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 abstract class Zend_CodeGenerator_Php_Abstract
@@ -79,13 +79,13 @@ abstract class Zend_CodeGenerator_Php_Abstract
         <sect3 id="zend.codegenerator.reference.abstracts.php-member-abstract">
             <title>Zend_CodeGenerator_Php_Member_Abstract</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Member_Abstract</classname> es
                 una clase base para generar los miembros de clase -- propiedades
                 y métodos -- y brinda accesos y mutadores para establecer
                 visibilidad; ya sea el miembro abstracto o no, estático o
                 definitivo; y el nombre del miembro. Su <acronym>API</acronym>
-                es la siguiente: </para>
+                es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 abstract class Zend_CodeGenerator_Php_Member_Abstract
@@ -110,14 +110,14 @@ abstract class Zend_CodeGenerator_Php_Member_Abstract
         <sect3 id="zend.codegenerator.reference.concrete.php-body">
             <title>Zend_CodeGenerator_Php_Body</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Body</classname> se destina
                 para generar código procedural arbitrario para incluir dentro de
                 un archivo. Como tal, usted simplemente establece contenidos
                 para el objeto, y éste devolverá el contenido cuando usted
-                invoque a <methodname>generate()</methodname>. </para>
+                invoque a <methodname>generate()</methodname>.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Body extends Zend_CodeGenerator_Php_Abstract
@@ -132,7 +132,7 @@ class Zend_CodeGenerator_Php_Body extends Zend_CodeGenerator_Php_Abstract
         <sect3 id="zend.codegenerator.reference.concrete.php-class">
             <title>Zend_CodeGenerator_Php_Class</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Class</classname> Está
                 destinado a generar clases <acronym>PHP</acronym>. La
                 funcionalidad básica sólo genera la clase <acronym>PHP</acronym>
@@ -140,9 +140,9 @@ class Zend_CodeGenerator_Php_Body extends Zend_CodeGenerator_Php_Abstract
                 DocBlock. Las clases pueden implementarse o heredarse de otras
                 clases, y pueden ser marcadas como abstractas. Utilizando otras
                 clases generadoras de código, también puede agregar constantes
-                de clase, propiedades y métodos. </para>
+                de clase, propiedades y métodos.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Class extends Zend_CodeGenerator_Php_Abstract
@@ -174,7 +174,7 @@ class Zend_CodeGenerator_Php_Class extends Zend_CodeGenerator_Php_Abstract
 }
 ]]></programlisting>
 
-            <para> El método <methodname>setProperty()</methodname> acepta un
+           <para>El método <methodname>setProperty()</methodname> acepta un
                 array de información que puede ser utilizada para generar una
                 instancia <classname>Zend_CodeGenerator_Php_Property</classname>
                 -- o simplemente una instancia de
@@ -182,33 +182,33 @@ class Zend_CodeGenerator_Php_Class extends Zend_CodeGenerator_Php_Abstract
                 Análogamente, <methodname>setMethod()</methodname> acepta o un
                 array de información para generar una instancia de
                     <classname>Zend_CodeGenerator_Php_Method</classname> o una
-                instancia concreta de esa clase. </para>
+                instancia concreta de esa clase.</para>
 
-            <para> Se debe observar que <methodname>setDocBlock()</methodname>
+           <para>Se debe observar que <methodname>setDocBlock()</methodname>
                 espera una instancia de
                     <classname>Zend_CodeGenerator_Php_DocBlock</classname>.
-            </para>
+           </para>
         </sect3>
 
         <sect3 id="zend.codegenerator.reference.concrete.php-docblock">
             <title>Zend_CodeGenerator_Php_Docblock</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Docblock</classname> puede ser
                 utilizada para generar <acronym>PHP</acronym> docblocks
                 arbitrarios, incluidas todas las características estándar de
                 docblock: descripciones cortas y largas y además los tags de
-                anotaciones. </para>
+                anotaciones.</para>
 
-            <para> Los tags de anotación pueden establecerse utilizando los
+           <para>Los tags de anotación pueden establecerse utilizando los
                 métodos <methodname>setTag()</methodname> y
                     <methodname>setTags()</methodname>; cada una de estas toman
                 o un array describiendo el tag que puede ser pasado al
                 constructor
                     <classname>Zend_CodeGenerator_Php_Docblock_Tag</classname>,
-                o una instancia de esa clase. </para>
+                o una instancia de esa clase.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock extends Zend_CodeGenerator_Php_Abstract
@@ -231,15 +231,15 @@ class Zend_CodeGenerator_Php_Docblock extends Zend_CodeGenerator_Php_Abstract
         <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag">
             <title>Zend_CodeGenerator_Php_Docblock_Tag</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Docblock_Tag</classname> está
                 destinado a crear tags de anotaciones arbitrarias para su
                 inclusión en <acronym>PHP</acronym> docblocks. Se espera que los
                 tags (etiquetas) contengan un nombre (la porción que sigue
                 inmediatamente después del símbolo '@') y una descripción (todo
-                lo que sigue después del nombre del tag). </para>
+                lo que sigue después del nombre del tag).</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock_Tag
@@ -260,7 +260,7 @@ class Zend_CodeGenerator_Php_Docblock_Tag
         <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag-param">
             <title>Zend_CodeGenerator_Php_DocBlock_Tag_Param</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_DocBlock_Tag_Param</classname>
                 es una versión especializada de
                     <classname>Zend_CodeGenerator_Php_DocBlock_Tag</classname>,
@@ -268,9 +268,9 @@ class Zend_CodeGenerator_Php_Docblock_Tag
                 lo tanto ("param"), pero debido al formato de este tag de
                 anotación, es necesaria información adicional a fin de
                 generarla: el nombre del parámetro y el tipo de datos que
-                representa. </para>
+                representa.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock_Tag_Param
@@ -292,14 +292,14 @@ class Zend_CodeGenerator_Php_Docblock_Tag_Param
             id="zend.codegenerator.reference.concrete.php-docblock-tag-return">
             <title>Zend_CodeGenerator_Php_DocBlock_Tag_Return</title>
 
-            <para> Al igual la variante del tag docblock,
+           <para>Al igual la variante del tag docblock,
                     <classname>Zend_CodeGenerator_Php_Docblock_Tab_Return</classname>
                 es una variante de un tag de anotación para representar el valor
                 de retorno del método. En este caso, el nombre del tag de
                 anotación es conocido ("return"), pero requiere un tipo de
-                retorno. </para>
+                retorno.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Docblock_Tag_Param
@@ -318,22 +318,22 @@ class Zend_CodeGenerator_Php_Docblock_Tag_Param
         <sect3 id="zend.codegenerator.reference.concrete.php-file">
             <title>Zend_CodeGenerator_Php_File</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_File</classname> se utiliza
                 para generar el contenido íntegro de un archivo que contiene
                 código <acronym>PHP</acronym>. El archivo puede contener clases
                 o código <acronym>PHP</acronym> arbitrario, así como un archivo
-                de nivel docblock si así lo desea. </para>
+                de nivel docblock si así lo desea.</para>
 
-            <para> Cuando se agregan clases al archivo, necesitará pasar o un
+           <para>Cuando se agregan clases al archivo, necesitará pasar o un
                 array de información para pasar al constructor
                     <classname>Zend_CodeGenerator_Php_Class</classname>, o una
                 instancia de esa clase. De manera similar, con docblocks, usted
                 tendrá que pasar información para que lo consuma el constructor
                     <classname>Zend_CodeGenerator_Php_Docblock</classname> o una
-                instancia de la clase. </para>
+                instancia de la clase.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
 
             <programlisting language="php"><![CDATA[
@@ -365,16 +365,16 @@ class Zend_CodeGenerator_Php_File extends Zend_CodeGenerator_Php_Abstract
         <sect3 id="zend.codegenerator.reference.concrete.php-member-container">
             <title>Zend_CodeGenerator_Php_Member_Container</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Member_Container</classname>
                 es usado internamente por
                     <classname>Zend_CodeGenerator_Php_Class</classname> para
                 seguir la pista de los los miembros de la clase -- a propiedades
                 y métodos por igual. Estos están indexados por nombre,
                 utilizando las instancias concretas de los miembros como
-                valores. </para>
+                valores.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Member_Container extends ArrayObject
@@ -387,24 +387,24 @@ class Zend_CodeGenerator_Php_Member_Container extends ArrayObject
         <sect3 id="zend.codegenerator.reference.concrete.php-method">
             <title>Zend_CodeGenerator_Php_Method</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Method</classname> describe un
                 método de clase, y puede generar tanto el código y el docblock
                 para el método. La visibilidad y condición estática, abstracta,
                 o se puede indicar como final, por su clase padre,
                     <classname>Zend_CodeGenerator_Php_Member_Abstract</classname>.
                 Finalmente, pueden especificarse los parámetros y valor de
-                retorno para el método. </para>
+                retorno para el método.</para>
 
-            <para> Pueden establecerse los parámetros usando
+           <para>Pueden establecerse los parámetros usando
                     <methodname>setParameter()</methodname> o
                     <methodname>setParameters()</methodname>. En cada caso, un
                 parámetro debe ser un array de información para pasar al
                 constructor
                     <classname>Zend_CodeGenerator_Php_Parameter</classname> o
-                una instancia de esa clase. </para>
+                una instancia de esa clase.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Method
@@ -429,15 +429,15 @@ class Zend_CodeGenerator_Php_Method
         <sect3 id="zend.codegenerator.reference.concrete.php-parameter">
             <title>Zend_CodeGenerator_Php_Parameter</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Parameter</classname> puede
                 ser utilizada para especificar parámetros del método. Cada
                 parámetro puede tener una posición (si no están especificados,
                 se usarán en el orden que estén registrados en el método), son
                 oblogatorios un valor por defecto, un tipo de datos y un nombre
-                de parámetro. </para>
+                de parámetro.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Parameter extends Zend_CodeGenerator_Php_Abstract
@@ -458,14 +458,14 @@ class Zend_CodeGenerator_Php_Parameter extends Zend_CodeGenerator_Php_Abstract
     public function generate()
 }
 ]]></programlisting>
-            
-            <para>
+
+           <para>
                 There are several problems that might occur when trying to set null, booleans or
                 arrays as default values. For this the value holder object
                 <classname>Zend_CodeGenerator_Php_ParameterDefaultValue</classname> can be used,
                 for example:
-            </para>
-            
+           </para>
+
             <programlisting language="php"><![CDATA[
 $parameter = new Zend_CodeGenerator_Php_Parameter();
 $parameter->setDefaultValue(
@@ -475,27 +475,27 @@ $parameter->setDefaultValue(
     new Zend_CodeGenerator_Php_Parameter_DefaultValue("array('foo', 'bar')")
 );
 ]]></programlisting>
-            
-            <para>
+
+           <para>
                 Internally <methodname>setDefaultValue()</methodname> also converts the values
                 which can't be expressed in <acronym>PHP</acronym> into the value holder.
-            </para>
-            
+           </para>
+
         </sect3>
 
         <sect3 id="zend.codegenerator.reference.concrete.php-property">
             <title>Zend_CodeGenerator_Php_Property</title>
 
-            <para>
+           <para>
                 <classname>Zend_CodeGenerator_Php_Property</classname> describe
                 una propiedad de clase, que puede ser tanto una constante o una
                 variable. En cada caso, la propiedad puede tener un valor
                 predeterminado asociado con ella. Además, la visibilidad de las
                 propiedades de la variable puede ser establecida por la clase
                 padre,
-                    <classname>Zend_CodeGenerator_Php_Member_Abstract</classname>. </para>
+                    <classname>Zend_CodeGenerator_Php_Member_Abstract</classname>.</para>
 
-            <para> La <acronym>API</acronym> de la clase es la siguiente: </para>
+           <para>La <acronym>API</acronym> de la clase es la siguiente:</para>
 
             <programlisting language="php"><![CDATA[
 class Zend_CodeGenerator_Php_Property

+ 10 - 10
documentation/manual/es/module_specs/Zend_Config-Introduction.xml

@@ -3,7 +3,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.config.introduction">
     <title>Introducción</title>
-    <para>
+   <para>
         <classname>Zend_Config</classname> está diseñado para simplificar el
         acceso y el uso de datos de configuración dentro de aplicaciones. Provee
         una interfaz de usuario basada en propiedades de objetos anidadas para
@@ -16,10 +16,10 @@
             <classname>Zend_Config_Ini</classname>
         </link> y <link linkend="zend.config.adapters.xml">
             <classname>Zend_Config_Xml</classname>
-        </link> . </para>
+        </link> .</para>
     <example id="zend.config.introduction.example.using">
         <title>Usando Zend_Config Per Se</title>
-        <para> Normalmente, se espera que los usuarios usen una de las clases
+       <para>Normalmente, se espera que los usuarios usen una de las clases
             adaptadoras como <link linkend="zend.config.adapters.ini">
                 <classname>Zend_Config_Ini</classname>
             </link> o <link linkend="zend.config.adapters.xml">
@@ -27,7 +27,7 @@
             </link> , pero si los datos de configuración están disponibles en un
             array <acronym>PHP</acronym>, se puede simplemente pasar los datos
             al constructor <classname>Zend_Config</classname> para utilizar una
-            interfaz simple orientada a objetos: </para>
+            interfaz simple orientada a objetos:</para>
         <programlisting language="php"><![CDATA[
 // Dado un array de datos de configuración
 $configArray = array(
@@ -58,22 +58,22 @@ $db = Zend_Db::factory($config->database->adapter,
 $db = Zend_Db::factory($config->database);
 ]]></programlisting>
     </example>
-    <para> Como se ilustra en el ejemplo de arriba,
+   <para>Como se ilustra en el ejemplo de arriba,
             <classname>Zend_Config</classname> provee una sintáxis de
         propiedades de objetos anidados para acceder a datos de configuración
-        pasados a su constructor. </para>
-    <para> Junto al acceso a valores de datos orientado a objetos,
+        pasados a su constructor.</para>
+   <para>Junto al acceso a valores de datos orientado a objetos,
             <classname>Zend_Config</classname> también tiene el método
             <methodname>get()</methodname> que devolverá el valor por defecto
-        suministrado si el elemento de datos no existe. Por ejemplo: </para>
+        suministrado si el elemento de datos no existe. Por ejemplo:</para>
     <programlisting language="php"><![CDATA[
 $host = $config->database->get('host', 'localhost');
 ]]></programlisting>
     <example id="zend.config.introduction.example.file.php">
         <title>Usando Zend_Config con un Archivo de Configuración PHP</title>
-        <para> A veces, es deseable usar un archivo de configuración puramente
+       <para>A veces, es deseable usar un archivo de configuración puramente
                 <acronym>PHP</acronym>. El código siguiente ilustra cómo podemos
-            conseguir esto fácilmente: </para>
+            conseguir esto fácilmente:</para>
         <programlisting language="php"><![CDATA[
 // config.php
 return array(

+ 20 - 20
documentation/manual/es/module_specs/Zend_Config-TheoryOfOperation.xml

@@ -4,26 +4,26 @@
 
 <sect1 id="zend.config.theory_of_operation">
     <title>Aspectos Teóricos</title>
-    <para> Los datos de configuración se hacen accesibles al constructor <classname>Zend_Config</classname> a través de
+   <para>Los datos de configuración se hacen accesibles al constructor <classname>Zend_Config</classname> a través de
         un array asociativo, que puede ser multidimensional, para permitir organizar los datos desde lo general a lo
         específico. Las clases de adaptador concretas permiten construir una tabla asociativa para el constructor de
             <classname>Zend_Config</classname> a partir de un sistema de almacenamiento de datos de configuración.
         Algunos scripts de usuario pueden proveer esos arrays directamente al constructor Zend_Config, sin usar una
-        clase adaptador, lo cual puede ser apropiado en ciertas ocasiones. </para>
-    <para> Cada valor del array de datos de configuración se convierte en una propiedad del objeto
+        clase adaptador, lo cual puede ser apropiado en ciertas ocasiones.</para>
+   <para>Cada valor del array de datos de configuración se convierte en una propiedad del objeto
             <classname>Zend_Config</classname>. La clave es usada como el nombre de la propiedad. Si un valor es un
         array por sí solo, entonces la propiedad de objeto resultante es creada como un nuevo objeto
             <classname>Zend_Config</classname>, cargado con los datos del array. Esto ocurre recursivamente, de forma
-        que una jerarquía de datos de configuración puede ser creada con cualquier número de niveles. </para>
-    <para>
+        que una jerarquía de datos de configuración puede ser creada con cualquier número de niveles.</para>
+   <para>
         <classname>Zend_Config</classname> implementa las interfaces <emphasis>Countable</emphasis> e
             <methodname>Iterator</methodname> para facilitar el aceso sencillo a los datos de configuración. Así, uno
         puede usar la función <ulink url="http://php.net/count">
             <methodname>count()</methodname>
         </ulink> y constructores <acronym>PHP</acronym> como <ulink url="http://php.net/foreach">
             <emphasis>foreach</emphasis>
-        </ulink> sobre objetos <classname>Zend_Config</classname>. </para>
-    <para> Por defecto, los datos de configuración permitidos a través de <classname>Zend_Config</classname> son de sólo
+        </ulink> sobre objetos <classname>Zend_Config</classname>.</para>
+   <para>Por defecto, los datos de configuración permitidos a través de <classname>Zend_Config</classname> son de sólo
         lectura, y una asignación (e.g., <methodname>$config-&gt;database-&gt;host = 'example.com'</methodname>)
         provoca que se lance una excepción. Este comportamiento por defecto puede ser sobrescrito a través del
         constructor, sin embargo, para permitir la modificación de valores de datos. Además, cuando las modificaciones
@@ -33,35 +33,35 @@
             <classname>Zend_Config</classname> están permitidas y el método <methodname>setReadOnly()</methodname> puede
         ser usado para evitar cualquier modificación posterior a un objeto <classname>Zend_Config</classname> que fue
         creado con permiso de modificaciones. <note>
-            <para> Es importante no confundir tales modificaciones en memoria con guardar los datos de configuración a
+           <para>Es importante no confundir tales modificaciones en memoria con guardar los datos de configuración a
                 un medio de almacenamiento específico. Las herramientas para crear y modificar datos de configuración
                 para distintos medios de almacenamiento están fuera del alcance de <classname>Zend_Config</classname>.
                 Existen soluciones third-party de código abierto con el propósito de crear y modificar datos de
-                configuración de distintos medios de almacenamiento. </para>
+                configuración de distintos medios de almacenamiento.</para>
         </note>
-    </para>
-    <para> Las clases del adaptador heredan de la clase <classname>Zend_Config</classname> debido a que utilizan su
-        funcionalidad. </para>
-    <para> La familia de clases <classname>Zend_Config</classname> permite organizar en secciones los datos de
+   </para>
+   <para>Las clases del adaptador heredan de la clase <classname>Zend_Config</classname> debido a que utilizan su
+        funcionalidad.</para>
+   <para>La familia de clases <classname>Zend_Config</classname> permite organizar en secciones los datos de
         configuración. Los objetos de adaptador <classname>Zend_Config</classname> pueden ser cargados con una sola
-        sección especificada, múltiples secciones especificadas, o todas las secciones (si no se especifica ninguna). </para>
-    <para> Las clases del adaptador <classname>Zend_Config</classname> soportan un modelo de herencia única que permite
+        sección especificada, múltiples secciones especificadas, o todas las secciones (si no se especifica ninguna).</para>
+   <para>Las clases del adaptador <classname>Zend_Config</classname> soportan un modelo de herencia única que permite
         que los datos de configuración hereden de una sección de datos de configuración a otra. Esto es provisto con el
         fin de reducir o eliminar la necesidad de duplicar datos de configuración por distintos motivos. Una sección
         heredada puede también sobrescribir los valores que hereda de su sección padre. Al igual que la herencia de
         clases <acronym>PHP</acronym>, una sección puede heredar de una sección padre, la cual puede heredar de una
         sección abuela, etc..., pero la herencia múltiple (i.e., la sección C heredando directamente de las secciones
-        padre A y B) no está permitida. </para>
-    <para> Si tiene dos objetos <classname>Zend_Config</classname>, puede combinarlos en un único objeto usando la
+        padre A y B) no está permitida.</para>
+   <para>Si tiene dos objetos <classname>Zend_Config</classname>, puede combinarlos en un único objeto usando la
         función <methodname>merge()</methodname>. Por ejemplo, dados <varname>$config</varname> y
             <varname>$localConfig</varname>, puede fusionar datos de <varname>$localConfig</varname> a
             <varname>$config</varname> usando <methodname>$config-&gt;merge($localConfig);</methodname>. Los
         ítemes en <varname>$localConfig</varname> sobrescribirán cualquier item con el mismo nombre en
             <varname>$config</varname>. <note>
-            <para> El objeto <classname>Zend_Config</classname> que está ejecutando el merge debe haber sido construido
+           <para>El objeto <classname>Zend_Config</classname> que está ejecutando el merge debe haber sido construido
                 para permitir modificaciones, pasando <constant>TRUE</constant> como el segundo parámetro del
                 constructor. El método <methodname>setReadOnly()</methodname> puede entonces ser usado para evitar
-                cualquier modificación posterior después de que el merge se haya completado. </para>
+                cualquier modificación posterior después de que el merge se haya completado.</para>
         </note>
-    </para>
+   </para>
 </sect1>

+ 17 - 17
documentation/manual/es/module_specs/Zend_Config_Ini.xml

@@ -3,7 +3,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.ini">
     <title>Zend_Config_Ini</title>
-    <para>
+   <para>
         <classname>Zend_Config_Ini</classname>
         permite a los desarrolladores almacenar datos de configuración
         en un formato de datos <acronym>INI</acronym> familiar, y leer de ellos en la
@@ -20,10 +20,10 @@
         "<emphasis>:</emphasis>"
         ) y el nombre de la sección desde la cual se quieren heredar los
         datos.
-    </para>
+   </para>
     <note>
         <title>parse_ini_file</title>
-        <para>
+       <para>
             <classname>Zend_Config_Ini</classname>
             utiliza la función
             <ulink url="http://php.net/parse_ini_file">
@@ -43,17 +43,17 @@
             , y
             <constant>NULL</constant>
             son manejados.
-        </para>
+       </para>
     </note>
     <note>
         <title>Separador de clave</title>
-        <para>
+       <para>
             Por defecto, el carácter separador de clave es el punto (
             "<emphasis>.</emphasis>"
             ). Puede ser reemplazado, no obstante,cambiando la clave de
             <varname>$options</varname>
             llamada
-            <property>nestSeparator</property> 
+            <property>nestSeparator</property>
             al construir el objeto
             <classname>Zend_Config_Ini</classname>
             . Por ejemplo:
@@ -63,11 +63,11 @@ $config = new Zend_Config_Ini('/path/to/config.ini',
                               'pruebas',
                               $options);
 ]]></programlisting>
-        </para>
+       </para>
     </note>
     <example id="zend.config.adapters.ini.example.using">
         <title>Utilizando Zend_Config_Ini</title>
-        <para>
+       <para>
             Este ejemplo muestra una forma de uso básica de
             <classname>Zend_Config_Ini</classname>
             para cargar datos de configuración de un archivo <acronym>INI</acronym>. En
@@ -83,7 +83,7 @@ $config = new Zend_Config_Ini('/path/to/config.ini',
             los siguientes datos de configuración están contenidos en
             <filename>/path/to/config.ini</filename>:
             :
-        </para>
+       </para>
         <programlisting language="ini"><![CDATA[
 ; Datos de configuración de la web de producción
 [produccion]
@@ -101,12 +101,12 @@ database.params.host     = dev.example.com
 database.params.username = devuser
 database.params.password = devsecret
 ]]></programlisting>
-        <para>
+       <para>
             Ahora, asuma que el desarrollador de aplicaciones necesita
             los datos de configuración de la etapa de pruebas del
             archivo <acronym>INI</acronym>. Resulta fácil cargar estos datos especificando
             el archivo <acronym>INI</acronym> en la sección de la etapa de pruebas:
-        </para>
+       </para>
          <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Ini('/path/to/config.ini', 'pruebas');
 
@@ -147,15 +147,15 @@ echo $config->database->params->dbname; // muestra "dbname"
                         </entry>
                     </row>
                     <row>
-                        
+
                             <entry><varname>$options</varname> (default <constant>FALSE</constant>)</entry>
-                       
+
                         <entry>
                             Array de opciones. Las siguientes claves
                             están aceptadas:
                             <itemizedlist>
                                 <listitem>
-                                    <para>
+                                   <para>
 <emphasis><property>allowModifications</property></emphasis>:
                                         : Fijar a
                                         <constant>TRUE</constant>
@@ -163,15 +163,15 @@ echo $config->database->params->dbname; // muestra "dbname"
                                         subsiguientes del archivo
                                         cargado. Por defecto es
                                         <constant>NULL</constant>
-                                    </para>
+                                   </para>
                                 </listitem>
                                 <listitem>
-                                    <para>
+                                   <para>
 <emphasis><property>nestSeparator</property></emphasis>
                                         : Carácter que utilizar como
                                         separador de anidamiento. Por
                                         defecto es "."
-                                    </para>
+                                   </para>
                                 </listitem>
                             </itemizedlist>
                         </entry>

+ 20 - 20
documentation/manual/es/module_specs/Zend_Config_Xml.xml

@@ -3,7 +3,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.xml">
     <title>Zend_Config_Xml</title>
-    <para>
+   <para>
         <classname>Zend_Config_Xml</classname> permite a los desarrolladores almacenar
         datos de configuración en un formato sencillo <acronym>XML</acronym> y leerlos a través de
         una sintáxis de propiedades de objetos anidados. El elemento raíz del
@@ -16,19 +16,19 @@
         por un atributo <acronym>XML</acronym> especial llamado <emphasis>extends</emphasis>, y el valor de
         este atributo se corresponde con la sección de la cual los datos son
         heredados por la sección extendida..
-    </para>
+   </para>
     <note>
         <title>Tipo devuelto</title>
-        <para>
+       <para>
         Los datos de configuración que se leen en <classname>Zend_Config_Xml</classname>
         son siempre devueltos como strings.
               La conversión de datos de string a otros tipos se deja en manos de los
         desarrolladores para que se ajuste a sus necesidades particulares.
-        </para>
+       </para>
     </note>
     <example id="zend.config.adapters.xml.example.using">
         <title>Usando Zend_Config_Xml</title>
-        <para>
+       <para>
          Este ejemplo ilustra un uso básico de <classname>Zend_Config_Xml</classname>
          para cargar datos de configuración de un archivo <acronym>XML</acronym> . En este ejemplo
          hay datos de configuración tanto para un sistema de producción como
@@ -40,7 +40,7 @@
          sería el caso para situaciones más complejas. Suponga, pues, que los
          datos de configuración siguientes están contenidos
             en <filename>/path/to/config.xml</filename>::
-        </para>
+       </para>
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
@@ -67,12 +67,12 @@
     </staging>
 </configdata>
 ]]></programlisting>
-        <para>
+       <para>
             Ahora, asuma que el desarrollador de aplicaciones necesita los datos
             de configuración de la fase de pruebas del archivo <acronym>XML</acronym> . Es una tarea
             sencilla cargar estos datos, especificando el archivo <acronym>XML</acronym> y la
             sección de pruebas:
-        </para>
+       </para>
          <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Xml('/ruta/de/config.xml', 'pruebas');
 
@@ -82,7 +82,7 @@ echo $config->database->params->dbname; // muestra "dbname"
     </example>
     <example id="zend.config.adapters.xml.example.attributes">
         <title>Usando atributos de etiqueta en Zend_Config_Xml</title>
-        <para>
+       <para>
             Zend_Config_Xml también soporta dos formas adicionales de definir
             nodos en la configuración.  Ambas hacen uso de atributos. Dado que
             los atributos <emphasis>extends</emphasis> y <emphasis>value</emphasis>  son palabras
@@ -90,7 +90,7 @@ echo $config->database->params->dbname; // muestra "dbname"
             pueden no ser utilizadas.
                   La primera manera de utilizar atributos es añadir atributos en un
             nodo padre, el cual será interpretado como hijo de ese nodo:
-        </para>
+       </para>
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
@@ -106,12 +106,12 @@ echo $config->database->params->dbname; // muestra "dbname"
     </staging>
 </configdata>
 ]]></programlisting>
-        <para>
+       <para>
         La otra forma no reduce la configuración, sino que permite mantenerla de
         forma más fácil dado que no es necesario escribir el nombre de la
         etiqueta dos veces. Simplemente, cree una etiqueta vacía con el valor en
         el atributo <emphasis>value</emphasis>:
-        </para>
+       </para>
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
@@ -141,12 +141,12 @@ echo $config->database->params->dbname; // muestra "dbname"
     </example>
     <note>
         <title>XML strings</title>
-        <para>
+       <para>
             <classname>Zend_Config_Xml</classname> is able to load an <acronym>XML</acronym> string directly,
             such as that retrieved from a database. The string is passed
             as the first parameter to the constructor and must start with the
             characters <emphasis>'&lt;?xml'</emphasis>:
-        </para>
+       </para>
         <programlisting language="xml"><![CDATA[
 $string = <<<EOT
 <?xml version="1.0"?>
@@ -172,24 +172,24 @@ EOT;
 $config = new Zend_Config_Xml($string, 'staging');
 ]]></programlisting>
     </note>
-	
-	<note>
+    
+    <note>
         <title>Zend_Config XML namespace</title>
-        <para>
+       <para>
             <classname>Zend_Config</classname> comes with it's own <acronym>XML</acronym>
             namespace, which adds additional functionality to the parsing process. To take advantage
             of it, you have to define a namespace with the namespace <acronym>URI</acronym>
             <filename>http://framework.zend.com/xml/zend-config-xml/1.0/</filename> in
             your config root node.
-        </para>
+       </para>
 
-        <para>
+       <para>
             With the namespace enabled, you can now use <acronym>PHP</acronym> constants within
             your configuration files. Additionally, the <emphasis>extends</emphasis>
             attribute was moved to the new namespace and is deprecated in the
             <constant>NULL</constant> namespace. It will be completly removed there in
             Zend Framework 2.0.
-        </para>
+       </para>
         <programlisting language="xml"><![CDATA[
 $string = <<<EOT
 <?xml version="1.0"?>

+ 100 - 100
documentation/manual/es/module_specs/Zend_Controller-ActionController.xml

@@ -6,14 +6,14 @@
 
     <sect2 id="zend.controller.action.introduction">
         <title>Introducción</title>
-        <para>
+       <para>
             <classname>Zend_Controller_Action</classname> es una clase abstracta
             que puede utilizar para implementar controladores de acción
             (Action Controllers) para usar con el Front Controller al crear un
             un sitio basado en el patrón Modelo-Vista-Controlador (<acronym>MVC</acronym>).
-        </para>
+       </para>
 
-        <para>
+       <para>
             Para usar <classname>Zend_Controller_Action</classname>, necesitará
             hacerla una subclase en sus clases actuales de controladores de
             acción (o hacerla una subclase para crear su propia clase base de
@@ -25,11 +25,11 @@
             <classname>Zend_Controller</classname> descubrirá por sí mismo
             cualquier método que termine en 'Action' en su clase, como posibles
             acciones del controlador.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Por ejemplo, digamos que su clase se define como sigue:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -46,25 +46,25 @@ class FooController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             La clase de arriba <emphasis>FooController</emphasis> (el controlador
             <emphasis>foo</emphasis>) define dos acciones, <emphasis>bar</emphasis> y
            <emphasis>baz</emphasis>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Se pueden lograr muchas cosas más, tales como personalizar
             la inicialización de acciones, las acciones a llamar por defecto no
             deberían especificar ninguna acción (o una acción inválida),
             ganchos de pre y post despacho, y una variedad de métodos ayudantes.
             Este capítulo sirve como panorama de la funcionalidad del
             controlador de acciones.
-        </para>
+       </para>
 
         <note>
             <title>Comportamiento por Defecto</title>
 
-            <para>
+           <para>
                 Por defecto, el <link linkend="zend.controller.front">front
                 controller</link> habilita al ayudante de acción <link
                 linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link>.
@@ -72,7 +72,7 @@ class FooController extends Zend_Controller_Action
                 en el contralor, así como compatibilizar automáticamente las
                 vistas. Usted podrá desactivarlo dentro de su contralor de
                 acción por uno de los métodos siguientes:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -94,19 +94,19 @@ class FooController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 <methodname>initView()</methodname>, <methodname>getViewScript()</methodname>,
                 <methodname>render()</methodname>, y <methodname>renderScript()</methodname> cada
                 proxy al <emphasis>ViewRenderer</emphasis> a menos que el ayudante no
                 esté como ayudante intermediario o no se haya establecido el
                 flag de <emphasis>noViewRenderer</emphasis>.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 También puede simplemente desactivarse para una prestación
                 individual ajustando el flag <emphasis>noRender</emphasis> de
                 <emphasis>ViewRenderer</emphasis>:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -119,7 +119,7 @@ class FooController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Las principales razones para desactivar
                 <emphasis>ViewRenderer</emphasis> son si usted simplemente no necesita
                 una objeto "view" o si no está mostrándolos via view scripts
@@ -128,14 +128,14 @@ class FooController extends Zend_Controller_Action
                 <acronym>XML-RPC</acronym>, o <acronym>REST</acronym>). En muchos casos, nunca necesitará desactivar
                 a <emphasis>ViewRenderer</emphasis> globalmente, sólo selectivamente
                 dentro de los distintos controladores o acciones.
-            </para>
+           </para>
         </note>
     </sect2>
 
     <sect2 id="zend.controller.action.initialization">
         <title>Inicialización de Objectos</title>
 
-        <para>
+       <para>
             Si bien siempre puede anular el contolador de acción del
             constructor, no lo recomendamos.
             <methodname>Zend_Controller_Action::__construct()</methodname>
@@ -144,15 +144,15 @@ class FooController extends Zend_Controller_Action
             cualquier invocación personalizada pasados desde el front
             controller. Si debe anular el constructor, asegúrese de llamar a
             <methodname>parent::__construct($request, $response, $invokeArgs)</methodname>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             La manera más apropiada de personalizar la instanciación es
             utilizar el método <methodname>init()</methodname>, el cual es llamado como la
             última tarea de <methodname>__construct()</methodname>.
             Por ejemplo, si se quiere conectar a una base de datos en la
             instanciación:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -173,7 +173,7 @@ class FooController extends Zend_Controller_Action
     <sect2 id="zend.controller.action.prepostdispatch">
         <title>Ganchos de Pre- and Post-Despacho</title>
 
-        <para>
+       <para>
             <classname>Zend_Controller_Action</classname> especifica dos
             métodos que pueden ser llamados para marcar una solicitud de acción,
             <methodname>preDispatch()</methodname> y <methodname>postDispatch()</methodname>.
@@ -182,64 +182,64 @@ class FooController extends Zend_Controller_Action
             <methodname>_forward()</methodname> en <methodname>preDispatch()</methodname>, se saltará
             la acción), por ejemplo, o colocando contenido generado en una
             plantilla general del sitio (<methodname>postDispatch()</methodname>).
-        </para>
-		
-		        <note>
+       </para>
+        
+                <note>
             <title>Usage of init() vs. preDispatch()</title>
 
-            <para>
+           <para>
                 In the <link linkend="zend.controller.action.initialization">previous
                     section</link>, we introduced the <methodname>init()</methodname> method, and
                 in this section, the <methodname>preDispatch()</methodname> method. What is the
                 difference between them, and what actions would you take in each?
-            </para>
+           </para>
 
-            <para>
+           <para>
                 The <methodname>init()</methodname> method is primarily intended for extending the
                 constructor. Typically, your constructor should simply set object state, and not
                 perform much logic. This might include initializing resources used in the controller
                 (such as models, configuration objects, etc.), or assigning values retrieved from
                 the front controller, bootstrap, or a registry.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 The <methodname>preDispatch()</methodname> method can also be used to set object
                 or environmental (e.g., view, action helper, etc.) state, but its primary purpose
                 is to make decisions about whether or not the requested action should be dispatched.
                 If not, you should then <methodname>_forward()</methodname> to another action, or
                 throw an exception.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Note: <methodname>_forward()</methodname> actually will not work correctly when
                 executed from <methodname>init()</methodname>, which is a formalization of the
                 intentions of the two methods.
-            </para>
+           </para>
         </note>
     </sect2>
 
     <sect2 id="zend.controller.action.accessors">
         <title>Accessors (Accededores)</title>
 
-        <para>
+       <para>
             Con el objeto, se registran una serie de objetos y variables,
             y cada uno tiene métodos de acceso.
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem><para>
                 <emphasis>Objecto Requerimiento</emphasis>: <methodname>getRequest()</methodname>
                 puede ser utilizado para recuperar el objeto solicitud
                 utilizado para llamar a la acción.
-            </para></listitem>
+           </para></listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>Objecto Respuesta</emphasis>:
                     <methodname>getResponse()</methodname> puede ser utilizado para
                     recuperar el objeto respuesta agregando la respuesta final.
                     Algunas llamadas típicas podrían ser:
-                </para>
+               </para>
 
                  <programlisting language="php"><![CDATA[
 $this->getResponse()->setHeader('Content-Type', 'text/xml');
@@ -248,18 +248,18 @@ $this->getResponse()->appendBody($content);
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>Argumentos de Invocación</emphasis>: el front
                     controller puede empujar parámetros al router, al
                     despachador, y al controlador de acción. Para recuperarlos,
                     use <methodname>getInvokeArg($key)</methodname>; por otra parte, se
                     puede traer toda la lista utilizando
                     <methodname>getInvokeArgs()</methodname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>Parámetros de Requerimientos</emphasis>:
                     La objeto solicitud agrega parámetros de solicitud,
                     como cualquiera de los parámetros <constant>_GET</constant> o <constant>_POST</constant>,
@@ -269,22 +269,22 @@ $this->getResponse()->appendBody($content);
                     También se pueden establecer parámetros de solicitud usando
                     <methodname>_setParam()</methodname>; lo que es útil cuando se reenvían
                     a acciones adicionales.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     Para probar si un parámetro existe o no (muy útil para
                     bifurcaciones lógicas), use <methodname>_hasParam($key)</methodname>.
-                </para>
+               </para>
 
                 <note>
-                    <para>
+                   <para>
                         <methodname>_getParam()</methodname> puede tomar opcionalmente un
                         segundo argumento que contiene un valor por defecto a
                         utilizar si el parámetro no está establecido o está
                         vacío.  Usándolo elimina la necesidad de llamar
                         previamente a <methodname>_hasParam()</methodname> para
                         recuperar un valor:
-                    </para>
+                   </para>
 
                      <programlisting language="php"><![CDATA[
 // Usar por defecto el valor 1 si el id no está establecido
@@ -308,15 +308,15 @@ if ($this->_hasParam('id') {
         <note id="zend.controller.action.viewintegration.viewrenderer">
             <title>Integración de la Vista por Defecto via ViewRenderer</title>
 
-            <para>
+           <para>
                 El contenido de esta sección sólo es válida cuando usted tiene
                 explícitamente deshabilitado a
                 <link linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link>.
                 De lo contrario, puede saltarse esta sección.
-            </para>
+           </para>
         </note>
 
-        <para>
+       <para>
             <classname>Zend_Controller_Action</classname> proporciona un
             mecanismo rudimentario y flexible para ver la integración.
             Hay dos métodos para lograrlo, <methodname>initView()</methodname> y
@@ -324,12 +324,12 @@ if ($this->_hasParam('id') {
             carga la propiedad pública, y este último muestra una vista en
             base a la acción requerida actual, utilizando la jerarquía del
             directorio para determinar el path del script.
-        </para>
+       </para>
 
         <sect3 id="zend.controller.action.viewintegration.initview">
             <title>Inicialización de la Vista</title>
 
-            <para>
+           <para>
                 <methodname>initView()</methodname> inicializa el objeto vista.
                 <methodname>render()</methodname> llama a <methodname>initView()</methodname>
                 con el fin de recuperar el objeto vista, pero puede ser
@@ -339,12 +339,12 @@ if ($this->_hasParam('id') {
                 clase que implemente <classname>Zend_View_Interface</classname>.
                 Si <varname>$view</varname> ya ha sido inicializada, simplemente
                 devuelve esa propiedad.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 La implementación por defecto hace la siguiente hipótesis de la
                 estructura del directorio:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 applicationOrModule/
@@ -358,7 +358,7 @@ applicationOrModule/
         filters/
 ]]></programlisting>
 
-            <para>
+           <para>
                 En otras palabras, los scripts de vista se supone están en el
                 subdirectorio <filename>/views/scripts/</filename>, y en el subdirectorio
                 <filename>/views/</filename> se supone que contiene funcionalidades
@@ -367,15 +367,15 @@ applicationOrModule/
                 será utilizado como el path base, con directorios nombrados
                 después que los controladores individuales proporcionen una
                 jerarquía a los scripts de vista.
-            </para>
+           </para>
         </sect3>
 
         <sect3 id="zend.controller.action.viewintegration.render">
             <title>Suministrando las Vistas</title>
 
-            <para>
+           <para>
                 <methodname>render()</methodname> tiene la siguiente firma:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 string render(string $action = null,
@@ -383,7 +383,7 @@ string render(string $action = null,
               bool $noController = false);
 ]]></programlisting>
 
-            <para>
+           <para>
                 <methodname>render()</methodname> suministra un script de vista.
                 Si no se pasan argumentos, se supone que el script requerido es
                 <filename>[controller]/[action].phtml</filename> (donde
@@ -398,7 +398,7 @@ string render(string $action = null,
                 <link linkend="zend.controller.response.namedsegments">
                 named segment</link> en el objeto respuesta, pase un valor a
                 <varname>$name</varname>.
-            </para>
+           </para>
 
             <note><para>
                     Dado que el controlador y los nombres de acción pueden
@@ -412,11 +412,11 @@ string render(string $action = null,
                     Si su método de acción contiene camelCasing, recuerde que
                     esto se traducirá en palabras separadas por '-'
                     al determinar el nombre del archivo del script de vista.
-            </para></note>
+           </para></note>
 
-            <para>
+           <para>
                 Algunos ejemplos:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class MyController extends Zend_Controller_Action
@@ -454,80 +454,80 @@ class MyController extends Zend_Controller_Action
     <sect2 id="zend.controller.action.utilmethods">
         <title>Métodos Utilitarios</title>
 
-        <para>
+       <para>
             Además de los accesadores y de los métodos de integración de vistas,
             <classname>Zend_Controller_Action</classname> tiene varios
             métodos utilitarios para realizar tareas comunes dentro de sus
             métodos de acción (o de pre- y post-dispatch).
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>_forward($action, $controller = null, $module = null,
                         array $params = null)</methodname>: realiza otra acción. Si es
                     llamado en <methodname>preDispatch()</methodname>, la acción actualmente
                     requerida se saltará en favor de la nueva.
                     De lo contrario, después de procesar la acción actual,
                     se ejecutará la acción solicitada en _forward().
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>_redirect($url, array $options =
                         array())</methodname>: redireccionar a otro lugar.
                         Este método toma una <acronym>URL</acronym> y un conjunto de opciones.
                         Por defecto, realiza una redirección <acronym>HTTP</acronym> 302.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     Las opciones pueden incluir uno o más de los siguientes:
-                </para>
+               </para>
 
                 <itemizedlist>
                     <listitem>
-                        <para>
+                       <para>
                             <emphasis>exit:</emphasis> ya sea para salir
                             inmediatamente o no. Si así lo solicita, limpiamente
                             cerrará cualquier sesión abierta y realizará
                             la redirección.
-                        </para>
+                       </para>
 
-                        <para>
+                       <para>
                             Puede configurar esta opción globalmente en el
                             controlador utilizando el accesador
                             <methodname>setRedirectExit()</methodname>.
-                        </para>
+                       </para>
                     </listitem>
 
                     <listitem>
-                        <para>
+                       <para>
                             <emphasis>prependBase:</emphasis> ya sea
                             anteponiendo o no la base <acronym>URL</acronym> registrada con el
                             objeto solicitud a la <acronym>URL</acronym> provista.
-                        </para>
+                       </para>
 
-                        <para>
+                       <para>
                             Puede configurar esta opción globalmente en el
                             controlador utilizando el accesador
                             <methodname>setRedirectPrependBase()</methodname>.
-                        </para>
+                       </para>
                     </listitem>
 
                     <listitem>
-                        <para>
+                       <para>
                             <emphasis>code:</emphasis> qué código <acronym>HTTP</acronym>
                             utilizar en la redirección. Por defecto,
                             se utiliza un <acronym>HTTP</acronym> 302; se puede utilizar cualquier
                             código entre 301 y 306.
-                        </para>
+                       </para>
 
-                        <para>
+                       <para>
                             Puede configurar esta opción globalmente en el
                             controlador utilizando el accesador
                             <methodname>setRedirectCode()</methodname>.
-                        </para>
+                       </para>
                     </listitem>
                 </itemizedlist>
             </listitem>
@@ -537,34 +537,34 @@ class MyController extends Zend_Controller_Action
     <sect2 id="zend.controller.action.subclassing">
         <title>Controladores de Acción y haciendo Subclases</title>
 
-        <para>
+       <para>
             Por diseño, <classname>Zend_Controller_Action</classname>
             debe ser "subclaseada" a fin de crear un controlador de acción.
             Como mínimo, necesitará definir los métodos de acción que podrá
             llamar el controlador.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Además de crear una funcionalidad útil para su aplicaciones web,
             también puede encontrar que está repitiendo demasiado los mismos
             setups o métodos utilitarios en sus diferentes controladores;
             si así fuera, creando una clase base común del controlador
             que extienda <classname>Zend_Controller_Action</classname> puede
             resolver esta redundacia.
-        </para>
+       </para>
 
         <example id="zend.controller.action.subclassing.example-call">
             <title>Manejando Acciones No Existentes</title>
 
-            <para>
+           <para>
                 Si hay una solicitud a un controlador que incluye un método de
                 acción no definido, se invocará a
                 <methodname>Zend_Controller_Action::__call()</methodname>.
                 <methodname>__call()</methodname> es, por supuesto, el método mágico de <acronym>PHP</acronym>
                 para la sobrecarga del método.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Por defecto, este método lanza un
                 <classname>Zend_Controller_Action_Exception</classname>
                 indicando que el método no se encuentró en el controlador.
@@ -575,13 +575,13 @@ class MyController extends Zend_Controller_Action
                 código 500. Esto le permite diferenciar fácilmente entre una
                 página no encontrada y errores de aplicación con su
                 manejador de errores.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Usted debe anular esta funcionalidad si desea realizar otras
                 operaciones. Por ejemplo, si desea mostrar un mensaje de error,
                 usted podría escribir algo como esto:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class MyController extends Zend_Controller_Action
@@ -603,10 +603,10 @@ class MyController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Otra posibilidad es que puede querer avanzar a un controlador
                 de página por defecto:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class MyController extends Zend_Controller_Action
@@ -634,7 +634,7 @@ class MyController extends Zend_Controller_Action
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             Además de sobrecargar <methodname>__call()</methodname>, cada uno de los
             métodos gancho de inicialización, utilidad, accesador, vista,
             y despacho mencionados anteriormente en este capítulo pueden ser
@@ -642,7 +642,7 @@ class MyController extends Zend_Controller_Action
             Como ejemplo, si está almacenando su objeto vista en un registro,
             quizás desee modificar su método <methodname>initView()</methodname> con código
             parecido al siguiente:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 abstract class My_Base_Controller extends Zend_Controller_Action
@@ -663,11 +663,11 @@ abstract class My_Base_Controller extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             Es de esperar, que de la información en este capítulo, usted puede ver
             la flexibilidad de este componente en particular y cómo puede darle
             forma a su aplicaciones o a las necesidades de su sitio web.
-        </para>
+       </para>
     </sect2>
 </sect1>
 <!--

+ 9 - 9
documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-ActionStack.xml

@@ -4,35 +4,35 @@
 <sect3 id="zend.controller.actionhelpers.actionstack">
     <title>ActionStack</title>
 
-    <para> El helper <emphasis>ActionStack</emphasis> le permite empujar
+   <para>El helper <emphasis>ActionStack</emphasis> le permite empujar
         requerimientos al <link
             linkend="zend.controller.plugins.standard.actionstack"
             >ActionStack</link> plugin del front controller, el cual le ayuda
         efectivamente a crear una cola de acciones a ejecutar durante la
         solicitud. El helper le permite añadir actions ya sea mediante la
-        especificación de los objetos o una 
-        nueva solicitud action - controller - module. </para>
+        especificación de los objetos o una
+        nueva solicitud action - controller - module.</para>
 
     <note>
         <title>Invocando al Ayudante ActionStack Inicializa el Plugin de
             ActionStack</title>
 
-        <para> Invocando al helper <emphasis>ActionStack</emphasis>
+       <para>Invocando al helper <emphasis>ActionStack</emphasis>
             implicitamente registra el plugin de
                 <emphasis>ActionStack</emphasis> -- lo que significa que no
             necesita registrar explícitamente el plugin de
                 <emphasis>ActionStack</emphasis> para utilizar esta
-            funcionalidad. </para>
+            funcionalidad.</para>
     </note>
 
     <example id="zend.controller.actionhelpers.actionstack.simple">
         <title>Agregando una Tarea Usando Nombres de Acción, Controllador y
             Módulo</title>
 
-        <para> A menudo, es más sencillo simplemente especificar la acción, el
+       <para>A menudo, es más sencillo simplemente especificar la acción, el
             controlador y el módulo (y parámetros opcionales de requerimientos),
             tal como cuando llama a
-                <methodname>Zend_Controller_Action::_forward()</methodname>: </para>
+                <methodname>Zend_Controller_Action::_forward()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -59,9 +59,9 @@ class FooController extends Zend_Controller_Action
     <example id="zend.controller.actionhelpers.actionstack.simple2">
         <title>Agregando una Tarea al Objeto Solicitud (Request)</title>
 
-        <para> A veces la naturaleza <acronym>OOP</acronym> de un objeto
+       <para>A veces la naturaleza <acronym>OOP</acronym> de un objeto
             solicitud tiene más sentido; puede pasar también tal objeto al
-            ayudante <emphasis>ActionStack</emphasis>. </para>
+            ayudante <emphasis>ActionStack</emphasis>.</para>
 
         <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action

+ 49 - 49
documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-AutoComplete.xml

@@ -4,15 +4,15 @@
 <sect3 id="zend.controller.actionhelpers.autocomplete">
     <title>AutoComplete</title>
 
-    <para>
+   <para>
         Muchas bibliotecas de Javascript con <acronym>AJAX</acronym> ofrecen funcionalidad para
         proporcionar autocompletado según la cual un selectlist de resultados
         potencialmente concordantes se visualiza a medida que el usuario tipea.
         El ayudante <emphasis>AutoComplete</emphasis> pretende simplificar el retorno
         de respuestas aceptables a esos métodos.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Dado que no todas la bibliotecas JS implementan el autocompletado de
         la misma manera, el ayudante <emphasis>AutoComplete</emphasis> ofrece algunas
         funcionalidades abstractas de base necesarias para muchas bibliotecas,
@@ -20,11 +20,11 @@
         Los tipos de datos de retorno son generalmente o bien arrays de strings
         <acronym>JSON</acronym>, array de arrays <acronym>JSON</acronym> (donde cada miembro del array está en un array
         asociativo de metadatos utilizado para crear la selectlist), o <acronym>HTML</acronym>.
-    </para>
+   </para>
 
-    <para>
+   <para>
         El uso básico para cada aplicación es el mismo:
-    </para>
+   </para>
 
          <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -47,46 +47,46 @@ class FooController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-    <para>
+   <para>
         Por defecto, el autocompletado hace lo siguiente:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem><para>
                 Desactiva esquemas y a ViewRenderer.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
                 Establece las cabeceras apropiadas para la respuesta.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
                 Establece el cuerpo de la respuesta con datos
                 codificados o formateados para autocompletar.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
                 Envía la respuesta.
-        </para></listitem>
+       </para></listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         Los métodos disponibles para el ayudante incluyen:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem><para>
                 <methodname>disableLayouts()</methodname> puede ser utilizada para
                 desactivar esquemas y a ViewRenderer. Típicamente, esto se
                 llama dentro de <methodname>prepareAutoCompletion()</methodname>.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
                 <methodname>encodeJson($data, $keepLayouts = false)</methodname>
                 codificará datos a <acronym>JSON</acronym>, y opcionalmente habilitando o
                 deshabilitando esquemas. Típicamente, esto se llama dentro de
                 <methodname>prepareAutoCompletion()</methodname>.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
                 <methodname>prepareAutoCompletion($data, $keepLayouts = false)</methodname>
@@ -94,7 +94,7 @@ class FooController extends Zend_Controller_Action
                 respuesta para la aplicación concreta, opcionalmente los
                 esquemas pueden habilitarse o deshabilitarse.
                 El valor de retorno variará dependiendo de la implementación.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
                 <methodname>sendAutoCompletion($data, $keepLayouts = false)</methodname>
@@ -102,7 +102,7 @@ class FooController extends Zend_Controller_Action
                 respuesta para la aplicación concreta. Esta llama a
                 <methodname>prepareAutoCompletion()</methodname>, y entonces envía la
                 respuesta.
-        </para></listitem>
+       </para></listitem>
 
         <listitem><para>
                 <methodname>direct($data, $sendNow = true, $keepLayouts =
@@ -111,31 +111,31 @@ class FooController extends Zend_Controller_Action
                      <varname>$sendNow</varname> se utiliza para determinar si se debe
                     llamar a <methodname>sendAutoCompletion()</methodname> o a
                     <methodname>prepareAutoCompletion()</methodname>, respectivamente.
-        </para></listitem>
+       </para></listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         Actualmente, <methodname>AutoComplete</methodname> soporta las bibliotecas  <acronym>AJAX</acronym> de
         Dojo y Scriptaculous.
-    </para>
+   </para>
 
     <sect4 id="zend.controller.actionhelpers.autocomplete.dojo">
         <title>AutoCompletado con Dojo</title>
 
-        <para>
+       <para>
             Dojo no tiene un widget de autocompletado per se, pero tiene dos
             widgets que pueden ejecutar AutoCompletado: ComboBox y
             FilteringSelect. En ambos casos, necesitan de un almacén de datos
             que implemente QueryReadStore; para obtener más información sobre
             estos temas, ver la documentación en
             <ulink url="http://dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/data-retrieval-dojo-data-0">dojo.data</ulink>
-        </para>
+       </para>
 
-        <para>
+       <para>
             En Zend Framework, puede pasar un simple array indexado al ayudante
             AutoCompleteDojo, y este regresará una adecuada respuesta <acronym>JSON</acronym>
             para su uso como almacenamiento:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 // dentro del controlador de acción:
@@ -145,7 +145,7 @@ $this->_helper->autoCompleteDojo($data);
         <example id="zend.controller.actionhelpers.autocomplete.dojo.example1">
             <title>AutoCompletion con Dojo Usando Zend MVC</title>
 
-            <para>
+           <para>
                 AutoCompletion con Dojo via Zend <acronym>MVC</acronym> requiere varias cosas:
                 generar un objeto form para el ComboBox en el que usted quiere
                 AutoCompletado, un controlador de acción para prestar servicio
@@ -153,9 +153,9 @@ $this->_helper->autoCompleteDojo($data);
                 personalizado para conectar a la acción AutoCompletion,
                 y la generación del Javascript a utilizar en la inicializción
                 de AutoCompletion del lado del servidor.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 En primer lugar, veamos el Javascript necesario. Dojo ofrece
                 un marco completo para crear Javascript <acronym>OOP</acronym>, tal como lo hace
                 Zend Framework para <acronym>PHP</acronym>. Parte de eso es la capacidad de
@@ -164,7 +164,7 @@ $this->_helper->autoCompleteDojo($data);
                 el directorio de Dojo forma parte de la distribución Dojo.
                 Dentro del directorio, crearemos un archivo Javascript,
                 <filename>TestNameReadStore.js</filename>, con el siguiente contenido:
-            </para>
+           </para>
 
             <programlisting language="javascript"><![CDATA[
 dojo.provide("custom.TestNameReadStore");
@@ -176,17 +176,17 @@ dojo.declare("custom.TestNameReadStore", dojox.data.QueryReadStore, {
 });
 ]]></programlisting>
 
-            <para>
+           <para>
                 Esta clase es simplemente una extensión del propio
                 QueryReadStore de Dojo, que es de por sí misma una clase
                 abstracta. Simplemente definimos un método por el cual
                 realizamos la solicitud, y se le asigna al elemento 'test'.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 A continuación, vamos a crear el elemento form para el que
                 queremos AutoCompletion:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class TestController extends Zend_Controller_Action
@@ -219,7 +219,7 @@ class TestController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Aquí, estamos simplemente creando un formulario con los métodos
                 'test' y 'go'. El método 'test' agrega varios atributos
                 especiales específicos de Dojo: dojoType, store, <emphasis>AutoComplete</emphasis>
@@ -232,12 +232,12 @@ class TestController extends Zend_Controller_Action
                 una lista de aciertos. Por último, 'hasDownArrow' crea una
                 flecha abajo similar a un select box para que podamos
                 mostrar y ocultar los aciertos o concordancias.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Vamos a añadir un método para mostrar la forma, así como un
                 punto final para el procesamiento de AutoCompletion:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class TestController extends Zend_Controller_Action
@@ -274,7 +274,7 @@ class TestController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 En nuestro <methodname>autocompleteAction()</methodname> hacemos una serie
                 de cosas. En primer lugar, esperamos a asegurarnos de que
                 tengamos una petición post, y que existe un parámetro 'form'
@@ -285,9 +285,9 @@ class TestController extends Zend_Controller_Action
                 lado la implementación de <methodname>getData()</methodname> aquí --
                 podría ser cualquier tipo de fuente de datos). Por último,
                 enviamos nuestros aciertos a nuestro ayudante AutoCompletion.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Ahora que tenemos todas las piezas en el backend, veamos lo que
                 necesitamos para entregar en nuestro script de vista para la
                 página final.
@@ -296,7 +296,7 @@ class TestController extends Zend_Controller_Action
                 las biblotecas Dojo apropiadas -- incluyendo que nuestro data
                 store personalizado -- estén cargadas.
                 Veamos el script de vista, el cual comenta los pasos:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 <?php // establecemos nuestro data store: ?>
@@ -331,32 +331,32 @@ dojo.require("custom.TestNameReadStore");
 <?php $this->headScript()->captureEnd()
 ]]></programlisting>
 
-            <para>
+           <para>
                 Note que las llamadas a los ayudantes de vista como headStyle
                 y headScript; son ubicadores, que podemos suministrar a la
                 sección 'head' del <acronym>HTML</acronym> de nuestro script de vista.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Ahora tenemos todas las piezas para que el AutoCompletion
                 de Dojo pueda trabajar.
-            </para>
+           </para>
         </example>
     </sect4>
 
     <sect4 id="zend.controller.actionhelpers.autocomplete.scriptaculous">
         <title>AutoCompletion con Scriptaculous</title>
-        <para>
+       <para>
             <ulink url="http://wiki.script.aculo.us/scriptaculous/show/Ajax.Autocompleter">Scriptaculous</ulink>
             espera una respuesta <acronym>HTML</acronym> en un formato específico.
-        </para>
+       </para>
 
-        <para>
+       <para>
             El ayudante para utilizar con esta biblioteca es
             'AutoCompleteScriptaculous'. Simplemente proporcionarle un array de
             datos, y el ayudante creará una respuesta <acronym>HTML</acronym> compatible con
             Ajax.Autocompleter.
-        </para>
+       </para>
     </sect4>
 </sect3>
 <!--

+ 168 - 168
documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-ContextSwitch.xml

@@ -4,40 +4,40 @@
 <sect3 id="zend.controller.actionhelpers.contextswitch">
     <title>ContextSwitch con AjaxContext</title>
 
-    <para> El ayudante de acción <emphasis>ContextSwitch</emphasis> está
+   <para>El ayudante de acción <emphasis>ContextSwitch</emphasis> está
         destinado a facilitar el regreso de respuestas de diferentes formatos de
         solicitud. El helper <emphasis>AjaxContext</emphasis> es una
         versión especializada de <emphasis>ContextSwitch</emphasis> que
-        facilita el regreso de respuestas a XmlHttpRequests. </para>
+        facilita el regreso de respuestas a XmlHttpRequests.</para>
 
-    <para> Para habilitar alguno, usted debe proporcionar indicios en su
+   <para>Para habilitar alguno, usted debe proporcionar indicios en su
         controlador de qué acciones pueden responder a que contextos. Si una
         solicitud entrante indica un contexto válido para la acción determinada,
-        entonces el ayudante: </para>
+        entonces el ayudante:</para>
 
     <itemizedlist>
         <listitem>
-            <para> Deshabilita los esquemas, si están habilitados. </para>
+           <para>Deshabilita los esquemas, si están habilitados.</para>
         </listitem>
 
         <listitem>
-            <para> Establecer un sufijo de vista alternativo, requiriendo de
+           <para>Establecer un sufijo de vista alternativo, requiriendo de
                 manera efectiva un script de vista separado para el contexto.
-            </para>
+           </para>
         </listitem>
 
         <listitem>
-            <para> Envía las cabeceras de respuesta apropiadas para el contexto
-                deseado. </para>
+           <para>Envía las cabeceras de respuesta apropiadas para el contexto
+                deseado.</para>
         </listitem>
 
         <listitem>
-            <para> Opcionalmente, llama a llamadas de retorno especifícas para
-                configurar el contexto y/o realizar post-procesamiento. </para>
+           <para>Opcionalmente, llama a llamadas de retorno especifícas para
+                configurar el contexto y/o realizar post-procesamiento.</para>
         </listitem>
     </itemizedlist>
 
-    <para> Como ejemplo, tomemos el siguiente controlador: </para>
+   <para>Como ejemplo, tomemos el siguiente controlador:</para>
 
     <programlisting language="php"><![CDATA[
 class NewsController extends Zend_Controller_Action
@@ -66,10 +66,10 @@ class NewsController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-    <para> Digamos que queremos que <methodname>listAction()</methodname>
+   <para>Digamos que queremos que <methodname>listAction()</methodname>
         también esté disponible en un formato <acronym>XML</acronym>. En lugar
         de crear una acción diferente, podemos indicarle que puede devolver una
-        respuesta <acronym>XML</acronym>: </para>
+        respuesta <acronym>XML</acronym>:</para>
 
     <programlisting language="php"><![CDATA[
 class NewsController extends Zend_Controller_Action
@@ -85,72 +85,72 @@ class NewsController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-    <para> Esto es lo que hará: </para>
+   <para>Esto es lo que hará:</para>
 
     <itemizedlist>
         <listitem>
-            <para> Establecer la cabecera de respuesta 'Content-Type' a
-                '<filename>text/xml</filename>'. </para>
+           <para>Establecer la cabecera de respuesta 'Content-Type' a
+                '<filename>text/xml</filename>'.</para>
         </listitem>
 
         <listitem>
-            <para> Cambiar el sufijo de vista de '<filename>xml.phtml</filename>' (o, si usa un
-                sufifo de vista alternativo, 'xml.[su sufijo]'). </para>
+           <para>Cambiar el sufijo de vista de '<filename>xml.phtml</filename>' (o, si usa un
+                sufifo de vista alternativo, 'xml.[su sufijo]').</para>
         </listitem>
     </itemizedlist>
 
-    <para> Ahora, necesitará crear un nuevo script de vista,
-        <filename>news/list.xml.phtml</filename>', que creará y mostrará a <acronym>XML</acronym>. </para>
+   <para>Ahora, necesitará crear un nuevo script de vista,
+        <filename>news/list.xml.phtml</filename>', que creará y mostrará a <acronym>XML</acronym>.</para>
 
-    <para> Para determinar si una solicitud debe iniciar un cambio de contexto,
+   <para>Para determinar si una solicitud debe iniciar un cambio de contexto,
         el ayudante comprueba si hay un token en el objeto solicitud. Por
         defecto, busca el parámetro 'format', aunque esto puede ser configurado.
         Esto significa que, en muchos casos, para provocar un cambio de
-        contexto, puede agregar un parámetro 'format' a su solicitud: </para>
+        contexto, puede agregar un parámetro 'format' a su solicitud:</para>
 
     <itemizedlist>
         <listitem>
-            <para> Via parámetro <acronym>URL</acronym>:
+           <para>Via parámetro <acronym>URL</acronym>:
                 <filename>/news/list/format/xml</filename> (recordar que
                 el valor por defecto del esquema de ruteo permite pares
-                arbitrarios de clave/valor tras la acción). </para>
+                arbitrarios de clave/valor tras la acción).</para>
         </listitem>
 
         <listitem>
-            <para> Via parámetro <constant>GET</constant>:
+           <para>Via parámetro <constant>GET</constant>:
                 <command>/news/list?format=xml</command>
-            </para>
+           </para>
         </listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         <emphasis>ContextSwitch</emphasis> le permite especificar contextos
         arbitrarios, incluso qué sufijo cambiará (si hay alguno), cualquier
         cabecera de respuesta que deba ser enviada, y callbacks arbitrarios para
-        la inicialización y posterior procesamiento. </para>
+        la inicialización y posterior procesamiento.</para>
 
     <sect4 id="zend.controller.actionhelpers.contextswitch.contexts">
         <title>Contextos Disponibles por Defecto</title>
 
-        <para> Por defecto, dos contextos están a disposición del ayudante
+       <para>Por defecto, dos contextos están a disposición del ayudante
                 <emphasis>ContextSwitch</emphasis> : <acronym>JSON</acronym>
-            y <acronym>XML</acronym>. </para>
+            y <acronym>XML</acronym>.</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <emphasis>JSON</emphasis>. El contexto
                         <acronym>JSON</acronym> establece la cabecera de
                     respuesta 'Content-Type' a '<filename>application/json</filename>', y el sufijo
-                    del script de vista a '<filename>json.phtml</filename>'. </para>
+                    del script de vista a '<filename>json.phtml</filename>'.</para>
 
-                <para> Sin embargo, por defecto, no es necesario un script de
+               <para>Sin embargo, por defecto, no es necesario un script de
                     vista. Simplemente serializará todas las variables de la
                     vista, y emitirá la respuesta <acronym>JSON</acronym>
-                    inmediatamente. </para>
+                    inmediatamente.</para>
 
-                <para> Este comportamiento puede ser desactivado apagando la
-                    serialización automática de <acronym>JSON</acronym>: </para>
+               <para>Este comportamiento puede ser desactivado apagando la
+                    serialización automática de <acronym>JSON</acronym>:</para>
 
                 <programlisting language="php"><![CDATA[
 $this->_helper->contextSwitch()->setAutoJsonSerialization(false);
@@ -158,13 +158,13 @@ $this->_helper->contextSwitch()->setAutoJsonSerialization(false);
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis><acronym>XML</acronym></emphasis>. El contexto <acronym>XML</acronym>
                     establece la cabecera de respuesta 'Content-Type' a
                     '<filename>text/xml</filename>', y el sufijo del script de
                     vista a '<filename>xml.phtml</filename>'.
                     Necesitará crear un script de vista nuevo para el contexto.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
     </sect4>
@@ -172,44 +172,44 @@ $this->_helper->contextSwitch()->setAutoJsonSerialization(false);
     <sect4 id="zend.controller.actionhelpers.contextswitch.custom">
         <title>Creando Contextos Personalizados</title>
 
-        <para> A veces, los contextos por defecto no son suficientes. Por
+       <para>A veces, los contextos por defecto no son suficientes. Por
             ejemplo, puede que desee devolver <acronym>YAML</acronym>, o <acronym>PHP</acronym>
             serializado, un <acronym>RSS</acronym> o <acronym>ATOM</acronym> feed, etc.
-                <emphasis>ContextSwitch</emphasis> le permite hacerlo. </para>
+                <emphasis>ContextSwitch</emphasis> le permite hacerlo.</para>
 
-        <para> La forma más fácil para añadir un nuevo contexto es a través del
+       <para>La forma más fácil para añadir un nuevo contexto es a través del
             método <methodname>addContext()</methodname>. Este método tiene dos
             argumentos, el nombre del contexto, y un array de especificación. La
-            especificación debería incluir uno o más de los siguientes: </para>
+            especificación debería incluir uno o más de los siguientes:</para>
 
         <itemizedlist>
             <listitem>
-                <para><emphasis>suffix</emphasis>: el sufijo a anteponer al
+               <para><emphasis>suffix</emphasis>: el sufijo a anteponer al
                     sufijo de la vista por defecto tal como está registrado en
                     ViewRenderer.</para>
             </listitem>
 
             <listitem>
-                <para><emphasis>headers</emphasis>: un array de pares
+               <para><emphasis>headers</emphasis>: un array de pares
                     cabecera/valor que desea enviar como parte de la respuesta.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para><emphasis>callbacks</emphasis>: un array que contiene una
+               <para><emphasis>callbacks</emphasis>: un array que contiene una
                     o más de las claves 'init' o 'post', apuntando a callbacks
                         <acronym>PHP</acronym> válidos que pueden utilizarse
                     para inicializar el contexto y posterior
                     procesamiento.</para>
 
-                <para>La inicialización de callbacks ocurre cuando el contexto
+               <para>La inicialización de callbacks ocurre cuando el contexto
                     es detectado por <emphasis>ContextSwitch</emphasis>.
                     Usted puede usarlo para ejecutar una lógica arbitraria. Por
                     ejemplo, el contexto <acronym>JSON</acronym> utiliza un
                     callback para desactivar a ViewRenderer cuando está activada
                     la serialización auto-JSON.</para>
 
-                <para>El post procesamiento ocurre durante la rutina de la
+               <para>El post procesamiento ocurre durante la rutina de la
                     acción <methodname>postDispatch()</methodname>, y puede ser
                     utilizada para ejecutar una lógica arbitraria. Como ejemplo,
                     el contexto <acronym>JSON</acronym> utiliza un callback para
@@ -220,75 +220,75 @@ $this->_helper->contextSwitch()->setAutoJsonSerialization(false);
             </listitem>
         </itemizedlist>
 
-        <para> Hay una variedad de métodos para interactuar con contextos: </para>
+       <para>Hay una variedad de métodos para interactuar con contextos:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>addContext($context, array $spec)</methodname>:
                     agrega un nuevo contexto. Lanza una excepción si el contexto
-                    ya existe. </para>
+                    ya existe.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setContext($context, array $spec)</methodname>:
                     añade un nuevo contexto o sobrescribirá un contexto
                     existente. Usa la misma especificación que
-                        <methodname>addContext()</methodname>. </para>
+                        <methodname>addContext()</methodname>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>addContexts(array $contexts)</methodname>: añade
                     muchos contextos de una vez. El array
                     <varname>$contexts</varname> debería ser un array
                     de pares contexto/especificación. Si alguno de los contextos
-                    ya existe, arrojará una excepción. </para>
+                    ya existe, arrojará una excepción.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setContexts(array $contexts)</methodname>: añade
                     nuevos contextos y sobreescribe los existentes. Usa la misma
                     especificación que <methodname>addContexts()</methodname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>hasContext($context)</methodname>: devuelve
                     <constant>TRUE</constant> si el contexto existe, <constant>FALSE</constant>
-                    de lo contrario. </para>
+                    de lo contrario.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getContext($context)</methodname>: recupera un
                     único contexto por su nombre. Devuelve un array siguiendo la
                     especificación usada en
-                        <methodname>addContext()</methodname>. </para>
+                        <methodname>addContext()</methodname>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getContexts()</methodname>: recupera todos los
                     contextos. Devuelve un array de pares
-                    contexto/especificación. </para>
+                    contexto/especificación.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>removeContext($context)</methodname>: elimina un
                     único contexto por su nombre. Devuelve
                         <constant>TRUE</constant> si tiene éxito, <constant>FALSE</constant> si el
-                    contexto no fue encontrado. </para>
+                    contexto no fue encontrado.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>clearContexts()</methodname>: elimina todos los
-                    contextos. </para>
+                    contextos.</para>
             </listitem>
         </itemizedlist>
     </sect4>
@@ -296,15 +296,15 @@ $this->_helper->contextSwitch()->setAutoJsonSerialization(false);
     <sect4 id="zend.controller.actionhelpers.contextswitch.actions">
         <title>Estableciendo los Contextos por Acción</title>
 
-        <para> Hay dos mecanismos para establecer contextos disponibles. Puede
+       <para>Hay dos mecanismos para establecer contextos disponibles. Puede
             crear manualmente los arrays en su controlador, o utilizar varios
-            métodos en <emphasis>ContextSwitch</emphasis> para ensamblarlos. </para>
+            métodos en <emphasis>ContextSwitch</emphasis> para ensamblarlos.</para>
 
-        <para> El método principal para añadir relaciones acción/contexto es
+       <para>El método principal para añadir relaciones acción/contexto es
                 <methodname>addActionContext()</methodname>. Se esperan dos
             argumentos, la acción a la que el contexto se añade, y el nombre de
             un contexto o un array de contextos. Como ejemplo, considere la
-            siguiente clase controlador: </para>
+            siguiente clase controlador:</para>
 
         <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -327,10 +327,10 @@ class FooController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-        <para> Supongamos que queremos añadir un contexto <acronym>XML</acronym>
+       <para>Supongamos que queremos añadir un contexto <acronym>XML</acronym>
             a la acción 'list', y contextos <acronym>XML</acronym> y
                 <acronym>JSON</acronym> a la acción 'comments'. Podríamos
-            hacerlo en el método <methodname>init()</methodname>: </para>
+            hacerlo en el método <methodname>init()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -345,8 +345,8 @@ class FooController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-        <para> Alternativamente, puede simplemente definir la propiedad del
-            array <varname>$context</varname>: </para>
+       <para>Alternativamente, puede simplemente definir la propiedad del
+            array <varname>$context</varname>:</para>
 
         <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -363,87 +363,87 @@ class FooController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-        <para> El anterior es el menos sobrecargado, pero también está expuesto
-            a posibles errores. </para>
+       <para>El anterior es el menos sobrecargado, pero también está expuesto
+            a posibles errores.</para>
 
-        <para> Los siguientes métodos pueden ser utilizados para construir los
-            mapeos del contexto: </para>
+       <para>Los siguientes métodos pueden ser utilizados para construir los
+            mapeos del contexto:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>addActionContext($action,
                     $context)</methodname>: marca uno o más contextos como
                     disponibles para una acción. Si ya existen los mapeos,
                     simplemente se añade a esos mapeos.
                         <methodname>$context</methodname> puede ser un único
-                    contexto, o un array de contextos. </para>
+                    contexto, o un array de contextos.</para>
 
-                <para> Un valor de <constant>TRUE</constant> para el
+               <para>Un valor de <constant>TRUE</constant> para el
                     contexto marcará todos los contextos como disponibles para
-                    la acción. </para>
+                    la acción.</para>
 
-                <para> Un valor vacío de $contexto desactivará todos los
-                    contextos para la acción determinada. </para>
+               <para>Un valor vacío de $contexto desactivará todos los
+                    contextos para la acción determinada.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setActionContext($action,
                     $context)</methodname>: marca uno o más contextos como
                     disponibles para una acción. Si el mapeo ya existe, se
                     reemplaza con los especificados.
                         <methodname>$context</methodname> puede ser un único
-                    contexto, o un array de contextos. </para>
+                    contexto, o un array de contextos.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>addActionContexts(array $contexts)</methodname>:
                     agrega varios pares acción/contexto de una vez.
                          <varname>$contexts</varname> debe ser un array
                     asociativo de pares acción/contexto. Le pasa la petición a
                         <methodname>addActionContext()</methodname>, lo que
                     significa que si los emparejamientos ya existen, se añade a
-                    ellos. </para>
+                    ellos.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setActionContexts(array $contexts)</methodname>:
                     actúa como <methodname>addActionContexts()</methodname>,
                     pero sobreescribe pares de acción/contexto existentes.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>hasActionContext($action,
                     $context)</methodname>: determina si una acción particular
-                    tiene un contexto determinado. </para>
+                    tiene un contexto determinado.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getActionContexts($action = null)</methodname>:
                     devuelve o todos los contextos para una acción determinada,
-                    o todos los pares de acción/contexto. </para>
+                    o todos los pares de acción/contexto.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>removeActionContext($action,
                         $context)</methodname>: elimina uno o más contextos de
                     una acción determinada. <methodname>$context</methodname>
-                    puede ser un único contexto o un array de contextos. </para>
+                    puede ser un único contexto o un array de contextos.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>clearActionContexts($action =
                     null)</methodname>: elimina todos los contextos de una
                     acción determinada, o de todas las acciones con contextos.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
     </sect4>
@@ -452,9 +452,9 @@ class FooController extends Zend_Controller_Action
         <title>Inicializando Conmutación de Contextos (Context
             Switching)</title>
 
-        <para> Para inicializar la conmutación de contexto, necesita llamar a
+       <para>Para inicializar la conmutación de contexto, necesita llamar a
                 <methodname>initContext()</methodname> en su controlador de
-            acción: </para>
+            acción:</para>
 
         <programlisting language="php"><![CDATA[
 class NewsController extends Zend_Controller_Action
@@ -466,10 +466,10 @@ class NewsController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-        <para> En algunos casos, puede querer forzar el contexto utilizado; por
+       <para>En algunos casos, puede querer forzar el contexto utilizado; por
             ejemplo, puede que sólo quiera permitir el contexto XML si la
             conmutación de contexto está activada. Puede hacerlo pasando el
-            contexto a <methodname>initContext()</methodname>: </para>
+            contexto a <methodname>initContext()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 $contextSwitch->initContext('xml');
@@ -479,115 +479,115 @@ $contextSwitch->initContext('xml');
     <sect4 id="zend.controller.actionhelpers.contextswitch.misc">
         <title>Funcionalidad Adicional</title>
 
-        <para> Se pueden utilizar una variedad de métodos para alterar el
+       <para>Se pueden utilizar una variedad de métodos para alterar el
             comportamiento del ayudante <emphasis>ContextSwitch</emphasis>.
-            Estos incluyen: </para>
+            Estos incluyen:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>setAutoJsonSerialization($flag)</methodname>:
                     Por defecto, los contextos <acronym>JSON</acronym>
                     serializarán cualquier variable de vista a notación
                         <acronym>JSON</acronym> y lo devolverán como una
                     respuesta. Si usted desea crear su propia respuesta, debe
                     deshabilitar esta opción; esto debe hacerse antes de llamar
-                    a <methodname>initContext()</methodname>. </para>
+                    a <methodname>initContext()</methodname>.</para>
 
                 <programlisting language="php"><![CDATA[
 $contextSwitch->setAutoJsonSerialization(false);
 $contextSwitch->initContext();
 ]]></programlisting>
 
-                <para> Puede recuperar el valor del flag con
+               <para>Puede recuperar el valor del flag con
                         <methodname>getAutoJsonSerialization()</methodname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setSuffix($context, $suffix,
                         $prependViewRendererSuffix)</methodname>: Con este
                     método, puede especificar un sufijo diferente para
                     utilizarlo en un contexto determinado. El tercer argumento
                     es utilizado para indicar si anteponer o no el actual sufijo
                     de ViewRenderer con el nuevo sufijo; este flag está activado
-                    por defecto. </para>
+                    por defecto.</para>
 
-                <para> Pasando un valor vacío para el sufijo hará que sólo el
-                    sufijo ViewRenderer será utilizado. </para>
+               <para>Pasando un valor vacío para el sufijo hará que sólo el
+                    sufijo ViewRenderer será utilizado.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>addHeader($context, $header,
                         $content)</methodname>: Añadir una cabecera de respuesta
                     para un determinado contexto.
                         <varname>$header</varname> es el nombre de la
                     cabecera, y <varname>$content</varname> es el valor a
-                    pasar por esa cabecera. </para>
+                    pasar por esa cabecera.</para>
 
-                <para> Cada contexto pueden tener múltiples cabeceras;
+               <para>Cada contexto pueden tener múltiples cabeceras;
                         <methodname>addHeader()</methodname> agrega cabeceras
-                    adicionales al stack de cabecera del contexto. </para>
+                    adicionales al stack de cabecera del contexto.</para>
 
-                <para> Si el  <varname>$header</varname> especificado ya
-                    existe para el contexto, arrojará una excepción. </para>
+               <para>Si el  <varname>$header</varname> especificado ya
+                    existe para el contexto, arrojará una excepción.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setHeader($context, $header,
                         $content)</methodname>:
                         <methodname>setHeader()</methodname> actúa igual que
                         <methodname>addHeader()</methodname>, excepto que le
-                    permite sobreescribir cabeceras del contexto actual. </para>
+                    permite sobreescribir cabeceras del contexto actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>addHeaders($context, array
                         $headers)</methodname>: Añade varias cabeceras de una
                     vez a un determinado contexto. Delega a
                         <methodname>addHeader()</methodname>, así que si la
                     cabecera ya existe, arrojará una excepción.
                         <methodname>$headers</methodname> es un array de pares
-                    cabecera/contexto. </para>
+                    cabecera/contexto.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setHeaders($context, array
                         $headers.)</methodname>: como
                         <methodname>addHeaders()</methodname>, excepto que lo
                     delegua a <methodname>setHeader()</methodname>,
                     permitiéndole sobreescribir las cabeceras existentes.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getHeader($context, $header)</methodname>:
                     recuperar el valor de una cabecera para un determinado
-                    contexto. Retorna null si no existe. </para>
+                    contexto. Retorna null si no existe.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>removeHeader($context, $header)</methodname>:
                     eliminar una única cabecera para un determinado contexto.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>clearHeaders($context, $header)</methodname>:
                     eliminar todas las cabeceras para un determinado contexto.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setCallback($context, $trigger,
                         $callback)</methodname>: establecer un callback en un
                     determinado disparador para poner en marcha un determinado
@@ -595,11 +595,11 @@ $contextSwitch->initContext();
                     (indicando que se llamará a un callback para cada contexto
                     de inicialización o postDispatch).
                         <methodname>$callback</methodname> debe ser un callback
-                    válido de <acronym>PHP</acronym>. </para>
+                    válido de <acronym>PHP</acronym>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setCallbacks($context, array
                         $callbacks)</methodname>: establece varios callbacks
                     para un determinado contexto.
@@ -607,51 +607,51 @@ $contextSwitch->initContext();
                     diparadores/callbacks. En realidad, la mayor cantidad de
                     callbacks que pueden ser registrados son dos, uno para la
                     inicialización y otro para el procesamiento posterior.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getCallback($context, $trigger)</methodname>:
                     recuperar un callback para un determinado disparador en un
-                    contexto dado. </para>
+                    contexto dado.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getCallbacks($context)</methodname>: recupera
                     todos los callbacks para un determinado contexto. Devuelve
-                    un array de pares disparor/callback. </para>
+                    un array de pares disparor/callback.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>removeCallback($context, $trigger)</methodname>:
                     elimina un callback para un determinado disparador y
-                    contexto. </para>
+                    contexto.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>clearCallbacks($context)</methodname>: elimina
-                    todos los callbacks para un determinado contexto. </para>
+                    todos los callbacks para un determinado contexto.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setContextParam($name)</methodname>: establece
                     el parámetro de petición para comprobar si un conmutador de
                     contexto ha sido solicitado. El valor por defecto es
                     'format', pero este accededor puede ser utilizado para
-                    establecer un valor alternativo. </para>
+                    establecer un valor alternativo.</para>
 
-                <para>
+               <para>
                     <methodname>getContextParam()</methodname> puede ser
-                    utilizado para recuperar el valor actual. </para>
+                    utilizado para recuperar el valor actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setAutoDisableLayout($flag)</methodname>: Por
                     defecto, los esquemas están deshabilitados cuando sucede una
                     conmutación de contexto; esto es porque normalmente los
@@ -662,20 +662,20 @@ $contextSwitch->initContext();
                     comportamiento pasando un valor falso a
                         <methodname>setAutoDisableLayout()</methodname>. Usted
                     debería hacer esto <emphasis>antes</emphasis> de llamar a
-                        <methodname>initContext()</methodname>. </para>
+                        <methodname>initContext()</methodname>.</para>
 
-                <para> Para conseguir el valor de este flag, utilice el
+               <para>Para conseguir el valor de este flag, utilice el
                     accededor <methodname>getAutoDisableLayout()</methodname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getCurrentContext()</methodname> Puede ser
                     utilizado para determinar qué contexto fue detectado, si hay
                     alguno. Este retorna null si no hubo conmutación de
                     contexto, o si <methodname>initContext()</methodname> fue
-                    llamado antes de ser invocado. </para>
+                    llamado antes de ser invocado.</para>
             </listitem>
         </itemizedlist>
     </sect4>
@@ -683,43 +683,43 @@ $contextSwitch->initContext();
     <sect4 id="zend.controller.actionhelpers.contextswitch.ajaxcontext">
         <title>Funcionalidad de AjaxContext</title>
 
-        <para> El ayudante <emphasis>AjaxContext</emphasis> extiende
+       <para>El ayudante <emphasis>AjaxContext</emphasis> extiende
                 <emphasis>ContextSwitch</emphasis>, así que toda de la
             funcionalidad listada para <emphasis>ContextSwitch</emphasis>
-            está disponible. Hay algunas diferencias fundamentales, sin embargo. </para>
+            está disponible. Hay algunas diferencias fundamentales, sin embargo.</para>
 
-        <para> En primer lugar, el controlador de acción utiliza una propiedad
+       <para>En primer lugar, el controlador de acción utiliza una propiedad
             diferente para determinar contextos,
                 <methodname>$ajaxable</methodname>. Esto es, que puede tener
             diferentes contextos utilizados para <acronym>AJAX</acronym> versus
             peticiones normales <acronym>HTTP</acronym>. Los diversos métodos
                 <methodname>*ActionContext*()</methodname> de
                 <emphasis>AjaxContext</emphasis> le escribirán a esta
-            propiedad. </para>
+            propiedad.</para>
 
-        <para> En segundo lugar, sólo se disparará si se produjo un
+       <para>En segundo lugar, sólo se disparará si se produjo un
             XmlHttpRequest, según lo determinado por la solicitud del método del
             objeto <methodname>isXmlHttpRequest()</methodname>. Así, si se pasa
             el parámetro de contexto ('format') en la solicitud, pero la
             solicitud no fue hecha como un XmlHttpRequest, no se disparará
-            ninguna conmutación de contexto. </para>
+            ninguna conmutación de contexto.</para>
 
-        <para> En tercer lugar, <emphasis>AjaxContext</emphasis> agrega un
+       <para>En tercer lugar, <emphasis>AjaxContext</emphasis> agrega un
             contexto adicional, <acronym>HTML</acronym>. En este contexto, se establece el sufijo a
             '<filename>ajax.phtml</filename>' para diferenciar el contexto de una solicitud normal.
-            No se devuelven cabeceras adicionales. </para>
+            No se devuelven cabeceras adicionales.</para>
 
         <example
             id="zend.controller.actionhelpers.contextswitch.ajaxcontext.example">
             <title>Permitiendo a las Acciones Responder a Requerimientos
                 Ajax</title>
 
-            <para> En el siguiente ejemplo, estamos permitiendo requerimientos a
+           <para>En el siguiente ejemplo, estamos permitiendo requerimientos a
                 las acciones 'view', 'form', y 'process' para responder a
                 peticiones <acronym>AJAX</acronym>. En los dos primeros casos,
                 'view' y 'form', devolveremos fragmentos (snippets) de <acronym>HTML</acronym> con
                 los cuales actualizaremos la página; y en el último,
-                devolveremos <acronym>JSON</acronym>. </para>
+                devolveremos <acronym>JSON</acronym>.</para>
 
             <programlisting language="php"><![CDATA[
 class CommentController extends Zend_Controller_Action
@@ -757,17 +757,17 @@ class CommentController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para> En el lado del cliente, su biblioteca <acronym>AJAX</acronym>
+           <para>En el lado del cliente, su biblioteca <acronym>AJAX</acronym>
                 simplemente pedirá los parámetros finales '<filename>/comment/view</filename>',
                 '<filename>/comment/form</filename>', y '<filename>/comment/process</filename>', y pasar el parámetro
                 'format': '<filename>/comment/view/format/html</filename>',
                 '<filename>/comment/form/format/html</filename>', '<filename>/comment/process/format/json</filename>'. (O
                 puede pasar el parámetro via string de consulta: ejemplo
-                "?format=json"). </para>
+                "?format=json").</para>
 
-            <para> Asumiendo que su biblioteca pasa la cabecera
+           <para>Asumiendo que su biblioteca pasa la cabecera
                 'X-Requested-With:XmlHttpRequest' entonces estas acciones
-                devolverán la respuesta en el formato apropiado. </para>
+                devolverán la respuesta en el formato apropiado.</para>
         </example>
     </sect4>
 </sect3>

+ 4 - 4
documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-FlashMessenger.xml

@@ -6,7 +6,7 @@
 
     <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
         <title>Introducción</title>
-        <para>
+       <para>
             El ayudante <emphasis>FlashMessenger</emphasis> le permite pasar mensajes
             que el usuario puede querer ver en la próxima solicitud.
             Para lograrlo, <emphasis>FlashMessenger</emphasis> usa
@@ -18,20 +18,20 @@
             <methodname>Zend_Session::start()</methodname> en su archivo
             bootstrap. (Para más detalles de su uso vea la documentación en
             <link linkend="zend.session.advanced_usage.starting_a_session">Zend_Session</link>).
-        </para>
+       </para>
 
     </sect4>
 
     <sect4 id="zend.controller.actionhelper.flashmessenger.basicusage">
         <title>Ejemplo Básico de Uso</title>
-        <para>
+       <para>
             El ejemplo de uso de abajo muestra el uso del flash messenger en
             su forma más elemental. Cuando se llama la acción
             <filename>/some/my</filename>, añade el mensaje de flash "Record Saved!".
             Una solicitud posterior a la acción
             <filename>/some/my-next-request</filename> lo recuperará (y entonces
             también lo suprimirá).
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 class SomeController extends Zend_Controller_Action

+ 20 - 20
documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-Json.xml

@@ -4,29 +4,29 @@
 <sect3 id="zend.controller.actionhelpers.json">
     <title>JSON</title>
 
-    <para>
+   <para>
         Las respuestas  <acronym>JSON</acronym> se están convirtiendo en la respuesta de elección
         cuando se trata de requerimientos <acronym>AJAX</acronym> que esperan recibir
         respuestas datasets; en el lado del cliente,  <acronym>JSON</acronym> puede ser inmediatamente parseado y
         ejecutado rápidamente.
-    </para>
+   </para>
 
-    <para>
+   <para>
         El ayudante de acción de  <acronym>JSON</acronym> hace varias cosas:
-    </para>
+   </para>
 
     <itemizedlist>
         <listitem><para>
                 Deshabilita los layouts si estuvieran habilitados.
-        </para></listitem>
+       </para></listitem>
 
         <listitem>
-            <para>
+           <para>
                 Opcionalmente, un array de opciones que pasar como segundo
                 argumento a <methodname>Zend_Json::encode()</methodname>.
                 Este array de opciones permite habilitar layouts y
                 codificación utilizando <classname>Zend_Json_Expr</classname>.
-             </para>
+            </para>
 
              <programlisting language="php"><![CDATA[
 $this->_helper->json($data, array('enableJsonExprFinder' => true));
@@ -35,23 +35,23 @@ $this->_helper->json($data, array('enableJsonExprFinder' => true));
 
         <listitem><para>
                 Desactiva la ViewRenderer si está actualmente habilitada.
-         </para></listitem>
+        </para></listitem>
 
         <listitem><para>
                 Establece la cabecera de respuesta 'Content-Type' a '<filename>application/json</filename>'.
-         </para></listitem>
+        </para></listitem>
 
         <listitem><para>
                 Por defecto, devuelve inmediatamente la respuesta, sin esperar
                 a la acción para finalizar la ejecución.
-        </para></listitem>
+       </para></listitem>
     </itemizedlist>
 
-    <para>
+   <para>
         El uso es simple: o bien llamarlo como un método del ayudante,
         o llamar a uno de los métodos <methodname>encodeJson()</methodname> o
         <methodname>sendJson()</methodname>:
-    </para>
+   </para>
 
      <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
@@ -74,24 +74,24 @@ class FooController extends Zend_Controller_Action
     <note>
         <title>Conservando los Esquemas(Layouts)</title>
 
-        <para>
+       <para>
             Si se tiene un esquema separado para respuestas de <acronym>JSON</acronym> --
             quizás para envolver la respuesta de <acronym>JSON</acronym> en algún tipo de
             contexto -- cada método en el ayudante <acronym>JSON</acronym> acepta un segundo
             argumento opcional: un flag para activar o desactivar layouts.
             Pasando un valor booleano <constant>TRUE</constant> conservará los layouts
             habilitados:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $this->_helper->json($data, true);
 ]]></programlisting>
 
-        <para>
+       <para>
             Opcionalmente, puede pasar un array como el segundo parámetro.
             Este array puede contener una variedad de opciones, incluida la
             opción <methodname>keepLayouts</methodname>:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $this->_helper->json($data, array('keepLayouts' => true);
@@ -101,24 +101,24 @@ $this->_helper->json($data, array('keepLayouts' => true);
     <note>
         <title>Habilitando la Codificación usando Zend_Json_Expr</title>
 
-        <para>
+       <para>
             <methodname>Zend_Json::encode()</methodname> permite la codificación
             de expresiones nativas de <acronym>JSON</acronym> utilizando objetos
             <methodname>Zend_Json_Expr</methodname>. Esta opción está desactivada por
             defecto. Para activar esta opción, pase un valor booleano
             <constant>TRUE</constant> a la opción <methodname>enableJsonExprFinder</methodname>:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $this->_helper->json($data, array('enableJsonExprFinder' => true);
 ]]></programlisting>
 
-        <para>
+       <para>
             Si desea hacer esto, <emphasis>debe</emphasis> pasar un array
             como segundo argumento. Esto también le permite combinar otras
             opciones, como la opción <emphasis>keepLayouts</emphasis>. Todas esas
             opciones se pasan luego a <methodname>Zend_Json::encode()</methodname>.
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $this->_helper->json($data, array(

+ 38 - 38
documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-Redirector.xml

@@ -7,7 +7,7 @@
     <sect4 id="zend.controller.actionhelper.redirector.introduction">
         <title>Introducción</title>
 
-        <para> El ayudante <emphasis>Redirector</emphasis> le permite
+       <para>El ayudante <emphasis>Redirector</emphasis> le permite
             utilizar un objeto de redireccionamiento para cumplir con
             necesidades de su aplicación para redireccionar a una nueva
             <acronym>URL</acronym>.
@@ -16,29 +16,29 @@
             preconfigurar un comportamiento para todo el sitio en el objeto
             redirector o usando el construido en <methodname>gotoSimple($action,
                 $controller, $module, $params)</methodname>, interfaz similar a
-            la de <methodname>Zend_Controller_Action::_forward()</methodname>. </para>
+            la de <methodname>Zend_Controller_Action::_forward()</methodname>.</para>
 
-        <para> El <emphasis>Redirector</emphasis> tiene un número de métodos
+       <para>El <emphasis>Redirector</emphasis> tiene un número de métodos
             que pueden utilizarse para afectar el comportamiento al
-            redireccionar: </para>
+            redireccionar:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>setCode()</methodname> puede ser utilizado para
                     establecer el código de respuesta HTTP que utilizar durante
-                    la redirección. </para>
+                    la redirección.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setExit()</methodname> puede usarse para forzar
                     un <methodname>exit()</methodname> tras una redirección. Por
-                    defecto es verdadero ( <constant>TRUE</constant>). </para>
+                    defecto es verdadero ( <constant>TRUE</constant>).</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setGotoSimple()</methodname> puede ser utilizada
                     para establecer la <acronym>URL</acronym> que usar por
                     defecto si no se ha pasado ninguna a
@@ -46,38 +46,38 @@
                         <acronym>API</acronym> de
                         <methodname>Zend_Controller_Action::_forward()</methodname>:
                     setGotoSimple($action, $controller = null, $module = null,
-                    array $params = array()); </para>
+                    array $params = array());</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setGotoRoute()</methodname> puede ser utilizada
                     para establecer una <acronym>URL</acronym> basada en una
                     ruta. Pasarla en un array de pares clave/valor y un nombre
                     de ruta, y que ensamblarán la <acronym>URL</acronym> según
-                    la definición y el tipo de ruta. </para>
+                    la definición y el tipo de ruta.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setGotoUrl()</methodname> puede ser utilizada
                     para establecer una <acronym>URL</acronym> por defecto si no
                     se pasa ninguna a <methodname>gotoUrl()</methodname>. Acepta
-                    un solo string <acronym>URL</acronym>. </para>
+                    un solo string <acronym>URL</acronym>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setPrependBase()</methodname> puede ser
                     utilizada para anteponer la <acronym>URL</acronym> base del
                     objeto solicitud a una <acronym>URL</acronym> especificada
                     con <methodname>setGotoUrl()</methodname>,
                         <methodname>gotoUrl()</methodname>, o
-                        <methodname>gotoUrlAndExit()</methodname>. </para>
+                        <methodname>gotoUrlAndExit()</methodname>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setUseAbsoluteUri()</methodname> puede ser
                     utilizada para forzar al <emphasis>Redirector</emphasis>
                     a usar <acronym>URI</acronym>s absolutas cuando está redireccionando. Cuando se
@@ -88,45 +88,45 @@
                     una <acronym>URI</acronym> completa a la <acronym>URL</acronym> especificada
                     por uno de los métodos de redirección. Esta opción está
                     desactivada por defecto, pero podrá ser activada por defecto
-                    en versiones posteriores. </para>
+                    en versiones posteriores.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Además, hay una variedad de métodos en el redireccionamiento para
-            realizar las redirecciones actuales: </para>
+       <para>Además, hay una variedad de métodos en el redireccionamiento para
+            realizar las redirecciones actuales:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>gotoSimple()</methodname> usa
                         <methodname>setGotoSimple()</methodname>
                         (<methodname>_forward()-tipo API</methodname>) para
                     construir una <acronym>URL</acronym> y realizar un
-                    redireccionamiento. </para>
+                    redireccionamiento.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>gotoRoute()</methodname> usa
                         <methodname>setGotoRoute()</methodname>
                         (<methodname>route-assembly</methodname>) para construir
                     una <acronym>URL</acronym> y realizar un redireccionamiento.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>gotoUrl()</methodname> usa
                         <methodname>setGotoUrl()</methodname> (<methodname>URL
                         string</methodname>) para construir una
                         <acronym>URL</acronym> y realizar un redireccionamiento.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para> Por último, usted puede determinar la redirección actual de la
+       <para>Por último, usted puede determinar la redirección actual de la
                 <acronym>URL</acronym> en cualquier momento usando
-                <methodname>getRedirectUrl()</methodname>. </para>
+                <methodname>getRedirectUrl()</methodname>.</para>
     </sect4>
 
     <sect4 id="zend.controller.actionhelper.redirector.basicusage">
@@ -136,11 +136,11 @@
             id="zend.controller.actionhelper.redirector.basicusage.example-1">
             <title>Estableciendo Opciones</title>
 
-            <para> Este ejemplo anula varias opciones, incluido el
+           <para>Este ejemplo anula varias opciones, incluido el
                 establecimiento del código de estado <acronym>HTTP</acronym>
                 para usar en la redirección ('303'), no saliendo por defecto en
                 la redirección, y definir una <acronym>URL</acronym> a usar por
-                defecto cuando se redireccione. </para>
+                defecto cuando se redireccione.</para>
 
             <programlisting language="php"><![CDATA[
 class SomeController extends Zend_Controller_Action
@@ -183,9 +183,9 @@ class SomeController extends Zend_Controller_Action
             id="zend.controller.actionhelper.redirector.basicusage.example-2">
             <title>Usando Defaults</title>
 
-            <para> Este ejemplo asume que se usan los valores predeterminados,
+           <para>Este ejemplo asume que se usan los valores predeterminados,
                 lo que significa que cualquier redirección resultará en un
-                    <methodname>exit()</methodname> inmediato. </para>
+                    <methodname>exit()</methodname> inmediato.</para>
 
             <programlisting language="php"><![CDATA[
 // EJEMPLO ALTERNATIVO
@@ -219,7 +219,7 @@ class AlternativeController extends Zend_Controller_Action
             id="zend.controller.actionhelper.redirector.basicusage.example-3">
             <title>Usando la API _forward() de goto()</title>
 
-            <para> La <acronym>API</acronym>
+           <para>La <acronym>API</acronym>
                 <methodname>gotoSimple()</methodname> imita a la de
                     <methodname>Zend_Controller_Action::_forward()</methodname>.
                 La diferencia principal es que construye una
@@ -227,7 +227,7 @@ class AlternativeController extends Zend_Controller_Action
                 utiliza el formato por defecto
                     <methodname>:module/:controller/:action/*</methodname> del
                 enrutador predeterminado. A continuación se redirecciona en
-                lugar de encadenar la acción. </para>
+                lugar de encadenar la acción.</para>
 
             <programlisting language="php"><![CDATA[
 class ForwardController extends Zend_Controller_Action
@@ -266,11 +266,11 @@ class ForwardController extends Zend_Controller_Action
             id="zend.controller.actionhelper.redirector.basicusage.example-4">
             <title>Usando Ruta de Ensamblaje con gotoRoute()</title>
 
-            <para> El siguiente ejemplo usa el método
+           <para>El siguiente ejemplo usa el método
                     <methodname>assemble()</methodname> del <link
                     linkend="zend.controller.router">enrutador</link> para crear
                 una URL basada en un array asociativo de parámetros pasados. Se
-                supone que la siguiente ruta ha sido registrada: </para>
+                supone que la siguiente ruta ha sido registrada:</para>
 
             <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route(
@@ -282,9 +282,9 @@ $route = new Zend_Controller_Router_Route(
 $router->addRoute('blogArchive', $route);
 ]]></programlisting>
 
-            <para> Dado un array con el año fijado a 2006, mes a 4, día a 24, e
+           <para>Dado un array con el año fijado a 2006, mes a 4, día a 24, e
                 id a 42, entonces construye la siguiente <acronym>URL</acronym>
-                <filename>/blog/2006/4/24/42</filename>. </para>
+                <filename>/blog/2006/4/24/42</filename>.</para>
 
             <programlisting language="php"><![CDATA[
 class BlogAdminController extends Zend_Controller_Action

+ 140 - 140
documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-ViewRenderer.xml

@@ -7,74 +7,74 @@
     <sect4 id="zend.controller.actionhelper.viewrenderer.introduction">
         <title>Introducción</title>
 
-        <para> El ayudante <emphasis>ViewRenderer</emphasis> está diseñado
-            para satisfacer los siguientes objetivos: </para>
+       <para>El ayudante <emphasis>ViewRenderer</emphasis> está diseñado
+            para satisfacer los siguientes objetivos:</para>
 
         <itemizedlist>
             <listitem>
-                <para> Eliminar la necesidad de instanciar objetos de vista
+               <para>Eliminar la necesidad de instanciar objetos de vista
                     dentro de los controladores; los objetos de vista quedarán
-                    registrados automáticamente con el contralor. </para>
+                    registrados automáticamente con el contralor.</para>
             </listitem>
 
             <listitem>
-                <para> Establece automáticamente el script de vista, el
+               <para>Establece automáticamente el script de vista, el
                     ayudante, y los paths de los filtros basados en el módulo
                     actual. Asocia automáticamente el nombre del módulo actual
                     como un prefijo de clase para las clases ayudante y filtro.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para> Crea un objeto de vista, disponible globalmente para
-                    todos los controladores y acciones despachados. </para>
+               <para>Crea un objeto de vista, disponible globalmente para
+                    todos los controladores y acciones despachados.</para>
             </listitem>
 
             <listitem>
-                <para> Permite al desarrollador establecer por defecto las
+               <para>Permite al desarrollador establecer por defecto las
                     opciones de renderizado para todos los controladores.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para> Agrega la capacidad para renderizar automáticamente los
-                    scripts de vista sin ninguna intervención. </para>
+               <para>Agrega la capacidad para renderizar automáticamente los
+                    scripts de vista sin ninguna intervención.</para>
             </listitem>
 
             <listitem>
-                <para> Permite al desarrollador crear sus propias
+               <para>Permite al desarrollador crear sus propias
                     especificaciones para el path base de vistas y para el path
-                    de los scripts de vista. </para>
+                    de los scripts de vista.</para>
             </listitem>
         </itemizedlist>
 
         <note>
-            <para> Si realiza un <methodname>_forward()</methodname>,
+           <para>Si realiza un <methodname>_forward()</methodname>,
                 redirecciona, o <methodname>render</methodname> manualmente, el
                 autorendering no se llevará a cabo, como está realizando
                 cualquiera de estas acciones le está diciendo al
                 <emphasis>ViewRenderer</emphasis> que usted está
-                determinando su propia salida. </para>
+                determinando su propia salida.</para>
         </note>
 
         <note>
-            <para> El <emphasis>ViewRenderer</emphasis> está habilitado por
+           <para>El <emphasis>ViewRenderer</emphasis> está habilitado por
                 defecto. Puede desactivarlo vía parámetro del front controller
                 <emphasis>noViewRenderer</emphasis>
                 (<command>$front->setParam('noViewRenderer',
                     true)</command>) o eliminando al ayudante del stack de
                 ayudantes
-                (<methodname>Zend_Controller_Action_HelperBroker::removeHelper('viewRenderer')</methodname>). </para>
+                (<methodname>Zend_Controller_Action_HelperBroker::removeHelper('viewRenderer')</methodname>).</para>
 
-            <para> Si desea modificar los settings del
+           <para>Si desea modificar los settings del
                 <emphasis>ViewRenderer</emphasis> antes de despachar el
-                front controller, puede hacerlo en una de las dos maneras: </para>
+                front controller, puede hacerlo en una de las dos maneras:</para>
 
             <itemizedlist>
                 <listitem>
-                    <para> Instanciar y registrar su propio objeto
+                   <para>Instanciar y registrar su propio objeto
                         <emphasis>ViewRenderer</emphasis> y pasarlo al
-                        ayudante: </para>
+                        ayudante:</para>
 
                     <programlisting language="php"><![CDATA[
 $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
@@ -85,9 +85,9 @@ Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
                 </listitem>
 
                 <listitem>
-                    <para> Inicializar y/o recuperar un objeto
+                   <para>Inicializar y/o recuperar un objeto
                             <methodname>ViewRenderer</methodname> por demanda
-                        via el ayudante: </para>
+                        via el ayudante:</para>
 
                     <programlisting language="php"><![CDATA[
 $viewRenderer =
@@ -103,17 +103,17 @@ $viewRenderer->setView($view)
     <sect4 id="zend.controller.actionhelper.viewrenderer.api">
         <title>API</title>
 
-        <para> En su uso más básico, simplemente instancie a
+       <para>En su uso más básico, simplemente instancie a
                 <methodname>ViewRenderer</methodname> y páselo al ayudante de
             acciones. La forma más fácil para instanciar y registrar de una sola
             vez es utilizando el método del ayudante
-            <methodname>getStaticHelper()</methodname>: </para>
+            <methodname>getStaticHelper()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
 ]]></programlisting>
 
-        <para> La primera vez que se instancia un controlador de acción, se
+       <para>La primera vez que se instancia un controlador de acción, se
             disparará <emphasis>ViewRenderer</emphasis> para instanciar al
             objeto vista. Cada vez que el controlador es instanciado, se llama
             al método <methodname>init()</methodname> de
@@ -122,12 +122,12 @@ Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
                 <methodname>addScriptPath()</methodname> con un path relativo al
             módulo actual; este será llamado con un prefijo de clase nombrada
             después del módulo actual, haciendo efectivamente el namespacing de
-            todas las clases de ayudantes y filtros que define para el módulo. </para>
+            todas las clases de ayudantes y filtros que define para el módulo.</para>
 
-        <para> Cad vez que llama a <methodname>postDispatch()</methodname>, este
-            llamará a <methodname>render()</methodname> para la acción actual. </para>
+       <para>Cad vez que llama a <methodname>postDispatch()</methodname>, este
+            llamará a <methodname>render()</methodname> para la acción actual.</para>
 
-        <para> Como ejemplo, considere la siguiente clase: </para>
+       <para>Como ejemplo, considere la siguiente clase:</para>
 
         <programlisting language="php"><![CDATA[
 // Una clase controlador, módulo foo:
@@ -153,22 +153,22 @@ class Foo_BarController extends Zend_Controller_Action
 $this->foo(); // llama a Foo_View_Helper_Foo::foo()
 ]]></programlisting>
 
-        <para> El <emphasis>ViewRenderer</emphasis> también define una serie
+       <para>El <emphasis>ViewRenderer</emphasis> también define una serie
             de accededores para permitir establecer y recuperar opciones de
-            vista: </para>
+            vista:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>setView($view)</methodname> le permite
                     establecer el objeto vista para
                     <emphasis>ViewRenderer</emphasis>. Se vuelve como
                     una propiedad de clase pública
-                    <varname>$view</varname>. </para>
+                    <varname>$view</varname>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setNeverRender($flag = true)</methodname> puede
                     ser utilizado para activar o desactivar globalmente el
                     autorendering, es decir, para todos los controladores. Si es
@@ -176,11 +176,11 @@ $this->foo(); // llama a Foo_View_Helper_Foo::foo()
                     llamará automáticamente a <methodname>render()</methodname>
                     en el controlador actual.
                         <methodname>getNeverRender()</methodname> recupera el
-                    valor actual. </para>
+                    valor actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setNoRender($flag = true)</methodname> puede ser
                     utilizado para activar o desactivar el autorendering. Si es
                     verdadero, <methodname>postDispatch()</methodname> no
@@ -190,32 +190,32 @@ $this->foo(); // llama a Foo_View_Helper_Foo::foo()
                     decir, usted necesita establecer este flag para cada
                     controlador para el cual no quiera que el autorenderering se
                     ejecute). <methodname>getNoRender()</methodname> recupera el
-                    valor actual. </para>
+                    valor actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setNoController($flag = true)</methodname> pude
                     ser usado para decirle a <methodname>render()</methodname>
                     que no busque el script de acción en un subdirectorio
                     nombrado después de que el controlador (que es el
                     comportamiento por defecto)
                         <methodname>getNoController()</methodname> recupere el
-                    valor actual. </para>
+                    valor actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setNeverController($flag = true)</methodname> es
                     análogo a <methodname>setNoController()</methodname>, pero
                     trabaja a un nivel global -- es decir, que no se reseteará
                     por cada acción ejecutada.
                         <methodname>getNeverController()</methodname> recupera
-                    el valor actual. </para>
+                    el valor actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setScriptAction($name)</methodname> puede ser
                     utilizado para especificar el script de acción a renderizar.
                         <varname>$name</varname> debe ser el nombre del
@@ -225,21 +225,21 @@ $this->foo(); // llama a Foo_View_Helper_Foo::foo()
                     Si no se ha especificado, busca un script de vista nombrado
                     después de la acción en el objeto solicitud.
                         <methodname>getScriptAction()</methodname> recupera el
-                    valor actual. </para>
+                    valor actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setResponseSegment($name)</methodname> puede ser
                     utilizado para especificar qué segmento del objeto respuesta
                     nombrado renderizar. Si no se especifica, se hace en el
                     segmento por defecto.
                         <methodname>getResponseSegment()</methodname> recupera
-                    el valor actual. </para>
+                    el valor actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>initView($path, $prefix, $options)</methodname>
                     puede ser llamado para especificar el path base de las
                     vistas, prefijos de clase para scripts de ayudantes y
@@ -250,11 +250,11 @@ $this->foo(); // llama a Foo_View_Helper_Foo::foo()
                     <emphasis>noRender</emphasis>,
                     <emphasis>noController</emphasis>,
                     <emphasis>scriptAction</emphasis>, y
-                    <emphasis>responseSegment</emphasis>. </para>
+                    <emphasis>responseSegment</emphasis>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setRender($action = null, $name = null,
                         $noController = false)</methodname> le permite
                     establecer cualquier <emphasis>scriptAction</emphasis>,
@@ -262,7 +262,7 @@ $this->foo(); // llama a Foo_View_Helper_Foo::foo()
                     <emphasis>noController</emphasis> en un pase.
                         <methodname>direct()</methodname> es un alias a este
                     método, permitiéndole llamar a este método fácilmente dede
-                    su controlador: </para>
+                    su controlador:</para>
 
                 <programlisting language="php"><![CDATA[
 // Render 'foo' en lugar del script de acción actual
@@ -274,20 +274,20 @@ $this->_helper->viewRenderer('form', 'html', true);
 ]]></programlisting>
 
                 <note>
-                    <para>
+                   <para>
                         <methodname>setRender()</methodname> y
                             <methodname>direct()</methodname> realmente no
                         renderiza el script de vista, sino que establece
                         indicaciones que <methodname>postDispatch()</methodname>
                         y <methodname>render()</methodname> utlizarán para
-                        renderizar la vista. </para>
+                        renderizar la vista.</para>
                 </note>
             </listitem>
         </itemizedlist>
 
-        <para> El constructor le permite opcionalmente pasar el objeto vista y
+       <para>El constructor le permite opcionalmente pasar el objeto vista y
             las opciones de <emphasis>ViewRenderer</emphasis>; acepta los
-            mismos flags que <methodname>initView()</methodname>: </para>
+            mismos flags que <methodname>initView()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 $view    = new Zend_View(array('encoding' => 'UTF-8'));
@@ -296,52 +296,52 @@ $viewRenderer =
     new Zend_Controller_Action_Helper_ViewRenderer($view, $options);
 ]]></programlisting>
 
-        <para> Hay varios métodos adicionales para personalizar especificaciones
+       <para>Hay varios métodos adicionales para personalizar especificaciones
             del path, usados para determinar el path base del script de vista
             para añadir al objeto vista, y el path del script de vista a usar
             cuando esté autodeterminando el script de vista a renderizar. Cada
-            uno de estos métodos toma uno o más de los siguientes localizadores: </para>
+            uno de estos métodos toma uno o más de los siguientes localizadores:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <emphasis>:moduleDir</emphasis> hace referencia a la
                     actual directorio base del módulo(por convención, el
                     directorio padre del directorio del módulo controlador).
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>:module</emphasis> hace referencia al nombre
-                    del módulo actual. </para>
+                    del módulo actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>:controller</emphasis> hace referencia al
-                    nombre del controlador actual. </para>
+                    nombre del controlador actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>:action</emphasis> hace referencia al nombre
-                    de la acción actual. </para>
+                    de la acción actual.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>:suffix</emphasis> hace referencia al sufijo
                     del script de vista (que puede ser definido via
-                        <methodname>setViewSuffix()</methodname>). </para>
+                        <methodname>setViewSuffix()</methodname>).</para>
             </listitem>
         </itemizedlist>
 
-        <para> Los métodos para controlar las especificaciones del path son: </para>
+       <para>Los métodos para controlar las especificaciones del path son:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>setViewBasePathSpec($spec)</methodname> le
                     permite cambiar la especificación del path utilizada para
                     determinar el path base para añadir al objeto vista. La
@@ -349,11 +349,11 @@ $viewRenderer =
                     <filename>:moduleDir/views</filename>. Puede
                     recuperar la especificación actual en cualquier momento
                     usando <methodname>getViewBasePathSpec()</methodname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setViewScriptPathSpec($spec)</methodname> le
                     permite cambiar el path de la especificación utilizada para
                     determinar el path a un script de vista individual (menos el
@@ -363,11 +363,11 @@ $viewRenderer =
                     Puede recuperar la especificación actual en cualquier
                     momento usando
                         <methodname>getViewScriptPathSpec()</methodname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setViewScriptPathNoControllerSpec($spec)</methodname>
                     le permite cambiar el path de la especificación utilizado
                     para determinar el path a un script de vista individual
@@ -377,35 +377,35 @@ $viewRenderer =
                     Puede recuperar la especificación actual en cualquier
                     momento usando
                         <methodname>getViewScriptPathNoControllerSpec()</methodname>.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para> Para un control más refinado sobre el path de especificaciones,
+       <para>Para un control más refinado sobre el path de especificaciones,
             puede usar <link linkend="zend.filter.inflector"
                 >Zend_Filter_Inflector</link>. Bajo el capó,
             <emphasis>ViewRenderer</emphasis> ya usa un inflector para
             realizar mapeos del path. Para interactuar con el inflector -- ya
             sea para establecerlo para uso propio, o para modificar el inflector
-            por defecto, se pueden utilizar los siguientes métodos: </para>
+            por defecto, se pueden utilizar los siguientes métodos:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>getInflector()</methodname> recupera el
                     inflector. Si no existe todavía en
                     <emphasis>ViewRenderer</emphasis>, se crea uno
-                    utilizando las reglas predeterminadas. </para>
+                    utilizando las reglas predeterminadas.</para>
 
-                <para> Por defecto, utiliza reglas de referencias estáticas para
+               <para>Por defecto, utiliza reglas de referencias estáticas para
                     el sufijo y directorio de módulos, así como una meta
                     estática; esto permite que diversas propiedades de
                     <emphasis>ViewRenderer</emphasis> tengan la
-                    capacidad de modificar dinámicamente al inflector. </para>
+                    capacidad de modificar dinámicamente al inflector.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setInflector($inflector,
                         $reference)</methodname> permite establecer un inflector
                     personalizado para usar con
@@ -414,72 +414,72 @@ $viewRenderer =
                     establecerá el sufijo y directorio de módulos como
                     referencias estáticas a las propiedades de
                     <emphasis>ViewRenderer</emphasis>, así como al
-                    objetivo. </para>
+                    objetivo.</para>
             </listitem>
         </itemizedlist>
 
         <note>
             <title>Convenciones por Defecto para Lookup</title>
 
-            <para> El <emphasis>ViewRenderer</emphasis> hace algún tipo de
+           <para>El <emphasis>ViewRenderer</emphasis> hace algún tipo de
                 normalización del path para facilitar la búsqueda de los scripts
-                de vista. Las reglas predeterminadas son los siguientes: </para>
+                de vista. Las reglas predeterminadas son los siguientes:</para>
 
             <itemizedlist>
                 <listitem>
-                    <para>
+                   <para>
                         <filename>:module</filename>: MixedCase y
                         camelCasedWords están separados por guiones, y el string
                         completo se convierte a minúsculas. Por ejemplo:
-                        "FooBarBaz" pasa a ser "foo-bar-baz". </para>
+                        "FooBarBaz" pasa a ser "foo-bar-baz".</para>
 
-                    <para> Internamente, el inflector utiliza los filtros
+                   <para>Internamente, el inflector utiliza los filtros
                             <classname>Zend_Filter_Word_CamelCaseToDash</classname>
                         y <classname>Zend_Filter_StringToLower</classname>.
-                    </para>
+                   </para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <filename>:controller</filename>: MixedCase y
                         camelCasedWords están separados por guiones; los
                         subrayados se convierten en separadores de directorio ,
                         y el string emitido a minúsculas. Ejemplos: "<classname>FooBar</classname>"
                         pasa a ser "foo-bar"; "<classname>FooBar_Admin</classname>" pasa a ser
-                        "<filename>foo-bar/admin</filename>". </para>
+                        "<filename>foo-bar/admin</filename>".</para>
 
-                    <para> Internamente, el inflector utiliza los filtros
+                   <para>Internamente, el inflector utiliza los filtros
                             <classname>Zend_Filter_Word_CamelCaseToDash</classname>,
                             <classname>Zend_Filter_Word_UnderscoreToSeparator</classname>,
                         y <classname>Zend_Filter_StringToLower</classname>.
-                    </para>
+                   </para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <emphasis>:action</emphasis>: MixedCase y
                         camelCasedWords están separados por guiones; los
                         caracteres no alfanuméricos son traducidos a guiones, y
                         el string emitido a minúsculas. Ejemplos: "fooBar" pasa
-                        a ser "foo-bar"; "foo-barBaz" pasa a ser "foo-bar-baz". </para>
+                        a ser "foo-bar"; "foo-barBaz" pasa a ser "foo-bar-baz".</para>
 
-                    <para> Internamente, el inflector utiliza los filtros
+                   <para>Internamente, el inflector utiliza los filtros
                             <classname>Zend_Filter_Word_CamelCaseToDash</classname>,
                             <classname>Zend_Filter_PregReplace</classname>, y
                             <classname>Zend_Filter_StringToLower</classname>.
-                    </para>
+                   </para>
                 </listitem>
             </itemizedlist>
         </note>
 
-        <para> Los últimos temas en la <acronym>API</acronym> de
+       <para>Los últimos temas en la <acronym>API</acronym> de
             <emphasis>ViewRenderer</emphasis> son los métodos para
             determinar realmente los paths de los scripts de vista y el
-            rendering de las vistas. Estos incluyen: </para>
+            rendering de las vistas. Estos incluyen:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>renderScript($script, $name)</methodname>
                     permite renderizar un script con una ruta que especifique,
                     opcionalmente a un segmento nombrado del path. Cuando se
@@ -487,26 +487,26 @@ $viewRenderer =
                     no autodetermina el nombre del script, en cambio pasa
                     directamente a <varname>$script</varname> el argumento
                     directamente al método del objeto vista
-                        <methodname>render()</methodname>. </para>
+                        <methodname>render()</methodname>.</para>
 
                 <note>
-                    <para> Una vez que la vista ha sido renderizada al objeto
+                   <para>Una vez que la vista ha sido renderizada al objeto
                         respuesta, se establece
                             <methodname>noRender</methodname> para evitar
                         accidentalmente renderizar el mismo script de vista
-                        varias veces. </para>
+                        varias veces.</para>
                 </note>
 
                 <note>
-                    <para> Por defecto,
+                   <para>Por defecto,
                             <methodname>Zend_Controller_Action::renderScript()</methodname>
                         le delega a <emphasis>ViewRenderer</emphasis> el
-                        método <methodname>renderScript()</methodname>. </para>
+                        método <methodname>renderScript()</methodname>.</para>
                 </note>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getViewScript($action, $vars)</methodname> crea
                     el path a un script de vista basado en la acción pasada y/o
                     cualquier variables pasadas en
@@ -515,33 +515,33 @@ $viewRenderer =
                     especificación de paths ('moduleDir', 'module',
                     'controller', 'action', y 'suffix'). Se utilizarán
                     cualquiera de la variables pasadas; de lo contrario, se
-                    utilizarán valores basados en la petición actual. </para>
+                    utilizarán valores basados en la petición actual.</para>
 
-                <para>
+               <para>
                     <emphasis>getViewScript()</emphasis> utilizará tanto a
                     <emphasis>viewScriptPathSpec</emphasis> o
                     <emphasis>viewScriptPathNoControllerSpec</emphasis>
                     sobre la base establecida del flag
-                    <emphasis>noController</emphasis>. </para>
+                    <emphasis>noController</emphasis>.</para>
 
-                <para> Los delimitadores de palabras encontrados en un módulo,
+               <para>Los delimitadores de palabras encontrados en un módulo,
                     controlador o nombres de acción serán reemplazados por
                     guiones ('-'). Así pues, si tiene el nombre de controlador
                     '<command>foo.bar</command>' y la acción '<command>baz:bat</command>', utilizando la
                     especificación por defecto del path se traducirá en un path
-                    al script de vista '<filename>foo-bar/baz-bat.phtml</filename>'. </para>
+                    al script de vista '<filename>foo-bar/baz-bat.phtml</filename>'.</para>
 
                 <note>
-                    <para> Por defecto,
+                   <para>Por defecto,
                             <methodname>Zend_Controller_Action::getViewScript()</methodname>
                         delega el método
                             <methodname>getViewScript()</methodname> de
-                        <emphasis>ViewRenderer</emphasis>. </para>
+                        <emphasis>ViewRenderer</emphasis>.</para>
                 </note>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>render($action, $name,
                         $noController)</methodname> comprueba primero para ver
                     si bien <methodname>$name</methodname> o
@@ -552,27 +552,27 @@ $viewRenderer =
                     <varname>$action</varname>, si hay alguno, a
                         <methodname>getViewScript()</methodname>. Por último,
                     pasa el path calculado del script de vista a
-                        <methodname>renderScript()</methodname>. </para>
+                        <methodname>renderScript()</methodname>.</para>
 
                 <note>
-                    <para> Hay que ser conscientes de los efectos secundarios al
+                   <para>Hay que ser conscientes de los efectos secundarios al
                         usar <methodname>render()</methodname>: los valores que usted pasa para el nombre
                         del segmento respuesta y para el flag noController
                         persistirán en el objeto. Además, noRender será
                         establecido después de completar la renderización.
-                    </para>
+                   </para>
                 </note>
 
                 <note>
-                    <para> Por defecto,
+                   <para>Por defecto,
                             <methodname>Zend_Controller_Action::render()</methodname>
                         delega a <emphasis>ViewRenderer</emphasis> el método
-                            <methodname>render()</methodname>. </para>
+                            <methodname>render()</methodname>.</para>
                 </note>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>renderBySpec($action, $vars, $name)</methodname>
                     permite pasar variables de especificación del path a fin de
                     determinar el path para la creación del script de vista.
@@ -581,7 +581,7 @@ $viewRenderer =
                         <methodname>getScriptPath()</methodname>, y luego pasa
                     el path del script resultante y
                         <varname>$name</varname> a
-                        <methodname>renderScript()</methodname>. </para>
+                        <methodname>renderScript()</methodname>.</para>
             </listitem>
         </itemizedlist>
     </sect4>
@@ -593,10 +593,10 @@ $viewRenderer =
             id="zend.controller.actionhelper.viewrenderer.basicusage.example-1">
             <title>Uso Básico</title>
 
-            <para> En lo más básico, usted simplemente inicializa y registra el
+           <para>En lo más básico, usted simplemente inicializa y registra el
                 ayudante <emphasis>ViewRenderer</emphasis> con el ayudante
                 broker en su bootstrap, y luego establecer las variables en sus
-                métodos de acción. </para>
+                métodos de acción.</para>
 
             <programlisting language="php"><![CDATA[
 // En su bootstrap:
@@ -638,7 +638,7 @@ class Foo_BarController extends Zend_Controller_Action
         <note>
             <title>Convenciones de Nombres: Delimitadores de Palabras en
                 Controladores y Nombres de Acción</title>
-            <para> Si su controlador o nombre de acción está compuesto por
+           <para>Si su controlador o nombre de acción está compuesto por
                 varias palabras, el despachador exige que estos sean separados
                 de la <acronym>URL</acronym> por un path específico y caracteres
                 delimitadores de palabras. El
@@ -655,28 +655,28 @@ class Foo_BarController extends Zend_Controller_Action
                 a <methodname>Bar_BazController::bazBatAction()</methodname> en
                     <methodname>Bar/BazController.php</methodname> (note la
                 separación del path) y renderiza
-                <filename>bar/baz/baz-bat.phtml</filename>. </para>
+                <filename>bar/baz/baz-bat.phtml</filename>.</para>
 
-            <para> Tener en cuenta que el en el segundo ejemplo, el módulo es
+           <para>Tener en cuenta que el en el segundo ejemplo, el módulo es
                 todavía el módulo por defecto, pero que, debido a la existencia
                 de un separador de paths, el controlador recibe el nombre
                     <methodname>Bar_BazController</methodname>, en
                 <filename>Bar/BazController.php</filename>. El
                 <emphasis>ViewRenderer</emphasis> imita la jerarquía del directorio del controlador.
-            </para>
+           </para>
         </note>
 
         <example
             id="zend.controller.actionhelper.viewrenderer.basicusage.example-2">
             <title>Deshabilitando Autorender</title>
 
-            <para> Para algunas acciones o controladores, usted puede querer
+           <para>Para algunas acciones o controladores, usted puede querer
                 apagar el autorendering -- por ejemplo, si quiere emitir un tipo
                 diferente de salida (<acronym>XML</acronym>, <acronym>JSON</acronym>, etc), o si simplemente no desea
                 emitir nada. Tiene dos opciones: apagar todos los casos de
                 autorendering (<methodname>setNeverRender()</methodname>), o
                 simplemente desactivarlo para la acción actual
-                    (<methodname>setNoRender()</methodname>). </para>
+                    (<methodname>setNoRender()</methodname>).</para>
 
             <programlisting language="php"><![CDATA[
 // Baz clase del controlador, bar módulo:
@@ -702,18 +702,18 @@ class Bar_BatController extends Zend_Controller_Action
         </example>
 
         <note>
-            <para> En muchos casos, no tiene sentido desactivar el autorendering
+           <para>En muchos casos, no tiene sentido desactivar el autorendering
                 globalmente (ala <methodname>setNeverRender()</methodname>), y
                 la única cosa que puede ganar de
                 <emphasis>ViewRenderer</emphasis> es el autosetup del
-                objeto de vista. </para>
+                objeto de vista.</para>
         </note>
 
         <example
             id="zend.controller.actionhelper.viewrenderer.basicusage.example-3">
             <title>Eligiendo Un Script de Vista Diferente</title>
 
-            <para> Algunas situaciones requieren renderizar un script diferente
+           <para>Algunas situaciones requieren renderizar un script diferente
                 al llamado después de la acción. Por ejemplo, si tiene un
                 controlador que tiene tanto las acciones de agregar y de editar,
                 ambos pueden mostrar la misma vista 'form', aunque con
@@ -722,7 +722,7 @@ class Bar_BatController extends Zend_Controller_Action
                     <methodname>setScriptAction()</methodname>,
                     <methodname>setRender()</methodname>, o llamando al ayudante
                 como un método, que invocará a
-                    <methodname>setRender()</methodname>. </para>
+                    <methodname>setRender()</methodname>.</para>
 
             <programlisting language="php"><![CDATA[
 // Bar clase controlador, foo módulo:
@@ -760,12 +760,12 @@ class Foo_BarController extends Zend_Controller_Action
             id="zend.controller.actionhelper.viewrenderer.basicusage.example-4">
             <title>Modificando la Vista Registrada</title>
 
-            <para> ¿Y si se necesita modificar el objeto vista -- por ejemplo,
+           <para>¿Y si se necesita modificar el objeto vista -- por ejemplo,
                 cambiar el ayudante de paths, o la codificación?. Puede hacerlo
                 ya sea por modificar el objeto vista establecido en su
                 controlador, o arrebatándole el objeto vista a
                 <emphasis>ViewRenderer</emphasis>; ambas son referencias
-                al mismo objeto. </para>
+                al mismo objeto.</para>
 
             <programlisting language="php"><![CDATA[
 // Bar clase controlador, foo módulo:
@@ -796,7 +796,7 @@ class Foo_BarController extends Zend_Controller_Action
             id="zend.controller.actionhelper.viewrenderer.advancedusage.example-1">
             <title>Cambiando las Especificaciones del Path</title>
 
-            <para> En algunas circunstancias, puede decidir que las
+           <para>En algunas circunstancias, puede decidir que las
                 especificaciones del path por defecto no se adaptan a su sitio.
                 Por ejemplo, usted puede querer tener un árbol único de
                 plantillas al que puede dar acceso a sus diseñadores (esto es
@@ -804,16 +804,16 @@ class Foo_BarController extends Zend_Controller_Action
                     >Smarty</ulink>, por ejemplo). En ese caso, puede querer
                 embeber los datos de la especificación del path base de la
                 vista, y crear una especificación alternativa para el script de
-                vista del path ellos mismos. </para>
+                vista del path ellos mismos.</para>
 
-            <para> Para los fines de este ejemplo, supongamos que el path base
+           <para>Para los fines de este ejemplo, supongamos que el path base
                 de las vistas debería ser '<filename>/opt/vendor/templates</filename>', y que desea
                 para que los scripts de vista sean referenciados por
                 '<filename>:moduleDir/:controller/:action.:suffix</filename>'; si el flag
                 <emphasis>noController</emphasis> ha sido establecido, quiere renderizar fuera del
                 nivel superior en lugar de en un subdirectorio
                 (<filename>':action.:suffix</filename>'). Por último, que quiere utilizar 'tpl' como
-                el sufijo del nombre de archivo del script de vista. </para>
+                el sufijo del nombre de archivo del script de vista.</para>
 
             <programlisting language="php"><![CDATA[
 /**
@@ -837,9 +837,9 @@ Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
             <title>Rendering Múltiples Scripts de Vista desde una Sola
                 Acción</title>
 
-            <para> A veces, puede que necesite renderizar múltiples scripts de
+           <para>A veces, puede que necesite renderizar múltiples scripts de
                 vista desde una sola acción. Esto es muy sencillo -- simplemente
-                hacer múltiples llamadas a <methodname>render()</methodname>: </para>
+                hacer múltiples llamadas a <methodname>render()</methodname>:</para>
 
             <programlisting language="php"><![CDATA[
 class SearchController extends Zend_Controller_Action

+ 40 - 40
documentation/manual/es/module_specs/Zend_Controller-Basics.xml

@@ -4,35 +4,35 @@
 <sect1 id="zend.controller.basics">
     <title>Conceptos Básicos de Zend_Controller</title>
 
-    <para>
+   <para>
         El sistema <classname>Zend_Controller</classname> está diseñado para
         ser liviano, modular y extensible. Se trata de un diseño minimalista
         para permitir flexibilidad y cierta libertad para los usuarios
         proporcionando al mismo tiempo una estructura suficiente para que sistemas
         construidos alrededor de <classname>Zend_Controller</classname>
         compartan algunas convenciones y layouts de código similares.
-    </para>
+   </para>
 
-    <para>
+   <para>
         El siguiente diagrama muestra el flujo de trabajo, y la narrativa
         que le sigue describe en detalle las interacciones:
-    </para>
+   </para>
 
-    <para>
+   <para>
         <inlinegraphic width="483" scale="100" align="center" valign="middle"
             fileref="figures/zend.controller.basics.png" format="PNG" />
-    </para>
+   </para>
 
-    <para>
+   <para>
         El flujo de procesos de <classname>Zend_Controller</classname> está implementado
         por varios componentes. Si bien no es necesario entender los cimientos
         de todos estos componentes para utilizar el sistema, tener un
         conocimiento práctico del proceso es de mucha utilidad.
-    </para>
+   </para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <classname>Zend_Controller_Front</classname> organiza todo
                     el flujo de trabajo del sistema <classname>Zend_Controller</classname>.
                     Es una interpretación del patrón FrontController.
@@ -41,11 +41,11 @@
                     en última instancia de la delegación de las solicitudes  a los
                     ActionControllers
                     (<classname>Zend_Controller_Action</classname>).
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <classname>Zend_Controller_Request_Abstract</classname> (a
                     menudo denominado <emphasis>Request Object</emphasis>) representa
                     el entorno de la solicitud y ofrece métodos para
@@ -58,18 +58,18 @@
                     permitiendo a los routers traer información del ámbito
                     de la solicitud a fin de establecer el controlador
                     y los nombres de acción.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     Por defecto, se usa
                     <classname>Zend_Controller_Request_Http</classname>, el cual
                     proporciona acceso a todo el ámbito de la petición
                     <acronym>HTTP</acronym>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <classname>Zend_Controller_Router_Interface</classname>
                     se usa para definir routers. El ruteo es el proceso de
                     examinar el ámbito de la solicitud para determinar
@@ -81,9 +81,9 @@
                     El ruteo (routing) ocurre sólo una vez: cuando la solicitud
                     se recibe inicialmente y antes de enviar el primer
                     controlador.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     El router por defecto,
                     <classname>Zend_Controller_Router_Rewrite</classname>,
                     toma el punto final de una <acronym>URI</acronym> como se especificó en
@@ -95,19 +95,19 @@
                     decodificará para usar el controlador <emphasis>foo</emphasis>,
                     la acción <emphasis>bar</emphasis> y especificar un parámetro
                     <emphasis>key</emphasis> con el valor de <emphasis>value</emphasis>.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     <classname>Zend_Controller_Router_Rewrite</classname>
                     también puede ser utilizado para igualar las rutas arbitrarios;
                     para más información, ver <link
                         linkend="zend.controller.router">documentación
                         del router</link>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <classname>Zend_Controller_Dispatcher_Interface</classname>
                     se usa para definir dispatchers. Dispatching (Despachar) es el proceso
                     de sacar el controlador y la acción del objeto que solicita y
@@ -115,9 +115,9 @@
                     en la clase del controlador. Si el controlador o acción no
                     existen, hará un manejo para determinar los controladores
                     por defecto y las acciones a enviar.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     El proceso actual de dispatching(despacho) consta de instanciar la
                     clase del controlador y llamar al método acción en esa
                     clase. A diferencia del routing, que ocurre sólo una vez,
@@ -128,9 +128,9 @@
                     La primera vez el bucle termina con la solicitud del objeto,
                     el estado de lo enviado se establece a (<type>Boolean</type> <constant>TRUE</constant>),
                     que terminará el procesamiento.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     El dispatcher por defecto es
                     <classname>Zend_Controller_Dispatcher_Standard</classname>.
                     Se definen como controladores MixedCasedClasses cuando
@@ -139,12 +139,12 @@
                     <methodname>FooController::barAction()</methodname>. En este caso,
                     el controlador será referido como <emphasis>foo</emphasis> y a la
                     acción como <emphasis>bar</emphasis>.
-                </para>
+               </para>
 
                 <note>
                     <title>Convenciones para Case Naming (Casos de Nombre)</title>
 
-                    <para>
+                   <para>
                         Dado que los humanos somos notablemente inconsistentes
                         en mantener cierta sensibilidad respecto a las
                         minúsculas y mayúsculas al escribir enlaces,
@@ -152,53 +152,53 @@
                        ruta a minúsculas. Esto, por supuesto, afectará cómo
                         nombre a su controlador y a sus acciones... o referirse
                         a ellos en los enlaces.
-                    </para>
+                   </para>
 
-                    <para>
+                   <para>
                         Si desea que su clase controlador o el nombre del
                         método de la acción tenga múltiples MixedCasedWords o
                         camelCasedWords, para separar las palabras en la <acronym>URL</acronym>
                         necesitará hacerlo con un '-' o '.' (aunque puede
                         configurar el carácter utilizado).
-                    </para>
+                   </para>
 
-                    <para>
+                   <para>
                         Como ejemplo, si se va a la acción en
                         <methodname>FooBarController::bazBatAction()</methodname>,
                         se referirá a ella en la <acronym>URL</acronym> como
                         <filename>/foo-bar/baz-bat</filename>
                         o <filename>/foo.bar/baz.bat</filename>.
-                    </para>
+                   </para>
                 </note>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <classname>Zend_Controller_Action</classname>
                     es el componente base del controlador de acción.
                     Cada controlador es una sola clase que extiende la
                     <classname>clase Zend_Controller_Action </classname>
                     y debe contener uno o más métodos de acción.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <classname>Zend_Controller_Response_Abstract</classname>
                     define una clase base de respuesta utilizada para recoger y
                     retornar respuestas de los controladores de acción.
                     Recoge tanto a las cabeceras como al contenido del cuerpo.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     La clase de respuesta (response) por defecto es
                     <classname>Zend_Controller_Response_Http</classname>,
                     la cual es adecuada para usarla en un entorno <acronym>HTTP</acronym>.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-    <para>
+   <para>
         El flujo de procesos de <classname>Zend_Controller</classname> es relativamente
         sencillo. Una solicitud es recibida por
         <classname>Zend_Controller_Front</classname>, la que a su vez llama a
@@ -219,7 +219,7 @@
         mediante el reinicio del estado de la condición  de la solicitud,
         el bucle continúa y se ejecuta otro envio.
         En caso contrario el proceso termina.
-    </para>
+   </para>
 </sect1>
 
 <!--

+ 22 - 22
documentation/manual/es/module_specs/Zend_Controller-Dispatcher.xml

@@ -7,7 +7,7 @@
     <sect2 id="zend.controller.dispatcher.overview">
         <title>Introducción</title>
 
-        <para>
+       <para>
             Despachar es el proceso de tomar el objeto solicitud,
             <classname>Zend_Controller_Request_Abstract</classname>,
             extraer el nombre del módulo, el nombre del controlador, el nombre
@@ -23,12 +23,12 @@
             <methodname>setDefaultController()</methodname>,
             <methodname>setDefaultAction()</methodname>, y <methodname>setDefaultModule()</methodname>
             respectivamente.
-        </para>
+       </para>
 
         <note>
             <title>Módulo por Defecto</title>
 
-            <para>
+           <para>
                 Cuando se crean aplicaciones modulares, puede encontrarse
                 queriendo también el namespace por defecto del módulo (la
                 configuración por defecto es que el módulo por defecto es
@@ -36,7 +36,7 @@
                 Como de 1.5.0, ahora puede hacerlo especificando el
                 <methodname>prefixDefaultModule</methodname> como <constant>TRUE</constant> tanto en el
                 front controller como es su despachador:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 // En su front controller:
@@ -46,22 +46,22 @@ $front->setParam('prefixDefaultModule', true);
 $dispatcher->setParam('prefixDefaultModule', true);
 ]]></programlisting>
 
-            <para>
+           <para>
                 Esto le permite re-determinar un módulo existente para ser el
                 módulo por defecto para una solicitud.
-            </para>
+           </para>
         </note>
 
-        <para>
+       <para>
             El proceso de despachar tiene lugar en un bucle en el front controller.
             Antes de llevarse a cabo el despacho, el front controller rutea la
             solicitud para encontrar valores especificados por el usuario para
             el módulo, controlador, acción, y los parámetros opcionales.
             A continuación entra en un loop de despacho, despachando la
             solicitud.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Al comienzo de cada iteración, establece un flag en el objeto
             solicitud indicando que la acción se ha despachado.
             Si una acción o un plugin pre o postDispatch resetea ese flag,
@@ -69,15 +69,15 @@ $dispatcher->setParam('prefixDefaultModule', true);
             solicitud. Cambiando el controlador y/o la acción en la solicitud y
             reseteando el flag despachado, el desarrollador puede definir
             una cadena de peticiones a realizar.
-        </para>
+       </para>
 
-        <para>
+       <para>
             El método del controlador de acción que controla ese despacho es
             <methodname>_forward()</methodname>; llamar a este método para cualquiera de los
             pre/postDispatch() o métodos de acción, proporcionando un
             controlador de acciónes, módulo y, opcionalmente cualquier parámetro
             adicional que desee enviar a la nueva acción:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 public function fooAction()
@@ -106,27 +106,27 @@ public function bazAction()
     <sect2 id="zend.controller.dispatcher.subclassing">
         <title>Subclaseando el Despachador</title>
 
-        <para>
+       <para>
             <classname>Zend_Controller_Front</classname> llamará en primer lugar
             al router para determinar la primera acción en la solicitud.
             A continuación se entra en un loop de despacho, el cual llama al
             despachador para despachar la acción.
-        </para>
+       </para>
 
-        <para>
+       <para>
             El despachador necesita de una variedad de datos a fin de hacer su
             trabajo - necesita saber cómo formatear los nombres del controlador
             y de la acción, dónde mirar para los archivos de clase del
             controlador, cuándo el nombre de un controlador provisto es válido
             o no, y una <acronym>API</acronym> para determinar si una determinada solicitud es
             incluso despachable basado en la otra información disponible.
-        </para>
+       </para>
 
-        <para>
+       <para>
             <classname>Zend_Controller_Dispatcher_Interface</classname>
             define los siguientes métodos como necesarios para cualquier
             implementación de un despachador:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 interface Zend_Controller_Dispatcher_Interface
@@ -284,22 +284,22 @@ interface Zend_Controller_Dispatcher_Interface
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             En muchos casos, sin embargo, simplemente debe extender la clase
             abstracta <classname>Zend_Controller_Dispatcher_Abstract</classname>,
             en el que cada uno de estas ya han sido definidas, o
             <classname>Zend_Controller_Dispatcher_Standard</classname>
             para modificar la funcionalidad del despachador estándar.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Las posibles razones para subclasear al despachador incluye un
             deseo de utilizar un esquema diferente para nombrar las clases o
             métodos en sus controladores de acción, o el deseo de utilizar otro
             paradigma de despacho como ser despachar los archivos de acción
             bajo directorios de controladores (en lugar de despacharlos a los
             métodos de clase).
-        </para>
+       </para>
     </sect2>
 </sect1>
 <!--

+ 64 - 64
documentation/manual/es/module_specs/Zend_Controller-Exceptions.xml

@@ -7,69 +7,69 @@
     <sect2 id="zend.controller.exceptions.introduction">
         <title>Introducción</title>
 
-        <para> Los componentes <acronym>MVC</acronym> en Zend Framework utilizan
+       <para>Los componentes <acronym>MVC</acronym> en Zend Framework utilizan
             un Front Controller, lo que significa que todas las solicitudes de
             un determinado sitio pasarán por un solo punto de entrada. Como
             resultado, todas las excepciones burbujearán eventualmente hacia
             arriba hasta el Front Controller, permitiendo al desarrollador
-            manejarlos en un solo lugar. </para>
+            manejarlos en un solo lugar.</para>
 
-        <para> Sin embargo, los mensajes de excepción y la información de
+       <para>Sin embargo, los mensajes de excepción y la información de
             backtrace contienen a menudo información sensible del sistema, como
             declaraciones <acronym>SQL</acronym>, ubicaciones de archivos y
             otras cosas más. Para ayudar a proteger su sitio, por defecto
                 <classname>Zend_Controller_Front</classname> captura todas las
             excepciones y las registra con el objeto respuesta; a su vez, y por
             defecto, el objeto respuesta no muestra mensajes de excepción.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.controller.exceptions.handling">
         <title>Manejando las Excepciones</title>
 
-        <para> Ya hay varios mecanismos construidos en los componentes de
-                <acronym>MVC</acronym>, que le permiten manejar excepciones. </para>
+       <para>Ya hay varios mecanismos construidos en los componentes de
+                <acronym>MVC</acronym>, que le permiten manejar excepciones.</para>
 
         <itemizedlist>
             <listitem>
-                <para> Por defecto, el <link
+               <para>Por defecto, el <link
                         linkend="zend.controller.plugins.standard.errorhandler"
                         >error handler plugin</link> está registrado y activo.
-                    Este plugin fue diseñado para manejar: </para>
+                    Este plugin fue diseñado para manejar:</para>
 
                 <itemizedlist>
                     <listitem>
-                        <para>Errores debido a controladores o acciones
+                       <para>Errores debido a controladores o acciones
                             perdidas</para>
                     </listitem>
 
                     <listitem>
-                        <para>Errores ocurriendo dentro de controladores de
+                       <para>Errores ocurriendo dentro de controladores de
                             acción</para>
                     </listitem>
                 </itemizedlist>
 
-                <para> Operan como un plugin de
+               <para>Operan como un plugin de
                         <methodname>postDispatch()</methodname>, y comprueban
                     para ver si un despachador, controlador de acción, o de otra
                     excepción ha ocurrido. Si así fuera, lo remite a un
-                    controlador de manejo de errores. </para>
+                    controlador de manejo de errores.</para>
 
-                <para> Este manejador abarcará la mayoría de las situaciones
+               <para>Este manejador abarcará la mayoría de las situaciones
                     excepcionales, y maneja airosamente controladores y acciones
-                    perdidos. </para>
+                    perdidos.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>Zend_Controller_Front::throwExceptions()</methodname>
-                </para>
+               </para>
 
-                <para> Pasando a este método un valor booleano
+               <para>Pasando a este método un valor booleano
                         <constant>TRUE</constant>, puede decirle al front
                     controller que, en lugar de sumar excepciones en el objeto
                     respuesta o utilizando el plugin de manejo de errores,
-                    prefiere manejarlos usted mismo. Como ejemplo: </para>
+                    prefiere manejarlos usted mismo. Como ejemplo:</para>
 
                 <programlisting language="php"><![CDATA[
 $front->throwExceptions(true);
@@ -80,33 +80,33 @@ try {
 }
 ]]></programlisting>
 
-                <para> Este método es probablemente la forma más fácil de añadir
+               <para>Este método es probablemente la forma más fácil de añadir
                     un manejo de excepciones personalizado que abarque toda la
                     gama de posibles excepciones a su aplicación de front
-                    controller. </para>
+                    controller.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>Zend_Controller_Response_Abstract::renderExceptions()</methodname>
-                </para>
+               </para>
 
-                <para> Al pasar a este método un valor booleano
+               <para>Al pasar a este método un valor booleano
                         <constant>TRUE</constant>, le esta diciendo al objeto
                     respuesta que debe emitir un mensaje de excepción y
                     backtrace cuando se renderiza a sí mismo. En este escenario,
                     se mostrará cualquier excepción planteada por su aplicación.
                     Esto no es recomendable para entornos de producción, pero sí
-                    en desarrollo. </para>
+                    en desarrollo.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>Zend_Controller_Front::returnResponse()</methodname>
                     y
-                        <methodname>Zend_Controller_Response_Abstract::isException()</methodname>. </para>
+                        <methodname>Zend_Controller_Response_Abstract::isException()</methodname>.</para>
 
-                <para> Pasando un valor booleano <constant>TRUE</constant> a
+               <para>Pasando un valor booleano <constant>TRUE</constant> a
                         <methodname>Zend_Controller_Front::returnResponse()</methodname>,
                         <methodname>Zend_Controller_Front::dispatch()</methodname>
                     no renderizará la respuesta, sino que la devolverá. Una vez
@@ -114,7 +114,7 @@ try {
                     las excepciones fueron atrapadas usando su método
                         <methodname>isException()</methodname>, y recuperando
                     las excepciones a través del método
-                        <methodname>getException()</methodname>. Como ejemplo: </para>
+                        <methodname>getException()</methodname>. Como ejemplo:</para>
 
                 <programlisting language="php"><![CDATA[
 $front->returnResponse(true);
@@ -128,12 +128,12 @@ if ($response->isException()) {
 }
 ]]></programlisting>
 
-                <para> La principal ventaja que este método ofrece por sobre
+               <para>La principal ventaja que este método ofrece por sobre
                         <methodname>Zend_Controller_Front::throwExceptions()</methodname>
                     es que le permite renderizar condicionalmente la respuesta
                     después de manejar la excepción. Esta capturará cualquier
                     excepción en la cadena de controladores, a diferencia del
-                    plugin de manejo de errores. </para>
+                    plugin de manejo de errores.</para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -141,30 +141,30 @@ if ($response->isException()) {
     <sect2 id="zend.controller.exceptions.internal">
         <title>Excepciones MVC que Usted Pueda Encontrar</title>
 
-        <para> Los diversos componentes de <acronym>MVC</acronym> -- solicitud,
+       <para>Los diversos componentes de <acronym>MVC</acronym> -- solicitud,
             router, despachador, controlador de acción, y los objetos respuesta
             -- pueden arrojar excepciones en ocasiones. Algunas excepciones
             puede ser condicionalmente anuladas, y otras se usan para indicar al
             desarrollador que puede necesitar re-considerar la estructura de su
-            aplicación. </para>
+            aplicación.</para>
 
-        <para>Como algunos ejemplos:</para>
+       <para>Como algunos ejemplos:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>Zend_Controller_Dispatcher::dispatch()</methodname>
                     hará, por defecto, arrojar una excepción si se hace un
                     requerimiento a un controlador no válido. Hay dos maneras
-                    recomendadas para lidiar con esto. </para>
+                    recomendadas para lidiar con esto.</para>
 
                 <itemizedlist>
                     <listitem>
-                        <para>Establecer el parámetro
-                                <methodname>useDefaultControllerAlways</methodname>. </para>
+                       <para>Establecer el parámetro
+                                <methodname>useDefaultControllerAlways</methodname>.</para>
 
-                        <para> En su front controller, o en su despachador,
-                            añada la siguiente directiva: </para>
+                       <para>En su front controller, o en su despachador,
+                            añada la siguiente directiva:</para>
 
                         <programlisting language="php"><![CDATA[
 $front->setParam('useDefaultControllerAlways', true);
@@ -174,18 +174,18 @@ $front->setParam('useDefaultControllerAlways', true);
 $dispatcher->setParam('useDefaultControllerAlways', true);
 ]]></programlisting>
 
-                        <para> Cuando este flag está establecido, el despachador
+                       <para>Cuando este flag está establecido, el despachador
                             utilizará el controlador y la acción por defecto en
                             lugar de lanzar una excepción. La desventaja de este
                             método es que cualquier error ortográfico que un
                             usuario haga cuando acceda a su sitio lo resolverá y
                             mostrará su página de inicio, y que puede causar
                             estragos con la optimización para los motores de
-                            búsqueda. </para>
+                            búsqueda.</para>
                     </listitem>
 
                     <listitem>
-                        <para> La excepción arrojada por
+                       <para>La excepción arrojada por
                                 <methodname>dispatch()</methodname> es una
                                 <classname>Zend_Controller_Dispatcher_Exception</classname>
                             conteniendo el texto 'Invalid controller specified'.
@@ -193,27 +193,27 @@ $dispatcher->setParam('useDefaultControllerAlways', true);
                                 linkend="zend.controller.exceptions.handling">la
                                 sección anterior</link> para atrapar la
                             excepción, y luego redireccionar a una página
-                            genérica de error o a la página de inicio. </para>
+                            genérica de error o a la página de inicio.</para>
                     </listitem>
                 </itemizedlist>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>Zend_Controller_Action::__call()</methodname>
                     arrojará una
                         <classname>Zend_Controller_Action_Exception</classname>
                     si no puede despachar una acción inexistente a un método. Es
                     probable que desee utilizar alguna acción por defecto en el
                     controlador en casos como este. Formas de lograr esto
-                    incluyen: </para>
+                    incluyen:</para>
 
                 <itemizedlist>
                     <listitem>
-                        <para> Subclasear
+                       <para>Subclasear
                                 <classname>Zend_Controller_Action</classname> y
                             anular el método <methodname>__call()</methodname>.
-                            Como ejemplo: </para>
+                            Como ejemplo:</para>
 
                         <programlisting language="php"><![CDATA[
 class My_Controller_Action extends Zend_Controller_Action
@@ -230,17 +230,17 @@ class My_Controller_Action extends Zend_Controller_Action
     }
 }
 ]]></programlisting>
-                        <para> El ejemplo anterior intercepta cualquier llamada
+                       <para>El ejemplo anterior intercepta cualquier llamada
                             a un método de acción indefinido y redirecciona a la
-                            acción predeterminada en el controlador. </para>
+                            acción predeterminada en el controlador.</para>
                     </listitem>
 
                     <listitem>
-                        <para> Subclasea a
+                       <para>Subclasea a
                                 <classname>Zend_Controller_Dispatcher</classname>
                             y anula el método
                                 <methodname>getAction()</methodname> para
-                            verificar si la acción existe. Como ejemplo: </para>
+                            verificar si la acción existe. Como ejemplo:</para>
 
                         <programlisting language="php"><![CDATA[
 class My_Controller_Dispatcher extends Zend_Controller_Dispatcher
@@ -267,45 +267,45 @@ class My_Controller_Dispatcher extends Zend_Controller_Dispatcher
 }
 ]]></programlisting>
 
-                        <para> El código anterior comprueba para ver que las
+                       <para>El código anterior comprueba para ver que las
                             acciones solicitadas existan en la clase del
                             controlador; si no, se restablece la acción a la
-                            acción por defecto. </para>
+                            acción por defecto.</para>
 
-                        <para> Este método es agradable porque puede alterar
+                       <para>Este método es agradable porque puede alterar
                             transparentemente la acción antes del último
                             despacho. Sin embargo, también significa que errores
                             ortográficos en la <acronym>URL</acronym> todavía
                             pueden despacharse correctamente, lo que no es muy
                             bueno para la optimización en un motor de búsqueda.
-                        </para>
+                       </para>
                     </listitem>
 
                     <listitem>
-                        <para> Use
+                       <para>Use
                                 <methodname>Zend_Controller_Action::preDispatch()</methodname>
                             o
                                 <methodname>Zend_Controller_Plugin_Abstract::preDispatch()</methodname>
-                            para identificar acciones inválidas. </para>
+                            para identificar acciones inválidas.</para>
 
-                        <para> Subclaseando
+                       <para>Subclaseando
                                 <classname>Zend_Controller_Action</classname> y
                             modificando <methodname>preDispatch()</methodname>,
                             puede modificar todos sus controladores que
                             transmitan a otra acción o redireccionar antes de
                             despachar la acción. El código para hacer esto se
                             verá parecido al código de sustitución de arriba
-                                <methodname>__call()</methodname>. </para>
+                                <methodname>__call()</methodname>.</para>
 
-                        <para> Alternativamente, puede verificar esta
+                       <para>Alternativamente, puede verificar esta
                             información en un plugin global. Esto tiene la
                             ventaja de ser independiente del controlador de
                             acción; si su aplicación consiste en una variedad de
                             controladores de acción, y no todos ellos heredan de
                             la misma clase, este método puede añadir coherencia
-                            a su manejo de clases diferentes. </para>
+                            a su manejo de clases diferentes.</para>
 
-                        <para> Como ejemplo: </para>
+                       <para>Como ejemplo:</para>
 
                         <programlisting language="php"><![CDATA[
 class My_Controller_PreDispatchPlugin extends Zend_Controller_Plugin_Abstract
@@ -335,11 +335,11 @@ class My_Controller_PreDispatchPlugin extends Zend_Controller_Plugin_Abstract
 }
 ]]></programlisting>
 
-                        <para> En este ejemplo, vamos a consultar para ver si la
+                       <para>En este ejemplo, vamos a consultar para ver si la
                             acción solicitada está disponible en el controlador.
                             Si no, redireccionamos a la acción predeterminada en
                             el controlador, y salimos inmediatamente de la
-                            ejecución del script. </para>
+                            ejecución del script.</para>
                     </listitem>
                 </itemizedlist>
             </listitem>

+ 114 - 114
documentation/manual/es/module_specs/Zend_Controller-FrontController.xml

@@ -7,52 +7,52 @@
     <sect2 id="zend.controller.front.overview">
         <title>Introducción</title>
 
-        <para>
+       <para>
             <classname>Zend_Controller_Front</classname> implementa un <ulink
                 url="http://www.martinfowler.com/eaaCatalog/frontController.html">Front Controller
                 pattern</ulink> usado en aplicaciones <ulink
                 url="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller
                 (MVC)</ulink>. Su propósito es inicializar el entorno de la solicitud, rutear la
             solicitud entrante, y luego hacer un envío de cualquier de las acciones descubiertas; le
-            agrega las respuestas y las regresa cuando se completa el proceso. </para>
+            agrega las respuestas y las regresa cuando se completa el proceso.</para>
 
-        <para>
+       <para>
             <classname>Zend_Controller_Front</classname> también implementa el <ulink
                 url="http://en.wikipedia.org/wiki/Singleton_pattern">Singleton pattern</ulink>,
             significando que solo una única instancia de él puede estar disponible en cualquier
             momento dado. Esto le permite actuar también como un registro en el que los demás
-            objetos pueden extraer del proceso dispatch. </para>
+            objetos pueden extraer del proceso dispatch.</para>
 
-        <para>
+       <para>
             <classname>Zend_Controller_Front</classname> registra un <link
                 linkend="zend.controller.plugins">plugin broker</link> consigo mismo, permitiendo
             que diversos eventos que dispara sean observados por plugins. En muchos casos, esto da
             el desarrollador la oportunidad de adaptar el proceso de dispatch al sitio sin la
-            necesidad de ampliar el Front Controller para añadir funcionalidad. </para>
+            necesidad de ampliar el Front Controller para añadir funcionalidad.</para>
 
-        <para> Como mínimo, el front controller necesita una o más paths a directorios que contengan
+       <para>Como mínimo, el front controller necesita una o más paths a directorios que contengan
                 <link linkend="zend.controller.action"> action controllers</link> a fin de hacer su
             trabajo. Una variedad de métodos también pueden ser invocados para seguir adaptando el
-            medio ambiente del front controller y ese a sus helper classes. </para>
+            medio ambiente del front controller y ese a sus helper classes.</para>
 
         <note>
             <title>Comportamiento por Defecto</title>
-            <para> Por defecto, el front controller carga el <link
+           <para>Por defecto, el front controller carga el <link
                     linkend="zend.controller.plugins.standard.errorhandler">ErrorHandler</link>
                 plugin, así como al <link linkend="zend.controller.actionhelpers.viewrenderer"
                     >ViewRenderer</link> action helper plugin. Estos son para simplificar el manejo
-                de errores y el view renderering en sus controladores, respectivamente. </para>
+                de errores y el view renderering en sus controladores, respectivamente.</para>
 
-            <para> Para deshabilitar el <emphasis>ErrorHandler</emphasis>, ejecutar lo siguiente en
-                cualquier momento antes de llamar a <methodname>dispatch()</methodname>: </para>
+           <para>Para deshabilitar el <emphasis>ErrorHandler</emphasis>, ejecutar lo siguiente en
+                cualquier momento antes de llamar a <methodname>dispatch()</methodname>:</para>
 
             <programlisting language="php"><![CDATA[
 // Deshabilitar el ErrorHandler plugin:
 $front->setParam('noErrorHandler', true);
 ]]></programlisting>
 
-            <para> Para deshabilitar el <emphasis>ViewRenderer</emphasis>, haga lo siguiente antes
-                de llamar a <methodname>dispatch()</methodname>: </para>
+           <para>Para deshabilitar el <emphasis>ViewRenderer</emphasis>, haga lo siguiente antes
+                de llamar a <methodname>dispatch()</methodname>:</para>
 
             <programlisting language="php"><![CDATA[
 // Deshabilitar el ViewRenderer helper:
@@ -64,16 +64,16 @@ $front->setParam('noViewRenderer', true);
     <sect2 id="zend.controller.front.methods.primary">
         <title>Métodos Básicos</title>
 
-        <para> El front controller tiene varios accessors para establecer su medio ambiente. Sin
-            embargo, hay tres métodos básicos clave para la funcionalidad del front controller: </para>
+       <para>El front controller tiene varios accessors para establecer su medio ambiente. Sin
+            embargo, hay tres métodos básicos clave para la funcionalidad del front controller:</para>
 
         <sect3 id="zend.controller.front.methods.primary.getinstance">
             <title>getInstance()</title>
 
-            <para>
+           <para>
                 <methodname>getInstance()</methodname> se utiliza para recuperar una instancia del
                 front controller. Como el front controller implementa un patrón Singleton, este
-                también es el único medio posible para instanciar un objeto front controller. </para>
+                también es el único medio posible para instanciar un objeto front controller.</para>
 
             <programlisting language="php"><![CDATA[
 $front = Zend_Controller_Front::getInstance();
@@ -83,13 +83,13 @@ $front = Zend_Controller_Front::getInstance();
         <sect3 id="zend.controller.front.methods.primary.setcontrollerdirectory">
             <title>setControllerDirectory() y addControllerDirectory</title>
 
-            <para>
+           <para>
                 <methodname>setControllerDirectory()</methodname> se usa para decirle a <link
                     linkend="zend.controller.dispatcher">el dispatcher</link> dónde buscar para los
                 archivos de clase <link linkend="zend.controller.action">action controller</link>.
-                Acepta bien un único path o un array asociativo de pares módulo/path. </para>
+                Acepta bien un único path o un array asociativo de pares módulo/path.</para>
 
-            <para> Como algunos ejemplos: </para>
+           <para>Como algunos ejemplos:</para>
 
             <programlisting language="php"><![CDATA[
 // Establer el directorio de controladores por defecto:
@@ -107,88 +107,88 @@ $front->addControllerDirectory('../modules/foo/controllers', 'foo');
 ]]></programlisting>
 
             <note>
-                <para> Si usa <methodname>addControllerDirectory()</methodname> sin un nombre de
+               <para>Si usa <methodname>addControllerDirectory()</methodname> sin un nombre de
                     módulo, este establecerá el directorio <emphasis>default</emphasis> para el
-                    módulo -- sobreescribiéndolo si ya existe. </para>
+                    módulo -- sobreescribiéndolo si ya existe.</para>
             </note>
 
-            <para> Puede conseguir la configuración actual para el directorio del controlador
+           <para>Puede conseguir la configuración actual para el directorio del controlador
                 utilizando <methodname>getControllerDirectory()</methodname>; este devolverá un
-                array de pares módulo y directorio. </para>
+                array de pares módulo y directorio.</para>
         </sect3>
 
         <sect3 id="zend.controller.front.methods.primary.addmoduledirectory">
             <title>addModuleDirectory() y getModuleDirectory()</title>
 
-            <para> Uno de los aspectos del front controller es que puede <link
+           <para>Uno de los aspectos del front controller es que puede <link
                     linkend="zend.controller.modular"> definir una estructura modular de
                     directorio</link> para crear componentes standalone; estos son llamados
-                "módulos". </para>
+                "módulos".</para>
 
-            <para> Cada módulo debe estar en su propio directorio y ser un espejo de la estructura
+           <para>Cada módulo debe estar en su propio directorio y ser un espejo de la estructura
                 del directorio del módulo por defecto -- es decir, que debería tener como mínimo un
                 subdirectorio de <filename>/controllers/</filename>, y típicamente un subdirectorio
-                de <filename>/views/</filename> y otros subdirectorios de aplicaciones. </para>
+                de <filename>/views/</filename> y otros subdirectorios de aplicaciones.</para>
 
-            <para>
+           <para>
                 <methodname>addModuleDirectory()</methodname> permite pasar el nombre de un
                 directorio que contiene uno o más directorios de módulos. A continuación lo analiza
-                y los añade como directorios de controladores al front controller. </para>
+                y los añade como directorios de controladores al front controller.</para>
 
-            <para> Después, si quiere determinar el path a un determinado módulo o al módulo actual,
+           <para>Después, si quiere determinar el path a un determinado módulo o al módulo actual,
                 puede llamar a <methodname>getModuleDirectory()</methodname>, opcionalmente puede
                 pasar un nombre de módulo para conseguir el directorio de ese módulo específico.
-            </para>
+           </para>
         </sect3>
 
         <sect3 id="zend.controller.front.methods.primary.dispatch">
             <title>dispatch()</title>
 
-            <para>
+           <para>
                 <methodname>dispatch(Zend_Controller_Request_Abstract $request = null,
                     Zend_Controller_Response_Abstract $response = null)</methodname> hace el trabajo
                 pesado del front controller. Puede opcionalmente tomar un <link
                     linkend="zend.controller.request">request object</link> y/o un <link
                     linkend="zend.controller.response">response object</link>, permitiendo al
-                desarrollador pasar objetos peronalizados para cada uno. </para>
+                desarrollador pasar objetos peronalizados para cada uno.</para>
 
-            <para> Si no se pasa ningun objeto solicitud o respuesta,
+           <para>Si no se pasa ningun objeto solicitud o respuesta,
                     <methodname>dispatch()</methodname> comprobará por objetos previamente
                 registrados y utilizará esos o instanciará versiones por defecto a utilizar en su
                 proceso (en ambos casos, el sabor de <acronym>HTTP</acronym> será utilizado por
-                defecto). </para>
+                defecto).</para>
 
-            <para> Similarmente, <methodname>dispatch()</methodname> comprueba los objetos
+           <para>Similarmente, <methodname>dispatch()</methodname> comprueba los objetos
                 registrados <link linkend="zend.controller.router">router</link> y <link
                     linkend="zend.controller.dispatcher">dispatcher</link> , instanciando las
-                versiones por defecto de cada uno si ninguno de ellos se encuentra. </para>
+                versiones por defecto de cada uno si ninguno de ellos se encuentra.</para>
 
-            <para> El proceso de dispatch tiene tres eventos distintos: </para>
+           <para>El proceso de dispatch tiene tres eventos distintos:</para>
 
             <itemizedlist>
                 <listitem>
-                    <para>Routing</para>
+                   <para>Routing</para>
                 </listitem>
                 <listitem>
-                    <para>Dispatching</para>
+                   <para>Dispatching</para>
                 </listitem>
                 <listitem>
-                    <para>Response</para>
+                   <para>Response</para>
                 </listitem>
             </itemizedlist>
 
-            <para> El routing se lleva a cabo exactamente una vez, utilizando los valores del objeto
+           <para>El routing se lleva a cabo exactamente una vez, utilizando los valores del objeto
                 solicitud cuando se llama a <methodname>dispatch()</methodname>. El dispatching se
                 lleva a cabo en un bucle; una solicitud puede indicar, bien múltiples acciones de
                 dispatch, o el controlador o un plugin pueden restablecer el objeto solicitud para
                 forzar medidas adicionales para dispatch. Cuando todo está hecho, el front
-                controller devuelve una respuesta. </para>
+                controller devuelve una respuesta.</para>
         </sect3>
 
         <sect3 id="zend.controller.front.methods.primary.run">
             <title>run()</title>
 
-            <para>
+           <para>
                 <classname>Zend_Controller_Front::run($path)</classname> es un método estático que
                 toma simplemente un path a un directorio que contiene controladores. Obtiene una
                 instancia del front controller (via <link
@@ -196,14 +196,14 @@ $front->addControllerDirectory('../modules/foo/controllers', 'foo');
                 >getInstance()</link>, registra el path provisto via <link
                     linkend="zend.controller.front.methods.primary.setcontrollerdirectory"
                     >setControllerDirectory()</link>, y finalmente <link
-                    linkend="zend.controller.front.methods.primary.dispatch">dispatches</link>. </para>
+                    linkend="zend.controller.front.methods.primary.dispatch">dispatches</link>.</para>
 
-            <para> Básicamente, <methodname>run()</methodname> es un método conveniente que pueden
+           <para>Básicamente, <methodname>run()</methodname> es un método conveniente que pueden
                 utilizarse para setups de sitios que no requieran la personalización del medio
-                ambiente del front controller. </para>
+                ambiente del front controller.</para>
 
             <programlisting language="php"><![CDATA[
-// Instanciar el front controller, establecer el directorio de controladores, 
+// Instanciar el front controller, establecer el directorio de controladores,
 // y hacer el dispatch fácilmente en en un solo paso:
 Zend_Controller_Front::run('../application/controllers');
 ]]></programlisting>
@@ -213,123 +213,123 @@ Zend_Controller_Front::run('../application/controllers');
     <sect2 id="zend.controller.front.methods.environment">
         <title>Métodos Accessor Ambientales</title>
 
-        <para> Además de los métodos enumerados anteriormente, hay una serie de métodos accessor que
+       <para>Además de los métodos enumerados anteriormente, hay una serie de métodos accessor que
             pueden utilizarse para afectar el entorno del front controller -- y por lo tanto el
-            ambiente de las clases a las cuales delega el front controller. </para>
+            ambiente de las clases a las cuales delega el front controller.</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>resetInstance()</methodname> puede ser utilizada para borrar todos
                     los settings actuales. Su objetivo principal es para testing, pero también puede
                     ser utilizada para instancias donde desee encadenar múltiples front controllers.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>(set|get)DefaultControllerName()</methodname> permite especificar un
                     nombre diferente para usar en el controlador por defecto (en caso coontrario, se
                     usa 'index') y recuperar el valor actual. Delegan a <link
-                        linkend="zend.controller.dispatcher">el dispatcher</link>. </para>
+                        linkend="zend.controller.dispatcher">el dispatcher</link>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setDefaultAction()</methodname> y
                         <methodname>getDefaultAction()</methodname> le deja especificar un nombre
                     diferente a utilizar para la acción predeterminada (en caso coontrario, se usa
                     'index') y recuperar el valor actual. Delegan a <link
-                        linkend="zend.controller.dispatcher">el dispatcher</link>. </para>
+                        linkend="zend.controller.dispatcher">el dispatcher</link>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setRequest()</methodname> y <methodname>getRequest()</methodname> le
                     permite especificar la clase u objeto <link linkend="zend.controller.request">el
                         request</link> a usar durante el proceso de dispatch y recuperar el objeto
                     actual. Al setear el objeto solicitud, puede pasarlo en un nombre de clase de
                     solicitud, en cuyo caso el método va a cargar el archivo clase y lo instanciará.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setRouter()</methodname>
                     <methodname>getRouter()</methodname> le permite especificar la clase u objeto
                         <link linkend="zend.controller.router">el router</link> a usar durante el
                     proceso de dispatch y recuperar el objeto actual. Al setear el objeto router,
                     puede pasarlo en un nombre de clase de router, en cuyo caso el método va a
-                    cargar el archivo clase y lo instanciará. </para>
+                    cargar el archivo clase y lo instanciará.</para>
 
-                <para> Al recuperar el objeto router, en primer lugar comprueba para ver si hay
+               <para>Al recuperar el objeto router, en primer lugar comprueba para ver si hay
                     alguno presente, y si no, instancia al router por defecto(reescribe el router).
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setBaseUrl()</methodname> y <methodname>getBaseUrl()</methodname> le
                     permite especificar <link linkend="zend.controller.request.http.baseurl">la URL
                         base</link> de la cual tirar cuando se rutean peticiones y recuperar el
                     valor actual. El valor se provee al objeto solicitud justo antes de rutear.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setDispatcher()</methodname> y
                         <methodname>getDispatcher()</methodname> le permite especificar la clase u
                     objeto <link linkend="zend.controller.dispatcher">el dispatcher</link> a usar
                     durante el proceso de dispatch y recuperar el objeto actual. Al setear el objeto
                     dispatch, puede pasarlo en un nombre de clase de dispatcher, en cuyo caso el
-                    método va a cargar el archivo clase y lo instanciará. </para>
+                    método va a cargar el archivo clase y lo instanciará.</para>
 
-                <para> Al recuperar el objeto dispatch, en primer lugar comprueba para ver si hay
-                    alguno presente, y si no, instancia al dispatcher por defecto. </para>
+               <para>Al recuperar el objeto dispatch, en primer lugar comprueba para ver si hay
+                    alguno presente, y si no, instancia al dispatcher por defecto.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setResponse()</methodname> y <methodname>getResponse()</methodname>
                     le permite especificar la clase u objeto <link
                         linkend="zend.controller.response">response</link> a usar durante el proceso
                     de dispatch y recuperar el objeto actual. Al setear el objeto response, puede
                     pasarlo en un nombre de clase de response, en cuyo caso el método va a cargar el
-                    archivo clase y lo instanciará. </para>
+                    archivo clase y lo instanciará.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>registerPlugin(Zend_Controller_Plugin_Abstract $plugin, $stackIndex
                         = null)</methodname> le permite registrar <link
                         linkend="zend.controller.plugins">plugin objects</link>. Opcionalmente,
                     setting <varname>$stackIndex</varname>, puede controlar el orden en que se
-                    ejecutarán los plugins. </para>
+                    ejecutarán los plugins.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>unregisterPlugin($plugin)</methodname> le permite desregistrar <link
                         linkend="zend.controller.plugins">plugin objects</link>.
                         <varname>$plugin</varname> puede ser tanto un objeto plugin o un string que
-                    denota la clase de plugin a desregistrar. </para>
+                    denota la clase de plugin a desregistrar.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>throwExceptions($flag)</methodname> se utiliza para activar o
                     desactivar la capacidad de arrojar excepciones durante el proceso de dispatch.
                     Por defecto, las excepciones son capturadas y colocadas en el <link
                         linkend="zend.controller.response">objeto response </link>; activando
-                        <methodname>throwExceptions()</methodname> se anulará este comportamiento. </para>
+                        <methodname>throwExceptions()</methodname> se anulará este comportamiento.</para>
 
-                <para> Para más información, lea <xref linkend="zend.controller.exceptions"/>.
-                </para>
+               <para>Para más información, lea <xref linkend="zend.controller.exceptions"/>.
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>returnResponse($flag)</methodname> se usa para decirle al front
                     controller cuando regresar la respuesta (<constant>TRUE</constant>) desde
                         <methodname>dispatch()</methodname>, o si la respuesta debe ser emitida
@@ -337,11 +337,11 @@ Zend_Controller_Front::run('../application/controllers');
                     automáticamente emitida (llamando a
                         <methodname>Zend_Controller_Response_Abstract::sendResponse()</methodname>);
                     activando <methodname>returnResponse()</methodname>) se anulará este
-                    comportamiento. </para>
+                    comportamiento.</para>
 
-                <para> Las razones para regresar la respuesta incluyen un deseo de comprobar las
+               <para>Las razones para regresar la respuesta incluyen un deseo de comprobar las
                     excepciones antes de emitir la respuesta, necesidad de hacer un log de diversos
-                    aspectos de la respuesta (tales como cabeceras), etc. </para>
+                    aspectos de la respuesta (tales como cabeceras), etc.</para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -349,86 +349,86 @@ Zend_Controller_Front::run('../application/controllers');
     <sect2 id="zend.controller.front.methods.params">
         <title>Parámetros de Front Controller</title>
 
-        <para> En la introducción, se indicó que el front controller también actúa como un registro
+       <para>En la introducción, se indicó que el front controller también actúa como un registro
             de los distintos componentes del controlador. Lo hace mediante una familia de métodos
             "param". Estos métodos le permiten registrar datos arbitrarios -- objetos y variables --
             con el front controller, a ser devueltos en cualquier momento en la cadena de dispatch.
             Estos valores se transmiten al router, al dispatcher, y a los action controllers. Los
-            métodos incluyen: </para>
+            métodos incluyen:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>setParam($name, $value)</methodname> permite establecer un único
                     parámetro de <varname>$name</varname> con el valor <varname>$value</varname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>setParams(array $params)</methodname> permite configurar varios
-                    parámetros a la vez usando un array asociativo. </para>
+                    parámetros a la vez usando un array asociativo.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getParam($name)</methodname> permite recuperar un único parámetro a
-                    la vez, utilizando como identificador a <varname>$name</varname>. </para>
+                    la vez, utilizando como identificador a <varname>$name</varname>.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>getParams()</methodname> permite recuperar toda la lista de
-                    parámetros a la vez. </para>
+                    parámetros a la vez.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>clearParams()</methodname> permite borrar un único parámetro
                     (pasando un string identificador), parámetros con múltiples nombres (pasando un
                     array de strings identificadores), o el stack de parámetros completo (pasando
-                    nada). </para>
+                    nada).</para>
             </listitem>
         </itemizedlist>
 
-        <para> Hay varios parámetros pre-definidos que puede ser seteados para tener usos
-            específicos en la cadena de dispatch: </para>
+       <para>Hay varios parámetros pre-definidos que puede ser seteados para tener usos
+            específicos en la cadena de dispatch:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>useDefaultControllerAlways</methodname> se usa para indicar a <link
                         linkend="zend.controller.dispatcher">el dispatcher</link> que utilice el
                     controlador por defecto en el módulo por defecto de cualquier solicitud que no
                     sea dispatchable (es decir, el módulo, el controlador y/o la acción no existen).
-                    Por defecto, está en off. </para>
+                    Por defecto, está en off.</para>
 
-                <para> Ver <link linkend="zend.controller.exceptions.internal">MVC Exceptions You
+               <para>Ver <link linkend="zend.controller.exceptions.internal">MVC Exceptions You
                         May Encounter</link> para información más detallada sobre el uso de este
-                    setting. </para>
+                    setting.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <methodname>disableOutputBuffering</methodname> se usa para indicarle a <link
                         linkend="zend.controller.dispatcher">el dispatcher</link> que no debe
                     utilizar output buffering para capturar la salida generada por los controladores
                     de acción. Por defecto, el dispatcher captura cualquier salida y la añade al
-                    contenido del cuerpo del objeto respuesta. </para>
+                    contenido del cuerpo del objeto respuesta.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>noViewRenderer</emphasis> se usa para deshabilitar el <link
                         linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link>.
-                    Poniendo este parámetro a true, lo deshabilita. </para>
+                    Poniendo este parámetro a true, lo deshabilita.</para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>noErrorHandler</emphasis> se usa para deshabilitar el <link
                         linkend="zend.controller.plugins.standard.errorhandler">Error Handler
-                        plugin</link>. Poniendo este parámetro a true, lo deshabilita. </para>
+                        plugin</link>. Poniendo este parámetro a true, lo deshabilita.</para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -436,8 +436,8 @@ Zend_Controller_Front::run('../application/controllers');
     <sect2 id="zend.controller.front.subclassing">
         <title>Extendiendo el Front Controller</title>
 
-        <para> Para extender el Front Controller, como mínimo que necesitará anular el método
-                <methodname>getInstance()</methodname>: </para>
+       <para>Para extender el Front Controller, como mínimo que necesitará anular el método
+                <methodname>getInstance()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 class My_Controller_Front extends Zend_Controller_Front
@@ -453,16 +453,16 @@ class My_Controller_Front extends Zend_Controller_Front
 }
 ]]></programlisting>
 
-        <para> Anulando el método <methodname>getInstance()</methodname> asegura que las
+       <para>Anulando el método <methodname>getInstance()</methodname> asegura que las
             subsiguientes llamadas a <methodname>Zend_Controller_Front::getInstance()</methodname>
             devolverá una instancia de su nueva subclase en lugar de una instancia
                 <classname>Zend_Controller_Front</classname> -- esto es particularmente útil para
-            algunos de los routers alternativos y view helpers. </para>
+            algunos de los routers alternativos y view helpers.</para>
 
-        <para> Típicamente, no necesitará una subclase del front controller a menos que necesite
+       <para>Típicamente, no necesitará una subclase del front controller a menos que necesite
             añadir nuevas funcionalidades (por ejemplo, un plugin autoloader, o una forma de
             especificar los paths de los action helpers). Algunos de los puntos donde puede querer
             modificar el comportamiento puede incluir modificar cómo son almacenados los directorios
-            de controladores , o qué router predeterminado o dispatcher se utiliza. </para>
+            de controladores , o qué router predeterminado o dispatcher se utiliza.</para>
     </sect2>
 </sect1>

+ 255 - 255
documentation/manual/es/module_specs/Zend_Controller-Migration.xml

@@ -4,58 +4,58 @@
 <sect1 id="zend.controller.migration">
     <title>Migración de versiones anteriores</title>
 
-    <para>
-    	La <acronym>API</acronym> de los componentes de <acronym>MVC</acronym>  ha cambiado en el tiempo. Si usted ha empezado a
-    	usar una versión anterior de Zend Framework, siga la guía de abajo para
-    	migrar sus acripts para usar la arquitectura nueva.
-    </para>
-
-	<sect2 id="zend.controller.migration.fromoneseventooneeight">
-		<title>Migración de 1.7.x a 1.8.0 o nuevas versiones</title>
-
-		<sect3 id="zend.controller.migration.fromoneseventooneeight.router">
-			<title>Cambios en Standard Route </title>
-
-			<para>
-				Como los segmentos traducidos fueron presentados en la nueva
-				standard
-				route, El caracter
-				<methodname>@</methodname>
-				es ahora un carácter especial al principio de
-				un segmento del route. Para poder utilizarlo en un segmento estático,
-				tiene que escaparlo usando un segundo caracater
-				<methodname>@</methodname>
-				como prefijo. La misma regla se aplica ahora para el
-				caracter
-				<methodname>:</methodname>
-				.
-			</para>
-		</sect3>
-	</sect2>
-
-    
+  <para>
+        La <acronym>API</acronym> de los componentes de <acronym>MVC</acronym>  ha cambiado en el tiempo. Si usted ha empezado a
+        usar una versión anterior de Zend Framework, siga la guía de abajo para
+        migrar sus acripts para usar la arquitectura nueva.
+   </para>
+
+    <sect2 id="zend.controller.migration.fromoneseventooneeight">
+        <title>Migración de 1.7.x a 1.8.0 o nuevas versiones</title>
+
+        <sect3 id="zend.controller.migration.fromoneseventooneeight.router">
+            <title>Cambios en Standard Route </title>
+
+          <para>
+                Como los segmentos traducidos fueron presentados en la nueva
+                standard
+                route, El caracter
+                <methodname>@</methodname>
+                es ahora un carácter especial al principio de
+                un segmento del route. Para poder utilizarlo en un segmento estático,
+                tiene que escaparlo usando un segundo caracater
+                <methodname>@</methodname>
+                como prefijo. La misma regla se aplica ahora para el
+                caracter
+                <methodname>:</methodname>
+                .
+           </para>
+        </sect3>
+    </sect2>
+
+
     <sect2 id="zend.controller.migration.fromonesixtooneseven">
         <title>Migración de 1.6.x a 1.7.0 o nuevas versiones</title>
 
         <sect3 id="zend.controller.migration.fromonesixtooneseven.dispatcher">
             <title>Cambios en la interfaz del Dispatcher</title>
 
-            <para>
-				Los usuarios llamaron nuestra atención el hecho de que
+          <para>
+                Los usuarios llamaron nuestra atención el hecho de que
                 <classname> Zend_Controller_Action_Helper_ViewRenderer </classname> estaba
                 utilizando un método Dispatcher de la clase abstracta que no está en
                 el Dispatcher de la interfaz. Hemos añadido el siguiente método para
                 garantizar que los Dispatcher de costumbre seguirán trabajando con las
                 implementaciones enviadas:
-            </para>
+           </para>
 
             <itemizedlist>
-            	<listitem><para>
+                <listitem><para>
                     <methodname>formatModuleName()</methodname>: debe utilizarse para tomar un nuevo
                 nombre de controlador, tal como uno que debería estar basado dentro de una petición
                 objeto, y cambiarlo a un nombre de clase apropiado que la clase extendida
                 <classname>Zend_Controller_Action</classname> debería usar
-                </para></listitem>
+               </para></listitem>
             </itemizedlist>
         </sect3>
     </sect2>
@@ -66,31 +66,31 @@
         <sect3 id="zend.controller.migration.fromoneohtoonesix.dispatcher">
             <title>Cambios en la interfaz del Dispatcher</title>
 
-            <para>            		
-				Los usuarios atrajeron nuestra atención con el hecho de que
+          <para>                   
+                Los usuarios atrajeron nuestra atención con el hecho de que
                  <classname> Zend_Controller_Front </classname> y
                  <classname> Zend_Controller_Router_Route_Module </classname> fueron
                  utilizando métodos del despachador que no estaban en la interfaz del
                  despachador. Ahora hemos adicionado los siguientes tres métodos para
                  asegurar que los despachadores diseñados sigan trabajando con las
                  implementaciones enviadas:
-            </para>
+           </para>
 
             <itemizedlist>
                 <listitem><para>
                     <methodname>getDefaultModule()</methodname>: debe retornar el nombre del
                     módulo por defecto.
-                </para></listitem>
+               </para></listitem>
 
                 <listitem><para>
                     <methodname>getDefaultControllerName()</methodname>: debe retornar el
                     nombre del controlador por defecto.
-                </para></listitem>
+               </para></listitem>
 
                 <listitem><para>
                     <methodname>getDefaultAction()</methodname>: debe retornar el
                     nombre de la acción por defecto.
-                </para></listitem>
+               </para></listitem>
             </itemizedlist>
         </sect3>
     </sect2>
@@ -98,14 +98,14 @@
     <sect2 id="zend.controller.migration.fromoneohtoonefive">
         <title>Migranado desde 1.0.x a 1.5.0 o versiones posteriores</title>
 
-        <para>        		
-			Aunque la mayoría de la funcionalidad básica sigue siendo la misma, y todas las
-			funcionalidades documentadas siguen siendo la mismas, hay una en particular
+      <para>               
+            Aunque la mayoría de la funcionalidad básica sigue siendo la misma, y todas las
+            funcionalidades documentadas siguen siendo la mismas, hay una en particular
             "característica" <emphasis>undocumented</emphasis> que ha cambiado.
-        </para>
+       </para>
 
-        <para>        		
-			Al escribir las <acronym>URL</acronym>s, la manera de escribir la documentada acción camelCased
+      <para>               
+            Al escribir las <acronym>URL</acronym>s, la manera de escribir la documentada acción camelCased
             es usar un separador de palabra, que son "." o '-' por defecto,
             pero pueden ser configurados en el despachador. El despachador internamente
             convierte en minúsculas el nombre de la acción, y usa estos separadores de palabra para
@@ -116,11 +116,11 @@
             'camelCasedAction' por el despachador, mientras que 'camelCased' se
             convertiría en 'camelCasedAction'; sin embargo, debido a la insensibilidad de
            <acronym>PHP</acronym>, ambos ejecutarán el mismo método.
-        </para>
+       </para>
 
-        <para>        	
-			Esto causa problemas con la vista ViewRenderer cuando devuelve scripts de la
-			vista. El canónico, la documentada forma es que todos los separadores de palabra
+      <para>           
+            Esto causa problemas con la vista ViewRenderer cuando devuelve scripts de la
+            vista. El canónico, la documentada forma es que todos los separadores de palabra
             se conviertan en guiones, y las palabras en minúsculas. Esto crea
             un lazo semántico entre las acciones y los scripts de las vistas, y la
             normalización asegura que los scripts puedan ser encontrados. Sin embargo, si la
@@ -128,10 +128,10 @@
             no está mas presente, y los ViewRenderer intenta devolver
             a una ubicación diferente -- 'camelcased.phtml' en vez de
             'camel-cased.phtml'.
-        </para>
+       </para>
 
-        <para>
-        	Algunos desarrolladores se basarón en esta "característica", que nunca fue la intención.
+      <para>
+            Algunos desarrolladores se basarón en esta "característica", que nunca fue la intención.
             Varios cambios en el árbol 1.5.0 , sin embargo, hizo que la vista
             ViewRenderer ya no resuelva estas direcciones, la semántica esta ahora
             forzada. La primera de ellas, el despachador ahora impone
@@ -140,28 +140,28 @@
             al mismo método que utilizan los separadores de palabras (es decir, 'camel-casing').
             Esto nos lleva a la vista ViewRenderer ahora sólo en honor a las acciones
             palabra-separador cuando se devuleven los scripts vista.
-        </para>
+       </para>
 
-        <para>
+      <para>
             Si usted nota que estaba dependiendo en esta "caracteristica", usted tiene muchas
             opciones:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem><para>
-            		Mejor opción: cambiar el nombre de sus scripts de la vistas. Pros:
+                    Mejor opción: cambiar el nombre de sus scripts de la vistas. Pros:
                     compatibilidad hacia adelante. Contras: si usted tiene muchos scripts vista que
                     se basan en la primera vista, una conducta no deseada, tendrá
                     mucho por hacer.
-            </para></listitem>
+           </para></listitem>
 
             <listitem>
-                <para>                	
-					Segunda mejor opción: La vista ViewRenderer delega ahora resoluciones de scripts
-					de vistas a <classname> Zend_Filter_Inflector </classname>; se puede
+              <para>                   
+                    Segunda mejor opción: La vista ViewRenderer delega ahora resoluciones de scripts
+                    de vistas a <classname> Zend_Filter_Inflector </classname>; se puede
                     modificar las normas del inflector para que ya no separe
                     las palabras de una acción con un guión:
-                </para>
+               </para>
 
                  <programlisting language="php"><![CDATA[
 $viewRenderer =
@@ -176,44 +176,44 @@ $inflector->setFilterRule(':action', array(
 ));
 ]]></programlisting>
 
-                <para>                		
-					El anterior código modificará el inflector para que ya no
+              <para>                       
+                    El anterior código modificará el inflector para que ya no
                     separe las palabras con guión, usted puede querer eliminar
                     el filtro 'StringToLower' si usted desea<emphasis>hacer</emphasis>
                     el nombre de script de vista actual camelCased también.
-                </para>
+               </para>
 
-                <para>
-					Si cambiar el nombre del script vista sería demasiado tedioso o tiempo
+              <para>
+                    Si cambiar el nombre del script vista sería demasiado tedioso o tiempo
                     consumido, esta es su mejor opción hasta que pueda encontrar el
                     tiempo para hacerlo.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
-                	La opción menos deseable: Usted puede forzar al despachador para
-                	despachar nombres de acción camelCased con un nuevo controlador
+              <para>
+                    La opción menos deseable: Usted puede forzar al despachador para
+                    despachar nombres de acción camelCased con un nuevo controlador
                     bandera, 'useCaseSensitiveActions':
-                </para>
+               </para>
 
                  <programlisting language="php"><![CDATA[
 $front->setParam('useCaseSensitiveActions', true);
 ]]></programlisting>
 
-                <para>
-					Esto le permitirá utilizar camelCasing sobre la url y siguir
+              <para>
+                    Esto le permitirá utilizar camelCasing sobre la url y siguir
                     tieniendo resuelta la misma acción como cuando se utilizaba los separadores
                     de palabra. Sin embargo, esto significa que los problemas originales
                     se iran terminando, lo más probable es utilizar la
                     segunda opción anterior, además de esto para que las cosas funcionen
                     confiablemente en todo.
-                </para>
+               </para>
 
-                <para>
-                	Note, también, el uso de esta bandera aumentará un aviso de que
-                	este uso es obsoleto.
-                </para>
+              <para>
+                    Note, también, el uso de esta bandera aumentará un aviso de que
+                    este uso es obsoleto.
+               </para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -221,63 +221,63 @@ $front->setParam('useCaseSensitiveActions', true);
     <sect2 id="zend.controller.migration.fromzeroninethree">
         <title>Migrando desde 0.9.3 a 1.0.0RC1 o versiones posteriores</title>
 
-        <para>
-        	Los cambios principales introducidos en 1.0.0RC1 son la introducción de
-        	y la activación por defecto del plugin
-			<link
+      <para>
+            Los cambios principales introducidos en 1.0.0RC1 son la introducción de
+            y la activación por defecto del plugin
+            <link
                 linkend="zend.controller.plugins.standard.errorhandler">ErrorHandler</link>
-        	y de acción ayuda <link
+            y de acción ayuda <link
                 linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link>
             Por favor, lea la documentación de cada uno completamente para ver
             cómo funcionan y qué efecto pueden tener en sus
             aplicaciones.
-        </para>
+       </para>
 
-        <para>
-        	El plugin <methodname>ErrorHandler</methodname> corre durante
+      <para>
+            El plugin <methodname>ErrorHandler</methodname> corre durante
             <methodname>postDispatch ()</methodname> para el control de excepciones, y enviarlo
             a un especifico controlador de errores. Usted debe incluir tal
             controlador en su aplicación. Usted puede desactivarlo determinando el
             parámetro del controlador <methodname> noErrorHandler </methodname>:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $front->setParam('noErrorHandler', true);
 ]]></programlisting>
 
-        <para>
-			La acción de ayuda <methodname>ViewRenderer</methodname> automatiza inyección de vistas
+      <para>
+            La acción de ayuda <methodname>ViewRenderer</methodname> automatiza inyección de vistas
             en controladores de acción así como los autogeneradores de scripts de vistas
             basados en la acción actual. El principal problema que se puede encontrar es
             si se tiene acciones que no generan scripts de vista y tampoco llevan
             o redireccionan, como <methodname>ViewRenderer</methodname> intentará generar
             un scrip de vista basado en el nombre de la acción.
-        </para>
+       </para>
 
-        <para>
-        	Existen varias estrategias que se puede tomar para actualizar su código. En
-            el corto plazo, se puede deshabilitar globalmente 
+      <para>
+            Existen varias estrategias que se puede tomar para actualizar su código. En
+            el corto plazo, se puede deshabilitar globalmente
             <methodname> ViewRenderer </methodname> en su controlador frontal bootstrap antes del
             despache:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 // Asumiendo que $front es una instacia de Zend_Controller_Front
 $front->setParam('noViewRenderer', true);
 ]]></programlisting>
 
-        <para>
-        	Sin embargo, esta no es una buena estrategia a largo plazo, eso significa que es
-        	probable que usted escriba mas código.
-        </para>
+      <para>
+            Sin embargo, esta no es una buena estrategia a largo plazo, eso significa que es
+            probable que usted escriba mas código.
+       </para>
 
-        <para>
-        	Cuando se esta listo para empezar a usar la funcionalidad
-        	<methodname>ViewRenderer</methodname>, existen demasiadas cosas que ver en el
-        	código del controlador. Primero, ver las acciones método (los métodos
-        	terminados en 'Action'), y determinar lo que cada uno esta haciendo. Si ninguno
-        	de los siguientes esta pasando, usted necesitará hacer cambios:        	
-        </para>
+      <para>
+            Cuando se esta listo para empezar a usar la funcionalidad
+            <methodname>ViewRenderer</methodname>, existen demasiadas cosas que ver en el
+            código del controlador. Primero, ver las acciones método (los métodos
+            terminados en 'Action'), y determinar lo que cada uno esta haciendo. Si ninguno
+            de los siguientes esta pasando, usted necesitará hacer cambios:            
+       </para>
 
         <itemizedlist>
             <listitem><para>Llamar a <methodname>$this-&gt;render()</methodname></para></listitem>
@@ -286,20 +286,20 @@ $front->setParam('noViewRenderer', true);
             <listitem><para>Llamar a el <methodname>Redirector</methodname> action helper</para></listitem>
         </itemizedlist>
 
-        <para>
-        	La forma mas fácil de cambiar es deshabilitar auto-rendering para ese método:
-        </para>
+      <para>
+            La forma mas fácil de cambiar es deshabilitar auto-rendering para ese método:
+       </para>
 
          <programlisting language="php"><![CDATA[
 $this->_helper->viewRenderer->setNoRender();
 ]]></programlisting>
 
-        <para>
-        	Si se encuentra que ninguno de sus acciones método se estan enviando,
+      <para>
+            Si se encuentra que ninguno de sus acciones método se estan enviando,
             transmitiendo, o redireccionando, lo más probable es que se quiera poner encima de la
             línea en su <methodname> preDispatch () </methodname> o <methodname> de init() </methodname>
             métodos:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 public function preDispatch()
@@ -310,57 +310,57 @@ public function preDispatch()
 }
 ]]></programlisting>
 
-        <para>
-        	Si se está llamando a <methodname>render()</methodname>, y si está usando <link
+      <para>
+            Si se está llamando a <methodname>render()</methodname>, y si está usando <link
                 linkend="zend.controller.modular"> la Convención Modular
-                de estructura de directorios</link>, usted preferirá cambiar su código a 
+                de estructura de directorios</link>, usted preferirá cambiar su código a
             hacer uso del auto envio:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
-                	Si se esta enviando scripts de vistas multiples en una sóla
-                	acción, usted no necesoita cambiar nada.
-                </para>
+              <para>
+                    Si se esta enviando scripts de vistas multiples en una sóla
+                    acción, usted no necesoita cambiar nada.
+               </para>
             </listitem>
             <listitem>
-                <para>
-                	Si se está simplemente llamando <methodname>render()</methodname> sin ningún
-                	argumento, se puede remover tales líneas.
-                </para>
+              <para>
+                    Si se está simplemente llamando <methodname>render()</methodname> sin ningún
+                    argumento, se puede remover tales líneas.
+               </para>
             </listitem>
             <listitem>
-                <para>
-                	Si se está llamando con argumentos, y
-                	no se esta haciendo ningún proceso después or enviando 
-                	scrips de vistas multiples, se puede cambiar estas llamadas a leer
+              <para>
+                    Si se está llamando con argumentos, y
+                    no se esta haciendo ningún proceso después or enviando
+                    scrips de vistas multiples, se puede cambiar estas llamadas a leer
                     <methodname>$this-&gt;_helper-&gt;viewRenderer()</methodname>.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para>
-        	Si no se esta usando la convención modular de estructura de directorios,
-        	existen variedad de métodos para definir la dirección de la vista base y
-        	scripts de especificaciones de dirección así se puede hacer uso de 
+      <para>
+            Si no se esta usando la convención modular de estructura de directorios,
+            existen variedad de métodos para definir la dirección de la vista base y
+            scripts de especificaciones de dirección así se puede hacer uso de
             <methodname>ViewRenderer</methodname>. Pro favor leer la docuemntación de<link
                 linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer
                 </link> para información de esos métodos.
-        </para>
+       </para>
 
-        <para>
-        	Si se esta usando un objeto vista desde el registro o personalizando su 
-        	objeto vista o usando una diferente implementación de vista, se deseará
-        	introducir <methodname>ViewRenderer</methodname> con este objeto. Esto puede ser
-        	terminado facilmente en cualquier momento.
-        </para>
+      <para>
+            Si se esta usando un objeto vista desde el registro o personalizando su
+            objeto vista o usando una diferente implementación de vista, se deseará
+            introducir <methodname>ViewRenderer</methodname> con este objeto. Esto puede ser
+            terminado facilmente en cualquier momento.
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
-                	Antes de despachar una instancia del controlador frontal:
-                </para>
+              <para>
+                    Antes de despachar una instancia del controlador frontal:
+               </para>
 
                  <programlisting language="php"><![CDATA[
 // Asumiendo que $view ha sido definido
@@ -370,9 +370,9 @@ Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
             </listitem>
 
             <listitem>
-                <para>
-                	Cualquier momento el processo bootstrap:
-                </para>
+              <para>
+                    Cualquier momento el processo bootstrap:
+               </para>
 
                  <programlisting language="php"><![CDATA[
 $viewRenderer =
@@ -382,132 +382,132 @@ $viewRenderer->setView($view);
             </listitem>
         </itemizedlist>
 
-        <para>
-        	Existen muchas vias para modificar <methodname>ViewRenderer</methodname>,
-        	incluyendo la definición de diferentes scripts de vista a enviar, especificando 
-        	reemplazantes para todos los elementos reemplazables de la dirección del script vista
-        	(incluyendo el sufijo), eligiendo una respuesta nombrada segmento para 
-        	utilizar y mas. Si no esta usando la convención modular de 
-        	estructura de directorios, se puede asociar diferentes especificaciones 
-        	de direcciones con <methodname>ViewRenderer</methodname>.
-        </para>
-
-        <para>
-			Le animamos a adaptar el código para utilizar el
+      <para>
+            Existen muchas vias para modificar <methodname>ViewRenderer</methodname>,
+            incluyendo la definición de diferentes scripts de vista a enviar, especificando
+            reemplazantes para todos los elementos reemplazables de la dirección del script vista
+            (incluyendo el sufijo), eligiendo una respuesta nombrada segmento para
+            utilizar y mas. Si no esta usando la convención modular de
+            estructura de directorios, se puede asociar diferentes especificaciones
+            de direcciones con <methodname>ViewRenderer</methodname>.
+       </para>
+
+      <para>
+            Le animamos a adaptar el código para utilizar el
             <methodname>ErrorHandler</methodname> y <methodname>ViewRenderer</methodname>, ya que son
             ahora funcionalidad básica.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.controller.migration.fromzeroninetwo">
         <title>Migrando desde 0.9.2 to 0.9.3 o nuevas versiones</title>
 
-        <para>
+      <para>
             0.9.3 introduce <link
                 linkend="zend.controller.actionhelpers">action helpers</link>.
             Como parte de este cambio, los siguientes métodos han sido removidos ya
             que ahora son encapsulados en <link
                 linkend="zend.controller.actionhelpers.redirector">redirector
                 action helper</link>:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
+              <para>
                     <methodname>setRedirectCode()</methodname>; usa
                     <methodname>Zend_Controller_Action_Helper_Redirector::setCode()</methodname>.
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+              <para>
                     <methodname>setRedirectPrependBase()</methodname>; usa
                     <methodname>Zend_Controller_Action_Helper_Redirector::setPrependBase()</methodname>.
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+              <para>
                     <methodname>setRedirectExit()</methodname>; usa
                     <methodname>Zend_Controller_Action_Helper_Redirector::setExit()</methodname>.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para>        		
-			Leer la documentación <link linkend="zend.controller.actionhelpers">ayudantes 
-				de acción</link> para obtener más información sobre cómo
+      <para>               
+            Leer la documentación <link linkend="zend.controller.actionhelpers">ayudantes
+                de acción</link> para obtener más información sobre cómo
              recuperar y manipular objetos de ayuda, y la <link
                  linkend = "zend.controller.actionhelpers.redirector"> documentación
                  del ayudante redirector</link> para obtener más información sobre la configuración
-             de reorientar las opciones (así como los alternativos métodos para la redirección).             
-        </para>
+             de reorientar las opciones (así como los alternativos métodos para la redirección).
+       </para>
     </sect2>
 
     <sect2 id="zend.controller.migration.fromzerosix">
         <title>Migrando desde 0.6.0 to 0.8.0 o versiones nuevas</title>
 
-        <para>
-        	Por los cambios previos, el más básico uso de los componentes <acronym>MVC</acronym>
+      <para>
+            Por los cambios previos, el más básico uso de los componentes <acronym>MVC</acronym>
             sigue siendo el mismo:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 Zend_Controller_Front::run('/path/to/controllers');
 ]]></programlisting>
 
-        <para>      
-			Sin embargo, la estructura de directorios se sometió a una revisión, varios
+      <para>
+            Sin embargo, la estructura de directorios se sometió a una revisión, varios
             componentes han sido eliminados, y varios otros ya sea añadidos o adicionados.
             Los cambios incluyen:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
-                    <classname>Zend_Controller_Router</classname> fue eliminado en favor de 
+              <para>
+                    <classname>Zend_Controller_Router</classname> fue eliminado en favor de
                     reescribir el router.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>                		
-					<classname> Zend_Controller_RewriteRouter </classname> ha sido renombrado a
-                    <classname> Zend_Controller_Router_Rewrite </classname>, y promovido a 
+              <para>                       
+                    <classname> Zend_Controller_RewriteRouter </classname> ha sido renombrado a
+                    <classname> Zend_Controller_Router_Rewrite </classname>, y promovido a
                     router estándar enviado con el framework;
                     <classname> Zend_Controller_Front </classname> lo utilizará por defecto si
                     ningún otro router es sustituido.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>                		
-					Una nueva clase ruta para uso con el router reescribir se 
+              <para>                       
+                    Una nueva clase ruta para uso con el router reescribir se
                     presentó,
                     <classname> Zend_Controller_Router_Route_Module </classname>, que abarca
                     la ruta por defecto utilizado por el <acronym>MVC</acronym>, y tiene soporte para el<link
-                    	linkend = "zend.controller.modular">controlador de
+                        linkend = "zend.controller.modular">controlador de
                         módulos </link>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+              <para>
                     <classname>Zend_Controller_Router_StaticRoute</classname> was renamed
                     to <classname>Zend_Controller_Router_Route_Static</classname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+              <para>
                     <classname>Zend_Controller_Dispatcher</classname> was renamed
                     <classname>Zend_Controller_Dispatcher_Standard</classname>.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+              <para>
                     Los argumentos de <methodname>Zend_Controller_Action::_forward()</methodname>
                     han cambiado. la firma es ahora:
-                </para>
+               </para>
 
                  <programlisting language="php"><![CDATA[
 final protected function _forward($action,
@@ -516,16 +516,16 @@ final protected function _forward($action,
                                   array $params = null);
 ]]></programlisting>
 
-                <para>
-                	<varname>$accion</varname> es siempre necesaria; si ningún controlador es
-                	especificado, es asumida una acción en el actual controlador.
+              <para>
+                    <varname>$accion</varname> es siempre necesaria; si ningún controlador es
+                    especificado, es asumida una acción en el actual controlador.
                     <varname>$module</varname> es siempre ignorado a menos que
                     <varname>$controller</varname> sea especificado. Por último, cualquier
                     <varname>$params</varname> previsto será adjuntado a la
                     solicitud del objeto. Si no necesita el controlador o el
                     módulo, pero aún tienen que pasar los parámetros, basta con especificar
                     null para esos valores.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -533,10 +533,10 @@ final protected function _forward($action,
     <sect2 id="zend.controller.migration.fromzerotwo">
         <title>Migrando desde 0.2.0 o antes de 0.6.0</title>
 
-        <para>
-        	El mas basico uso de los componentes de <acronym>MVC</acronym> no ha cambiado; se puede
-        	seguir utilizando a cada uno en la siguiente manera:
-        </para>
+      <para>
+            El mas basico uso de los componentes de <acronym>MVC</acronym> no ha cambiado; se puede
+            seguir utilizando a cada uno en la siguiente manera:
+       </para>
 
          <programlisting language="php"><![CDATA[
 Zend_Controller_Front::run('/path/to/controllers');
@@ -559,53 +559,53 @@ $ctrl->setControllerDirectory('/path/to/controllers');
 $ctrl->dispatch();
 ]]></programlisting>
 
-        <para>        		
-			Alentamos el uso del objeto Response para agregar contenido y
+      <para>               
+            Alentamos el uso del objeto Response para agregar contenido y
             cabeceras. Esto permitirá una mayor flexibilidad en el formato de salida intercambiando
             (por instancias, <acronym>JSON</acronym> o <acronym>XML</acronym> en lugar de <acronym>XHTML</acronym>) en sus aplicaciones.
             Por defecto, el envío <methodname> distpach() </methodname> enviará la respuesta, enviando ambas
-            cabeceras y enviando cuanlquier contenido. También se puede tener el controlador front 
+            cabeceras y enviando cuanlquier contenido. También se puede tener el controlador front
             retorne la respuesta usando <methodname>returnResponse()</methodname>,
             y luego enviar la respuesta a través de su propia lógica. Una versión futura
             del controlador front puede hacer valer el uso de la respuesta a través de objetos mediante
             la salida de buffers.
-        </para>
+       </para>
 
-        <para>        		
-			Hay muchas características adicionales que amplían las existentes API,
+      <para>               
+            Hay muchas características adicionales que amplían las existentes API,
             y estas son observadas en la documentación.
-        </para>
+       </para>
 
-        <para>
-        	Los principales cambios que tendrán que ser conscientes de cuando se encuentre
+      <para>
+            Los principales cambios que tendrán que ser conscientes de cuando se encuentre
             la subclase de los diversos componentes. Clave entre estos son:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
-                	<methodname>Zend_Controller_Front::distpach()</methodname> por defecto
+              <para>
+                    <methodname>Zend_Controller_Front::distpach()</methodname> por defecto
                     intercepta excepciones en la respuesta del objeto, y no los envia
-                    en orden de prevenir un sistema de informacion sensitivo de ser 
-                    enviado. Se puede anular esto de varias maneras:                    
-                </para>
+                    en orden de prevenir un sistema de informacion sensitivo de ser
+                    enviado. Se puede anular esto de varias maneras:
+               </para>
 
                 <itemizedlist>
                     <listitem>
-                        <para>
+                      <para>
                             Configurar <methodname>throwExceptions()</methodname> en el controlador
                             front:
-                        </para>
+                       </para>
                          <programlisting language="php"><![CDATA[
 $front->throwExceptions(true);
 ]]></programlisting>
                     </listitem>
 
                     <listitem>
-                        <para>
-                            Configurar <methodname>renderExceptions()</methodname> en la respuesta del 
+                      <para>
+                            Configurar <methodname>renderExceptions()</methodname> en la respuesta del
                             objeto:
-                        </para>
+                       </para>
                          <programlisting language="php"><![CDATA[
 $response->renderExceptions(true);
 $front->setResponse($response);
@@ -622,23 +622,23 @@ echo $response;
             </listitem>
 
             <listitem><para>
-            	<methodname>Zend_Controller_Dispatcher_Interface::dispatch()</methodname>
+                <methodname>Zend_Controller_Dispatcher_Interface::dispatch()</methodname>
                 ahora acepta y devuelve un <xref linkend="zend.controller.request" />
                 objeto en lugar de un despachador simbólico.
-            </para></listitem>
+           </para></listitem>
 
-            <listitem><para>            	
-				<methodname>Zend_Controller_Router_Interface::route()</methodname>
+            <listitem><para>               
+                <methodname>Zend_Controller_Router_Interface::route()</methodname>
                 ahora acepta y devuelve un <xref linkend="zend.controller.request" />
-                objeto en lugar de un despachador simbólico.                 
-            </para></listitem>
+                objeto en lugar de un despachador simbólico.
+           </para></listitem>
 
             <listitem>
-                <para><classname>Zend_Controller_Action</classname> los cambios incluyen:</para>
+              <para><classname>Zend_Controller_Action</classname> los cambios incluyen:</para>
 
                 <itemizedlist>
                     <listitem><para>
-                    	El constructor acepta ahora exactamente tres argumentos,
+                        El constructor acepta ahora exactamente tres argumentos,
                         <classname> Zend_Controller_Request_Abstract $request</classname>
                         <classname> Zend_Controller_Response_Abstract $response</classname>
                         y <methodname> array $ params (opcional) </methodname>.
@@ -647,42 +647,42 @@ echo $response;
                         invokeArgs del objeto, y si se sobrecarga el
                         constructor se debe hacer lo mismo. Mejor aún, use
                         el método <methodname>init()</methodname> para hacer cualquier configuración
-                        a la instancia, ya que este método es llamado como la acción 
+                        a la instancia, ya que este método es llamado como la acción
                         final del constructor.
-                    </para></listitem>
+                   </para></listitem>
 
                     <listitem><para>
-                    	<methodname>run()</methodname>, ya no se define como definitivo, pero es
+                        <methodname>run()</methodname>, ya no se define como definitivo, pero es
                         también no utilizado por el controlador front; su único
                         objetivo es para el uso de la clase como un controlador de página. Ello
                         ahora tiene dos argumentos opcionales, uno
                         <classname> Zend_Controller_Request_Abstract $request</classname>
                         y <classname> Zend_Controller_Response_Abstract $response</classname>.
-                    </para></listitem>
+                   </para></listitem>
 
                     <listitem><para>
-                    	<methodname>indexAction()</methodname>ya no necesita ser
+                        <methodname>indexAction()</methodname>ya no necesita ser
                          definido, pero se recomienda como acción por defecto. Esto
-                         permite utilizar RewriteRouter y la acción controladores para 
+                         permite utilizar RewriteRouter y la acción controladores para
                          especificar los diferentes métodos de acción.
-                    </para></listitem>
+                   </para></listitem>
 
                     <listitem><para>
                         <methodname>__call()</methodname> debería ser sobrecargado para manejar las
                         indefinidas acciones automaticamente.
-                    </para></listitem>
+                   </para></listitem>
 
-                    <listitem><para>                    	
-						<methodname>_redirect ()</methodname> ahora toma un segundo opcional
+                    <listitem><para>                       
+                        <methodname>_redirect ()</methodname> ahora toma un segundo opcional
                         argumento, el código HTTP a retornar con la redirección, y
                         un opcional tercer argumento, <varname>$prependBase</varname>,
                         que puede indicar que la <acronym>URL</acronym> base registrada en la
                         solicitud del objeto debería ser añadido a la <acronym>URL</acronym> especificada.
-                    </para></listitem>
+                   </para></listitem>
 
                     <listitem>
-                        <para>                        		
-							La propiedad <methodname>_action</methodname> ya no está configurada.
+                      <para>                               
+                            La propiedad <methodname>_action</methodname> ya no está configurada.
                             Esta propiedad fue un <classname> Zend_Controller_Dispatcher_Token </classname>,
                             el cual ya no existe en la actual encarnación.
                             El único propósito de la muestra era proporcionar
@@ -690,7 +690,7 @@ echo $response;
                             y los parámetros <acronym>URL</acronym>. Esta información es ahora
                             disponible en la solicitud del objeto, y puede acceder
                             como sigue:
-                        </para>
+                       </para>
 
                          <programlisting language="php"><![CDATA[
 // Recuperar las solicitud del nombre del controlador
@@ -714,12 +714,12 @@ $foo = $this->_getParam('foo', 'default');
                     </listitem>
 
                     <listitem>
-                        <para>
-                        	<methodname>noRouteAction()</methodname> ha sido eliminado. La
-                            manera adecuada de manejar inexistentes métodos 
-                            de acciones se desearia enrutarlos a una 
+                      <para>
+                            <methodname>noRouteAction()</methodname> ha sido eliminado. La
+                            manera adecuada de manejar inexistentes métodos
+                            de acciones se desearia enrutarlos a una
                             acción por defecto utilizando <methodname>__call()</methodname>:
-                        </para>
+                       </para>
 
                          <programlisting language="php"><![CDATA[
 public function __call($method, $args)
@@ -742,14 +742,14 @@ public function __call($method, $args)
                 sido eliminado. Use <methodname>Zend_Controller_Front::setBaseUrl()</methodname>
                 en lugar de (o <methodname>Zend_Controller_Request_Http::setBaseUrl()</methodname>, si esta usando
                 la petición de la clase).
-            </para></listitem>
+           </para></listitem>
 
-            <listitem><para>            
-				<classname>Zend_Controller_Plugin_Interface</classname> se reemplazó 
+            <listitem><para>
+                <classname>Zend_Controller_Plugin_Interface</classname> se reemplazó
                 por <classname> Zend_Controller_Plugin_Abstract</classname>. Ahora todos los métodos
                 aceptan y devuelven un objeto <xref linkend="zend.controller.request" />
                 en lugar de un despachador simbólico.
-            </para></listitem>
+           </para></listitem>
         </itemizedlist>
     </sect2>
 </sect1>

+ 51 - 51
documentation/manual/es/module_specs/Zend_Controller-QuickStart.xml

@@ -6,7 +6,7 @@
 
     <sect2 id="zend.controller.quickstart.introduction">
         <title>Introducción</title>
-        <para>
+       <para>
             <methodname>Zend_Controller</methodname>
             es el corazón del sistema de <acronym>MVC</acronym> de Zend Framework <acronym>MVC</acronym>.<acronym>MVC</acronym>
             son las siglas de
@@ -25,8 +25,8 @@
             Acción particular de un Controlador según la <acronym>URL</acronym> pedida.
 
 
-        </para>
-        <para>
+       </para>
+       <para>
             El sistema
             <methodname>Zend_Controller</methodname>
             fue construido con la extensibilidad en mente, ya sea
@@ -35,25 +35,25 @@
             forman la base de la familia de clases del controlador, o
             escribiendo plugins o helpers de las acciones para aumentar
             o manipular la funcionalidad del sistema.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.controller.quickstart.go">
         <title>Quick Start</title>
 
-        <para>
+       <para>
             Si necesita información más detallada, mire las secciones
             siguientes. Si solamente quiere inicializar y ejecutar una
             aplicación rápidamente, siga leyendo.
-        </para>
+       </para>
 
         <sect3 id="zend.controller.quickstart.go.directory">
             <title>Cree su estructura de archivos</title>
 
-            <para>
+           <para>
                 El primer paso es crear su estructura de archivos. La
                 estructura típica es la siguiente:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 application/
@@ -76,22 +76,22 @@ html/
         <sect3 id="zend.controller.quickstart.go.docroot">
             <title>Establezca el document root</title>
 
-            <para>
+           <para>
                 Apunte su document root en su servidor web hacia el
                 directorio
                 <filename>html/</filename>
                 de la estructura de archivos de arriba.
-            </para>
+           </para>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.rewrite">
             <title>Cree sus reglas de reescritura</title>
 
-            <para>
+           <para>
                 Edite el archivo
                 <filename>html/.htaccess</filename>
                 que aparece arriba de la siguiente forma:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 RewriteEngine On
@@ -105,7 +105,7 @@ RewriteRule ^.*$ index.php [NC,L]
             <note>
                 <title>Learn about mod_rewrite</title>
 
-                <para>
+               <para>
                     The above rewrite rules allow access to any file under your
                     virtual host's document root. If there are files you do not
                     want exposed in this way, you may want to be more
@@ -113,13 +113,13 @@ RewriteRule ^.*$ index.php [NC,L]
                     <ulink
                         url="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">learn
                         more about mod_rewrite</ulink>.
-                </para>
+               </para>
             </note>
 
-            <para>
+           <para>
                 If using <acronym>IIS</acronym> 7.0, use the following as your rewrite
                 configuration:
-            </para>
+           </para>
 
             <programlisting language="xml"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
@@ -148,51 +148,51 @@ RewriteRule ^.*$ index.php [NC,L]
      </system.webServer>
 </configuration>
 ]]></programlisting>
-			
-            <para>
+            
+           <para>
                 La regla de arriba redirigirá las peticiones a recuros existentes
                 (enlaces simbólicos existentes, archivos no vacíos, o directorios no vacíos)
         en consecuencia, y todas las otras peticiones al front controller.
-            </para>
+           </para>
 
             <note>
-                <para>
+               <para>
                     Las reglas de arriba pertenecen a Apache. Para ejemplos de reglas
                     de rewrite para otros servidores web, mire la
                     <link linkend="zend.controller.router.introduction">
                         documentación de router
                     </link>
                     .
-                </para>
+               </para>
             </note>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.bootstrap">
             <title>Crear el archivo bootstrap</title>
 
-            <para>
+           <para>
                 El archivo bootstrap es la página a la que todas las peticiones
                 son redirigidas a través de --
                 <filename>html/index.php</filename>
                 en este caso. Abra el archivo
                 <filename>html/index.php</filename>
                 en el editor de su elección y añada lo siguiente:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 Zend_Controller_Front::run('/path/to/app/controllers');
 ]]></programlisting>
 
-            <para>
+           <para>
                 Esto instanciará y hará un dispatch del front controller, que
                 redigirá las peticiones a los action controllers.
-            </para>
+           </para>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.controller">
             <title>Crear el action controller por defecto</title>
 
-            <para>
+           <para>
                 Antes de tratar los action controllers, debe primero
                 entender cómo las peticiones son redirigidas en Zend Framework.
                 Por defecto, el primero segmento de una ruta <acronym>URL</acronym> apunta
@@ -214,9 +214,9 @@ Zend_Controller_Front::run('/path/to/app/controllers');
                 (siguiendo la convención de Apache de apuntar a
                 <emphasis>DirectoryIndex</emphasis>
                 automáticamente).
-            </para>
+           </para>
 
-            <para>
+           <para>
                 El dispatcher de <methodname>Zend_Controller</methodname>
                 toma entonces el valor del controlador y lo apunta
                 a una clase. Por defecto, pone en mayúsculas la primera letra
@@ -227,9 +227,9 @@ Zend_Controller_Front::run('/path/to/app/controllers');
                 es dirigido a la clase
                 <methodname>RoadmapController</methodname>
                 .
-            </para>
+           </para>
 
-            <para>
+           <para>
                 De la misma forma, el valor de action es dirigido
                 a un método de la clase controladora. Por defecto, el valor se
                 pasa a minúsculas, y la palabra
@@ -241,9 +241,9 @@ Zend_Controller_Front::run('/path/to/app/controllers');
                 , y el método final llamado es
                 <methodname>RoadmapController::componentsAction()</methodname>
                 .
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Continuando, creemos ahora un action controller
                 y un método de acción por defecto. Como se ha dicho antes,
                 el controlador por defecto y la acción llamada son ambos
@@ -251,7 +251,7 @@ Zend_Controller_Front::run('/path/to/app/controllers');
                 . Abra el archivo
                 <filename>application/controllers/IndexController.php</filename>
                 , e introduzca lo siguiente:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 /** Zend_Controller_Action */
@@ -263,7 +263,7 @@ class IndexController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Por defecto, el action helper
                 <link linkend="zend.controller.actionhelpers.viewrenderer">
                     ViewRenderer
@@ -296,13 +296,13 @@ class IndexController extends Zend_Controller_Action
                 De esta forma, la plantilla generada será encontrada en
                 <filename>application/views/scripts/index/index.phtml</filename>
                 .
-            </para>
+           </para>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.view">
             <title>Cree su view script</title>
 
-            <para>
+           <para>
                 Como hemos mencionado
                 <link linkend="zend.controller.quickstart.go.controller">
                     en la sección anterior
@@ -313,7 +313,7 @@ class IndexController extends Zend_Controller_Action
                 está en
                 <filename>application/views/scripts/index/index.phtml</filename>
                 . Cree este archivo, y escriba un poco de HTML:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 <!DOCTYPE html
@@ -334,7 +334,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         <sect3 id="zend.controller.quickstart.go.errorhandler">
             <title>Cree su controlador de errores</title>
 
-            <para>
+           <para>
                 Por defecto, está registrado
                 <link linkend="zend.controller.plugins.standard.errorhandler">
                     el plugin 'error handler'
@@ -345,7 +345,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                 en el módulo default con un método
                 <methodname>errorAction</methodname>
                 :
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 class ErrorController extends Zend_Controller_Action
@@ -356,14 +356,14 @@ class ErrorController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
+           <para>
                 Asumiendo el sistema de carpetas discutido anteriormente,
                 este archivo irá en
                 <filename>application/controllers/ErrorController.php</filename>
                 . También necesitará crear un view script en
                 <filename>application/views/scripts/error/error.phtml</filename>
                 ; el contenido de ejemplo será parecido a:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 <!DOCTYPE html
@@ -385,35 +385,35 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         <sect3 id="zend.controller.quickstart.go.finish">
             <title>¡Vea el sitio!</title>
 
-            <para>
+           <para>
                 Con su primer controlador y vista, ya puede arrancar su navegador y acceder a su sitio.
                 Asumiendo que
                 <filename>example.com</filename>
                 es su dominio, cualquiera de las siguientes <acronym>URL</acronym>s le llevará a
                 la página que acaba de crear:
-            </para>
+           </para>
 
             <itemizedlist>
                 <listitem>
-                    <para>
+                   <para>
                         <filename>http://example.com/</filename>
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <filename>http://example.com/index</filename>
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <filename>http://example.com/index/index</filename>
-                    </para>
+                   </para>
                 </listitem>
             </itemizedlist>
 
-            <para>
+           <para>
                 Ya está listo para empezar a crear más métodos de controladores y acciones. ¡Felicidades!
-            </para>
+           </para>
         </sect3>
     </sect2>
 </sect1>

+ 80 - 80
documentation/manual/es/module_specs/Zend_Controller-Request.xml

@@ -5,63 +5,63 @@
     <title>La solicitud del Objeto</title>
     <sect2 id="zend.controller.request.introduction">
         <title>Introducción</title>
-        <para> El objeto request es un objeto de valor simple que es pasado
+       <para>El objeto request es un objeto de valor simple que es pasado
             entre <classname>Zend_Controller_Front</classname> y el router,
             dispatcher, y clases de controlador. Empaqueta los nombres del
             módulo solicitado, controlador, acción, y los parámetros opcionales,
             así como el resto del entorno de la solicitud, ya sea
                 <acronym>HTTP</acronym>, el <acronym>CLI</acronym>, o
-                <acronym>PHP</acronym>-GTK. </para>
+                <acronym>PHP</acronym>-GTK.</para>
 
         <itemizedlist>
             <listitem>
-                <para> El nombre del módulo es accedido por
+               <para>El nombre del módulo es accedido por
                         <methodname>getModuleName()</methodname> y
-                        <methodname>setModuleName()</methodname>. </para>
+                        <methodname>setModuleName()</methodname>.</para>
             </listitem>
 
             <listitem>
-                <para> El nombre del controlador es accedido por
+               <para>El nombre del controlador es accedido por
                         <methodname>getControllerName()</methodname> y
-                        <methodname>setControllerName()</methodname>. </para>
+                        <methodname>setControllerName()</methodname>.</para>
             </listitem>
 
             <listitem>
-                <para> El nombre de la acción que llamar dentro del controlador
+               <para>El nombre de la acción que llamar dentro del controlador
                     es accedido por <methodname>getActionName()</methodname> y
-                        <methodname>setActionName()</methodname>. </para>
+                        <methodname>setActionName()</methodname>.</para>
             </listitem>
 
             <listitem>
-                <para> Los parámetros accesibles por la acción son un array
+               <para>Los parámetros accesibles por la acción son un array
                     asociativo de pares clave/valor que son recuperados por
                         <methodname>getParams()</methodname> y configurados con
                         <methodname>setParams()</methodname>, o configurados
                     individualmente por <methodname>getParam()</methodname> y
-                        <methodname>setParam()</methodname>. </para>
+                        <methodname>setParam()</methodname>.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Basado en el tipo de solicitud, puede haber más métodos
+       <para>Basado en el tipo de solicitud, puede haber más métodos
             disponibles. La solicitud por defecto usada,
                 <classname>Zend_Controller_Request_Http</classname>, por
             ejemplo, tiene métodos para recuperar la <acronym>URI</acronym> de
             la solicitud, ruta de la información, parámetros
-                <varname>$_GET</varname> y <varname>$_POST</varname>, etc. </para>
+                <varname>$_GET</varname> y <varname>$_POST</varname>, etc.</para>
 
-        <para> El objeto request es pasado al controlador front, o si no es
+       <para>El objeto request es pasado al controlador front, o si no es
             provisto, es instanciado al principio del proceso dispatcher, antes
             de que ocurra el enrutamiento. Es pasado a través de todos los
-            objetos en la cadena del dispatcher. </para>
+            objetos en la cadena del dispatcher.</para>
 
-        <para> Adicionalmente, la solicitud objeto es particularmente útil en
+       <para>Adicionalmente, la solicitud objeto es particularmente útil en
             pruebas. El desarrolador puede cambiar el entorno de la solicitud,
             incluyendo módulos, controladores, acciones, parámetros,
                 <acronym>URI</acronym>, etc, y pasar la solicitud objeto al
             controlador front para probar el flujo de la aplicación. Cuando se
             vincula con el <link linkend="zend.controller.response">objeto
                 respuesta </link>, es posible elaborar y precisar una unidad de
-            pruebas de aplicaciones <acronym>MVC</acronym>. </para>
+            pruebas de aplicaciones <acronym>MVC</acronym>.</para>
     </sect2>
 
     <sect2 id="zend.controller.request.http">
@@ -70,7 +70,7 @@
         <sect3 id="zend.controller.request.http.dataacess">
             <title>Solicitud de acceso a datos</title>
 
-            <para>
+           <para>
                 <classname>Zend_Controller_Request_Http</classname> encapsula el
                 acceso a relevantes valores tal como el nombre de la llave y el
                 valor para el controlador y variables de aación enrutamiento y
@@ -82,11 +82,11 @@
                 ser determinados en una solicitud objeto, en vez usar los
                 métodos <methodname>setParam()</methodname> y
                     <methodname>getParam()</methodname> para determinar o
-                recuperar los parámetros del usuario. </para>
+                recuperar los parámetros del usuario.</para>
 
             <note>
                 <title>Datos Superglobales</title>
-                <para> Cuando se accede a datos Superglobales a través
+               <para>Cuando se accede a datos Superglobales a través
                         <classname>Zend_Controller_Request_Http</classname> como
                     propiedades de miembros públicos, es necesario mantener en
                     mente que el nombre de la propiedad (supergloabl array key)
@@ -95,10 +95,10 @@
                         <constant>POST</constant>, 3.
                         <constant>COOKIE</constant>, 4.
                         <constant>SERVER</constant>, 5.
-                    <constant>ENV</constant>. </para>
+                    <constant>ENV</constant>.</para>
             </note>
 
-            <para> Las supergloables específicas pueden ser accedidas usando un
+           <para>Las supergloables específicas pueden ser accedidas usando un
                 método público como una alternativa. Por ejemplo, el valor
                 original de <varname>$_POST['user']</varname> puede ser accedido
                 llamando a <methodname>getPost('user')</methodname> en la
@@ -106,54 +106,54 @@
                     <methodname>getQuery()</methodname> para recuperar elementos
                     <varname>$_GET</varname>, y
                     <methodname>getHeader()</methodname> para recuperar la
-                solicitud de los encabezadores (headers). </para>
+                solicitud de los encabezadores (headers).</para>
 
             <note>
                 <title>Datos GET y POST</title>
-                <para> Sea cauteloso cuando accede a los datos de la solicitud
+               <para>Sea cauteloso cuando accede a los datos de la solicitud
                     objeto como no es filtrado en ninguna manera. El router y
                     dispatcher valida y filtra datos para usar con sus tareas,
                     pero dejan los datos intactos en la solicitud objeto.
-                </para>
+               </para>
             </note>
 
             <note>
                 <title>Recuperando los datos POST sin procesar</title>
 
-                <para> Como 1.5.0, se puede recuperar los datos sin procesar a
+               <para>Como 1.5.0, se puede recuperar los datos sin procesar a
                     través del método <methodname>getRawBody()</methodname>.
                     Este método retorna falso si los datos han sido enviados de
-                    esa manera, pero si no retorna el cuerpo entero del post. </para>
+                    esa manera, pero si no retorna el cuerpo entero del post.</para>
 
-                <para> Esto es primordialmente útil para aceptar el contenido
+               <para>Esto es primordialmente útil para aceptar el contenido
                     cuando se desarrolla una aplicación <acronym>MVC</acronym>
-                    simple. </para>
+                    simple.</para>
             </note>
 
-            <para> Usted puede determinar parámetros de usuario en la solicitud
+           <para>Usted puede determinar parámetros de usuario en la solicitud
                 objeto usando <methodname>setParam()</methodname> y recuperar
                 los mismos despues usando <methodname>getParam()</methodname>.
                 El router hace uso de esta funcionalidad para determinar
                 parámetros correspondientes en la solicitud
-                    <acronym>URI</acronym> a la solicitud objeto. </para>
+                    <acronym>URI</acronym> a la solicitud objeto.</para>
 
             <note>
                 <title>getParam() Recupera mas que Parámetros de Usuario</title>
 
-                <para> En orden para hacer el mismo trabajo,
+               <para>En orden para hacer el mismo trabajo,
                         <methodname>getParam()</methodname> recupera actualmente
                     desde muchas fuentes. En orden de prioridad, estas incluyen:
                     parámetros de usuario determinados a través de
                         <methodname>setParam()</methodname>, parámetros
                         <constant>GET</constant>, y finalmente parámetros
                         <constant>POST</constant>. Ser conciente de esto cuando
-                    se sacan datos a través de este método. </para>
+                    se sacan datos a través de este método.</para>
 
-                <para> Si se desea sacar solo desde parámetros se configura a
+               <para>Si se desea sacar solo desde parámetros se configura a
                     través de <methodname>setParam()</methodname>, use
-                        <methodname>getUserParam()</methodname>. </para>
+                        <methodname>getUserParam()</methodname>.</para>
 
-                <para> Además, a partir de 1.5.0, puede bloquear el parámetro
+               <para>Además, a partir de 1.5.0, puede bloquear el parámetro
                     que se buscará en las fuentes.
                         <methodname>setParamSources()</methodname> le permite
                     especificar un array vacío o un array con uno o más de los
@@ -161,12 +161,12 @@
                     se permite (por defecto, ambos son permitidos); si se desea
                     restringir el acceso a solamente '_GET' especificar
                         <methodname>setParamSources
-                    (array('_GET'))</methodname>. </para>
+                    (array('_GET'))</methodname>.</para>
             </note>
 
             <note>
                 <title>Apache Quirks</title>
-                <para> Si está usando Apache 404 handler para pasar If you are
+               <para>Si está usando Apache 404 handler para pasar If you are
                     using Apache's 404 handler to pass incoming requests to the
                     front controller, or using a PT flag with rewrite rules,
                         <varname>$_SERVER['REDIRECT_URL']</varname> contains the
@@ -176,32 +176,32 @@
                     use the
                         <classname>Zend_Controller_Request_Apache404</classname>
                     class instead of the default Http class for your request
-                    object: </para>
+                    object:</para>
 
                 <programlisting language="php"><![CDATA[
 $request = new Zend_Controller_Request_Apache404();
 $front->setRequest($request);
 ]]></programlisting>
 
-                <para> This class extends the
+               <para>This class extends the
                         <classname>Zend_Controller_Request_Http</classname>
                     class and simply modifies the autodiscovery of the request
-                    URI. It can be used as a drop-in replacement. </para>
+                    URI. It can be used as a drop-in replacement.</para>
             </note>
         </sect3>
 
         <sect3 id="zend.controller.request.http.baseurl">
             <title>Base Url and Subdirectories</title>
 
-            <para>
+           <para>
                 <classname>Zend_Controller_Request_Http</classname> allows
                     <classname>Zend_Controller_Router_Rewrite</classname> to be
                 used in subdirectories.
                     <classname>Zend_Controller_Request_Http</classname> will
                 attempt to automatically detect your base <acronym>URL</acronym>
-                and set it accordingly. </para>
+                and set it accordingly.</para>
 
-            <para> For example, if you keep your <filename>index.php</filename>
+           <para>For example, if you keep your <filename>index.php</filename>
                 in a webserver subdirectory named
                     <filename>/projects/myapp/index.php</filename>, base
                     <acronym>URL</acronym> (rewrite base) should be set to
@@ -212,18 +212,18 @@ $front->setRequest($request);
                     <command>'user/:username'</command> will match
                     <acronym>URI</acronym>s like
                     <filename>http://localhost/projects/myapp/user/martel</filename>
-                and <filename>http://example.com/user/martel</filename>. </para>
+                and <filename>http://example.com/user/martel</filename>.</para>
 
             <note>
                 <title>URL Detection is Case Sensitive</title>
-                <para> Automatic base <acronym>URL</acronym> detection is case
+               <para>Automatic base <acronym>URL</acronym> detection is case
                     sensitive, so make sure your <acronym>URL</acronym> will
                     match a subdirectory name in a filesystem (even on Windows
                     machines). If it doesn't, an exception will be raised.
-                </para>
+               </para>
             </note>
 
-            <para> Should base <acronym>URL</acronym> be detected incorrectly
+           <para>Should base <acronym>URL</acronym> be detected incorrectly
                 you can override it with your own base path with the help of the
                     <methodname>setBaseUrl()</methodname> method of either the
                     <classname>Zend_Controller_Request_Http</classname> class,
@@ -231,7 +231,7 @@ $front->setRequest($request);
                 easiest method is to set it in
                     <classname>Zend_Controller_Front</classname>, which will
                 proxy it into the request object. Example usage to set a custom
-                base <acronym>URL</acronym>: </para>
+                base <acronym>URL</acronym>:</para>
 
             <programlisting language="php"><![CDATA[
 /**
@@ -250,95 +250,95 @@ $response   = $controller->dispatch();
         <sect3 id="zend.controller.request.http.method">
             <title>Determining the Request Method</title>
 
-            <para>
+           <para>
                 <methodname>getMethod()</methodname> allows you to determine the
                     <acronym>HTTP</acronym> request method used to request the
                 current resource. Additionally, a variety of methods exist that
                 allow you to get boolean responses when asking if a specific
-                type of request has been made: </para>
+                type of request has been made:</para>
 
             <itemizedlist>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>isGet()</methodname>
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>isPost()</methodname>
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>isPut()</methodname>
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>isDelete()</methodname>
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>isHead()</methodname>
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>isOptions()</methodname>
-                    </para>
+                   </para>
                 </listitem>
             </itemizedlist>
 
-            <para> The primary use case for these is for creating RESTful
-                    <acronym>MVC</acronym> architectures. </para>
+           <para>The primary use case for these is for creating RESTful
+                    <acronym>MVC</acronym> architectures.</para>
         </sect3>
 
         <sect3 id="zend.controller.request.http.ajax">
             <title>Detecting AJAX Requests</title>
 
-            <para>
+           <para>
                 <classname>Zend_Controller_Request_Http</classname> has a
                 rudimentary method for detecting <acronym>AJAX</acronym>
                 requests: <methodname>isXmlHttpRequest()</methodname>. This
                 method looks for an <acronym>HTTP</acronym> request header
                 <emphasis>X-Requested-With</emphasis> with the value
-                'XMLHttpRequest'; if found, it returns <constant>TRUE</constant>. </para>
+                'XMLHttpRequest'; if found, it returns <constant>TRUE</constant>.</para>
 
-            <para> Currently, this header is known to be passed by default with
-                the following JS libraries: </para>
+           <para>Currently, this header is known to be passed by default with
+                the following JS libraries:</para>
 
             <itemizedlist>
                 <listitem>
-                    <para>Prototype/Scriptaculous (and libraries derived from
+                   <para>Prototype/Scriptaculous (and libraries derived from
                         Prototype)</para>
                 </listitem>
                 <listitem>
-                    <para>Yahoo! UI Library</para>
+                   <para>Yahoo! UI Library</para>
                 </listitem>
                 <listitem>
-                    <para>jQuery</para>
+                   <para>jQuery</para>
                 </listitem>
                 <listitem>
-                    <para>MochiKit</para>
+                   <para>MochiKit</para>
                 </listitem>
             </itemizedlist>
 
-            <para> Most <acronym>AJAX</acronym> libraries allow you to send
+           <para>Most <acronym>AJAX</acronym> libraries allow you to send
                 custom HTTP request headers; if your library does not send this
                 header, simply add it as a request header to ensure the
                     <methodname>isXmlHttpRequest()</methodname> method works for
-                you. </para>
+                you.</para>
         </sect3>
     </sect2>
 
     <sect2 id="zend.controller.request.subclassing">
         <title>Subclassing the Request Object</title>
 
-        <para> The base request class used for all request objects is the
+       <para>The base request class used for all request objects is the
             abstract class
                 <classname>Zend_Controller_Request_Abstract</classname>. At its
-            most basic, it defines the following methods: </para>
+            most basic, it defines the following methods:</para>
 
         <programlisting language="php"><![CDATA[
 abstract class Zend_Controller_Request_Abstract
@@ -424,19 +424,19 @@ abstract class Zend_Controller_Request_Abstract
 }
 ]]></programlisting>
 
-        <para> La solicitud objeto es un contenedor para entorno de la
+       <para>La solicitud objeto es un contenedor para entorno de la
             solicitud. La cadena del controlador sólo necesita saber cómo
             establecer y recuperar el controlador, la acción, los parámetros
             opcionales, y el estado del despachador. Por defecto, la solicitud
             buscará sus propios parámetros mediante el controlador o las llaves
-            de la acción con el fin de determinar el controlador y la acción. </para>
+            de la acción con el fin de determinar el controlador y la acción.</para>
 
-        <para> Para ampliar esta clase, o uno de sus derivados, cuando se
+       <para>Para ampliar esta clase, o uno de sus derivados, cuando se
             necesita la clase solicitud que interactue con un entorno específico
             con el fin de recuperar los datos para su uso en las tareas antes
             descritas. Los ejemplos incluyen <link
                 linkend="zend.controller.request.http"> el entorno
                     <acronym>HTTP</acronym>
-            </link>, un entorno <acronym>CLI</acronym>, o un entorno de <acronym>PHP</acronym>-GTK. </para>
+            </link>, un entorno <acronym>CLI</acronym>, o un entorno de <acronym>PHP</acronym>-GTK.</para>
     </sect2>
 </sect1>

+ 21 - 21
documentation/manual/es/module_specs/Zend_Controller-Router-Route-Chain.xml

@@ -4,23 +4,23 @@
 <sect3 id="zend.controller.router.routes.chain">
     <title>Zend_Controller_Router_Route_Chain</title>
 
-    <para>
+   <para>
         <classname>Zend_Controller_Router_Route_Chain</classname> es una ruta
         que permite encadenar juntas a múltiples rutas. Esto le permite
         encadenar hostname/rutas y rutas de paths, o múltiples paths de rutas
         por ejemplo. El encadenamiento puede hacerse programáticamente o dentro
-        de un archivo de configuración. </para>
+        de un archivo de configuración.</para>
 
     <note>
         <title>Prioridad de Parámetros</title>
-        <para> Cuando se encadenan en conjunto varias rutas, los parámetros de
+       <para>Cuando se encadenan en conjunto varias rutas, los parámetros de
             la ruta exterior tienen mayor prioridad que los parámetros de la
             ruta interior. Así, si define un controlador en el exterior y otro
             en la ruta interior, será seleccionado el controlador de la ruta
-            exterior. </para>
+            exterior.</para>
     </note>
 
-    <para> Cuando el encadenamiento se realiza prográmaticamente, hay dos
+   <para>Cuando el encadenamiento se realiza prográmaticamente, hay dos
         maneras de archivarlo. La primera consiste en crear una nueva instancia
             <classname>Zend_Controller_Router_Route_Chain</classname> y entones
         llamar al método <methodname>chain()</methodname> varias veces con todas
@@ -30,7 +30,7 @@
         anexada a ella. Esto no modificará la ruta del nombre del host, pero
         devolverá una nueva instancia de
             <classname>Zend_Controller_Router_Route_Chain</classname>, teniendo
-        entonces a ambas rutas encadenadas juntas: </para>
+        entonces a ambas rutas encadenadas juntas:</para>
 
     <programlisting language="php"><![CDATA[
 // Crear dos rutas
@@ -46,9 +46,9 @@ $chainedRoute->chain($hostnameRoute)
 $chainedRoute = $hostnameRoute->chain($pathRoute);
 ]]></programlisting>
 
-    <para> Cuando las rutas se encadenan juntas, su separador es una
+   <para>Cuando las rutas se encadenan juntas, su separador es una
         barra ('/'). Pueden haber casos cuando quiera tener un separador
-        diferente: </para>
+        diferente:</para>
 
     <programlisting language="php"><![CDATA[
 // Crear dos rutas
@@ -65,7 +65,7 @@ echo $chainedRoute->assemble();
     <sect4 id="zend.controller.router.routes.chain.config">
         <title>Encadenar Rutas via Zend_Config</title>
 
-        <para> Para encadenar juntas a las rutas en un archivo de configuración,
+       <para>Para encadenar juntas a las rutas en un archivo de configuración,
             hay parámetros adicionales para la configuración de aquellos. El
             enfoque más sencillo es utilizar los parámetros
             <property>chains</property>. Este es simplemente una lista
@@ -74,7 +74,7 @@ echo $chainedRoute->assemble();
             sólo lo hará la ruta del encadenamiento resultante. El nombre de la
             ruta encadenada en el router será el nombre de la ruta padre
             concatenada con un guión ('-') con el nombre de la ruta hijo. Un
-            simple config en <acronym>XML</acronym> se vería así: </para>
+            simple config en <acronym>XML</acronym> se vería así:</para>
 
         <programlisting language="xml"><![CDATA[
 <routes>
@@ -114,18 +114,18 @@ echo $chainedRoute->assemble();
 </routes>
 ]]></programlisting>
 
-        <para> Esto se traducirá en las tres rutas
+       <para>Esto se traducirá en las tres rutas
             <command>www-language-index</command>,
             <command>www-language-imprint</command> y
             <command>users-language-profile</command> que sólo
             concordarán basados en el nombre y la ruta
             <command>misc</command>, que se comparará con cualquier
-            nombre de host. </para>
+            nombre de host.</para>
 
-        <para> La manera alternativa de crear una ruta encadenada es a través
+       <para>La manera alternativa de crear una ruta encadenada es a través
             del parámetro <property>chain</property>, que sólo puede
             utilizarse directamente con el tipo cadena-ruta, y también trabaja
-            en el nivel raíz: </para>
+            en el nivel raíz:</para>
 
         <programlisting language="xml"><![CDATA[
 <routes>
@@ -154,8 +154,8 @@ echo $chainedRoute->assemble();
 </routes>
 ]]></programlisting>
 
-        <para> También puede darle el parámetro a <property>chain</property>
-            como un array en vez de separ las rutas con comas: </para>
+       <para>También puede darle el parámetro a <property>chain</property>
+            como un array en vez de separ las rutas con comas:</para>
 
         <programlisting language="xml"><![CDATA[
 <routes>
@@ -171,13 +171,13 @@ echo $chainedRoute->assemble();
     </www-imprint>
 </routes>
 ]]></programlisting>
-        
-        <para>
+
+       <para>
             When you configure chain routes with <classname>Zend_Config</classname> and
             want the chain name separator to be different from a dash, you
             need to specify this separator separately:
-        </para>
-        
+       </para>
+
         <programlisting language="php"><![CDATA[
 $config = new Zend_Config(array(
     'chainName' => array(
@@ -208,6 +208,6 @@ echo $this->_router->assemble(array(), 'chainName_separator_subRouteName');
 
 // The proof: it echoes /foo/bar
 ]]></programlisting>
-        
+
     </sect4>
 </sect3>

+ 8 - 8
documentation/manual/es/module_specs/Zend_Controller-Router-Route-Hostname.xml

@@ -4,17 +4,17 @@
 <sect3 id="zend.controller.router.routes.hostname">
     <title>Zend_Controller_Router_Route_Hostname</title>
 
-    <para>
+   <para>
         <classname>Zend_Controller_Router_Route_Hostname</classname> es la ruta
         del framework en el servidor. Funciona similarmente a la standard route,
         pero funciona con el nombre del host de la <acronym>URL</acronym>
-        llamada, en lugar del path. </para>
+        llamada, en lugar del path.</para>
 
-    <para> Vamos a usar el ejemplo de la standard route y ver cómo se vería con
+   <para>Vamos a usar el ejemplo de la standard route y ver cómo se vería con
         un nombre basado en host. En lugar de llamar al usuario mediante un
         path, quisiéramos que un usuario pueda llamar a
         <filename>http://martel.users.example.com</filename> para ver la
-        información acerca del usuario "martel". </para>
+        información acerca del usuario "martel".</para>
 
     <programlisting language="php"><![CDATA[
 $hostnameRoute = new Zend_Controller_Router_Route_Hostname(
@@ -30,16 +30,16 @@ $plainPathRoute = new Zend_Controller_Router_Route_Static('');
 $router->addRoute('user', $hostnameRoute->chain($plainPathRoute);
 ]]></programlisting>
 
-    <para> El primer parámetro del constructor en
+   <para>El primer parámetro del constructor en
             <classname>Zend_Controller_Router_Route_Hostname</classname> es una
         definición de ruta que será comparada con el nombre del host. Las
         definiciones de ruta consisten en partes estáticas y dinámicas separadas
         por el carácter punto ('.'). Las partes dinámicas, llamadas variables,
         se marcan anteponiendo dos puntos (':') al nombre de la variable:
         <command>:username</command>. Las partes estáticas son
-        simplemente texto: <command>user</command>. </para>
+        simplemente texto: <command>user</command>.</para>
 
-    <para> Las rutas del nombre del host pueden, pero nunca deben ser utilizadas
+   <para>Las rutas del nombre del host pueden, pero nunca deben ser utilizadas
         así. La razón detrás de esto es que la ruta del nombre del host
         solamente, concordaría con cualquier path. Entonces, lo que tiene que
         hacer es encadenar una ruta del path a la ruta del nombre del host. Esto
@@ -48,5 +48,5 @@ $router->addRoute('user', $hostnameRoute->chain($plainPathRoute);
         Haciendo esto, <varname>$hostnameRoute</varname> no se modifica,
         pero devuelve una nueva ruta
             (<classname>Zend_Controller_Router_Route_Chain</classname>), que
-        luego puede ser entregada al router. </para>
+        luego puede ser entregada al router.</para>
 </sect3>

+ 35 - 35
documentation/manual/es/module_specs/Zend_Controller-Router-Route-Regex.xml

@@ -4,16 +4,16 @@
 <sect3 id="zend.controller.router.routes.regex">
     <title>Zend_Controller_Router_Route_Regex</title>
 
-    <para> Además de los tipos de ruta estáticos y por defecto, también está
+   <para>Además de los tipos de ruta estáticos y por defecto, también está
         disponible el tipo de ruta Expresión Regular. Esta ruta ofrece más
         potencia y flexibilidad que los otros, pero a costa de un ligero aumento
         en la complejidad. Al mismo tiempo, debería ser más rápido que la
-        standard Route. </para>
+        standard Route.</para>
 
-    <para> Al igual que la standard Route, esta ruta tiene que ser inicializada
+   <para>Al igual que la standard Route, esta ruta tiene que ser inicializada
         con una definición de ruta y algunos valores predeterminados. Vamos a
         crear un archivo ruta como un ejemplo, similar al previamente definido,
-        sólo que esta vez usaremos la ruta Regex: </para>
+        sólo que esta vez usaremos la ruta Regex:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route_Regex(
@@ -26,10 +26,10 @@ $route = new Zend_Controller_Router_Route_Regex(
 $router->addRoute('archive', $route);
 ]]></programlisting>
 
-    <para> Cada sub-patrón regex definido será inyectado al objeto solicitud.
+   <para>Cada sub-patrón regex definido será inyectado al objeto solicitud.
         Con nuestro ejemplo anterior, después de un matching exitoso
         <filename>http://domain.com/archive/2006</filename>, el valor
-        resultante del array puede verse como: </para>
+        resultante del array puede verse como:</para>
 
     <programlisting language="php"><![CDATA[
 $values = array(
@@ -40,32 +40,32 @@ $values = array(
 ]]></programlisting>
 
     <note>
-        <para> Las barras de comienzo y final están recortadas de la
+       <para>Las barras de comienzo y final están recortadas de la
                 <acronym>URL</acronym> en el Router antes de una concordancia.
             Como resultado, coincidendo con la <acronym>URL</acronym>
             <filename>http://domain.com/foo/bar/</filename>, involucraría al
             regex de <filename>foo/bar</filename>, y no a
-                <filename>/foo/bar</filename>. </para>
+                <filename>/foo/bar</filename>.</para>
     </note>
 
     <note>
-        <para> Las anclas de comienzo y fin de línea ('^' y '$',
+       <para>Las anclas de comienzo y fin de línea ('^' y '$',
             respectivamente) son automáticamente antepuestas y pospuestas a
             todas las expresiones. Así, no debe usar éstas en sus expresiones
-            regulares, y debe coincidir con el string completo. </para>
+            regulares, y debe coincidir con el string completo.</para>
     </note>
 
     <note>
-        <para> Esta clase de ruta usa el carácter <emphasis>#</emphasis>
+       <para>Esta clase de ruta usa el carácter <emphasis>#</emphasis>
             como un delimitador. Esto significa que necesitará caracteres hash
             ('#') para escapar pero no barras ('/') en sus definiciones de ruta.
             Dado que el carácter '#' (llamado ancla) es raramente pasado al
             webserver, será muy rara la necesidad de utilizar ese carácter en su
-            regex. </para>
+            regex.</para>
     </note>
 
-    <para> Puede obtener el contenido de los sub-patrones definidos por la forma
-        habitual: </para>
+   <para>Puede obtener el contenido de los sub-patrones definidos por la forma
+        habitual:</para>
 
     <programlisting language="php"><![CDATA[
 public function showAction()
@@ -76,17 +76,17 @@ public function showAction()
 ]]></programlisting>
 
     <note>
-        <para> Tenga en cuenta que la clave es un entero (1) en lugar de un
-            string ('1'). </para>
+       <para>Tenga en cuenta que la clave es un entero (1) en lugar de un
+            string ('1').</para>
     </note>
 
-    <para> Sin embargo, esta ruta no funciona exactamente igual que su
+   <para>Sin embargo, esta ruta no funciona exactamente igual que su
         contraparte standard route dado que el valor por defecto para 'year'
         todavía no se ha establecido. Y lo que puede ser no tan evidente es que
         tendremos un problema con una barra final incluso si declaramos por
         defecto el año y hacemos opcional al sub-patrón. La solución es hacer
         que toda la parte del año sea opcional junto con la barra pero capturar
-        solo la parte numérica: </para>
+        solo la parte numérica:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route_Regex(
@@ -100,12 +100,12 @@ $route = new Zend_Controller_Router_Route_Regex(
 $router->addRoute('archive', $route);
 ]]></programlisting>
 
-    <para> Ahora, ocupemósnos del problema que probablemente haya notado.
+   <para>Ahora, ocupemósnos del problema que probablemente haya notado.
         Utilizar claves basadas en enteros para los parámetros no es una
         solución fácilmente manejable y puede ser potencialmente problemática a
         largo plazo. Y aquí es donde entra el tercer parámetro. Este parámetro
         es un array asociativo que representa un mapa de sub-patrones regex a
-        nombres de clave de parámetros. Trabajemos en nuestro ejemplo más fácil: </para>
+        nombres de clave de parámetros. Trabajemos en nuestro ejemplo más fácil:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route_Regex(
@@ -121,7 +121,7 @@ $route = new Zend_Controller_Router_Route_Regex(
 $router->addRoute('archive', $route);
 ]]></programlisting>
 
-    <para> Esto resultaraá en los siguientes valores inyectados a la solicitud: </para>
+   <para>Esto resultaraá en los siguientes valores inyectados a la solicitud:</para>
 
     <programlisting language="php"><![CDATA[
 $values = array(
@@ -131,9 +131,9 @@ $values = array(
 );
 ]]></programlisting>
 
-    <para> El mapa puede ser definido en cualquier dirección para hacer que
+   <para>El mapa puede ser definido en cualquier dirección para hacer que
         funcione en cualquier ambiente. Las claves pueden contener nombres de
-        variables o índices de sub-patrones: </para>
+        variables o índices de sub-patrones:</para>
 
 
     <programlisting language="php"><![CDATA[
@@ -153,13 +153,13 @@ $route = new Zend_Controller_Router_Route_Regex(
 ]]></programlisting>
 
     <note>
-        <para> Las claves de los sub-patrones deben respresentarse por enteros.
-        </para>
+       <para>Las claves de los sub-patrones deben respresentarse por enteros.
+       </para>
     </note>
 
-    <para> Observe que el índice numérico en los valores del Request ahora han
+   <para>Observe que el índice numérico en los valores del Request ahora han
         desaparecido y en su lugar se muestra una variable nombrada. Por
-        supuesto que puede mezclar variables nombradas y numéricas si lo desea: </para>
+        supuesto que puede mezclar variables nombradas y numéricas si lo desea:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route_Regex(
@@ -169,10 +169,10 @@ $route = new Zend_Controller_Router_Route_Regex(
 );
 ]]></programlisting>
 
-    <para> Lo que resultará en una mezcla de valores disponibles en la
+   <para>Lo que resultará en una mezcla de valores disponibles en la
         solicitud. Como ejemplo, la <acronym>URL</acronym>
         <filename>http://domain.com/archive/2006/page/10</filename> resultará
-        con los siguientes valores: </para>
+        con los siguientes valores:</para>
 
     <programlisting language="php"><![CDATA[
 $values = array(
@@ -183,11 +183,11 @@ $values = array(
 );
 ]]></programlisting>
 
-    <para> Dado que los patrones regex no pueden invertirse fácilmente, tendrá
+   <para>Dado que los patrones regex no pueden invertirse fácilmente, tendrá
         que preparar una <acronym>URL</acronym> inversa si desea usar un
         ayudante de <acronym>URL</acronym> o incluso un método de ensamble de
         esta clase. Este path inverso está representado por un string parseable
-        por <methodname>sprintf()</methodname> y se define como el cuarto parámetro del constructor: </para>
+        por <methodname>sprintf()</methodname> y se define como el cuarto parámetro del constructor:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route_Regex(
@@ -198,7 +198,7 @@ $route = new Zend_Controller_Router_Route_Regex(
 );
 ]]></programlisting>
 
-    <para> Todo esto es algo que ya fue posible de hacer por medio de un objeto
+   <para>Todo esto es algo que ya fue posible de hacer por medio de un objeto
         de ruta estandard, por lo tanto podría preguntarese: ¿cuál es la ventaja
         de utilizar la ruta Regex?. Principalmente, le permite describir
         cualquier tipo de <acronym>URL</acronym> sin restricción alguna.
@@ -208,7 +208,7 @@ $route = new Zend_Controller_Router_Route_Regex(
             <filename>01-Using_the_Regex_Router.html</filename>, en un ID de
         artículo y en el título o descripción del artículo; esto no es posible con
         el standard route. Con la ruta Regex, puede hacer algo como la siguiente
-        solución: </para>
+        solución:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route_Regex(
@@ -226,6 +226,6 @@ $route = new Zend_Controller_Router_Route_Regex(
 $router->addRoute('blogArchive', $route);
 ]]></programlisting>
 
-    <para> Como puede ver, esto añade una enorme cantidad de flexibilidad por
-        encima del standard route. </para>
+   <para>Como puede ver, esto añade una enorme cantidad de flexibilidad por
+        encima del standard route.</para>
 </sect3>

+ 15 - 15
documentation/manual/es/module_specs/Zend_Controller-Router-Route-Static.xml

@@ -4,11 +4,11 @@
 <sect3 id="zend.controller.router.routes.static">
     <title>Zend_Controller_Router_Route_Static</title>
 
-    <para> Los ejemplos sobre todo usan rutas dinámicas -- rutas que contienen
+   <para>Los ejemplos sobre todo usan rutas dinámicas -- rutas que contienen
         patrones contra los cuales comparar. A veces, sin embargo, una ruta en
         particular pareciera estar seteada en piedra, y ejecutar el motor de
         expresiones regulares sería excesivo. La respuesta a esta situación es
-        utilizar rutas estáticas: </para>
+        utilizar rutas estáticas:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route_Static(
@@ -18,47 +18,47 @@ $route = new Zend_Controller_Router_Route_Static(
 $router->addRoute('login', $route);
 ]]></programlisting>
 
-    <para> La ruta anterior se comparará con una <acronym>URL</acronym> de
+   <para>La ruta anterior se comparará con una <acronym>URL</acronym> de
             <filename>http://domain.com/login</filename>, y hará un dispatch a
-            <methodname>AuthController::loginAction()</methodname>. </para>
+            <methodname>AuthController::loginAction()</methodname>.</para>
 
     <note id="zend.controller.router.routes.static.warning">
         <title>Advertencia: Las Rutas Estáticas Deben Contener Defaults
             Sanos</title>
 
-        <para> Dado que una ruta estática no pasa ninguna parte de la
+       <para>Dado que una ruta estática no pasa ninguna parte de la
                 <acronym>URL</acronym> del objeto solicitud, como ser los
             parámetros, usted <emphasis>debe</emphasis> pasar todos los
             parámetros necesarios para enviar una solicitud a la ruta como si
             fuera por defecto. Omitiendo los valores por defecto de "controller"
             o "action" tendrá resultados inesperados, y probablemente el
-            resultado de la solicitud no sea ejecutable. </para>
+            resultado de la solicitud no sea ejecutable.</para>
 
-        <para> Como regla general, siempre proporcione cada uno de los
-            siguientes valores por defecto: </para>
+       <para>Como regla general, siempre proporcione cada uno de los
+            siguientes valores por defecto:</para>
 
         <itemizedlist>
             <listitem>
-                <para>controller</para>
+               <para>controller</para>
             </listitem>
             <listitem>
-                <para>action</para>
+               <para>action</para>
             </listitem>
             <listitem>
-                <para>module (si ya no está por defecto)</para>
+               <para>module (si ya no está por defecto)</para>
             </listitem>
         </itemizedlist>
 
-        <para> Opcionalmente, también puede pasar el parámetro
+       <para>Opcionalmente, también puede pasar el parámetro
             "useDefaultControllerAlways" al front controller durante el
-            bootstrapping: </para>
+            bootstrapping:</para>
 
         <programlisting language="php"><![CDATA[
 $front->setParam('useDefaultControllerAlways', true);
 ]]></programlisting>
 
-        <para> Sin embargo, esto es considerado un rodeo; siempre es mejor
+       <para>Sin embargo, esto es considerado un rodeo; siempre es mejor
             definir explícitamente valores correctos o sanos por defecto.
-        </para>
+       </para>
     </note>
 </sect3>

+ 52 - 52
documentation/manual/es/module_specs/Zend_Controller-Router-Route.xml

@@ -4,20 +4,20 @@
 <sect3 id="zend.controller.router.routes.standard">
     <title>Zend_Controller_Router_Route</title>
 
-    <para>
+   <para>
         <classname>Zend_Controller_Router_Route</classname> es la ruta standard
         del framework. Combina la facilidad de uso con la flexibilidad para la
         definición de rutas. Cada ruta consiste fundamentalmente en el mapeo de
         la <acronym>URL</acronym> (de partes estáticas y dinámicas (variables))
         y puede ser iniciada con valores predeterminados así como con requisitos
-        variables. </para>
+        variables.</para>
 
-    <para> Imaginemos que nuestra aplicación ficticia necesitará algunas páginas
+   <para>Imaginemos que nuestra aplicación ficticia necesitará algunas páginas
         informativas sobre los autores del contenido. Queremos ser capaces de
         apuntar nuestro navegador web a
             <filename>http://domain.com/author/martel</filename> para ver la
         información sobre este muchacho "martel". La ruta para esa funcionalidad
-        podría parecerse a: </para>
+        podría parecerse a:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route(
@@ -31,32 +31,32 @@ $route = new Zend_Controller_Router_Route(
 $router->addRoute('user', $route);
 ]]></programlisting>
 
-    <para> El primer parámetro en el constructor
+   <para>El primer parámetro en el constructor
             <classname>Zend_Controller_Router_Route</classname> es una
         definición de ruta que será acompañada de una <acronym>URL</acronym>.
         Las definiciones de ruta consisten en partes estáticas y dinámicas
         separadas por el caracter barra ('/'). Las partes estáticas son simples
         textos: <command>author</command>. Las partes dinámicas, llamadas
         variables, se marcan anteponiendo dos puntos (:) al nombre de la
-        variable <command>:username</command>. </para>
+        variable <command>:username</command>.</para>
 
     <note>
         <title>Uso de Caracteres</title>
-        <para> La implementación actual le permite utilizar cualquier carácter
+       <para>La implementación actual le permite utilizar cualquier carácter
             (salvo una barra) como un identificador de variable, pero se
             recomienda encarecidamente que se utilicen sólo caracteres que sean
             válidos para identificadores de variables <acronym>PHP</acronym>. En
             implementaciones futuras se podría alterar este comportamiento,
-            resultando en probables fallos escondidos en su código. </para>
+            resultando en probables fallos escondidos en su código.</para>
     </note>
 
-    <para> Este ejemplo de ruta debería ser coincidente cuando apunta su
+   <para>Este ejemplo de ruta debería ser coincidente cuando apunta su
         navegador a <filename>http://domain.com/author/martel</filename>, en
         cuyo caso todas sus variables se inyectan al objeto
             <classname>Zend_Controller_Request</classname> y quedando accesibles
         en <classname>ProfileController</classname>. Las variables devueltas
         por este ejemplo pueden ser representadas como el siguiente array de
-        pares clave/valor: </para>
+        pares clave/valor:</para>
 
     <programlisting language="php"><![CDATA[
 $values = array(
@@ -66,13 +66,13 @@ $values = array(
 );
 ]]></programlisting>
 
-    <para> Después, <classname>Zend_Controller_Dispatcher_Standard</classname>
+   <para>Después, <classname>Zend_Controller_Dispatcher_Standard</classname>
         debe invocar al método <methodname>userinfoAction()</methodname> de su
         clase <classname>ProfileController</classname> (en el módulo por
         defecto) basado en estos valores. Allí se podrán acceder a todas las
         variables mediante los métodos
         <methodname>Zend_Controller_Action::_getParam()</methodname> o
-        <methodname>Zend_Controller_Request::getParam()</methodname>: </para>
+        <methodname>Zend_Controller_Request::getParam()</methodname>:</para>
 
     <programlisting language="php"><![CDATA[
 public function userinfoAction()
@@ -84,11 +84,11 @@ public function userinfoAction()
 }
 ]]></programlisting>
 
-    <para> La definición de ruta puede contener uno o más caracteres especiales
+   <para>La definición de ruta puede contener uno o más caracteres especiales
         - un comodín - representado por el símbolo '*'. Se utiliza para reunir
         parámetros al igual que el valor de ruta por defecto del Módulo (var =>
         pares de valores definidos en la <acronym>URI</acronym>). La siguiente
-        ruta imita más o menos el comportamiento de la ruta del Módulo: </para>
+        ruta imita más o menos el comportamiento de la ruta del Módulo:</para>
 
     <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route(
@@ -101,11 +101,11 @@ $router->addRoute('default', $route);
     <sect4 id="zend.controller.router.routes.standard.variable-defaults">
         <title>Variables por Defecto</title>
 
-        <para> Cada variable en la ruta puede tener una valor por defecto y para
+       <para>Cada variable en la ruta puede tener una valor por defecto y para
             esto es que se usa el segundo parámetro del constructor
                 <classname>Zend_Controller_Router_Route</classname>. Este
             parámetro es un array con claves representando los nombres de
-            variables y con valores como los deseados por defecto: </para>
+            variables y con valores como los deseados por defecto:</para>
 
         <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route(
@@ -115,20 +115,20 @@ $route = new Zend_Controller_Router_Route(
 $router->addRoute('archive', $route);
 ]]></programlisting>
 
-        <para> La ruta de arriba comparará <acronym>URL</acronym>s como
+       <para>La ruta de arriba comparará <acronym>URL</acronym>s como
                 <filename>http://domain.com/archive/2005</filename> y
                 <filename>http://example.com/archive</filename>. En este último
             caso la variable year(año) tendrá un valor inicial predeterminado de
-            2006. </para>
+            2006.</para>
 
-        <para> Este ejemplo resultará en inyectar una variable año al objeto
+       <para>Este ejemplo resultará en inyectar una variable año al objeto
             solicitud. Ya que no hay información de enrutamiento presente (no se
             define ningún controlador ni parámetros de acción), la solicitud
             será enviada al controlador y al método de acción por defecto (que a
             la vez ambos están definidos en
                 <classname>Zend_Controller_Dispatcher_Abstract</classname>).
             Para hacerlos más utilizables, tiene que proporcionar un controlador
-            válido y una acción válida como la ruta por defecto: </para>
+            válido y una acción válida como la ruta por defecto:</para>
 
         <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route(
@@ -142,19 +142,19 @@ $route = new Zend_Controller_Router_Route(
 $router->addRoute('archive', $route);
 ]]></programlisting>
 
-        <para> Entonces, esta ruta resultará en el dispatch al método
+       <para>Entonces, esta ruta resultará en el dispatch al método
             <methodname>showAction()</methodname> de la clase
-            <classname>ArchiveController</classname>. </para>
+            <classname>ArchiveController</classname>.</para>
 
     </sect4>
 
     <sect4 id="zend.controller.router.routes.standard.variable-requirements">
         <title>Requerimientos para Variables</title>
 
-        <para> Podemos agregar un tercer parámetro al constructor
+       <para>Podemos agregar un tercer parámetro al constructor
                 <classname>Zend_Controller_Router_Route</classname> donde
             podemos establecer los requisitos para las variables. Estas son
-            definidas como partes de una expresión regular: </para>
+            definidas como partes de una expresión regular:</para>
 
         <programlisting language="php"><![CDATA[
 $route = new Zend_Controller_Router_Route(
@@ -169,63 +169,63 @@ $route = new Zend_Controller_Router_Route(
 $router->addRoute('archive', $route);
 ]]></programlisting>
 
-        <para> Con una ruta definida como la de arriba, el router comparará solo
+       <para>Con una ruta definida como la de arriba, el router comparará solo
             cuando la variable año contenga datos numéricos, eg.
                 <filename>http://domain.com/archive/2345</filename>. Una
                 <acronym>URL</acronym> como
                 <filename>http://example.com/archive/test</filename> no se
             comparará y en su lugar el control se pasará a la próxima ruta en la
-            cadena. </para>
+            cadena.</para>
     </sect4>
 
     <sect4 id="zend.controller.router.routes.standard.translated-segments">
         <title>Segmentos Traducidos</title>
 
-        <para> El standard de ruta brinda apoyo a la traducción de segmentos.
+       <para>El standard de ruta brinda apoyo a la traducción de segmentos.
             Para utilizar esta característica, tiene que definir por lo menos un
             traductor (una instancia de <classname>Zend_Translate</classname>)
-            mediante una de las siguientes formas: </para>
+            mediante una de las siguientes formas:</para>
 
         <itemizedlist>
             <listitem>
-                <para> Ponerlo en el registro con la clave
-                    <methodname>Zend_Translate</methodname>. </para>
+               <para>Ponerlo en el registro con la clave
+                    <methodname>Zend_Translate</methodname>.</para>
             </listitem>
             <listitem>
-                <para> Setearlo mediante el método estático
+               <para>Setearlo mediante el método estático
                     <methodname>Zend_Controller_Router_Route::setDefaultTranslator()</methodname>.
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para> Pasarlo como cuarto parámetro al constructor. </para>
+               <para>Pasarlo como cuarto parámetro al constructor.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Por defecto, se utilizará el "locale" especificado en la
+       <para>Por defecto, se utilizará el "locale" especificado en la
             instancia <classname>Zend_Translate</classname>. Para anularlo, debe
             setearlo (como una instancia de <classname>Zend_Locale</classname> o
-            un string local) de una de las siguientes maneras: </para>
+            un string local) de una de las siguientes maneras:</para>
 
         <itemizedlist>
             <listitem>
-                <para> Ponerlo en el registro con la clave
-                        <classname>Zend_Locale</classname>. </para>
+               <para>Ponerlo en el registro con la clave
+                        <classname>Zend_Locale</classname>.</para>
             </listitem>
             <listitem>
-                <para> Setearlo mediante el método estático
+               <para>Setearlo mediante el método estático
                         <methodname>Zend_Controller_Router_Route::setDefaultLocale()</methodname>.
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para> Pasarlo como cuarto parámetro al constructor. </para>
+               <para>Pasarlo como cuarto parámetro al constructor.</para>
             </listitem>
             <listitem>
-                <para> Pasarlo como parámetro <command>@locale</command>
-                    al método de ensamblaje. </para>
+               <para>Pasarlo como parámetro <command>@locale</command>
+                    al método de ensamblaje.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Los segmentos traducidos se dividen en dos partes. Los segmentos
+       <para>Los segmentos traducidos se dividen en dos partes. Los segmentos
             fijos están precedidos por un único signo
             <emphasis>@</emphasis>, y serán traducidos al "locale" actual
             para el ensamblaje y se revierten al ID del mensaje cuando se acepte
@@ -233,19 +233,19 @@ $router->addRoute('archive', $route);
             <command>:@</command>. Para el ensamblaje, el parámetro
             dado será traducido y se insertará en la posición del parámetro.
             Cuando se acepte, el parámetro traducido de la URL volverá al ID del
-            mensaje nuevamente. </para>
+            mensaje nuevamente.</para>
 
         <note>
             <title>IDs de Mensajes y Archivos de Lenguajes Separados</title>
-            <para> Ocasionalmente un ID de mensaje que quiere usar en una de sus
+           <para>Ocasionalmente un ID de mensaje que quiere usar en una de sus
                 rutas ya se utiliza en un view script o en otro lugar. Para
                 tener pleno control sobre <acronym>URL</acronym>s seguras, debe
                 usar un archivo de idioma separado para los mensajes utilizados
-                en la ruta. </para>
+                en la ruta.</para>
         </note>
 
-        <para> La siguiente es la forma más sencilla para preparar el itinerario
-            normal para el uso de la traducción del segmento: </para>
+       <para>La siguiente es la forma más sencilla para preparar el itinerario
+            normal para el uso de la traducción del segmento:</para>
 
         <programlisting language="php"><![CDATA[
 // Prepare el traductor
@@ -263,7 +263,7 @@ $translator->setLocale('en');
 Zend_Controller_Router_Route::setDefaultTranslator($translator);
 ]]></programlisting>
 
-        <para> Este ejemplo demuestra el uso de segmentos estáticos: </para>
+       <para>Este ejemplo demuestra el uso de segmentos estáticos:</para>
 
         <programlisting language="php"><![CDATA[
 // Crear la ruta
@@ -283,8 +283,8 @@ $route->assemble(array());
 $route->assemble(array());
 ]]></programlisting>
 
-        <para> Puede usar segmentos dinámicos para crear veriones traducidas
-            como del tipo módulo-ruta: </para>
+       <para>Puede usar segmentos dinámicos para crear veriones traducidas
+            como del tipo módulo-ruta:</para>
 
         <programlisting language="php"><![CDATA[
 // Crear la ruta
@@ -304,7 +304,7 @@ $route->assemble(array('controller' => 'archive', 'foo' => 'bar'));
 $route->assemble(array('controller' => 'archive', 'foo' => 'bar'));
 ]]></programlisting>
 
-        <para> También puede mezclar segmentos estáticos y dinámicos: </para>
+       <para>También puede mezclar segmentos estáticos y dinámicos:</para>
 
         <programlisting language="php"><![CDATA[
 // Crear la ruta

+ 196 - 196
documentation/manual/es/module_specs/Zend_Controller-Router.xml

@@ -5,37 +5,37 @@
     <title>El Router Standard</title>
     <sect2 id="zend.controller.router.introduction">
         <title>Introducción</title>
-        <para>
-            <classname>Zend_Controller_Router_Rewrite</classname> Es el router 
-            standard del Framework. Routing es el proceso de tomar la parte 
-            final de una <acronym>URI</acronym> (la parte de la <acronym>URI</acronym> que viene después de la <acronym>URL</acronym> 
-            base) y la descomposición en parámetros para determinar qué módulo, 
-            qué controlador y acción de ese controlador debe recibir la solicitud. 
-            Estos valores del módulo, controlador, acción y otros parámetros 
-            están enpaquetados en un objeto 
-            <classname>Zend_Controller_Request_Http</classname> el cual es 
-            procesado luego por <classname>Zend_Controller_Dispatcher_Standard</classname>. 
-            El routing ocurre sólo una vez: cuando se recibió inicialmente la 
+       <para>
+            <classname>Zend_Controller_Router_Rewrite</classname> Es el router
+            standard del Framework. Routing es el proceso de tomar la parte
+            final de una <acronym>URI</acronym> (la parte de la <acronym>URI</acronym> que viene después de la <acronym>URL</acronym>
+            base) y la descomposición en parámetros para determinar qué módulo,
+            qué controlador y acción de ese controlador debe recibir la solicitud.
+            Estos valores del módulo, controlador, acción y otros parámetros
+            están enpaquetados en un objeto
+            <classname>Zend_Controller_Request_Http</classname> el cual es
+            procesado luego por <classname>Zend_Controller_Dispatcher_Standard</classname>.
+            El routing ocurre sólo una vez: cuando se recibió inicialmente la
             solicitud y antes del dispatch del primer controlador.
-        </para>
-
-        <para>
-            <classname>Zend_Controller_Router_Rewrite</classname> está diseñado 
-            para permitir que una funcionalidad tipo mod_rewrite se pueda usar 
-            en estructuras <acronym>PHP</acronym> puras. Se basa muy vagamente en el routing de 
-            Ruby on Rails (RoR) y no requiere ningún conocimiento previo de 
-            reescritura de la <acronym>URL</acronym> del webserver. Está diseñado para trabajar 
+       </para>
+
+       <para>
+            <classname>Zend_Controller_Router_Rewrite</classname> está diseñado
+            para permitir que una funcionalidad tipo mod_rewrite se pueda usar
+            en estructuras <acronym>PHP</acronym> puras. Se basa muy vagamente en el routing de
+            Ruby on Rails (RoR) y no requiere ningún conocimiento previo de
+            reescritura de la <acronym>URL</acronym> del webserver. Está diseñado para trabajar
             con solo una regla mod_rewrite de Apache (one of):
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 RewriteEngine on
 RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php
 ]]></programlisting>
 
-        <para>
+       <para>
             o (preferido):
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 RewriteEngine On
@@ -46,12 +46,12 @@ RewriteRule ^.*$ - [NC,L]
 RewriteRule ^.*$ index.php [NC,L]
 ]]></programlisting>
 
-        <para>
+       <para>
             El router rewrite también puede utilizarse con el <acronym>IIS</acronym> webserver (versions &lt;= 7.0) si <ulink
-                url="http://www.isapirewrite.com">Isapi_Rewrite</ulink> 
-                se ha instalado como una extensión Isapi con la siguiente 
+                url="http://www.isapirewrite.com">Isapi_Rewrite</ulink>
+                se ha instalado como una extensión Isapi con la siguiente
                 regla de reescribir:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 RewriteRule ^[\w/\%]*(?:\.(?!(?:js|ico|gif|jpg|png|css|html)$)[\w\%]*$)? /index.php [I]
@@ -59,20 +59,20 @@ RewriteRule ^[\w/\%]*(?:\.(?!(?:js|ico|gif|jpg|png|css|html)$)[\w\%]*$)? /index.
 
         <note>
             <title>IIS Isapi_Rewrite</title>
-            <para>
-                Cuando se usa <acronym>IIS</acronym>, <varname>$_SERVER['REQUEST_URI']</varname> puede 
+           <para>
+                Cuando se usa <acronym>IIS</acronym>, <varname>$_SERVER['REQUEST_URI']</varname> puede
                 no existir, o establecerlo como un string vacío. En este caso,
-                <classname>Zend_Controller_Request_Http</classname> 
-                intentará usar el valor de 
-                <varname>$_SERVER['HTTP_X_REWRITE_URL']</varname> 
+                <classname>Zend_Controller_Request_Http</classname>
+                intentará usar el valor de
+                <varname>$_SERVER['HTTP_X_REWRITE_URL']</varname>
                 establecido por la extensión Isapi_Rewrite.
-            </para>
+           </para>
         </note>
 
-        <para>
-            IIS 7.0 introduce un módulo nativo de reescribir la URL, y puede ser 
+       <para>
+            IIS 7.0 introduce un módulo nativo de reescribir la URL, y puede ser
             configurado como sigue:
-        </para>
+       </para>
 
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
@@ -101,9 +101,9 @@ RewriteRule ^[\w/\%]*(?:\.(?!(?:js|ico|gif|jpg|png|css|html)$)[\w\%]*$)? /index.
      </system.webServer>
 </configuration>]></programlisting>
 
-        <para>
+       <para>
             Si está usando Lighttpd, la siguiente regla de reescritura es válida:
-        </para>
+       </para>
 
         <programlisting language="lighttpd"><![CDATA[
 url.rewrite-once = (
@@ -117,12 +117,12 @@ url.rewrite-once = (
     <sect2 id="zend.controller.router.usage">
         <title>Usando un Router</title>
 
-        <para>
-            Para utilizar adecuadamente el router de reescritura debe 
-            instanciarlo, agregar algunas rutas definidas por el usuario y 
-            luego inyectarlo en el controlador. El siguiente código ilustra el 
+       <para>
+            Para utilizar adecuadamente el router de reescritura debe
+            instanciarlo, agregar algunas rutas definidas por el usuario y
+            luego inyectarlo en el controlador. El siguiente código ilustra el
             procedimiento:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 // Crear un router
@@ -140,150 +140,150 @@ $router->addRoute(
     <sect2 id="zend.controller.router.basic">
         <title>Operación Básica del Rewrite Router</title>
 
-        <para>
-            El corazón del RewriteRouter es la definición de la rutas definidas 
-            por el usuario. Las rutas se agregan llamando al método addRoute 
-            de RewriteRouter y pasándole una nueva instancia de una clase que 
-            implementó a 
+       <para>
+            El corazón del RewriteRouter es la definición de la rutas definidas
+            por el usuario. Las rutas se agregan llamando al método addRoute
+            de RewriteRouter y pasándole una nueva instancia de una clase que
+            implementó a
             <classname>Zend_Controller_Router_Route_Interface</classname>. Eg.:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $router->addRoute('user',
                   new Zend_Controller_Router_Route('user/:username'));
 ]]></programlisting>
 
-        <para>
-            El Rewrite Router viene con seis tipos básicos de rutas (uno de los 
+       <para>
+            El Rewrite Router viene con seis tipos básicos de rutas (uno de los
             cuales es especial):
-        </para>
+       </para>
 
         <itemizedlist mark="opencircle">
             <listitem>
-                <para>
+               <para>
                     <link
                         linkend="zend.controller.router.routes.standard">Zend_Controller_Router_Route</link>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <link
                         linkend="zend.controller.router.routes.static">Zend_Controller_Router_Route_Static</link>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <link
                         linkend="zend.controller.router.routes.regex">Zend_Controller_Router_Route_Regex</link>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <link
                         linkend="zend.controller.router.routes.hostname">Zend_Controller_Router_Route_Hostname</link>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <link
                         linkend="zend.controller.router.routes.chain">Zend_Controller_Router_Route_Chain</link>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <link
                         linkend="zend.controller.router.default-routes">Zend_Controller_Router_Rewrite</link>
                     *
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para>
-            Las rutas pueden ser utilizadas numerosas veces para crear una cadena 
-            o un esquema de aplicación de ruteo definido por el usuario.  
-            Puede usar cualquier número de rutas en cualquier configuración, 
-            con la excepción de la ruta del Módulo, la cual debe ser utilizada 
-            una vez y probablemente como la ruta más genérica (es decir, 
+       <para>
+            Las rutas pueden ser utilizadas numerosas veces para crear una cadena
+            o un esquema de aplicación de ruteo definido por el usuario.
+            Puede usar cualquier número de rutas en cualquier configuración,
+            con la excepción de la ruta del Módulo, la cual debe ser utilizada
+            una vez y probablemente como la ruta más genérica (es decir,
             por defecto). Cada ruta se describe en mayor detalle más adelante.
-        </para>
+       </para>
 
-        <para>
-            El primer parámetro a addRoute es el nombre de la ruta. 
-            Se utiliza como un manejador para sacar las rutas del router 
-            (por ejemplo, con fines de generación de <acronym>URL</acronym>). 
+       <para>
+            El primer parámetro a addRoute es el nombre de la ruta.
+            Se utiliza como un manejador para sacar las rutas del router
+            (por ejemplo, con fines de generación de <acronym>URL</acronym>).
             El segundo parámetro es la ruta misma.
-        </para>
+       </para>
 
         <note>
-            <para>
-                El uso más común del nombre de ruta es por medio del 
+           <para>
+                El uso más común del nombre de ruta es por medio del
                 ayudante de <acronym>URL</acronym> <classname>Zend_View</classname>:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 <a href=
 "<?php echo $this->url(array('username' => 'martel'), 'user') ?>">Martel</a>
 ]]></programlisting>
 
-            <para>
+           <para>
                 Que resultaría en la href: <methodname>user/martel</methodname>.
-            </para>
+           </para>
         </note>
 
-        <para>
-            El routing es un simple proceso de iteración a través de todas las 
-            rutas provistas y la equiparación de sus definiciones con la petición 
-            actual de <acronym>URI</acronym>. Cuando se encuentra una concordancia, se devuelven 
-            valores de variables desde la instancia Route y se inyecta en el 
-            objeto <classname>Zend_Controller_Request</classname>  
-            para su posterior utilización en el dispatcher así también como en 
-            los controladores creados por el usuario. En caso de no encontrar 
+       <para>
+            El routing es un simple proceso de iteración a través de todas las
+            rutas provistas y la equiparación de sus definiciones con la petición
+            actual de <acronym>URI</acronym>. Cuando se encuentra una concordancia, se devuelven
+            valores de variables desde la instancia Route y se inyecta en el
+            objeto <classname>Zend_Controller_Request</classname>
+            para su posterior utilización en el dispatcher así también como en
+            los controladores creados por el usuario. En caso de no encontrar
             ninguna concordancia, se comprobará la siguiente ruta en la cadena.
-        </para>
+       </para>
 
-        <para>
-            Si necesita determinar en qué ruta se encontró una concordancia, 
-            puede usar el método <methodname>getCurrentRouteName()</methodname>, que devolverá 
-            el identificador usado cuando registró la ruta con el router. 
-            Si quiere el objeto de la ruta actual, puede usar 
+       <para>
+            Si necesita determinar en qué ruta se encontró una concordancia,
+            puede usar el método <methodname>getCurrentRouteName()</methodname>, que devolverá
+            el identificador usado cuando registró la ruta con el router.
+            Si quiere el objeto de la ruta actual, puede usar
             <methodname>getCurrentRoute()</methodname>.
-        </para>
+       </para>
 
         <note>
             <title>Matching Inverso</title>
-            <para>
-                Las rutas están equiparadas en orden inverso para asegurarse 
+           <para>
+                Las rutas están equiparadas en orden inverso para asegurarse
                 que las rutas más genéricas se definan primero.
-            </para>
+           </para>
         </note>
 
         <note>
             <title>Valores Retornados</title>
-            <para>
-                Los valores retornados del routing provienen de parámetros <acronym>URL</acronym> 
-                o de rutas definidas por defecto por el usuario. 
-                Estas variables son accesibles posteriormente a través de los métodos 
+           <para>
+                Los valores retornados del routing provienen de parámetros <acronym>URL</acronym>
+                o de rutas definidas por defecto por el usuario.
+                Estas variables son accesibles posteriormente a través de los métodos
                 <methodname>Zend_Controller_Request::getParam()</methodname> o
                 <methodname>Zend_Controller_Action::_getParam()</methodname>.
-            </para>
+           </para>
         </note>
 
-        <para>
-            Hay tres variables que pueden utilizarse en las rutas - 'module', 
-            'controller' y 'action'. Estas variables especiales son utilizados por 
-            <classname>Zend_Controller_Dispatcher</classname> para encontrar un 
+       <para>
+            Hay tres variables que pueden utilizarse en las rutas - 'module',
+            'controller' y 'action'. Estas variables especiales son utilizados por
+            <classname>Zend_Controller_Dispatcher</classname> para encontrar un
             controlador y una acción para hacer el dispatch.
-        </para>
+       </para>
 
         <note>
             <title>Variables Especiales</title>
-            <para>
-                Los nombres de estas variables especiales pueden ser diferentes 
+           <para>
+                Los nombres de estas variables especiales pueden ser diferentes
                 si elige alterar los valores por defecto en
-                <classname>Zend_Controller_Request_Http</classname> mediante los 
-                métodos 
+                <classname>Zend_Controller_Request_Http</classname> mediante los
+                métodos
                 <methodname>setControllerKey</methodname> y <methodname>setActionKey</methodname>.
-            </para>
+           </para>
         </note>
 
     </sect2>
@@ -291,20 +291,20 @@ $router->addRoute('user',
     <sect2 id="zend.controller.router.default-routes">
         <title>Routes por Defecto</title>
 
-        <para>
-            <classname>Zend_Controller_Router_Rewrite</classname> viene 
-            preconfigurado con una ruta por defecto, que se comparará con <acronym>URI</acronym>s 
-            en la forma de <methodname>controller/action</methodname>. 
-            Además, se puede especificar un nombre de módulo como primer 
-            elemento del path, permitiendo <acronym>URI</acronym>s de la forma            
-            <filename>module/controller/action</filename>. Por último, también coincidrá  
+       <para>
+            <classname>Zend_Controller_Router_Rewrite</classname> viene
+            preconfigurado con una ruta por defecto, que se comparará con <acronym>URI</acronym>s
+            en la forma de <methodname>controller/action</methodname>.
+            Además, se puede especificar un nombre de módulo como primer
+            elemento del path, permitiendo <acronym>URI</acronym>s de la forma
+            <filename>module/controller/action</filename>. Por último, también coincidrá
             con cualquier parámetro adicional agregado a la <acronym>URI</acronym> por defecto -
             <filename>controller/action/var1/value1/var2/value2</filename>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Algunos ejemplos de cómo están equiparadas las rutas:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 // Asumiendo lo siguiente:
@@ -344,12 +344,12 @@ http://example/blog/archive/list/sort/alpha/date/desc
     date       == desc
 ]]></programlisting>
 
-        <para>
-            La ruta por defecto es simplemente un objeto 
-            <classname>Zend_Controller_Router_Route_Module</classname> 
-            almacenado bajo el nombre de (index) por 'default' en RewriteRouter. 
+       <para>
+            La ruta por defecto es simplemente un objeto
+            <classname>Zend_Controller_Router_Route_Module</classname>
+            almacenado bajo el nombre de (index) por 'default' en RewriteRouter.
             Está generado más o menos así:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $compat = new Zend_Controller_Router_Route_Module(array(),
@@ -358,12 +358,12 @@ $compat = new Zend_Controller_Router_Route_Module(array(),
 $this->addRoute('default', $compat);
 ]]></programlisting>
 
-        <para>
+       <para>
             Si no quiere esta ruta en particular en su esquema por defecto de
-            routing, podrá anularla creando su propia ruta por 'defecto'  
-            (es decir, almacenar bajo el nombre de 'default') o eliminarla por 
+            routing, podrá anularla creando su propia ruta por 'defecto'
+            (es decir, almacenar bajo el nombre de 'default') o eliminarla por
             completo usando <methodname>removeDefaultRoutes()</methodname>:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 // Eliminar cualquier ruta por defecto
@@ -375,22 +375,22 @@ $router->removeDefaultRoutes();
     <sect2 id="zend.controller.router.rewritebase">
         <title>URL Base y Subdirectorios</title>
 
-        <para>
-            El router rewrite puede ser utilizado en subdirectorios (por 
-            ejemplo <filename>http://domain.com/~user/application-root/</filename>) 
-            en cuyo caso la <acronym>URL</acronym> base de la aplicación 
-            (<filename>/user/application-root</filename>) debe ser detectada 
-            automáticamente por <classname>Zend_Controller_Request_Http</classname> 
+       <para>
+            El router rewrite puede ser utilizado en subdirectorios (por
+            ejemplo <filename>http://domain.com/~user/application-root/</filename>)
+            en cuyo caso la <acronym>URL</acronym> base de la aplicación
+            (<filename>/user/application-root</filename>) debe ser detectada
+            automáticamente por <classname>Zend_Controller_Request_Http</classname>
             y usada en consecuencia.
-        </para>
+       </para>
 
-        <para>
-            Si la <acronym>URL</acronym> base se detecta incorrectamente se la puede anular con su 
+       <para>
+            Si la <acronym>URL</acronym> base se detecta incorrectamente se la puede anular con su
             propio path de base usando
-            <classname>Zend_Controller_Request_Http</classname> y llamando al 
+            <classname>Zend_Controller_Request_Http</classname> y llamando al
             método <methodname>setBaseUrl()</methodname> (ver <xref
                 linkend="zend.controller.request.http.baseurl" />):
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $request->setBaseUrl('/~user/application-root/');
@@ -401,14 +401,14 @@ $request->setBaseUrl('/~user/application-root/');
     <sect2 id="zend.controller.router.global.parameters">
         <title>Parámetros Globales</title>
 
-        <para>
-            Puede establecer los parámetros globales en un router que se 
-            proporcionan automáticamente a una ruta cuando se ensamblasn mediante  
-            <methodname>setGlobalParam</methodname>. Si se establece un parámetro global 
-            pero también se lo entrega directamente al método de ensamblaje, 
-            el parámetro del usuario sobreescribe al parámetro global. 
+       <para>
+            Puede establecer los parámetros globales en un router que se
+            proporcionan automáticamente a una ruta cuando se ensamblasn mediante
+            <methodname>setGlobalParam</methodname>. Si se establece un parámetro global
+            pero también se lo entrega directamente al método de ensamblaje,
+            el parámetro del usuario sobreescribe al parámetro global.
             Puede establecer un parámetro global esta forma:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $router->setGlobalParam('lang', 'en');
@@ -427,18 +427,18 @@ $router->setGlobalParam('lang', 'en');
     <sect2 id="zend.controller.router.add-config">
         <title>Usando <classname>Zend_Config</classname> con RewriteRouter</title>
 
-        <para>
-            A veces es más conveniente para actualizar un archivo de 
-            configuración con nuevas rutas que modificar el código. 
+       <para>
+            A veces es más conveniente para actualizar un archivo de
+            configuración con nuevas rutas que modificar el código.
             Esto es posible a través del método <methodname>addConfig()</methodname>.
-            Básicamente, se crea una configuración compatible con 
-            <classname>Zend_Config</classname>. 
+            Básicamente, se crea una configuración compatible con
+            <classname>Zend_Config</classname>.
             Y en su código lo lee y lo pasa a RewriteRouter.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Como ejemplo, considere el siguiente archivo  <acronym>INI</acronym>:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 [production]
@@ -461,10 +461,10 @@ routes.archive.map.1 = "year"
 ; O: routes.archive.map.year = 1
 ]]></programlisting>
 
-        <para>
+       <para>
             Entonces el archivo <acronym>INI</acronym> puede ser leído por un objeto
             <classname>Zend_Config</classname> como sigue:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Ini('/path/to/config.ini', 'production');
@@ -472,43 +472,43 @@ $router = new Zend_Controller_Router_Rewrite();
 $router->addConfig($config, 'routes');
 ]]></programlisting>
 
-        <para>
-            En el ejemplo de arriba, le decimos el router que utilice la 
-            sección 'routes' del archivo <acronym>INI</acronym> para utilizarlo en sus rutas. 
-            Cada clave de primer nivel en esa sección será utilizada para definir 
-            un nombre de ruta; el ejemplo anterior define las rutas 'archive' y 
-            'news'. Entonces cada ruta requiere, como mínimo, una entrada a la 
-            'ruta' y una o más entradas por 'default'; opcionalmente puede 
-            proporcionarse una o más 'reqs' (abreviación de 'required'). 
-            Dicho todo esto, estos corresponden a los tres argumentos que se le 
-            suministran al objeto 
-            <classname>Zend_Controller_Router_Route_Interface</classname>. 
-            Puede utilizarse una clave opcional 'type' para especificar el 
-            tipo de clase de ruta a utilizar en esa ruta en particular; 
-            por defecto, usa 
-            <classname>Zend_Controller_Router_Route</classname>. 
-            En el ejemplo de arriba, la ruta 'news' está definida para usar 
+       <para>
+            En el ejemplo de arriba, le decimos el router que utilice la
+            sección 'routes' del archivo <acronym>INI</acronym> para utilizarlo en sus rutas.
+            Cada clave de primer nivel en esa sección será utilizada para definir
+            un nombre de ruta; el ejemplo anterior define las rutas 'archive' y
+            'news'. Entonces cada ruta requiere, como mínimo, una entrada a la
+            'ruta' y una o más entradas por 'default'; opcionalmente puede
+            proporcionarse una o más 'reqs' (abreviación de 'required').
+            Dicho todo esto, estos corresponden a los tres argumentos que se le
+            suministran al objeto
+            <classname>Zend_Controller_Router_Route_Interface</classname>.
+            Puede utilizarse una clave opcional 'type' para especificar el
+            tipo de clase de ruta a utilizar en esa ruta en particular;
+            por defecto, usa
+            <classname>Zend_Controller_Router_Route</classname>.
+            En el ejemplo de arriba, la ruta 'news' está definida para usar
             <classname>Zend_Controller_Router_Route_Static</classname>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.controller.router.subclassing">
         <title>Subclassing del Router</title>
 
-        <para>
-            El standard rewrite router debería proporcionarle más funcionalidad 
-            si la necesita; más a menudo, sólo necesitará crear un nuevo 
-            tipo de ruta a fin de ofrecer funcionalidades nuevas o modificadas  
+       <para>
+            El standard rewrite router debería proporcionarle más funcionalidad
+            si la necesita; más a menudo, sólo necesitará crear un nuevo
+            tipo de ruta a fin de ofrecer funcionalidades nuevas o modificadas
             sobre las tutas provistas.
-        </para>
+       </para>
 
-        <para>
-            Dicho esto, en algún momento puede encontrarse a si mismo deseando 
-            usar un paradigma diferente de routing. La intefaz  
-            <classname>Zend_Controller_Router_Interface</classname> proporciona 
-            la información mínima necesaria para crear un router, y consiste en 
+       <para>
+            Dicho esto, en algún momento puede encontrarse a si mismo deseando
+            usar un paradigma diferente de routing. La intefaz
+            <classname>Zend_Controller_Router_Interface</classname> proporciona
+            la información mínima necesaria para crear un router, y consiste en
             un único método.
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 interface Zend_Controller_Router_Interface
@@ -522,15 +522,15 @@ interface Zend_Controller_Router_Interface
 }
 ]]></programlisting>
 
-        <para>
-            El routing sólo ocurre una vez: cuando la petición es recibida por 
-            primera vez en el sistema. El propósito del router es determinar el 
-            controlador, la acción, y los parámetros opcionales sobre la base 
-            del medio ambiente de la solicitud, y luego ajustarlos en la solicitud. 
-            El objeto solicitud se pasa entonces al dispatcher. 
-            Si no es posible trazar una ruta hacia un dispatch token, 
+       <para>
+            El routing sólo ocurre una vez: cuando la petición es recibida por
+            primera vez en el sistema. El propósito del router es determinar el
+            controlador, la acción, y los parámetros opcionales sobre la base
+            del medio ambiente de la solicitud, y luego ajustarlos en la solicitud.
+            El objeto solicitud se pasa entonces al dispatcher.
+            Si no es posible trazar una ruta hacia un dispatch token,
             el router no debe hacer nada con el objeto solicitud.
-        </para>
+       </para>
     </sect2>
 </sect1>
 <!--

+ 29 - 29
documentation/manual/es/module_specs/Zend_Date-Introduction.xml

@@ -5,7 +5,7 @@
 
     <title>Introducción</title>
 
-    <para> El componente <classname>Zend_Date</classname> ofrece una
+   <para>El componente <classname>Zend_Date</classname> ofrece una
             <acronym>API</acronym> detallada pero simple para manipular fechas y
         horas. Sus métodos aceptan una gran variedad de tipos de información,
         incluyendo partes de fecha, en numerosas combinaciones provocando muchas
@@ -14,9 +14,9 @@
         actualizaciones manuales, por favor ver el siguiente link <ulink
             url="http://framework.zend.com/wiki/display/ZFDOCDEV/Home">our
             online manual (sincronizado frecuentemente con Subversion) </ulink>
-        . </para>
+        .</para>
 
-    <para> Aunque la simplicidad sea el objetivo, trabajar con fechas y tiempos
+   <para>Aunque la simplicidad sea el objetivo, trabajar con fechas y tiempos
         localizados mientras se modifican, combinan y comparan partes, provoca
         una complejidad inevitable. Las fechas, así como los tiempos, a menudo
         son escritos de forma diferente en zonas locales distintas. Por ejemplo,
@@ -25,20 +25,20 @@
         relacionada con manejo de localizaciones y normalización, por favor vea
         el manual de <link linkend="zend.locale.date.datesandtimes">
             <classname>Zend_Locale</classname>
-        </link> . </para>
+        </link> .</para>
 
-    <para>
+   <para>
         <classname>Zend_Date</classname> también soporta nombres de meses
         abreviados en varios idiomas. <classname>Zend_Locale</classname>
         facilita la normalización de meses localizados y nombres de días de la
         semana a timestamps, los cuales pueden, a su vez, ser mostrados
-        localizados a otras regiones. </para>
+        localizados a otras regiones.</para>
 
     <sect2 id="zend.date.setdefaulttimezone">
 
         <title>Asigne Siempre una Zona Horaria por Defecto</title>
 
-        <para> Antes de utilizar funciones relacionadas con fechas en
+       <para>Antes de utilizar funciones relacionadas con fechas en
                 <acronym>PHP</acronym> o en el Zend Framework, primero debe
             asegurarse que su aplicación tiene una zona horaria correcta por
             defecto, configurando la variable de entorno TZ, usando el parametro
@@ -62,54 +62,54 @@ date_default_timezone_set('America/Los_Angeles');
 date_default_timezone_set('Europe/Berlin');
 ]]></programlisting>
             </example>
-            
+
             <emphasis>¡Al crear instancias de <classname>Zend_Date</classname>, su zona horaria se
                 convertirá automáticamente en la zona horaria por defecto
                 actual!</emphasis> De esta forma, la configuración de zona
             horaria tendrá en cuenta cualquier cambio de hora de verano
             (Daylight Saving Time, <acronym>DST</acronym>), eliminando la necesidad de
-            especificarlo explícitamente el horario de verano (Daylight Saving Time, <acronym>DST</acronym>). </para>
+            especificarlo explícitamente el horario de verano (Daylight Saving Time, <acronym>DST</acronym>).</para>
 
-        <para> Tenga en cuenta que las zonas horarias <emphasis><acronym>UTC</acronym></emphasis> y
+       <para>Tenga en cuenta que las zonas horarias <emphasis><acronym>UTC</acronym></emphasis> y
             <emphasis><acronym>GMT</acronym></emphasis> no incluyen el cambio de hora de
             verano (Daylight Saving Time, <acronym>DST</acronym>). Esto significa que
             aunque defina a mano que <classname>Zend_Date</classname> deba
             trabajar con <acronym>DST</acronym>, podría ser anulado por las instancias de
             <classname>Zend_Date</classname> que han sido fijadas a <acronym>UTC</acronym> o
-            <acronym>GMT</acronym>. </para>
+            <acronym>GMT</acronym>.</para>
     </sect2>
 
     <sect2 id="zend.date.why">
 
         <title>¿Por Qué Usar Zend_Date?</title>
 
-        <para>
+       <para>
             <classname>Zend_Date</classname> ofrece las siguientes prestaciones,
             las cuales extienden el alcance de las funciones de fecha de
-                <acronym>PHP</acronym>: </para>
+                <acronym>PHP</acronym>:</para>
 
         <itemizedlist mark="opencircle">
             <listitem>
-                <para>
-                    <acronym>API</acronym> sencilla </para>
-                <para>
+               <para>
+                    <acronym>API</acronym> sencilla</para>
+               <para>
                     <classname>Zend_Date</classname> aporta una
                         <acronym>API</acronym> muy sencilla, que combina lo
                     mejor de la funcionalidad fecha/hora de cuatro lenguajes de
                     programación. Es posible, por ejemplo, añadir o comparar dos
-                    horas dentro de una misma columna. </para>
+                    horas dentro de una misma columna.</para>
             </listitem>
             <listitem>
-                <para> Completamente internacionalizado </para>
-                <para> Todos los nombres de meses y días de la semana completos
+               <para>Completamente internacionalizado</para>
+               <para>Todos los nombres de meses y días de la semana completos
                     y abreviados están incluidos para más de 130 idiomas. Los
                     métodos admiten tanto entrada como salida de fechas usando
                     los nombres localizados de meses y días de la semana.
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para> Timestamps ilimitados </para>
-                <para> A pesar de que la documentación de <acronym>PHP</acronym>
+               <para>Timestamps ilimitados</para>
+               <para>A pesar de que la documentación de <acronym>PHP</acronym>
                     5.2 indice: "El intervalo de valores admitidos de timestamps
                     es desde el 13 Dec 1901 20:45:54 <acronym>GMT</acronym> al 19 Ene 2038 03:14:07
                     <acronym>GMT</acronym>," <classname>Zend_Date</classname> admite un rango casi
@@ -127,11 +127,11 @@ date_default_timezone_set('Europe/Berlin');
                     de redondeo de números flotantes pueden introducir errores
                     en los cálculos. Para evitar estos problemas, los
                     componentes ZF I18n usan la extensión BCMath, si está
-                    disponible. </para>
+                    disponible.</para>
             </listitem>
             <listitem>
-                <para> Soporte para especificaciones de fecha <acronym>ISO-8601</acronym> </para>
-                <para> Las especificaciones de fecha <acronym>ISO_8601</acronym> están aceptadas.
+               <para>Soporte para especificaciones de fecha <acronym>ISO-8601</acronym></para>
+               <para>Las especificaciones de fecha <acronym>ISO_8601</acronym> están aceptadas.
                     Incluso las especificaciones de fecha <acronym>ISO_8601</acronym> parcialmente
                     autorizadas serán identificadas. Estos formatos de fecha son
                     particularmente útiles al trabajar con bases de datos. Por
@@ -144,14 +144,14 @@ date_default_timezone_set('Europe/Berlin');
                         >Zend_Date::ISO_8601</link>. Cuando las cadenas de fecha
                     sean del tipo "<command>Y/m/d</command>" o "<command>Y-m-d H:i:s</command>", de acuerdo con los
                     tokens de formato <acronym>PHP</acronym> <methodname>date()</methodname>, use el soporte integrado de
-                    <classname>Zend_Date</classname> para fechas formateadas <acronym>ISO 8601</acronym>. </para>
+                    <classname>Zend_Date</classname> para fechas formateadas <acronym>ISO 8601</acronym>.</para>
             </listitem>
             <listitem>
-                <para> Calcular amanecer y puesta de sol </para>
-                <para> Las horas de amanecer y puesta de sol pueden mostrarse
+               <para>Calcular amanecer y puesta de sol</para>
+               <para>Las horas de amanecer y puesta de sol pueden mostrarse
                     para cualquier lugar y día, para que no pierda ni un segundo
                     de luz diurna para trabajar en su proyecto
-                        <acronym>PHP</acronym> favorito :) </para>
+                        <acronym>PHP</acronym> favorito :)</para>
             </listitem>
         </itemizedlist>
 

File diff suppressed because it is too large
+ 383 - 421
documentation/manual/es/module_specs/Zend_Date-Overview.xml


File diff suppressed because it is too large
+ 168 - 168
documentation/manual/es/module_specs/Zend_Db_Adapter.xml


+ 11 - 11
documentation/manual/es/module_specs/Zend_Db_Profiler-Firebug.xml

@@ -4,41 +4,41 @@
 <sect3 id="zend.db.profiler.profilers.firebug">
     <title>Perfilando con Firebug</title>
 
-    <para>
+   <para>
         <classname>Zend_Db_Profiler_Firebug</classname> envía información de
         perfilado a la <ulink url="http://getfirebug.com/logging.html"
             >Consola</ulink> de <ulink url="http://www.getfirebug.com/"
-            >Firebug</ulink>. </para>
+            >Firebug</ulink>.</para>
 
-    <para> Todos los datos son enviados a través del componente
+   <para>Todos los datos son enviados a través del componente
             <classname>Zend_Wildfire_Channel_HttpHeaders</classname> que usa
         cabeceras <acronym>HTTP</acronym> para asegurar que el contenido de la página no sea
         alterado. Depurar peticiones <acronym>AJAX</acronym> que requieren
         respuestas <acronym>JSON</acronym> y <acronym>XML</acronym> es perfectamente posible con
-        este enfoque. </para>
+        este enfoque.</para>
 
-    <para> Requerimientos: </para>
+   <para>Requerimientos:</para>
 
     <itemizedlist>
         <listitem>
-            <para> Navegador web Firefox idealmente versión 3, pero la versión 2
-                tambien está soportada. </para>
+           <para>Navegador web Firefox idealmente versión 3, pero la versión 2
+                tambien está soportada.</para>
         </listitem>
 
         <listitem>
-            <para> Extensión Firebug para Firefox, la cual puede descargarse
+           <para>Extensión Firebug para Firefox, la cual puede descargarse
                 desde <ulink
                     url="https://addons.mozilla.org/en-US/firefox/addon/1843"
                     >https://addons. mozilla
-                    .org/en-US/firefox/addon/1843</ulink>. </para>
+                    .org/en-US/firefox/addon/1843</ulink>.</para>
         </listitem>
 
         <listitem>
-            <para> Extensión FirePHP para Firefox, la cual puede descargarse
+           <para>Extensión FirePHP para Firefox, la cual puede descargarse
                 desde <ulink
                     url="https://addons.mozilla.org/en-US/firefox/addon/6149"
                     >https://addons.mozilla.org/en-US/firefox/addon/6149</ulink>.
-            </para>
+           </para>
         </listitem>
     </itemizedlist>
 

+ 90 - 90
documentation/manual/es/module_specs/Zend_Db_Profiler.xml

@@ -9,17 +9,17 @@
 
         <title>Introducción</title>
 
-        <para>
+       <para>
             <classname>Zend_Db_Profiler</classname> puede ser habilitado para
             Perfilar las consultas. Los Perfiles incluyen la consulta procesada
             por el adaptador como el tiempo as transcurrido en la ejecución de
             las consultas, permitiendo inspeccionar las consultas realizadas win
             necesidad de agregar información de depuración extra en el código de
             las clases. El uso avanzado también permite que el desarrollador
-            filtre las consultas que desea perfilar. </para>
+            filtre las consultas que desea perfilar.</para>
 
-        <para> Habilite el perfilador pasando una directiva al al constructor
-            del adaptador, o pidiendole al adaptador permitirlo más adelante. </para>
+       <para>Habilite el perfilador pasando una directiva al al constructor
+            del adaptador, o pidiendole al adaptador permitirlo más adelante.</para>
 
         <programlisting language="php"><![CDATA[
 $params = array(
@@ -40,40 +40,40 @@ $db->getProfiler()->setEnabled(false);
 $db->getProfiler()->setEnabled(true);
 ]]></programlisting>
 
-        <para> El valor de la opción '<property>profiler</property>' es
+       <para>El valor de la opción '<property>profiler</property>' es
             flexible. Es interpretada de distintas formas dependiendo del tipo.
             Normalmente, debería usar un valor booleano simple, pero otros tipos
-            le permiten personalizar el comportamiento del perfilador. </para>
+            le permiten personalizar el comportamiento del perfilador.</para>
 
-        <para> Un argumento booleano establece el perfilador como habilitado si
+       <para>Un argumento booleano establece el perfilador como habilitado si
             el valor es <constant>TRUE</constant>, o deshabilitado si es
                 <constant>FALSE</constant>. La clase del perfilador es el la
             clase de perfilador por defecto del adaptador,
-            <classname>Zend_Db_Profiler</classname>. 
-        
-        </para>
-        
+            <classname>Zend_Db_Profiler</classname>.
+
+       </para>
+
            <programlisting language="php"><![CDATA[
 $params['profiler'] = true;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
 ]]></programlisting>
-        
 
-        <para> Una instancia del objeto perfilador hace que el adaptador use ese
+
+       <para>Una instancia del objeto perfilador hace que el adaptador use ese
             objeto. El tipo del objeto debe ser
                 <classname>Zend_Db_Profiler</classname> o una subclase de este.
-            Habilitar el perfilador se hace por separado. 
-        </para>
-            
+            Habilitar el perfilador se hace por separado.
+       </para>
+
             <programlisting language="php"><![CDATA[
 $profiler = MyProject_Db_Profiler();
 $profiler->setEnabled(true);
 $params['profiler'] = $profiler;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
 ]]></programlisting>
-        
 
-        <para> El argumento puede ser un array asociativo conteniendo algunas o
+
+       <para>El argumento puede ser un array asociativo conteniendo algunas o
             todas las claves '<methodname>enabled</methodname>',
             '<property>instance</property>', y
             '<property>class</property>'. Las claves
@@ -85,9 +85,9 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
                 <classname>Zend_Db_Profiler</classname> o una subclase. La clase
             es instanciada sin argumentos de constructor. La opción
             '<property>class</property>' es ignorada cuando la opción
-            '<property>instance</property>' está dada. 
-        </para>
-            
+            '<property>instance</property>' está dada.
+       </para>
+
             <programlisting language="php"><![CDATA[
 $params['profiler'] = array(
     'enabled' => true,
@@ -95,35 +95,35 @@ $params['profiler'] = array(
 );
 $db = Zend_Db::factory('PDO_MYSQL', $params);
 ]]></programlisting>
-        
 
-        <para> Finalmente, el argumento puede ser un objeto de tipo
+
+       <para>Finalmente, el argumento puede ser un objeto de tipo
                 <methodname>Zend_Config</methodname> conteniendo las
             propiedades, que son tratadas como las claves de array descritas
             recién. Por ejemplo, un archivo "<filename>config.ini</filename>" puede contener los
-            siguientes datos: 
-           
-        </para>
-        
+            siguientes datos:
+
+       </para>
+
             <programlisting language="ini"><![CDATA[
 [main]
 db.profiler.class   = "MyProject_Db_Profiler"
 db.profiler.enabled = true
-]]></programlisting> 
-        
-        <para>Esta configuración puede ser aplicada con el siguiente
-            código <acronym>PHP</acronym>: 
-            </para>
+]]></programlisting>
+
+       <para>Esta configuración puede ser aplicada con el siguiente
+            código <acronym>PHP</acronym>:
+           </para>
             <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Ini('config.ini', 'main');
 $params['profiler'] = $config->db->profiler;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
-]]></programlisting> 
-        <para>
+]]></programlisting>
+       <para>
         La propiedad '<methodname>instance</methodname>' debe ser
-            usada como el siguiente ejemplo: 
-            </para>
-            
+            usada como el siguiente ejemplo:
+           </para>
+
             <programlisting language="php"><![CDATA[
 $profiler = new MyProject_Db_Profiler();
 $profiler->setEnabled(true);
@@ -134,7 +134,7 @@ $config = new Zend_Config($configData);
 $params['profiler'] = $config;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
 ]]></programlisting>
-        
+
 
     </sect2>
 
@@ -142,87 +142,87 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
 
         <title>Usando el Perfilador</title>
 
-        <para> En este punto, obtenemos el perfilador usando el método
-                <methodname>getProfiler()</methodname> del adaptador: </para>
+       <para>En este punto, obtenemos el perfilador usando el método
+                <methodname>getProfiler()</methodname> del adaptador:</para>
 
         <programlisting language="php"><![CDATA[
 $profiler = $db->getProfiler();
 ]]></programlisting>
 
-        <para> Este retorna una instancia del objeto
+       <para>Este retorna una instancia del objeto
                 <classname>Zend_Db_Profiler</classname>. Con esta instancia, el
             desarrollador puede examinar las consultar usando una variedad de
-            métodos: </para>
+            métodos:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>getTotalNumQueries()</methodname> retorna el
-                    número total de consultas que han sido perfiladas. </para>
+                    número total de consultas que han sido perfiladas.</para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <methodname>getTotalElapsedSecs()</methodname> retorna el
                     número total de segundos transcurridos en todas las
-                    consultas perfiladas. </para>
+                    consultas perfiladas.</para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <methodname>getQueryProfiles()</methodname> retorna un array
-                    con todos los perfiles de consultas. </para>
+                    con todos los perfiles de consultas.</para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <methodname>getLastQueryProfile()</methodname> retorna el
                     último perfil (más reciente) de consulta, independientemente
                     de si la consulta ha terminado o no (si no lo ha hecho, la
-                    hora de finalización será nula). </para>
+                    hora de finalización será nula).</para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <methodname>clear()</methodname> limpia los perfiles de
-                    consulta de la pila. </para>
+                    consulta de la pila.</para>
             </listitem>
         </itemizedlist>
 
-        <para> El valor de retorno de
+       <para>El valor de retorno de
                 <methodname>getLastQueryProfile()</methodname> y elementos
             individuales de <methodname>getQueryProfiles()</methodname> son
                 <methodname>Zend_Db_Profiler_Query</methodname> objetos, que
             proporcionan la capacidad para inspeccionar cada una de las
-            consultas: </para>
+            consultas:</para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <methodname>getQuery()</methodname> retorna el texto SQL de
                     la consulta. El texto <acronym>SQL</acronym> de una declaración preparada con
                     parámetros es el texto al tiempo en que la consulta fué
                     preparada, por lo que contiene marcadores de posición, no
                     los valores utilizados cuando la declaración se ejecuta.
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <methodname>getQueryParams()</methodname> retorna un array
                     de los valores de los parámetros usados cuando se ejecuta
                     una consulta preparada. Este incluye ambos parámetros y
                     argumentos vinculados al método
                         <methodname>execute()</methodname> de la declaración.
                     Las claves del array son las posiciones (basado en 1) o
-                    indices de parámetros nombrados (string). </para>
+                    indices de parámetros nombrados (string).</para>
             </listitem>
             <listitem>
-                <para>
+               <para>
                     <methodname>getElapsedSecs()</methodname> returna el número
-                    de segundos que tuvo la consulta al correr. </para>
+                    de segundos que tuvo la consulta al correr.</para>
             </listitem>
         </itemizedlist>
 
-        <para> La información que <classname>Zend_Db_Profiler</classname> provee
+       <para>La información que <classname>Zend_Db_Profiler</classname> provee
             es útil para perfilar cuellos de botella en aplicaciones, y para
             depurar consultas que han sido ejecutadas. Por instancia, para ver
-            la consulta exacta que tuvo la última ejecución: </para>
+            la consulta exacta que tuvo la última ejecución:</para>
 
         <programlisting language="php"><![CDATA[
 $query = $profiler->getLastQueryProfile();
@@ -230,10 +230,10 @@ $query = $profiler->getLastQueryProfile();
 echo $query->getQuery();
 ]]></programlisting>
 
-        <para> Tal vez una página se genera lentamente; use el perfilador para
+       <para>Tal vez una página se genera lentamente; use el perfilador para
             determinar primero el número total de segundos de todas las
             consultas, y luego recorrer paso a paso a través de las consultas
-            para encontrar la más lenta: </para>
+            para encontrar la más lenta:</para>
 
         <programlisting language="php"><![CDATA[
 $totalTime    = $profiler->getTotalElapsedSecs();
@@ -263,19 +263,19 @@ echo "Consulta más lenta: \n" . $longestQuery . "\n";
 
         <title>Uso avanzado del Perfilador</title>
 
-        <para> Además de la inspección de consultas, el perfilador también le
+       <para>Además de la inspección de consultas, el perfilador también le
             permite al desarrollador filtrar que consultas serán perfiladas. El
             siguiente método opera en una instancia de
-                <classname>Zend_Db_Profiler</classname>: </para>
+                <classname>Zend_Db_Profiler</classname>:</para>
 
         <sect3 id="zend.db.profiler.advanced.filtertime">
             <title>Filtrar por tiempo transcurrido en consulta</title>
 
-            <para>
+           <para>
                 <methodname>setFilterElapsedSecs()</methodname> le permite al
                 desarrolador establecer un tiempo mínimo antes de que una
                 consulta se perfile. Para remover el filtro, pase un valor <constant>NULL</constant>
-                al método. </para>
+                al método.</para>
 
             <programlisting language="php"><![CDATA[
 // Solo perfilar consultas que tardan más de 5 segundos:
@@ -289,61 +289,61 @@ $profiler->setFilterElapsedSecs(null);
         <sect3 id="zend.db.profiler.advanced.filtertype">
             <title>Filtrar por tipo de consulta</title>
 
-            <para>
+           <para>
                 <methodname>setFilterQueryType()</methodname> le permite al
                 desarrollador establecer que tipo de consulta serán perfiladas;
                 para perfilar multiples tipos, use un "OR" lógico. Los tipos de
                 consulta se definen como las siguientes constantes de
-                    <classname>Zend_Db_Profiler</classname>: </para>
+                    <classname>Zend_Db_Profiler</classname>:</para>
 
             <itemizedlist>
                 <listitem>
-                    <para>
+                   <para>
                         <constant>Zend_Db_Profiler::CONNECT</constant>:
                         operaciones de conexión o selección de base de datos.
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <constant>Zend_Db_Profiler::QUERY</constant>:
                         consultas generales a la base de datos que no calzan con
-                        otros tipos. </para>
+                        otros tipos.</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <constant>Zend_Db_Profiler::INSERT</constant>:
                         cualquier consulta que agrega filas a la base de datos,
-                        generalmente un <acronym>SQL</acronym> INSERT. </para>
+                        generalmente un <acronym>SQL</acronym> INSERT.</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <constant>Zend_Db_Profiler::UPDATE</constant>:
                         cualquier consulta que actualice registros existentes,
-                        usualmente un <acronym>SQL</acronym> UPDATE. </para>
+                        usualmente un <acronym>SQL</acronym> UPDATE.</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <constant>Zend_Db_Profiler::DELETE</constant>:
                         cualquier consulta que elimine datos existentes,
-                        usualmente un <acronym>SQL</acronym> DELETE. </para>
+                        usualmente un <acronym>SQL</acronym> DELETE.</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <constant>Zend_Db_Profiler::SELECT</constant>:
                         cualquier consulta que retorne datos existentes,
-                        usualmente un <acronym>SQL</acronym> SELECT. </para>
+                        usualmente un <acronym>SQL</acronym> SELECT.</para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <constant>Zend_Db_Profiler::TRANSACTION</constant>:
                         cualquier operación transaccional, tal como iniciar una
-                        transacción, confirmar, o revertir. </para>
+                        transacción, confirmar, o revertir.</para>
                 </listitem>
             </itemizedlist>
 
-            <para> Asi como con <methodname>setFilterElapsedSecs()</methodname>,
+           <para>Asi como con <methodname>setFilterElapsedSecs()</methodname>,
                 puedes remover cualquier filtro existente pasando un
-                    <constant>NULL</constant> como único argumento. </para>
+                    <constant>NULL</constant> como único argumento.</para>
 
             <programlisting language="php"><![CDATA[
 // Perfilar solo consultas SELECT
@@ -366,7 +366,7 @@ $profiler->setFilterQueryType(null);
         <sect3 id="zend.db.profiler.advanced.getbytype">
             <title>Obtener perfiles por tipo de consulta</title>
 
-            <para> Usando <methodname>setFilterQueryType()</methodname> puedes
+           <para>Usando <methodname>setFilterQueryType()</methodname> puedes
                 reducir los perfiles generados. Sin embargo, a veces puede ser
                 más útil mantener todos los perfiles, pero ver sólo los que
                 necesita en un determinado momento. Otra característica de
@@ -374,7 +374,7 @@ $profiler->setFilterQueryType(null);
                 este filtrado al-vuelo, pasando un tipo de consulta(o una
                 combinación lógica de tipos de consulta) en el primer; vea <xref
                     linkend="zend.db.profiler.advanced.filtertype"/> para una
-                lista las constantes de tipo de consulta. </para>
+                lista las constantes de tipo de consulta.</para>
 
             <programlisting language="php"><![CDATA[
 // Obtiene solo perfiles de consultas SELECT
@@ -396,10 +396,10 @@ $profiles = $profiler->getQueryProfiles(Zend_Db_Profiler::DELETE);
     <sect2 id="zend.db.profiler.profilers">
         <title>Perfiladores Especializados</title>
 
-        <para> Un Perfilador Especializado es un objeto que hereda de
+       <para>Un Perfilador Especializado es un objeto que hereda de
                 <classname>Zend_Db_Profiler</classname>. Los Perfiladores
             Especializados tratan la información de perfilado de maneras más
-            especificas. </para>
+            especificas.</para>
 
         <xi:include href="Zend_Db_Profiler-Firebug.xml"/>
 

File diff suppressed because it is too large
+ 176 - 176
documentation/manual/es/module_specs/Zend_Db_Select.xml


+ 58 - 58
documentation/manual/es/module_specs/Zend_Db_Statement.xml

@@ -5,25 +5,25 @@
 
     <title>Zend_Db_Statement</title>
 
-    <para>
+   <para>
         Además de algunos métodos convenientes tales como
         <methodname>fetchAll()</methodname> e <methodname>insert()</methodname> documentados en
         <xref linkend="zend.db.adapter" />, puede usarse un objeto de declaración
         para obtener más opciones al ejecutar consultas y devolver conjuntos de
         resultados. Esta sección describe cómo obtener una instancia de un
         objeto de declaración y cómo usar sus métodos.
-    </para>
+   </para>
 
-    <para>
+   <para>
         <classname>Zend_Db_Statement</classname> está basado en el objeto PDOStatement en la extensión
         <ulink url="http://www.php.net/pdo">PHP Data Objects</ulink>.
-    </para>
+   </para>
 
     <sect2 id="zend.db.statement.creating">
 
         <title>Creando una Declaración</title>
 
-        <para>
+       <para>
             Típicamente, un objeto de declaración statement es devuelto por el
             método <methodname>query()</methodname> de la clase de Adaptador de la base de
             datos.
@@ -31,7 +31,7 @@
             El primer parámetro es un string conteniendo la declaración <acronym>SQL</acronym>.
             El segundo parámetro (opcional) es un array de valores para
             vincular posiciones de parámetros en el string <acronym>SQL</acronym>.
-        </para>
+       </para>
 
         <example id="zend.db.statement.creating.example1">
             <title>Crear un objeto de declaración SQL con query()</title>
@@ -43,23 +43,23 @@ $stmt = $db->query(
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             El objeto de declaración corresponde a una declaración <acronym>SQL</acronym> que ha
             sido preparada y ejecutada una vez con valores vinculados
             especificados.
             Si la declaración fue una consulta SELECT u otro tipo de declaración
             que devuelve un conjunto de resultados, ahora estará lista para
             extraer resultados.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Puede crear una declaración con su constructor, pero éste es un
             uso menos típico. No hay un método factory para crear el objeto,
             así que es necesario cargar una clase de declaración específica y llamar a su constructor.
             Pase el objeto Adaptador como el primer parámetro, y un string
             conteniendo la declaración <acronym>SQL</acronym> como el segundo parámetro.
             La declaración es preparada pero no ejecutada.
-        </para>
+       </para>
 
         <example id="zend.db.statement.creating.example2">
             <title>Usando un constructor de declaración SQL</title>
@@ -76,19 +76,19 @@ $stmt = new Zend_Db_Statement_Mysqli($db, $sql);
 
         <title>Ejecutando la declaración</title>
 
-        <para>
+       <para>
             Necesita ejecutar un objeto de declaración si lo crea con el
             constructor, o si desea ejecutar la misma declaración varias veces.
             Use el método <methodname>execute()</methodname> del mismo objeto de
             declaración. El único parámetro es un array de valores a vincular a
             posiciones de parámetros en la declaración.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Si usa <emphasis>parámetros posicionales</emphasis>, o los que
             están marcados por un signo de interrogación (<emphasis>?</emphasis>), pase
             los valores de vinculación en un array plano.
-        </para>
+       </para>
 
         <example id="zend.db.statement.executing.example1">
             <title>Ejecutar una declaración con parámetros posicionales</title>
@@ -101,13 +101,13 @@ $stmt->execute(array('goofy', 'FIXED'));
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             Si usa <emphasis>parámetros nombrados</emphasis>, o los que son
             indicados por un string identificador precedido por un caracter de
             dos puntos (<emphasis>:</emphasis>), pase el valor en un array asociativo.
             Las claves de este array deben coincidir con el nombre de los
             parámetros.
-        </para>
+       </para>
 
         <example id="zend.db.statement.executing.example2">
             <title>Ejecutando una declaración con parámetros nombrados</title>
@@ -121,12 +121,12 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             Las declaraciones <acronym>PDO</acronym> soportan tanto parámetros posicionales como
             parámetros nombrados, pero no ambos tipos en la misma declaración
             <acronym>SQL</acronym>. Algunas clases <classname>Zend_Db_Statement</classname> para extensiones no-PDO
             soportan solo un tipo de parámetro o el otro.
-        </para>
+       </para>
 
     </sect2>
 
@@ -134,7 +134,7 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
 
         <title>Extrayendo Resultados de una declaración <methodname>SELECT</methodname></title>
 
-        <para>
+       <para>
             Puede llamar a métodos del objeto de declaración para obtener filas
             desde declaraciones <acronym>SQL</acronym> que producen conjuntos de resultados.
 
@@ -146,41 +146,41 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
             Puede ejecutar las últimas declaraciones de <acronym>SQL</acronym> usando
             <classname>Zend_Db_Statement</classname>, pero no puede llamar a los métodos que extraen
             filas de resultados desde éste.
-        </para>
+       </para>
 
         <sect3 id="zend.db.statement.fetching.fetch">
 
             <title>Extrayendo una Fila Simple desde un Conjunto de Resultados</title>
 
-            <para>
+           <para>
                 Para extraer una fila desde el conjunto de resultados,
                 use el método <methodname>fetch()</methodname> del objeto de declaración.
                 Los tres parámetros de este método son opcionales:
-            </para>
+           </para>
 
             <itemizedlist>
                 <listitem>
-                    <para>
+                   <para>
                         <emphasis>Estilo de Extracción</emphasis>
                         es el primer parámetro. Éste controla la estructura
                         en la que será devuelta la fila.
                         Vea <xref linkend="zend.db.adapter.select.fetch-mode" />
                         para la descripción de un valor válido los
                         correspondientes formatos de datos.
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <emphasis>Orientación del Cursor</emphasis>
                         es el segundo parámetro. Por omisión es
                         Zend_Db::FETCH_ORI_NEXT, lo cual simplemente significa
                         que cada llamada a <methodname>fetch()</methodname> devuelve la
                         siguiente fila del resultado, en el orden devuelto por
                         el  <acronym>RDBMS</acronym>.
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
-                    <para>
+                   <para>
                         <emphasis>Compensación</emphasis> es el
                         tercer parámetro.
                         Si la orientación del cursor es Zend_Db::FETCH_ORI_ABS,
@@ -189,14 +189,14 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
                         Si la orientación del cursor es Zend_Db::FETCH_ORI_REL,
                         entonces el offset es relativo a la posición del
                         cursor antes de que <methodname>fetch()</methodname> fuera llamado.
-                    </para>
+                   </para>
                 </listitem>
             </itemizedlist>
 
-            <para>
+           <para>
                 <methodname>fetch()</methodname> devuelve <constant>FALSE</constant> si todas las filas
                 del conjunto de resultados han sido extraídas.
-            </para>
+           </para>
 
             <example id="zend.db.statement.fetching.fetch.example">
                 <title>Usando fetch() en un bucle</title>
@@ -209,9 +209,9 @@ while ($row = $stmt->fetch()) {
 ]]></programlisting>
             </example>
 
-            <para>
+           <para>
                 Vea también <ulink url="http://www.php.net/PDOStatement-fetch">PDOStatement::fetch()</ulink>.
-            </para>
+           </para>
 
         </sect3>
 
@@ -219,7 +219,7 @@ while ($row = $stmt->fetch()) {
 
             <title>Extrayendo un Conjunto de Resultados completo</title>
 
-            <para>
+           <para>
                 Para extraer todas las filas de un resultado en un solo paso,
                 use el método <methodname>fetchAll()</methodname>. Esto es equivalente a
                 llamar al método <methodname>fetch()</methodname> en un bucle devolviendo
@@ -228,7 +228,7 @@ while ($row = $stmt->fetch()) {
                 descrito anteriormente, y el segundo indica el número de la
                 columa que devolver, cuando el estilo de extracción es
                 Zend_Db::FETCH_COLUMN.
-            </para>
+           </para>
 
             <example id="zend.db.statement.fetching.fetchall.example">
                 <title>Usando fetchAll()</title>
@@ -241,9 +241,9 @@ echo $rows[0]['bug_description'];
 ]]></programlisting>
             </example>
 
-            <para>
+           <para>
                 Vea también <ulink url="http://www.php.net/PDOStatement-fetchAll">PDOStatement::fetchAll()</ulink>.
-            </para>
+           </para>
 
         </sect3>
 
@@ -251,7 +251,7 @@ echo $rows[0]['bug_description'];
 
             <title>Cambiando el Modo de extracción</title>
 
-            <para>
+           <para>
                 Por defecto, el objeto de declaración devuelve filas de un
                 conjunto de resultados como array asociativo, mapeando los
                 nombres de columnas a los valores de la columna.
@@ -267,7 +267,7 @@ echo $rows[0]['bug_description'];
                 Llamadas subsiguientes a los métodos de la declaración
                 <methodname>fetch()</methodname> o <methodname>fetchAll()</methodname> usan el modo de
                 extracción especificado.
-            </para>
+           </para>
 
             <example id="zend.db.statement.fetching.fetch-mode.example">
                 <title>Configurando un modo de extracción</title>
@@ -282,9 +282,9 @@ echo $rows[0][0];
 ]]></programlisting>
             </example>
 
-            <para>
+           <para>
                 Vea también <ulink url="http://www.php.net/PDOStatement-setFetchMode">PDOStatement::setFetchMode()</ulink>.
-            </para>
+           </para>
 
         </sect3>
 
@@ -292,16 +292,16 @@ echo $rows[0][0];
 
             <title>Extrayendo una Única Columna desde un Conjunto de Resultados</title>
 
-            <para>
+           <para>
                 Para devolver una única columna de la siguiente fila del
                 conjunto de resultados, use <methodname>fetchColumn()</methodname>. El
                 parámetro opcional es el índice de la columna (integer), y por
                 defecto es 0. Este método devuelve un valor escalar, o
                 <constant>FALSE</constant> si todas las filas del conjunto de resultados
                 han sido extraídas.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Note que este método opera diferente que el método
                 <methodname>fetchCol()</methodname> de la clase Adaptadora.
                 El método <methodname>fetchColumn()</methodname> de una declaración devuelve
@@ -309,7 +309,7 @@ echo $rows[0][0];
                 El método <methodname>fetchCol()</methodname> de un adaptador devuelve un
                 array de valores, tomados desde la primera columa de todas las
                 del conjunto de resultados.
-            </para>
+           </para>
 
             <example id="zend.db.statement.fetching.fetchcolumn.example">
                 <title>Usando fetchColumn()</title>
@@ -320,9 +320,9 @@ $bug_status = $stmt->fetchColumn(2);
 ]]></programlisting>
             </example>
 
-            <para>
+           <para>
                 Vea también <ulink url="http://www.php.net/PDOStatement-fetchColumn">PDOStatement::fetchColumn()</ulink>.
-            </para>
+           </para>
 
         </sect3>
 
@@ -330,7 +330,7 @@ $bug_status = $stmt->fetchColumn(2);
 
             <title>Extrayendo una Fila como un Objeto</title>
 
-            <para>
+           <para>
                 Para extraer una fila desde un conjunto de resultados
                 estructurado como un Objeto, use el método
                 <methodname>fetchObject()</methodname>.  Este método tiene 2 parámetros
@@ -338,7 +338,7 @@ $bug_status = $stmt->fetchColumn(2);
                 la clase del objeto que devolver; por defecto será 'stdClass'. El segundo
                 parámetro es un array de valores que será pasado al
                 constructor de la clase.
-            </para>
+           </para>
 
             <example id="zend.db.statement.fetching.fetchobject.example">
                 <title>Usando fetchObject()</title>
@@ -351,9 +351,9 @@ echo $obj->bug_description;
 ]]></programlisting>
             </example>
 
-            <para>
+           <para>
                 Vea también <ulink url="http://www.php.net/PDOStatement-fetchObject">PDOStatement::fetchObject()</ulink>.
-            </para>
+           </para>
 
         </sect3>
 
@@ -366,8 +366,8 @@ echo $obj->bug_description;
 
         <title>Binding PHP Variables to Parameters</title>
 
-        <para>
-        </para>
+       <para>
+       </para>
 
         <example id="zend.db.statement.binding-param.example">
             <title>Binding parameters from PHP variables</title>
@@ -376,9 +376,9 @@ echo $obj->bug_description;
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             See also <ulink url="http://www.php.net/PDOStatement-bindParam">PDOStatement::bindParam()</ulink>.
-        </para>
+       </para>
 
     </sect2>
     -->
@@ -389,8 +389,8 @@ echo $obj->bug_description;
 
         <title>Binding PHP Variables to Query Results</title>
 
-        <para>
-        </para>
+       <para>
+       </para>
 
         <example id="zend.db.statement.binding-column.example">
             <title>Binding results to PHP variables</title>
@@ -399,9 +399,9 @@ echo $obj->bug_description;
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             See also <ulink url="http://www.php.net/PDOStatement-bindColumn">PDOStatement::bindColumn()</ulink>.
-        </para>
+       </para>
 
     </sect2>
     -->

+ 170 - 170
documentation/manual/es/module_specs/Zend_Db_Table-Relationships.xml

@@ -9,16 +9,16 @@
 
         <title>Introduction</title>
 
-        <para>
+       <para>
             Tables have relationships to each other in a relational database. An entity in one
             table can be linked to one or more entities in another table by using referential
             integrity constraints defined in the database schema.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The <classname>Zend_Db_Table_Row</classname> class has methods for querying related rows
             in other tables.
-        </para>
+       </para>
 
     </sect2>
 
@@ -26,17 +26,17 @@
 
         <title>Defining Relationships</title>
 
-        <para>
+       <para>
             Define classes for each of your tables, extending the abstract class
             <classname>Zend_Db_Table_Abstract</classname>, as described in
             <xref linkend="zend.db.table.defining" />. Also
             see <xref linkend="zend.db.adapter.example-database" /> for a description of the
             example database for which the following example code is designed.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Below are the <acronym>PHP</acronym> class definitions for these tables:
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 class Accounts extends Zend_Db_Table_Abstract
@@ -96,112 +96,112 @@ class BugsProducts extends Zend_Db_Table_Abstract
 }
 ]]></programlisting>
 
-        <para>
+       <para>
             If you use <classname>Zend_Db_Table</classname> to emulate cascading UPDATE and DELETE
             operations, declare the <varname>$_dependentTables</varname> array in the class for the
             parent table. List the class name for each dependent table. Use the class name, not the
             physical name of the <acronym>SQL</acronym> table.
-        </para>
+       </para>
 
         <note>
 
-            <para>
+           <para>
                 Skip declaration of <varname>$_dependentTables</varname> if you use referential
                 integrity constraints in the <acronym>RDBMS</acronym> server to implement cascading
                 operations. See <xref linkend="zend.db.table.relationships.cascading" /> for more
                 information.
-            </para>
+           </para>
 
         </note>
 
-        <para>
+       <para>
             Declare the <varname>$_referenceMap</varname> array in the class for each dependent
             table. This is an associative array of reference "rules". A reference rule identifies
             which table is the parent table in the relationship, and also lists which columns in the
             dependent table reference which columns in the parent table.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The rule key is a string used as an index to the <varname>$_referenceMap</varname>
             array. This rule key is used to identify each reference relationship. Choose a
             descriptive name for this rule key. It's best to use a string that can be part of a
             <acronym>PHP</acronym> method name, as you will see later.
-        </para>
+       </para>
 
-        <para>
+       <para>
             In the example <acronym>PHP</acronym> code above, the rule keys in the Bugs table class
             are: <code>'Reporter'</code>, <code>'Engineer'</code>, <code>'Verifier'</code>, and
             <code>'Product'</code>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The value of each rule entry in the <varname>$_referenceMap</varname> array is also an
             associative array. The elements of this rule entry are described below:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <emphasis>columns</emphasis> => A string or an array of strings
                     naming the foreign key column name(s) in the dependent table.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     It's common for this to be a single column, but some tables have multi-column
                     keys.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>refTableClass</emphasis> => The class name of the parent table. Use
                     the class name, not the physical name of the <acronym>SQL</acronym> table.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     It's common for a dependent table to have only one reference to its parent
                     table, but some tables have multiple references to the same parent table. In
                     the example database, there is one reference from the <code>bugs</code> table
                     to the <code>products</code> table, but three references from the
                     <code>bugs</code> table to the <code>accounts</code> table. Put each reference
                     in a separate entry in the <varname>$_referenceMap</varname> array.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>refColumns</emphasis> => A string or an array of
                     strings naming the primary key column name(s) in the parent table.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     It's common for this to be a single column, but some tables have multi-column
                     keys. If the reference uses a multi-column key, the order of columns in the
                     <code>'columns'</code> entry must match the order of columns in the
                     <code>'refColumns'</code> entry.
-                </para>
+               </para>
 
-                <para>
+               <para>
                     It is optional to specify this element. If you don't specify the
                     <code>refColumns</code>, the column(s) reported as the primary key columns of
                     the parent table are used by default.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>onDelete</emphasis> => The rule for an action to
                     execute if a row is deleted in the parent table. See
                     <xref linkend="zend.db.table.relationships.cascading" /> for more information.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <emphasis>onUpdate</emphasis> => The rule for an action to
                     execute if values in primary key columns are updated in the parent table. See
                     <xref linkend="zend.db.table.relationships.cascading" /> for more information.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
@@ -211,35 +211,35 @@ class BugsProducts extends Zend_Db_Table_Abstract
 
         <title>Fetching a Dependent Rowset</title>
 
-        <para>
+       <para>
             If you have a Row object as the result of a query on a parent table, you can fetch rows
             from dependent tables that reference the current row. Use the method:
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 $row->findDependentRowset($table, [$rule]);
 ]]></programlisting>
 
-        <para>
+       <para>
             This method returns a <classname>Zend_Db_Table_Rowset_Abstract</classname> object,
             containing a set of rows from the dependent table <varname>$table</varname> that refer
             to the row identified by the <varname>$row</varname> object.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The first argument <varname>$table</varname> can be a string that specifies the
             dependent table by its class name. You can also specify the dependent table by using an
             object of that table class.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.fetching.dependent.example">
 
             <title>Fetching a Dependent Rowset</title>
 
-            <para>
+           <para>
                 This example shows getting a Row object from the table <code>Accounts</code>, and
                 finding the <code>Bugs</code> reported by that account.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $accountsTable = new Accounts();
@@ -251,29 +251,29 @@ $bugsReportedByUser = $user1234->findDependentRowset('Bugs');
 
         </example>
 
-        <para>
+       <para>
             The second argument <varname>$rule</varname> is optional. It is a string that names the
             rule key in the <varname>$_referenceMap</varname> array of the dependent table class. If
             you don't specify a rule, the first rule in the array that references the parent table
             is used. If you need to use a rule other than the first, you need to specify the key.
-        </para>
+       </para>
 
-        <para>
+       <para>
             In the example code above, the rule key is not specified, so the rule used by default
             is the first one that matches the parent table. This is the rule
             <code>'Reporter'</code>.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.fetching.dependent.example-by">
 
             <title>Fetching a Dependent Rowset By a Specific Rule</title>
 
-            <para>
+           <para>
                 This example shows getting a Row object from the table <code>Accounts</code>, and
                 finding the <code>Bugs</code> assigned to be fixed by the user of that account. The
                 rule key string that corresponds to this reference relationship in this example is
                 <code>'Engineer'</code>.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $accountsTable = new Accounts();
@@ -285,22 +285,22 @@ $bugsAssignedToUser = $user1234->findDependentRowset('Bugs', 'Engineer');
 
         </example>
 
-        <para>
+       <para>
             You can also add criteria, ordering and limits to your relationships using the parent
             row's select object.
-        </para>
+       </para>
 
-        <para>
+       <para>
 
             <example id="zend.db.table.relationships.fetching.dependent.example-by-select">
 
                 <title>Fetching a Dependent Rowset using a Zend_Db_Table_Select</title>
 
-                <para>
+               <para>
                     This example shows getting a Row object from the table <code>Accounts</code>,
                     and finding the <code>Bugs</code> assigned to be fixed by the user of that
                     account, limited only to 3 rows and ordered by name.
-                </para>
+               </para>
 
                 <programlisting language="php"><![CDATA[
 $accountsTable = new Accounts();
@@ -321,37 +321,37 @@ $bugsAssignedToUser = $user1234->findDependentRowset('Bugs',
             method: <methodname>findDependentRowset('&lt;TableClass&gt;',
                 '&lt;Rule&gt;')</methodname> if you invoke a method on the Row object matching
             either of the following patterns:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <code>$row->find&lt;TableClass&gt;()</code>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <code>$row->find&lt;TableClass&gt;By&lt;Rule&gt;()</code>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para>
+       <para>
             In the patterns above, <code>&lt;TableClass&gt;</code> and <code>&lt;Rule&gt;</code> are
             strings that correspond to the class name of the dependent table, and the dependent
             table's rule key that references the parent table.
-        </para>
+       </para>
 
         <note>
 
-            <para>
+           <para>
                 Some application frameworks, such as Ruby on Rails, use a mechanism called
                 "inflection" to allow the spelling of identifiers to change depending on usage. For
                 simplicity, <classname>Zend_Db_Table_Row</classname> does not provide any inflection
                 mechanism. The table identity and the rule key named in the method call must match
                 the spelling of the class and rule key exactly.
-            </para>
+           </para>
 
         </note>
 
@@ -359,11 +359,11 @@ $bugsAssignedToUser = $user1234->findDependentRowset('Bugs',
 
             <title>Fetching Dependent Rowsets using the Magic Method</title>
 
-            <para>
+           <para>
                 This example shows finding dependent Rowsets equivalent to those in the previous
                 examples. In this case, the application uses the magic method invocation instead of
                 specifying the table and rule as strings.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $accountsTable = new Accounts();
@@ -385,35 +385,35 @@ $bugsAssignedTo = $user1234->findBugsByEngineer();
 
         <title>Fetching a Parent Row</title>
 
-        <para>
+       <para>
             If you have a Row object as the result of a query on a dependent table, you can fetch
             the row in the parent to which the dependent row refers. Use the method:
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 $row->findParentRow($table, [$rule]);
 ]]></programlisting>
 
-        <para>
+       <para>
             There always should be exactly one row in the parent table referenced by a dependent
             row, therefore this method returns a Row object, not a Rowset object.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The first argument <varname>$table</varname> can be a string that specifies the parent
             table by its class name. You can also specify the parent table by using an object of
             that table class.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.fetching.parent.example">
 
             <title>Fetching the Parent Row</title>
 
-            <para>
+           <para>
                 This example shows getting a Row object from the table <code>Bugs</code> (for
                 example one of those bugs with status 'NEW'), and finding the row in the
                 <code>Accounts</code> table for the user who reported the bug.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $bugsTable = new Bugs();
@@ -425,28 +425,28 @@ $reporter = $bug1->findParentRow('Accounts');
 
         </example>
 
-        <para>
+       <para>
             The second argument <varname>$rule</varname> is optional. It is a string that names the
             rule key in the <varname>$_referenceMap</varname> array of the dependent table class. If
             you don't specify a rule, the first rule in the array that references the parent table
             is used. If you need to use a rule other than the first, you need to specify the key.
-        </para>
+       </para>
 
-        <para>
+       <para>
             In the example above, the rule key is not specified, so the rule used by default is the
             first one that matches the parent table. This is the rule <code>'Reporter'</code>.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.fetching.parent.example-by">
 
             <title>Fetching a Parent Row By a Specific Rule</title>
 
-            <para>
+           <para>
                 This example shows getting a Row object from the table <code>Bugs</code>, and
                 finding the account for the engineer assigned to fix that bug. The rule key string
                 that corresponds to this reference relationship in this example is
                 <code>'Engineer'</code>.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $bugsTable = new Bugs();
@@ -458,40 +458,40 @@ $engineer = $bug1->findParentRow('Accounts', 'Engineer');
 
         </example>
 
-        <para>
+       <para>
             Alternatively, you can query rows from a parent table using a "magic method".
             <classname>Zend_Db_Table_Row_Abstract</classname> invokes the method:
             <methodname>findParentRow('&lt;TableClass&gt;', '&lt;Rule&gt;')</methodname> if you
             invoke a method on the Row object matching either of the following patterns:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <code>$row->findParent&lt;TableClass&gt;([Zend_Db_Table_Select $select])</code>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <code>$row->findParent&lt;TableClass&gt;By&lt;Rule&gt;([Zend_Db_Table_Select
                     $select])</code>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para>
+       <para>
             In the patterns above, <code>&lt;TableClass&gt;</code> and <code>&lt;Rule&gt;</code>
             are strings that correspond to the class name of the parent table, and the dependent
             table's rule key that references the parent table.
-        </para>
+       </para>
 
         <note>
 
-            <para>
+           <para>
                 The table identity and the rule key named in the method call must match the
                 spelling of the class and rule key exactly.
-            </para>
+           </para>
 
         </note>
 
@@ -499,11 +499,11 @@ $engineer = $bug1->findParentRow('Accounts', 'Engineer');
 
             <title>Fetching the Parent Row using the Magic Method</title>
 
-            <para>
+           <para>
                 This example shows finding parent Rows equivalent to those in the previous
                 examples. In this case, the application uses the magic method invocation instead of
                 specifying the table and rule as strings.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $bugsTable = new Bugs();
@@ -525,12 +525,12 @@ $engineer = $bug1->findParentAccountsByEngineer();
 
         <title>Fetching a Rowset via a Many-to-many Relationship</title>
 
-        <para>
+       <para>
             If you have a Row object as the result of a query on one table in a many-to-many
             relationship (for purposes of the example, call this the "origin" table), you can
             fetch corresponding rows in the other table (call this the "destination" table) via an
             intersection table. Use the method:
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 $row->findManyToManyRowset($table,
@@ -542,35 +542,35 @@ $row->findManyToManyRowset($table,
                            ]);
 ]]></programlisting>
 
-        <para>
+       <para>
             This method returns a <classname>Zend_Db_Table_Rowset_Abstract</classname> containing
             rows from the table <varname>$table</varname>, satisfying the many-to-many relationship.
             The current Row object <varname>$row</varname> from the origin table is used to find
             rows in the intersection table, and that is joined to the destination table.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The first argument <varname>$table</varname> can be a string that specifies the
             destination table in the many-to-many relationship by its class name. You can also
             specify the destination table by using an object of that table class.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The second argument <varname>$intersectionTable</varname> can be a string that specifies
             the intersection table between the two tables in the many-to-many relationship by
             its class name. You can also specify the intersection table by using an object of that
             table class.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.fetching.many-to-many.example">
 
             <title>Fetching a Rowset with the Many-to-many Method</title>
 
-            <para>
+           <para>
                 This example shows getting a Row object from the origin table
                 <code>Bugs</code>, and finding rows from the destination table
                 <code>Products</code>, representing products related to that bug.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $bugsTable = new Bugs();
@@ -583,46 +583,46 @@ $productsRowset = $bug1234->findManyToManyRowset('Products',
 
         </example>
 
-        <para>
+       <para>
             The third and fourth arguments <varname>$rule1</varname> and <varname>$rule2</varname>
             are optional. These are strings that name the rule keys in the
             <varname>$_referenceMap</varname> array of the intersection table.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The <varname>$rule1</varname> key names the rule for the relationship from the
             intersection table to the origin table. In this example, this is the relationship from
             <code>BugsProducts</code> to <code>Bugs</code>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             The <varname>$rule2</varname> key names the rule for the relationship from the
             intersection table to the destination table. In this example, this is the relationship
             from <code>Bugs</code> to <code>Products</code>.
-        </para>
+       </para>
 
-        <para>
+       <para>
             Similarly to the methods for finding parent and dependent rows, if you don't specify a
             rule, the method uses the first rule in the <varname>$_referenceMap</varname> array that
             matches the tables in the relationship. If you need to use a rule other than the first,
             you need to specify the key.
-        </para>
+       </para>
 
-        <para>
+       <para>
             In the example code above, the rule key is not specified, so the rules used by default
             are the first ones that match. In this case, <varname>$rule1</varname> is
             <code>'Reporter'</code> and <varname>$rule2</varname> is <code>'Product'</code>.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.fetching.many-to-many.example-by">
 
             <title>Fetching a Rowset with the Many-to-many Method By a Specific Rule</title>
 
-            <para>
+           <para>
                 This example shows geting a Row object from the origin table
                 <code>Bugs</code>, and finding rows from the destination table
                 <code>Products</code>, representing products related to that bug.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $bugsTable = new Bugs();
@@ -636,52 +636,52 @@ $productsRowset = $bug1234->findManyToManyRowset('Products',
 
         </example>
 
-        <para>
+       <para>
             Alternatively, you can query rows from the destination table in a many-to-many
             relationship using a "magic method." <classname>Zend_Db_Table_Row_Abstract</classname>
             invokes the method: <code>findManyToManyRowset('&lt;TableClass&gt;',
             '&lt;IntersectionTableClass&gt;', '&lt;Rule1&gt;', '&lt;Rule2&gt;')</code> if you invoke
             a method matching any of the following patterns:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem>
-                <para>
+               <para>
                     <code>$row->find&lt;TableClass&gt;Via&lt;IntersectionTableClass&gt;
                     ([Zend_Db_Table_Select $select])</code>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <code>$row->find&lt;TableClass&gt;Via&lt;IntersectionTableClass&gt;By&lt;Rule1&gt;
                         ([Zend_Db_Table_Select $select])</code>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para>
+               <para>
                     <code>$row->find&lt;TableClass&gt;Via&lt;IntersectionTableClass&gt;By&lt;Rule1&gt;And&lt;Rule2&gt;
                         ([Zend_Db_Table_Select $select])</code>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para>
+       <para>
             In the patterns above, <code>&lt;TableClass&gt;</code> and
             <code>&lt;IntersectionTableClass&gt;</code> are strings that correspond to the class
             names of the destination table and the intersection table, respectively.
             <code>&lt;Rule1&gt;</code> and <code>&lt;Rule2&gt;</code> are strings that correspond
             to the rule keys in the intersection table that reference the origin table and the
             destination table, respectively.
-        </para>
+       </para>
 
         <note>
 
-            <para>
+           <para>
                 The table identities and the rule keys named in the method call must match the
                 spelling of the class and rule key exactly.
-            </para>
+           </para>
 
         </note>
 
@@ -689,10 +689,10 @@ $productsRowset = $bug1234->findManyToManyRowset('Products',
 
             <title>Fetching Rowsets using the Magic Many-to-many Method</title>
 
-            <para>
+           <para>
                 This example shows finding rows in the destination table of a many-to-many
                 relationship representing products related to a given bug.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $bugsTable = new Bugs();
@@ -718,48 +718,48 @@ $products = $bug1234->findProductsViaBugsProductsByBug();
 
             <title>Declare DRI in the database:</title>
 
-            <para>
+           <para>
                 Declaring cascading operations in <classname>Zend_Db_Table</classname> is intended
                 <emphasis>only</emphasis> for <acronym>RDBMS</acronym> brands that do not support
                 declarative referential integrity (DRI).
-            </para>
+           </para>
 
-            <para>
+           <para>
                 For example, if you use MySQL's MyISAM storage engine, or SQLite, these solutions
                 do not support DRI. You may find it helpful to declare the cascading operations
                 with <classname>Zend_Db_Table</classname>.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 If your <acronym>RDBMS</acronym> implements DRI and the <code>ON DELETE</code> and
                 <code>ON UPDATE</code> clauses, you should declare these clauses in your database
                 schema, instead of using the cascading feature in
                 <classname>Zend_Db_Table</classname>. Declaring cascading DRI rules in the
                 <acronym>RDBMS</acronym> is better for database performance, consistency, and
                 integrity.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Most importantly, do not declare cascading operations both in the
                 <acronym>RDBMS</acronym> and in your <classname>Zend_Db_Table</classname> class.
-            </para>
+           </para>
 
         </note>
 
-        <para>
+       <para>
             You can declare cascading operations to execute against a dependent table when you
             apply an <constant>UPDATE</constant> or a <constant>DELETE</constant> to a row in a
             parent table.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.cascading.example-delete">
 
             <title>Example of a Cascading Delete</title>
 
-            <para>
+           <para>
                 This example shows deleting a row in the <code>Products</code> table, which is
                 configured to automatically delete dependent rows in the <code>Bugs</code> table.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 $productsTable = new Products();
@@ -773,46 +773,46 @@ $product1234->delete();
 
         </example>
 
-        <para>
+       <para>
             Similarly, if you use <constant>UPDATE</constant> to change the value of a primary key
             in a parent table, you may want the value in foreign keys of dependent tables to be
             updated automatically to match the new value, so that such references are kept up to
             date.
-        </para>
+       </para>
 
-        <para>
+       <para>
             It's usually not necessary to update the value of a primary key that was generated by a
             sequence or other mechanism. But if you use a <emphasis>natural key</emphasis> that may
             change value occasionally, it is more likely that you need to apply cascading updates
             to dependent tables.
-        </para>
+       </para>
 
-        <para>
+       <para>
             To declare a cascading relationship in the <classname>Zend_Db_Table</classname>, edit
             the rules in the <varname>$_referenceMap</varname>. Set the associative array keys
             <code>'onDelete'</code> and <code>'onUpdate'</code> to the string 'cascade' (or the
             constant <constant>self::CASCADE</constant>). Before a row is deleted from the parent
             table, or its primary key values updated, any rows in the dependent table that refer to
             the parent's row are deleted or updated first.
-        </para>
+       </para>
 
         <example id="zend.db.table.relationships.cascading.example-declaration">
 
             <title>Example Declaration of Cascading Operations</title>
 
-            <para>
+           <para>
                 In the example below, rows in the <code>Bugs</code> table are automatically deleted
                 if the row in the <code>Products</code> table to which they refer is deleted. The
                 <code>'onDelete'</code> element of the reference map entry is set to
                 <constant>self::CASCADE</constant>.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 No cascading update is done in the example below if the primary key value in the
                 parent class is changed. The <code>'onUpdate'</code> element of the reference map
                 entry is <constant>self::RESTRICT</constant>. You can get the same result by
                 omitting the <code>'onUpdate'</code> entry.
-            </para>
+           </para>
 
             <programlisting language="php"><![CDATA[
 class BugsProducts extends Zend_Db_Table_Abstract
@@ -837,12 +837,12 @@ class BugsProducts extends Zend_Db_Table_Abstract
 
             <title>Notes Regarding Cascading Operations</title>
 
-            <para>
+           <para>
                 <emphasis>Cascading operations invoked by <classname>Zend_Db_Table</classname> are
                 not atomic.</emphasis>
-            </para>
+           </para>
 
-            <para>
+           <para>
                 This means that if your database implements and enforces referential integrity
                 constraints, a cascading <constant>UPDATE</constant> executed by a
                 <classname>Zend_Db_Table</classname> class conflicts with the constraint, and
@@ -850,15 +850,15 @@ class BugsProducts extends Zend_Db_Table_Abstract
                 <constant>UPDATE</constant> in <classname>Zend_Db_Table</classname>
                 <emphasis>only</emphasis> if your database does not enforce that referential
                 integrity constraint.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Cascading <constant>DELETE</constant> suffers less from the problem of referential
                 integrity violations. You can delete dependent rows as a non-atomic action before
                 deleting the parent row that they reference.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 However, for both <constant>UPDATE</constant> and <constant>DELETE</constant>,
                 changing the database in a non-atomic way also creates the risk that another
                 database user can see the data in an inconsistent state. For example, if you delete
@@ -867,20 +867,20 @@ class BugsProducts extends Zend_Db_Table_Abstract
                 before you delete the parent row. That client program may see the parent row with no
                 dependent rows, and assume this is the intended state of the data. There is no way
                 for that client to know that its query read the database in the middle of a change.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 The issue of non-atomic change can be mitigated by using transactions to isolate
                 your change. But some <acronym>RDBMS</acronym> brands don't support transactions, or
                 allow clients to read "dirty" changes that have not been committed yet.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 <emphasis>Cascading operations in <classname>Zend_Db_Table</classname> are invoked
                 only by <classname>Zend_Db_Table</classname>.</emphasis>
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Cascading deletes and updates defined in your <classname>Zend_Db_Table</classname>
                 classes are applied if you execute the <methodname>save()</methodname> or
                 <methodname>delete()</methodname> methods on the Row class. However, if you update
@@ -889,17 +889,17 @@ class BugsProducts extends Zend_Db_Table_Abstract
                 <methodname>update()</methodname> and <methodname>delete()</methodname> methods
                 in the <classname>Zend_Db_Adapter</classname> class, cascading operations defined in
                 your <classname>Zend_Db_Table</classname> classes are not executed.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 <emphasis>No Cascading <constant>INSERT</constant>.</emphasis>
-            </para>
+           </para>
 
-            <para>
+           <para>
                 There is no support for a cascading <constant>INSERT</constant>. You must insert a
                 row to a parent table in one operation, and insert row(s) to a dependent table in a
                 separate operation.
-            </para>
+           </para>
 
         </sect3>
 

+ 76 - 76
documentation/manual/es/module_specs/Zend_Db_Table_Row.xml

@@ -9,19 +9,19 @@
 
         <title>Introducción</title>
 
-        <para>
+       <para>
             <classname>Zend_Db_Table_Row</classname> is a class that contains an
             individual row of a <classname>Zend_Db_Table</classname> object.
             When you run a query against a Table class, the result is returned
             in a set of <classname>Zend_Db_Table_Row</classname> objects. You
             can also use this object to create new rows and add them to the
-            database table. </para>
+            database table.</para>
 
-        <para>
+       <para>
             <classname>Zend_Db_Table_Row</classname> is an implementation of the
                 <ulink
                 url="http://www.martinfowler.com/eaaCatalog/rowDataGateway.html"
-                >Row Data Gateway</ulink> pattern. </para>
+                >Row Data Gateway</ulink> pattern.</para>
 
     </sect2>
 
@@ -29,13 +29,13 @@
 
         <title>Fetching a Row</title>
 
-        <para>
+       <para>
             <classname>Zend_Db_Table_Abstract</classname> provides methods
                 <methodname>find()</methodname> and
                 <methodname>fetchAll()</methodname>, which each return an object
             of type <classname>Zend_Db_Table_Rowset</classname>, and the method
                 <methodname>fetchRow()</methodname>, which returns an object of
-            type <classname>Zend_Db_Table_Row</classname>. </para>
+            type <classname>Zend_Db_Table_Row</classname>.</para>
 
         <example id="zend.db.table.row.read.example">
 
@@ -49,9 +49,9 @@ $row = $bugs->fetchRow($bugs->select()->where('bug_id = ?', 1));
 
         </example>
 
-        <para> A <classname>Zend_Db_Table_Rowset</classname> object contains a
+       <para>A <classname>Zend_Db_Table_Rowset</classname> object contains a
             collection of <classname>Zend_Db_Table_Row</classname> objects. See
-                <xref linkend="zend.db.table.rowset"/>. </para>
+                <xref linkend="zend.db.table.rowset"/>.</para>
 
         <example id="zend.db.table.row.read.example-rowset">
 
@@ -70,10 +70,10 @@ $row = $rowset->current();
 
             <title>Reading column values from a row</title>
 
-            <para>
+           <para>
                 <classname>Zend_Db_Table_Row_Abstract</classname> provides
                 accessor methods so you can reference columns in the row as
-                object properties. </para>
+                object properties.</para>
 
             <example id="zend.db.table.row.read.get.example">
 
@@ -92,15 +92,15 @@ echo $row->bug_description;
 
             <note>
 
-                <para> Earlier versions of
+               <para>Earlier versions of
                         <classname>Zend_Db_Table_Row</classname> mapped these
                     column accessors to the database column names using a string
-                    transformation called <emphasis>inflection</emphasis>. </para>
+                    transformation called <emphasis>inflection</emphasis>.</para>
 
-                <para> Currently, <classname>Zend_Db_Table_Row</classname> does
+               <para>Currently, <classname>Zend_Db_Table_Row</classname> does
                     not implement inflection. Accessed property names need to
                     match the spelling of the column names as they appear in
-                    your database. </para>
+                    your database.</para>
 
             </note>
 
@@ -110,10 +110,10 @@ echo $row->bug_description;
 
             <title>Retrieving Row Data as an Array</title>
 
-            <para> You can access the row's data as an array using the
+           <para>You can access the row's data as an array using the
                     <methodname>toArray()</methodname> method of the Row object.
                 This returns an associative array of the column names to the
-                column values. </para>
+                column values.</para>
 
             <example id="zend.db.table.row.read.to-array.example">
 
@@ -136,10 +136,10 @@ foreach ($rowArray as $column => $value) {
 
             </example>
 
-            <para> The array returned from <methodname>toArray()</methodname> is
+           <para>The array returned from <methodname>toArray()</methodname> is
                 not updateable. You can modify values in the array as you can
                 with any array, but you cannot save changes to this array to the
-                database directly. </para>
+                database directly.</para>
 
         </sect3>
 
@@ -147,10 +147,10 @@ foreach ($rowArray as $column => $value) {
 
             <title>Fetching data from related tables</title>
 
-            <para> The <classname>Zend_Db_Table_Row_Abstract</classname> class
+           <para>The <classname>Zend_Db_Table_Row_Abstract</classname> class
                 provides methods for fetching rows and rowsets from related
                 tables. See <xref linkend="zend.db.table.relationships"/> for
-                more information on table relationships. </para>
+                more information on table relationships.</para>
 
         </sect3>
 
@@ -164,14 +164,14 @@ foreach ($rowArray as $column => $value) {
 
             <title>Changing column values in a row</title>
 
-            <para> You can set individual column values using column accessors,
+           <para>You can set individual column values using column accessors,
                 similar to how the columns are read as object properties in the
-                example above. </para>
+                example above.</para>
 
-            <para> Using a column accessor to set a value changes the column
+           <para>Using a column accessor to set a value changes the column
                 value of the row object in your application, but it does not
                 commit the change to the database yet. You can do that with the
-                    <methodname>save()</methodname> method. </para>
+                    <methodname>save()</methodname> method.</para>
 
             <example id="zend.db.table.row.write.set.example">
 
@@ -197,12 +197,12 @@ $row->save();
 
             <title>Inserting a new row</title>
 
-            <para> You can create a new row for a given table with the
+           <para>You can create a new row for a given table with the
                     <methodname>createRow()</methodname> method of the table
                 class. You can access fields of this row with the
                 object-oriented interface, but the row is not stored in the
                 database until you call the <methodname>save()</methodname>
-                method. </para>
+                method.</para>
 
             <example id="zend.db.table.row.write.insert.example">
 
@@ -223,9 +223,9 @@ $newRow->save();
 
             </example>
 
-            <para> The optional argument to the createRow() method is an
+           <para>The optional argument to the createRow() method is an
                 associative array, with which you can populate fields of the new
-                row. </para>
+                row.</para>
 
             <example id="zend.db.table.row.write.insert.example2">
 
@@ -249,12 +249,12 @@ $newRow->save();
 
             <note>
 
-                <para> The <methodname>createRow()</methodname> method was
+               <para>The <methodname>createRow()</methodname> method was
                     called <methodname>fetchNew()</methodname> in earlier
                     releases of <classname>Zend_Db_Table</classname>. You are
                     encouraged to use the new method name, even though the old
                     name continues to work for the sake of backward
-                    compatibility. </para>
+                    compatibility.</para>
 
             </note>
 
@@ -264,13 +264,13 @@ $newRow->save();
 
             <title>Changing values in multiple columns</title>
 
-            <para>
+           <para>
                 <classname>Zend_Db_Table_Row_Abstract</classname> provides the
                     <methodname>setFromArray()</methodname> method to enable you
                 to set several columns in a single row at once, specified in an
                 associative array that maps the column names to values. You may
                 find this method convenient for setting values both for new rows
-                and for rows you need to update. </para>
+                and for rows you need to update.</para>
 
             <example id="zend.db.table.row.write.set-from-array.example">
 
@@ -303,9 +303,9 @@ $newRow->save();
 
             <title>Deleting a row</title>
 
-            <para> You can call the <methodname>delete()</methodname> method on
+           <para>You can call the <methodname>delete()</methodname> method on
                 a Row object. This deletes rows in the database matching the
-                primary key in the Row object. </para>
+                primary key in the Row object.</para>
 
             <example id="zend.db.table.row.write.delete.example">
 
@@ -322,9 +322,9 @@ $row->delete();
 
             </example>
 
-            <para> You do not have to call <methodname>save()</methodname> to
+           <para>You do not have to call <methodname>save()</methodname> to
                 apply the delete; it is executed against the database
-                immediately. </para>
+                immediately.</para>
 
         </sect3>
 
@@ -334,21 +334,21 @@ $row->delete();
 
         <title>Serializing and unserializing rows</title>
 
-        <para> It is often convenient to save the contents of a database row to
+       <para>It is often convenient to save the contents of a database row to
             be used later. <emphasis>Serialization</emphasis> is the name for
             the operation that converts an object into a form that is easy to
             save in offline storage (for example, a file). Objects of type
                 <classname>Zend_Db_Table_Row_Abstract</classname> are
-            serializable. </para>
+            serializable.</para>
 
         <sect3 id="zend.db.table.row.serialize.serializing">
 
             <title>Serializing a Row</title>
 
-            <para> Simply use <acronym>PHP</acronym>'s
+           <para>Simply use <acronym>PHP</acronym>'s
                     <methodname>serialize()</methodname> function to create a
                 string containing a byte-stream representation of the Row object
-                argument. </para>
+                argument.</para>
 
             <example id="zend.db.table.row.serialize.serializing.example">
 
@@ -373,15 +373,15 @@ $serializedRow = serialize($row);
 
             <title>Unserializing Row Data</title>
 
-            <para> Use PHP's <methodname>unserialize()</methodname> function to
+           <para>Use PHP's <methodname>unserialize()</methodname> function to
                 restore a string containing a byte-stream representation of an
-                object. The function returns the original object. </para>
+                object. The function returns the original object.</para>
 
-            <para> Note that the Row object returned is in a
+           <para>Note that the Row object returned is in a
                     <emphasis>disconnected</emphasis> state. You can read the
                 Row object and its properties, but you cannot change values in
                 the Row or execute other methods that require a database
-                connection (for example, queries against related tables). </para>
+                connection (for example, queries against related tables).</para>
 
             <example id="zend.db.table.row.serialize.unserializing.example">
 
@@ -401,7 +401,7 @@ echo $rowClone->bug_description;
 
                 <title>Why do Rows unserialize in a disconnected state?</title>
 
-                <para> A serialized object is a string that is readable to
+               <para>A serialized object is a string that is readable to
                     anyone who possesses it. It could be a security risk to
                     store parameters such as database account and password in
                     plain, unencrypted text in the serialized string. You would
@@ -409,7 +409,7 @@ echo $rowClone->bug_description;
                     protected, or send it in an email or other medium that is
                     easily read by potential attackers. The reader of the
                     serialized object should not be able to use it to gain
-                    access to your database without knowing valid credentials. </para>
+                    access to your database without knowing valid credentials.</para>
 
             </note>
 
@@ -419,14 +419,14 @@ echo $rowClone->bug_description;
 
             <title>Reactivating a Row as Live Data</title>
 
-            <para> You can reactivate a disconnected Row, using the
+           <para>You can reactivate a disconnected Row, using the
                     <methodname>setTable()</methodname> method. The argument to
                 this method is a valid object of type
                     <classname>Zend_Db_Table_Abstract</classname>, which you
                 create. Creating a Table object requires a live connection to
                 the database, so by reassociating the Table with the Row, the
                 Row gains access to the database. Subsequently, you can change
-                values in the Row object and save the changes to the database. </para>
+                values in the Row object and save the changes to the database.</para>
 
             <example id="zend.db.table.row.serialize.set-table.example">
 
@@ -457,7 +457,7 @@ $rowClone->save();
 
         <title>Extending the Row class</title>
 
-        <para>
+       <para>
             <classname>Zend_Db_Table_Row</classname> is the default concrete
             class that extends
             <classname>Zend_Db_Table_Row_Abstract</classname>. You can define
@@ -466,7 +466,7 @@ $rowClone->save();
             new Row class to store results of Table queries, specify the custom
             Row class by name either in the <varname>$_rowClass</varname>
             protected member of a Table class, or in the array argument of the
-            constructor of a Table object. </para>
+            constructor of a Table object.</para>
 
         <example id="zend.db.table.row.extending.example">
 
@@ -498,7 +498,7 @@ $bugs = new Bugs(array('rowClass' => 'MyRow'));
 
             <title>Row initialization</title>
 
-            <para> If application-specific logic needs to be initialized when a
+           <para>If application-specific logic needs to be initialized when a
                 row is constructed, you can select to move your tasks to the
                     <methodname>init()</methodname> method, which is called
                 after all row metadata has been processed. This is recommended
@@ -522,7 +522,7 @@ class MyApplicationRow extends Zend_Db_Table_Row_Abstract
 ]]></programlisting>
 
                 </example>
-            </para>
+           </para>
 
         </sect3>
 
@@ -531,42 +531,42 @@ class MyApplicationRow extends Zend_Db_Table_Row_Abstract
             <title>Defining Custom Logic for Insert, Update, and Delete in
                 Zend_Db_Table_Row</title>
 
-            <para> The Row class calls protected methods
+           <para>The Row class calls protected methods
                     <methodname>_insert()</methodname>,
                     <methodname>_update()</methodname>, and
                     <methodname>_delete()</methodname> before performing the
                 corresponding operations <methodname>INSERT</methodname>,
                     <methodname>UPDATE</methodname>, and
                     <methodname>DELETE</methodname>. You can add logic to these
-                methods in your custom Row subclass. </para>
+                methods in your custom Row subclass.</para>
 
-            <para> If you need to do custom logic in a specific table, and the
+           <para>If you need to do custom logic in a specific table, and the
                 custom logic must occur for every operation on that table, it
                 may make more sense to implement your custom code in the
                     <methodname>insert()</methodname>,
                     <methodname>update()</methodname> and
                     <methodname>delete()</methodname> methods of your Table
                 class. However, sometimes it may be necessary to do custom logic
-                in the Row class. </para>
+                in the Row class.</para>
 
-            <para> Below are some example cases where it might make sense to
+           <para>Below are some example cases where it might make sense to
                 implement custom logic in a Row class instead of in the Table
-                class: </para>
+                class:</para>
 
             <example id="zend.db.table.row.extending.overriding-example1">
 
                 <title>Example of custom logic in a Row class</title>
 
-                <para> The custom logic may not apply in all cases of operations
+               <para>The custom logic may not apply in all cases of operations
                     on the respective Table. You can provide custom logic on
                     demand by implementing it in a Row class and creating an
                     instance of the Table class with that custom Row class
-                    specified. Otherwise, the Table uses the default Row class. </para>
+                    specified. Otherwise, the Table uses the default Row class.</para>
 
-                <para> You need data operations on this table to record the
+               <para>You need data operations on this table to record the
                     operation to a <classname>Zend_Log</classname> object, but
                     only if the application configuration has enabled this
-                    behavior. </para>
+                    behavior.</para>
 
                 <programlisting language="php"><![CDATA[
 
@@ -598,14 +598,14 @@ if ($loggingEnabled) {
                 <title>Example of a Row class that logs insert data for multiple
                     tables</title>
 
-                <para> The custom logic may be common to multiple tables.
+               <para>The custom logic may be common to multiple tables.
                     Instead of implementing the same custom logic in every one
                     of your Table classes, you can implement the code for such
                     actions in the definition of a Row class, and use this Row
-                    in each of your Table classes. </para>
+                    in each of your Table classes.</para>
 
-                <para> In this example, the logging code is identical in all
-                    table classes. </para>
+               <para>In this example, the logging code is identical in all
+                    table classes.</para>
 
                 <programlisting language="php"><![CDATA[
 
@@ -642,31 +642,31 @@ class Products extends Zend_Db_Table_Abstract
 
             <title>Define Inflection in Zend_Db_Table_Row</title>
 
-            <para> Some people prefer that the table class name match a table
+           <para>Some people prefer that the table class name match a table
                 name in the <acronym>RDBMS</acronym> by using a string
-                transformation called <emphasis>inflection</emphasis>. </para>
+                transformation called <emphasis>inflection</emphasis>.</para>
 
-            <para>
+           <para>
                 <classname>Zend_Db</classname> classes do not implement
                 inflection by default. See <xref
                     linkend="zend.db.table.extending.inflection"/> for an
-                explanation of this policy. </para>
+                explanation of this policy.</para>
 
-            <para> If you prefer to use inflection, then you must implement the
+           <para>If you prefer to use inflection, then you must implement the
                 transformation yourself, by overriding the
                     <methodname>_transformColumn()</methodname> method in a
                 custom Row class, and using that custom Row class when you
-                perform queries against your Table class. </para>
+                perform queries against your Table class.</para>
 
             <example id="zend.db.table.row.extending.inflection.example">
 
                 <title>Example of defining an inflection transformation</title>
 
-                <para> This allows you to use an inflected version of the column
+               <para>This allows you to use an inflected version of the column
                     name in the accessors. The Row class uses the
                         <methodname>_transformColumn()</methodname> method to
                     change the name you use to the native column name in the
-                    database table. </para>
+                    database table.</para>
 
                 <programlisting language="php"><![CDATA[
 
@@ -696,9 +696,9 @@ $row->bugDescription = 'New description';
 
             </example>
 
-            <para> You are responsible for writing the functions to perform
+           <para>You are responsible for writing the functions to perform
                 inflection transformation. Zend Framework does not provide such
-                a function. </para>
+                a function.</para>
 
         </sect3>
 

+ 42 - 42
documentation/manual/es/module_specs/Zend_Db_Table_Rowset.xml

@@ -9,12 +9,12 @@
 
         <title>Introduction</title>
 
-        <para>
+       <para>
             When you run a query against a Table class using the <methodname>find()</methodname> or <methodname>fetchAll()</methodname>
             methods, the result is returned in an object of type <classname>Zend_Db_Table_Rowset_Abstract</classname>. A Rowset
             contains a collection of objects descending from <classname>Zend_Db_Table_Row_Abstract</classname>. You can iterate
             through the Rowset and access individual Row objects, reading or modifying data in the Rows.
-        </para>
+       </para>
 
     </sect2>
 
@@ -22,10 +22,10 @@
 
         <title>Fetching a Rowset</title>
 
-        <para>
+       <para>
             <classname>Zend_Db_Table_Abstract</classname> provides methods <methodname>find()</methodname> and <methodname>fetchAll()</methodname>, each
             of which returns an object of type <classname>Zend_Db_Table_Rowset_Abstract</classname>.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.fetch.example">
 
@@ -44,17 +44,17 @@ $rowset = $bugs->fetchAll("bug_status = 'NEW'");
 
         <title>Retrieving Rows from a Rowset</title>
 
-        <para>
+       <para>
             The Rowset itself is usually less interesting than the Rows that it contains. This section illustrates how
             to get the Rows that comprise the Rowset.
-        </para>
+       </para>
 
-        <para>
+       <para>
             A legitimate query returns zero rows when no rows in the database match the query conditions. Therefore, a
             Rowset object might contain zero Row objects. Since <classname>Zend_Db_Table_Rowset_Abstract</classname> implements
             the <methodname>Countable</methodname> interface, you can use <methodname>count()</methodname> to determine the number of Rows in
             the Rowset.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.rows.counting.example">
 
@@ -78,10 +78,10 @@ if ($rowCount > 0) {
 
             <title>Reading a Single Row from a Rowset</title>
 
-            <para>
+           <para>
                 The simplest way to access a Row from a Rowset is to use the <methodname>current()</methodname> method. This is
                 particularly appropriate when the Rowset contains exactly one Row.
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 $bugs   = new Bugs();
@@ -91,21 +91,21 @@ $row    = $rowset->current();
 
         </example>
 
-        <para>
+       <para>
             If the Rowset contains zero rows, <methodname>current()</methodname> returns
             PHP's <constant>NULL</constant> value.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.rows.iterate.example">
 
             <title>Iterating through a Rowset</title>
 
-            <para>
+           <para>
                 Objects descending from <classname>Zend_Db_Table_Rowset_Abstract</classname> implement the <methodname>SeekableIterator</methodname>
                 interface, which means you can loop through them using the <methodname>foreach</methodname> construct. Each value
                 you retrieve this way is a <classname>Zend_Db_Table_Row_Abstract</classname> object that corresponds to one
                 record from the table.
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 $bugs = new Bugs();
@@ -135,13 +135,13 @@ foreach ($rowset as $row) {
 
             <title>Seeking to a known position into a Rowset</title>
 
-            <para>
+           <para>
                 <methodname>SeekableIterator</methodname> allows you to seek to a position that you would like the iterator to jump to.
                 Simply use the <methodname>seek()</methodname> method for that. Pass it an integer representing the number of the Row
                 you would like your Rowset to point to next, don't forget that it starts with index 0. If the index is wrong,
                 ie doesn't exist, an exception will be thrown. You should use <methodname>count()</methodname> to check the number of
                 results before seeking to a position.
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 $bugs = new Bugs();
@@ -162,13 +162,13 @@ $row9->save();
 
         </example>
 
-            <para>
+           <para>
                 <methodname>getRow()</methodname> allows you to get a specific row in the Rowset, knowing its position; don't forget
                 however that positions start with index zero. The first parameter for <methodname>getRow()</methodname> is an integer
                 for the position asked. The second optional parameter is a boolean; it tells the Rowset iterator if it must
                 seek to that position in the same time, or not (default is false). This method returns a <classname>Zend_Db_Table_Row</classname>
                 object by default. If the position requested does not exist, an exception will be thrown. Here is an example :
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 $bugs = new Bugs();
@@ -184,10 +184,10 @@ $row9->assigned_to = 'mmouse';
 $row9->save();
 ]]></programlisting>
 
-        <para>
+       <para>
             After you have access to an individual Row object, you can manipulate the Row using methods described in
             <xref linkend="zend.db.table.row" />.
-        </para>
+       </para>
 
     </sect2>
 
@@ -195,11 +195,11 @@ $row9->save();
 
         <title>Retrieving a Rowset as an Array</title>
 
-        <para>
+       <para>
             You can access all the data in the Rowset as an array using the <methodname>toArray()</methodname> method of the Rowset
             object. This returns an array containing one entry per Row. Each entry is an associative array having keys
             that correspond to column names and elements that correspond to the respective column values.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.to-array.example">
 
@@ -223,10 +223,10 @@ foreach ($rowsetArray as $rowArray) {
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             The array returned from <methodname>toArray()</methodname> is not updateable. That is, you can modify values in the
             array as you can with any array, but changes to the array data are not propagated to the database.
-        </para>
+       </para>
 
     </sect2>
 
@@ -234,19 +234,19 @@ foreach ($rowsetArray as $rowArray) {
 
         <title>Serializing and Unserializing a Rowset</title>
 
-        <para>
+       <para>
             Objects of type <classname>Zend_Db_Table_Rowset_Abstract</classname> are serializable. In a similar fashion to
             serializing an individual Row object, you can serialize a Rowset and unserialize it later.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.serialize.example.serialize">
 
             <title>Serializing a Rowset</title>
 
-            <para>
+           <para>
                 Simply use PHP's <methodname>serialize()</methodname> function to create a string containing a byte-stream
                 representation of the Rowset object argument.
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 $bugs   = new Bugs();
@@ -264,17 +264,17 @@ $serializedRowset = serialize($rowset);
 
             <title>Unserializing a Serialized Rowset</title>
 
-            <para>
+           <para>
                 Use PHP's <methodname>unserialize()</methodname> function to restore a string containing a byte-stream
                 representation of an object. The function returns the original object.
-            </para>
+           </para>
 
-            <para>
+           <para>
                 Note that the Rowset object returned is in a <emphasis>disconnected</emphasis> state. You can iterate
                 through the Rowset and read the Row objects and their properties, but you cannot change values in the
                 Rows or execute other methods that require a database connection (for example, queries against related
                 tables).
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 $rowsetDisconnected = unserialize($serializedRowset);
@@ -288,22 +288,22 @@ echo $row->bug_description;
 
         <note>
             <title>Why do Rowsets unserialize in a disconnected state?</title>
-            <para>
+           <para>
                 A serialized object is a string that is readable to anyone who possesses it. It could be a security
                 risk to store parameters such as database account and password in plain, unencrypted text in the
                 serialized string. You would not want to store such data to a text file that is not protected, or send
                 it in an email or other medium that is easily read by potential attackers. The reader of the serialized
                 object should not be able to use it to gain access to your database without knowing valid credentials.
-            </para>
+           </para>
         </note>
 
-        <para>
+       <para>
             You can reactivate a disconnected Rowset using the <methodname>setTable()</methodname> method. The argument to this
             method is a valid object of type <classname>Zend_Db_Table_Abstract</classname>, which you create. Creating a Table
             object requires a live connection to the database, so by reassociating the Table with the Rowset, the
             Rowset gains access to the database. Subsequently, you can change values in the Row objects contained in
             the Rowset and save the changes to the database.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.serialize.example.set-table">
 
@@ -327,10 +327,10 @@ $row->save();
 
         </example>
 
-        <para>
+       <para>
             Reactivating a Rowset with <methodname>setTable()</methodname> also reactivates all the Row objects contained in that
             Rowset.
-        </para>
+       </para>
 
     </sect2>
 
@@ -338,13 +338,13 @@ $row->save();
 
         <title>Extending the Rowset class</title>
 
-        <para>
+       <para>
             You can use an alternative concrete class for instances of Rowsets
             by extending <classname>Zend_Db_Table_Rowset_Abstract</classname>. Specify the custom
             Rowset class by name either in the <methodname>$_rowsetClass</methodname>
             protected member of a Table class, or in the array argument of the
             constructor of a Table object.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.extending.example">
             <title>Specifying a custom Rowset class</title>
@@ -368,13 +368,13 @@ $bugs = new Bugs(array('rowsetClass' => 'MyRowset'));
 ]]></programlisting>
         </example>
 
-        <para>
+       <para>
             Typically, the standard <classname>Zend_Db_Rowset</classname> concrete class is
             sufficient for most usage. However, you might find it useful
             to add new logic to a Rowset, specific to a given Table.
             For example, a new method could calculate an aggregate
             over all the Rows in the Rowset.
-        </para>
+       </para>
 
         <example id="zend.db.table.rowset.extending.example-aggregate">
             <title>Example of Rowset class with a new method</title>

+ 15 - 15
documentation/manual/es/module_specs/Zend_Debug.xml

@@ -5,12 +5,12 @@
 
     <title>Mostrar información de variables(Dumping Variables)</title>
 
-    <para>
+   <para>
         El método estático <methodname>Zend_Debug::dump()</methodname> imprime o devuelve
         información sobre una expresión. Esta sencilla técnica de depuración es
         común, porque es fácil de utilizar en caliente y no requiere
         inicialización, herramientas especiales, o la depuración del entorno.
-    </para>
+   </para>
 
     <example id="zend.debug.dumping.example">
         <title>Ejemplo del método dump()</title>
@@ -20,27 +20,27 @@ Zend_Debug::dump($var, $label=null, $echo=true);
 ]]></programlisting>
     </example>
 
-    <para>
+   <para>
         El argumento <varname>$var</varname> especifica la expresión o variable sobre
         la cual el método <methodname>Zend_Debug::dump()</methodname> generará información.
-    </para>
+   </para>
 
-	     <para>
+        <para>
         The <varname>$label</varname> argument is a string to be prepended to the
         output of <methodname>Zend_Debug::dump()</methodname>. It may be useful, for
          example, to use labels if you are dumping information about multiple
          variables on a given screen.
-     </para>
-	
-    <para>
+    </para>
+    
+   <para>
         El argumento boleano <varname>$echo</varname> especifica si la salida de
         <methodname>Zend_Debug::dump()</methodname> es o no mostrada. Si es
         <constant>TRUE</constant>, la salida es mostrada. A pesar del valor del
         argumento <varname>$echo</varname>, el retorno de este método contiene la
         salida.
-    </para>
+   </para>
 
-    <para>
+   <para>
         Puede ser útil comprender que el método <methodname>Zend_Debug::dump()</methodname>
         envuelve la función de <acronym>PHP</acronym>
         <ulink url="http://php.net/var_dump"><methodname>var_dump()</methodname></ulink>.
@@ -48,22 +48,22 @@ Zend_Debug::dump($var, $label=null, $echo=true);
         salida de <methodname>var_dump()</methodname> es escapada usando
         <ulink url="http://php.net/htmlspecialchars"><methodname>htmlspecialchars()</methodname></ulink>
         y envuelta con el tag (X)HTML <command>&lt;pre&gt;</command>.
-    </para>
+   </para>
 
     <tip>
         <title>Depurando con Zend_Log</title>
-        <para>
+       <para>
             Usar <methodname>Zend_Debug::dump()</methodname> es lo mejor para la depuración
             en caliente durante el desarrollo de software. Puede añadir el código para
             volcar una variable y después quitar el código fácilmente.
-        </para>
-        <para>
+       </para>
+       <para>
             También considere el componente <link linkend="zend.log.overview">
             Zend_Log</link>  component when writing more permanent debugging code. For example,
             you can use the <constant>DEBUG</constant> log level and the
             <link linkend="zend.log.writers.stream">stream log writer</link> to
             output the string returned by <methodname>Zend_Debug::dump()</methodname>.
-        </para>
+       </para>
     </tip>
 
 </sect1>

+ 76 - 76
documentation/manual/es/module_specs/Zend_Dojo-Data.xml

@@ -4,19 +4,19 @@
 <sect1 id="zend.dojo.data">
     <title>Zend_Dojo_Data: Envolturas de dojo.data</title>
 
-    <para> Dojo proporciona abstracciones de datos para los widgets de datos
+   <para>Dojo proporciona abstracciones de datos para los widgets de datos
         habilitados a través de su componente dojo.data. Este componente
         proporciona la capacidad de adjuntar un datastore, ofrecer algunos
         metadatos relativos al campo identidad, opcionalmente una etiqueta de
         campo, y una <acronym>API</acronym> para efectuar consultas,
         clasificación, recuperación de archivos y conjuntos de registros del
-        datastore. </para>
+        datastore.</para>
 
-    <para> dojo.data se utiliza a menudo con XmlHttpRequest para traer
+   <para>dojo.data se utiliza a menudo con XmlHttpRequest para traer
         dinámicamente datos desde el servidor. El principal mecanismo para esto
         es extender el QueryReadStore para que apunte a una  <acronym>URL</acronym> y especificar la
         información a consultar. El lado del servidor después devuelve los datos
-        con el siguiente formato <acronym>JSON</acronym>: </para>
+        con el siguiente formato <acronym>JSON</acronym>:</para>
 
     <programlisting language="javascript"><![CDATA[
 {
@@ -29,17 +29,17 @@
 }
 ]]></programlisting>
 
-    <para>
+   <para>
         <classname>Zend_Dojo_Data</classname> ofrece una interfaz simple para la
         construcción de estas estructuras programáticamente, interactuando con
-        ellos, y serializándolos a un array o a <acronym>JSON</acronym>. </para>
+        ellos, y serializándolos a un array o a <acronym>JSON</acronym>.</para>
 
     <sect2 id="zend.dojo.data.usage">
         <title>Uso de Zend_Dojo_Data</title>
 
-        <para> En su forma más simple, dojo.data requiere que se proporcione el
+       <para>En su forma más simple, dojo.data requiere que se proporcione el
             nombre del campo identificador en cada item, y un conjunto de items
-            (datos). Puede pasarlos tanto via el constructor, o via mutators: </para>
+            (datos). Puede pasarlos tanto via el constructor, o via mutators:</para>
 
         <example id="zend.dojo.data.usage.constructor">
             <title>Inicialización de Zend_Dojo_Data via constructor</title>
@@ -59,9 +59,9 @@ $data->setIdentifier('id')
 ]]></programlisting>
         </example>
 
-        <para> También puede añadir un solo item a la vez, o agregar items
+       <para>También puede añadir un solo item a la vez, o agregar items
             utilizando <methodname>addItem()</methodname> y
-                <methodname>addItems()</methodname>. </para>
+                <methodname>addItems()</methodname>.</para>
 
         <example id="zend.dojo.data.usage.append">
             <title>Agregando datos a
@@ -78,53 +78,53 @@ $data->addItems($someMoreItems);
         <note>
             <title>Siempre use un identificador!</title>
 
-            <para> Cada datastore de dojo.data requiere que la columna
+           <para>Cada datastore de dojo.data requiere que la columna
                 identificadora se proporcione como metadatos, incluyendo
                     <classname>Zend_Dojo_Data</classname>. De hecho, si intenta
                 añadir items sin un identificador, se generará una excepción.
-            </para>
+           </para>
         </note>
 
-        <para> Los items individuales pueden ser uno de los siguientes: </para>
+       <para>Los items individuales pueden ser uno de los siguientes:</para>
 
         <itemizedlist>
             <listitem>
-                <para> Arrays asociativos </para>
+               <para>Arrays asociativos</para>
             </listitem>
 
             <listitem>
-                <para> Objectos implementando un método
+               <para>Objectos implementando un método
                         <methodname>toArray()</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para> Cualquiera de los otros objetos (se serializarán via
-                    get_object_vars()) </para>
+               <para>Cualquiera de los otros objetos (se serializarán via
+                    get_object_vars())</para>
             </listitem>
         </itemizedlist>
 
-        <para> Puede adjuntar colecciones de los items anteriores via
+       <para>Puede adjuntar colecciones de los items anteriores via
                 <methodname>addItems()</methodname> o
                 <methodname>setItems()</methodname> (sobreescribe todos los
             items previamente establecidos); cuando lo haga, puede pasar un solo
-            argumento: </para>
+            argumento:</para>
 
         <itemizedlist>
             <listitem>
-                <para> Arrays </para>
+               <para>Arrays</para>
             </listitem>
 
             <listitem>
-                <para> Objectos implementando la interfaz
+               <para>Objectos implementando la interfaz
                         <methodname>Traversable</methodname>, que incluye las
                     interfaces <methodname>Iterator</methodname> y
-                        <methodname>ArrayAccess</methodname>. </para>
+                        <methodname>ArrayAccess</methodname>.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Si quiere especificar un campo que actuará como una etiqueta para
-            el item, llame a <methodname>setLabel()</methodname>: </para>
+       <para>Si quiere especificar un campo que actuará como una etiqueta para
+            el item, llame a <methodname>setLabel()</methodname>:</para>
 
         <example id="zend.dojo.data.usage.label">
             <title>Especificando la etiqueta de un campo en
@@ -135,9 +135,9 @@ $data->setLabel('name');
 ]]></programlisting>
         </example>
 
-        <para> Por último, también puede cargar un item
+       <para>Por último, también puede cargar un item
             <classname>Zend_Dojo_Data</classname> de un array <acronym>JSON</acronym>
-            dojo.data, utilizando el método <methodname>fromJson()</methodname>. </para>
+            dojo.data, utilizando el método <methodname>fromJson()</methodname>.</para>
 
         <example id="zend.dojo.data.usage.populate">
             <title>Alimentando Zend_Dojo_Data desde
@@ -152,7 +152,7 @@ $data->fromJson($json);
     <sect2 id="zend.dojo.data.metadata">
         <title>Agregando metadatos a sus contenedores</title>
 
-        <para> Algunos componentes de Dojo requieren metadatos adicionales junto
+       <para>Algunos componentes de Dojo requieren metadatos adicionales junto
             al conjunto de datos de dojo.data. Como ejemplo,
                 <methodname>dojox.grid.Grid</methodname> puede tirar datos
             dinámicamente desde un
@@ -164,11 +164,11 @@ $data->fromJson($json);
             pedidos de subconjuntos de datos al servidor y cuando dejar de hacer
             más peticiones (es decir, ha llegado a la última página de datos).
             Esta técnica es útil para despachar grandes conjuntos de datos en
-            sus plantillas sin cargar todo el conjunto de una sola vez. </para>
+            sus plantillas sin cargar todo el conjunto de una sola vez.</para>
 
-        <para>
+       <para>
             <classname>Zend_Dojo_Data</classname> permite asignar propiedades a
-            los metadatos como al objeto. Lo siguiente ilustra su uso: </para>
+            los metadatos como al objeto. Lo siguiente ilustra su uso:</para>
 
         <programlisting language="php"><![CDATA[
 // Establece el "numRows" a 100
@@ -197,23 +197,23 @@ $data->clearMetadata();
     <sect2 id="zend.dojo.data.advanced">
         <title>Casos Avanzados de Uso</title>
 
-        <para> Además de actuar como un contenedor de datos serializable,
+       <para>Además de actuar como un contenedor de datos serializable,
                 <classname>Zend_Dojo_Data</classname> también ofrece la
             posibilidad de manipular y recorrer los datos en una variedad de
-            formas. </para>
+            formas.</para>
 
-        <para>
+       <para>
             <classname>Zend_Dojo_Data</classname> implementa las interfaces
                 <methodname>ArrayAccess</methodname>,
                 <methodname>Iterator</methodname>, y
                 <methodname>Countable</methodname>. Por lo tanto, puede usar la
-            recopilación de datos casi como si fuera un array. </para>
+            recopilación de datos casi como si fuera un array.</para>
 
-        <para> Todos los items son referenciados por el identificador de campo.
+       <para>Todos los items son referenciados por el identificador de campo.
             Dado que los identificadores deben ser únicos, puede usar los
             valores de este campo para sacar los registros individuales. Hay dos
             maneras de hacer esto: con el método
-                <methodname>getItem()</methodname>, o via notación de array. </para>
+                <methodname>getItem()</methodname>, o via notación de array.</para>
 
         <programlisting language="php"><![CDATA[
 // Usando getItem():
@@ -223,8 +223,8 @@ $item = $data->getItem('foo');
 $item = $data['foo'];
 ]]></programlisting>
 
-        <para> Si conoce el identificador, puede utilizarlo para recuperar un
-            item, actualizarlo, borrarlo, crearlo, o probarlo: </para>
+       <para>Si conoce el identificador, puede utilizarlo para recuperar un
+            item, actualizarlo, borrarlo, crearlo, o probarlo:</para>
 
         <programlisting language="php"><![CDATA[
 // Actualizar o crear un item:
@@ -238,8 +238,8 @@ if (isset($data[foo])) {
 }
 ]]></programlisting>
 
-        <para> También puede hacer un loop sobre todos los items. Internamente,
-            todos los items se almacenan como arrays. </para>
+       <para>También puede hacer un loop sobre todos los items. Internamente,
+            todos los items se almacenan como arrays.</para>
 
         <programlisting language="php"><![CDATA[
 foreach ($data as $item) {
@@ -247,16 +247,16 @@ foreach ($data as $item) {
 }
 ]]></programlisting>
 
-        <para> O inclusive contar para ver cuántos ítems tiene: </para>
+       <para>O inclusive contar para ver cuántos ítems tiene:</para>
 
         <programlisting language="php"><![CDATA[
 echo count($data), " items encontrados!";
 ]]></programlisting>
 
-        <para> Por último, como la clase implementa
+       <para>Por último, como la clase implementa
                 <methodname>__toString()</methodname>, también puede convertirlo
             a <acronym>JSON</acronym> simplemente con "echo" de <acronym>PHP</acronym> o
-            convertirlo a string: </para>
+            convertirlo a string:</para>
 
         <programlisting language="php"><![CDATA[
 echo $data; // echo como un string JSON
@@ -267,125 +267,125 @@ $json = (string) $data; // conversión a string == conversión a JSON
         <sect3 id="zend.dojo.data.advanced.methods">
             <title>Métodos Disponibles</title>
 
-            <para> Además de los métodos necesarios para aplicar las interfaces
+           <para>Además de los métodos necesarios para aplicar las interfaces
                 enumeradas anteriormente, están disponibles los siguientes
-                métodos. </para>
+                métodos.</para>
 
             <itemizedlist>
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>setItems($items)</methodname>: establece
                         varios items a la vez, sobrescribiendo cualquier item
                         que figurase anteriormente en el objeto.
                             <methodname>$items</methodname> debe ser un array o
-                        un objeto <methodname>Traversable</methodname>. </para>
+                        un objeto <methodname>Traversable</methodname>.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>setItem($item, $id = null)</methodname>:
                         establece un item individual, opcionalmente puede pasar
                         un identificador explícito. Sobreescribe el item si ya
                         existe en la colección. Los items válidos incluyen a
                         arrays asociativos, objetos implementando
                             <methodname>toArray()</methodname>, o cualquier
-                        objeto con propiedades públicas. </para>
+                        objeto con propiedades públicas.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>addItem($item, $id = null)</methodname>:
                         añade un item individual, opcionalmente puede pasar un
                         identificador explícito. Generará una excepción si el
                         item ya existe en la colección. Los items válidos
                         incluyen a arrays asociativos, objetos implementando
                             <methodname>toArray()</methodname>, o cualquier
-                        objeto con propiedades públicas. </para>
+                        objeto con propiedades públicas.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>addItems($items)</methodname>: agrega
                         múltiples items a la vez, añadiendolos a cualquiera de
                         los items actuales. Generará una excepción si alguno de
                         los nuevos items tiene un identificador concordante a un
                         identificador ya existente en la colección.
                             <methodname>$items</methodname> debe ser un array o
-                        un objeto <methodname>Traversable</methodname>. </para>
+                        un objeto <methodname>Traversable</methodname>.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>getItems()</methodname>: recupera todos los
-                        items como un array de arrays. </para>
+                        items como un array de arrays.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>hasItem($id)</methodname>: determina si un
                         item con el identificador dado existe en la colección.
-                    </para>
+                   </para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>getItem($id)</methodname>: recupera un item
                         con el identificador dado de la colección; el item
                         retornado será un array asociativo. Si ningún item
-                        coincide, se devolverá un valor null. </para>
+                        coincide, se devolverá un valor null.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>removeItem($id)</methodname>: elimina de la
-                        colección un item con el identificador dado. </para>
+                        colección un item con el identificador dado.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>clearItems()</methodname>: elimina todos los
-                        items de la colección. </para>
+                        items de la colección.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>setIdentifier($identifier)</methodname>:
                         establece el nombre del campo que representa el
                         identificador único para cada item en la colección.
-                    </para>
+                   </para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>getIdentifier()</methodname>: recupera el
-                        nombre del campo identificador. </para>
+                        nombre del campo identificador.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>setLabel($label)</methodname>: establece el
                         nombre de un campo para ser utilizado como la etiqueta a
-                        mostrar para un item. </para>
+                        mostrar para un item.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>getLabel()</methodname>: recupera la
-                        etiqueta del nombre del campo. </para>
+                        etiqueta del nombre del campo.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>toArray()</methodname>: enviar el objeto a
                         un array. Como mínimo, el array contendrá las claves
                         'identifier', 'items', y 'label' si una etiqueta de
-                        campo ha sido establecida en el objeto. </para>
+                        campo ha sido establecida en el objeto.</para>
                 </listitem>
 
                 <listitem>
-                    <para>
+                   <para>
                         <methodname>toJson()</methodname>: enviar el objeto a
-                        una representación <acronym>JSON</acronym>. </para>
+                        una representación <acronym>JSON</acronym>.</para>
                 </listitem>
             </itemizedlist>
         </sect3>

+ 25 - 25
documentation/manual/es/module_specs/Zend_Dojo-Form-Decorators.xml

@@ -4,24 +4,24 @@
 <sect2 id="zend.dojo.form.decorators">
     <title>Decoradores de Forms Específicos de Dijit</title>
 
-    <para> La mayoría de los elementos de formularios pueden usar el decorador
+   <para>La mayoría de los elementos de formularios pueden usar el decorador
         DijitElement, que tomará los parámetros dijit de los elementos, y
         pasarán estos y otros metadatos al ayudante de vista especificado por el
         elemento. Sin embargo, para decorar los forms, sub forms, y grupos de
         visualización, hay un conjunto de decoradores correspondientes a los
-        diversos esquemas dijit. </para>
+        diversos esquemas dijit.</para>
 
-    <para> Todos los decoradores dijit buscan la propiedad
+   <para>Todos los decoradores dijit buscan la propiedad
             <methodname>dijitParams</methodname> del elemento que va a ser
         decorado, y mandarlos como un array <varname>$params</varname> al
         ayudante de vista dijit que se está usando. Luego, éstos son separados
         de cualquiera de las otras propiedades para evitar la duplicación de
-        información. </para>
+        información.</para>
 
     <sect3 id="zend.dojo.form.decorators.dijitElement">
         <title>Decorador DijitElement</title>
 
-        <para> Al igual que <link
+       <para>Al igual que <link
                 linkend="zend.form.standardDecorators.viewHelper"> el decorador
                 ViewHelper</link>, DijitElement espera una propiedad del
                 <methodname>helper</methodname> en el elemento que luego usará
@@ -29,17 +29,17 @@
             suelen ser arrastrados directamente desde el elemento, pero también
             pueden ser pasados como opciones vía la clave
                 <methodname>dijitParams</methodname> (el valor de esa clave debe
-            ser un array asociativo de opciones). </para>
+            ser un array asociativo de opciones).</para>
 
-        <para> Es importante que cada elemento tenga un único ID (como traído
+       <para>Es importante que cada elemento tenga un único ID (como traído
             desde el método <methodname>getId()</methodname> del elemento). Si
             se detectan duplicados dentro del ayudante de vista
                 <methodname>dojo()</methodname>, el decorador accionará un
             aviso, pero luego creará un único ID añadiéndole lo que devuelve
-                <methodname>uniqid()</methodname> al identificador. </para>
+                <methodname>uniqid()</methodname> al identificador.</para>
 
-        <para> El uso estándar es simplemente asociar este decorador como el
-            primero de su cadena de decoradores, sin opciones adicionales. </para>
+       <para>El uso estándar es simplemente asociar este decorador como el
+            primero de su cadena de decoradores, sin opciones adicionales.</para>
 
         <example id="zend.dojo.form.decorators.dijitElement.usage">
             <title>Uso del Decorador DijitElement</title>
@@ -58,24 +58,24 @@ $element->setDecorators(array(
     <sect3 id="zend.dojo.form.decorators.dijitForm">
         <title>Decorador DijitForm</title>
 
-        <para> El decorador DijitForm es muy similar al <link
+       <para>El decorador DijitForm es muy similar al <link
                 linkend="zend.form.standardDecorators.form">Form
                 decorator</link>; de hecho, básicamente puede ser utilizado de
             manera intercambiable con él, ya que utiliza el mismo nombre de
-            ayudante de vista ('form'). </para>
+            ayudante de vista ('form').</para>
 
-        <para> Dado que dijit.form.Form no requiere ningún parámetro dijit para
+       <para>Dado que dijit.form.Form no requiere ningún parámetro dijit para
             la configuración, la principal diferencia es que el ayudante de
             vista dijit del form exige que se pase un DOM ID para garantizar que
             la creación programática del dijit pueda trabajar. El decorador
             garantiza esto, pasando el nombre del form como el identificador.
-        </para>
+       </para>
     </sect3>
 
     <sect3 id="zend.dojo.form.decorators.dijitContainer">
         <title>Decoradores basados en DijitContainer</title>
 
-        <para> El decorador <methodname>DijitContainer</methodname> es en
+       <para>El decorador <methodname>DijitContainer</methodname> es en
             realidad una clase abstracta desde la cual derivan una variedad de
             otros decoradores. Ofrece la misma funcionalidad de <link
                 linkend="zend.dojo.form.decorators.dijitElement"
@@ -85,32 +85,32 @@ $element->setDecorators(array(
             si está disponible, y también pueden utilizar tanto 'legend' o
             'title' como opción del decorador, si es pasada. El título será
             traducido si un adaptador de traducción con su correspondiente
-            traducción está presente. </para>
+            traducción está presente.</para>
 
-        <para> La siguiente es una lista de decoradores que heredan de
-                <methodname>DijitContainer</methodname>: </para>
+       <para>La siguiente es una lista de decoradores que heredan de
+                <methodname>DijitContainer</methodname>:</para>
 
         <itemizedlist>
             <listitem>
-                <para>AccordionContainer</para>
+               <para>AccordionContainer</para>
             </listitem>
             <listitem>
-                <para>AccordionPane</para>
+               <para>AccordionPane</para>
             </listitem>
             <listitem>
-                <para>BorderContainer</para>
+               <para>BorderContainer</para>
             </listitem>
             <listitem>
-                <para>ContentPane</para>
+               <para>ContentPane</para>
             </listitem>
             <listitem>
-                <para>SplitContainer</para>
+               <para>SplitContainer</para>
             </listitem>
             <listitem>
-                <para>StackContainer</para>
+               <para>StackContainer</para>
             </listitem>
             <listitem>
-                <para>TabContainer</para>
+               <para>TabContainer</para>
             </listitem>
         </itemizedlist>
 

File diff suppressed because it is too large
+ 241 - 241
documentation/manual/es/module_specs/Zend_Dojo-Form-Elements.xml


+ 10 - 10
documentation/manual/es/module_specs/Zend_Dojo-Form-Examples.xml

@@ -7,14 +7,14 @@
     <example id="zend.dojo.form.examples.dojoform">
         <title>Usando Zend_Dojo_Form</title>
 
-        <para> La forma más fácil de utilizar Dojo con
+       <para>La forma más fácil de utilizar Dojo con
                 <classname>Zend_Form</classname> es utilizar
                 <classname>Zend_Dojo_Form</classname>, ya sea mediante el uso
             directo o mediante su extensión. Este ejemplo muestra la extensión
             de <classname>Zend_Dojo_Form</classname>, y muestra el uso de todos
             los elementos dijit. Crea cuatro sub forms, y decora el form para
             utilizar un TabContainer, mostrando cada sub form en su propia
-            pestaña. </para>
+            pestaña.</para>
 
         <programlisting language="php"><![CDATA[
 class My_Form_Test extends Zend_Dojo_Form
@@ -355,12 +355,12 @@ class My_Form_Test extends Zend_Dojo_Form
     <example id="zend.dojo.form.examples.decorating">
         <title>Modificando un form existente para utilizarlo con Dojo</title>
 
-        <para> Los forms existentes pueden ser modificados para ser utilizados
+       <para>Los forms existentes pueden ser modificados para ser utilizados
             también por Dojo, usando el método estático
-            <methodname>Zend_Dojo::enableForm()</methodname>. </para>
+            <methodname>Zend_Dojo::enableForm()</methodname>.</para>
 
-        <para> Este primer ejemplo muestra como decorar una instancia de un form
-            existente: </para>
+       <para>Este primer ejemplo muestra como decorar una instancia de un form
+            existente:</para>
 
         <programlisting language="php"><![CDATA[
 $form = new My_Custom_Form();
@@ -384,8 +384,8 @@ array(
 );
 ]]></programlisting>
 
-        <para> Alternativamente, puede hacer un ligero retoque a su form de
-            inicialización: </para>
+       <para>Alternativamente, puede hacer un ligero retoque a su form de
+            inicialización:</para>
 
         <programlisting language="php"><![CDATA[
 class My_Custom_Form extends Zend_Form
@@ -399,10 +399,10 @@ class My_Custom_Form extends Zend_Form
 }
 ]]></programlisting>
 
-        <para> Por supuesto, si puede hacerlo... podría y debería simplemente
+       <para>Por supuesto, si puede hacerlo... podría y debería simplemente
             alterar la clase a heredar de <classname>Zend_Dojo_Form</classname>,
             que es una sustitución del drop-in de
                 <classname>Zend_Form</classname> que ya está habilitada por
-            Dojo.... </para>
+            Dojo....</para>
     </example>
 </sect2>

+ 18 - 18
documentation/manual/es/module_specs/Zend_Dojo-Form.xml

@@ -4,28 +4,28 @@
 <sect1 id="zend.dojo.form" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Elementos y Decoradores de Dojo Form</title>
 
-    <para> Sobre la base de los ayudantes de vista dijit <link
+   <para>Sobre la base de los ayudantes de vista dijit <link
             linkend="zend.dojo.view.dijit"/>, la familia de clases
             <classname>Zend_Dojo_Form</classname> ofrece la posibilidad de
-        utilizar Dijits nativamente en sus formularios. </para>
+        utilizar Dijits nativamente en sus formularios.</para>
 
-    <para> Hay tres opciones para utilizar los elementos de Dojo form con sus
-        formularios: </para>
+   <para>Hay tres opciones para utilizar los elementos de Dojo form con sus
+        formularios:</para>
 
     <itemizedlist>
         <listitem>
-            <para> Use <methodname>Zend_Dojo::enableForm()</methodname>. Esto le
+           <para>Use <methodname>Zend_Dojo::enableForm()</methodname>. Esto le
                 permitirá añadir recursivamente paths de plugins para
                 decoradores y elementos de todos los items de forms adjuntos.
                 Además, el objeto vista será habilitado para Dojo. Note, sin
                 embargo, que cualquier subformulario que agregue
                     <emphasis>después</emphasis> de esta llamada también tendrá
                 que ser pasado mediante
-                    <methodname>Zend_Dojo::enableForm()</methodname>. </para>
+                    <methodname>Zend_Dojo::enableForm()</methodname>.</para>
         </listitem>
 
         <listitem>
-            <para> Utilice las implementaciones específicas de Dojo para
+           <para>Utilice las implementaciones específicas de Dojo para
                 formularios y subformularios,
                     <classname>Zend_Dojo_Form</classname> y
                     <classname>Zend_Dojo_Form_SubForm</classname>
@@ -34,38 +34,38 @@
                     <classname>Zend_Form_SubForm</classname>, contener todos los
                 paths apropiados de los decoradores y elementos, establecer una
                 clase DisplayGroup por defecto específica, y habilitar la vista
-                para Dojo. </para>
+                para Dojo.</para>
         </listitem>
 
         <listitem>
-            <para> Por último, y lo más tedioso, puede establecer por sí mismo
+           <para>Por último, y lo más tedioso, puede establecer por sí mismo
                 el path apropiado para el decorador y para el elemento,
                 establecer por defecto la clase DisplayGroup, y habilitar la
                 vista para Dojo. Dado que
                     <methodname>Zend_Dojo::enableForm()</methodname> ya hizo
-                esto, hay pocas razones para seguir esta vía. </para>
+                esto, hay pocas razones para seguir esta vía.</para>
         </listitem>
     </itemizedlist>
 
     <example id="zend.dojo.form.enable">
         <title>Habilitando Dojo en sus formularios existentes</title>
 
-        <para> "Pero espere", podría decir; "Ya extendí
+       <para>"Pero espere", podría decir; "Ya extendí
                 <classname>Zend_Form</classname> con mi propia clase
-            personalizada de form! ¿Cómo puede habilitarlo para Dojo?" </para>
+            personalizada de form! ¿Cómo puede habilitarlo para Dojo?"</para>
 
-        <para> En primer lugar, y lo más fácil, simplemente cambie de extender
+       <para>En primer lugar, y lo más fácil, simplemente cambie de extender
                 <classname>Zend_Form</classname> a extender
                 <classname>Zend_Dojo_Form</classname>, y actualizar todos los
             lugares donde se instancie a
                 <classname>Zend_Form_SubForm</classname> para instanciar a
-                <classname>Zend_Dojo_Form_SubForm</classname>. </para>
+                <classname>Zend_Dojo_Form_SubForm</classname>.</para>
 
-        <para> Un segundo enfoque es llamar al método
+       <para>Un segundo enfoque es llamar al método
                 <methodname>init()</methodname> dentro de sus forms
             personalizados <methodname>Zend_Dojo::enableForm()</methodname>.
             Cuando la definición del formulario está completa, mediante un loop
-            habilite todos los SubForms de Dojo: </para>
+            habilite todos los SubForms de Dojo:</para>
 
         <programlisting language="php"><![CDATA[
 class My_Form_Custom extends Zend_Form
@@ -86,8 +86,8 @@ class My_Form_Custom extends Zend_Form
 ]]></programlisting>
     </example>
 
-    <para> El uso de los decoradores y elementos específicos de dijit form es
-        como usar cualquier otro decorador o elemento de formularios. </para>
+   <para>El uso de los decoradores y elementos específicos de dijit form es
+        como usar cualquier otro decorador o elemento de formularios.</para>
 
     <xi:include href="Zend_Dojo-Form-Decorators.xml"/>
     <xi:include href="Zend_Dojo-Form-Elements.xml"/>

+ 112 - 112
documentation/manual/es/module_specs/Zend_Dojo-View-Dojo.xml

@@ -4,54 +4,54 @@
 <sect2 id="zend.dojo.view.dojo">
     <title>dojo() Ayudante de Vista</title>
 
-    <para> El ayudante de vista <methodname>dojo()</methodname> está destinado a simplificar el
-        establecimiento del medio ambiente de Dojo, incluyendo las siguientes responsabilidades: </para>
+   <para>El ayudante de vista <methodname>dojo()</methodname> está destinado a simplificar el
+        establecimiento del medio ambiente de Dojo, incluyendo las siguientes responsabilidades:</para>
 
     <itemizedlist>
         <listitem>
-            <para>Especificar bien un CDN o un path local para instalar Dojo.</para>
+           <para>Especificar bien un CDN o un path local para instalar Dojo.</para>
         </listitem>
         <listitem>
-            <para> Especificando paths a módulos Dojo personalizados. </para>
+           <para>Especificando paths a módulos Dojo personalizados.</para>
         </listitem>
         <listitem>
-            <para> Especificando sentencias dojo.require. </para>
+           <para>Especificando sentencias dojo.require.</para>
         </listitem>
         <listitem>
-            <para> Especificando hojas de estilo dijit a usar. </para>
+           <para>Especificando hojas de estilo dijit a usar.</para>
         </listitem>
         <listitem>
-            <para> Especificando eventos dojo.addOnLoad(). </para>
+           <para>Especificando eventos dojo.addOnLoad().</para>
         </listitem>
     </itemizedlist>
 
-    <para> La implementación del ayudante de vista <methodname>dojo()</methodname> es un ejemplo de
+   <para>La implementación del ayudante de vista <methodname>dojo()</methodname> es un ejemplo de
         implementación de un marcador de posición. El conjunto de datos en él, persiste entre los
         objetos vista y puede ser directamente activado con en "echo" de <acronym>PHP</acronym>
-        desde su script. </para>
+        desde su script.</para>
 
     <example id="zend.dojo.view.dojo.usage">
         <title>dojo() Ejemplo de Uso del Ayudante de Vista</title>
 
-        <para> En este ejemplo, asumamos que el desarrollador estará usando Dojo desde un path
-            local, se necesitarán varios dijits, y se utilizará el tema de dijit Tundra. </para>
+       <para>En este ejemplo, asumamos que el desarrollador estará usando Dojo desde un path
+            local, se necesitarán varios dijits, y se utilizará el tema de dijit Tundra.</para>
 
-        <para> En muchas páginas, el desarrollador no podrá utilizar Dojo para nada. Así, vamos a
+       <para>En muchas páginas, el desarrollador no podrá utilizar Dojo para nada. Así, vamos a
             centrarnos primero en un view script donde Dojo es necesario y luego en el layout
             script, en donde vamos a configurar algo del medio ambiente de Dojo y luego lo
-            mostraremos. </para>
+            mostraremos.</para>
 
-        <para> En primer lugar, tenemos que decir nuestro objeto vista que utilice el path del
+       <para>En primer lugar, tenemos que decir nuestro objeto vista que utilice el path del
             ayudante de vista de Dojo. Esto puede hacerse en el arranque o en un plugin de ejecución
-            temprana; simplemente apoderarse de su objeto vista y ejecutar lo siguiente: </para>
+            temprana; simplemente apoderarse de su objeto vista y ejecutar lo siguiente:</para>
 
         <programlisting language="php"><![CDATA[
 $view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper');
 ]]></programlisting>
 
-        <para> El paso siguiente, el view script. En este caso, vamos a especificar que vamos a
+       <para>El paso siguiente, el view script. En este caso, vamos a especificar que vamos a
             estar utilizando un FilteringSelect -- que consumirá un almacén personalizado basado en
-            QueryReadStore, al que llamamos 'PairedStore' y almacenado en nuestro módulo 'custom'. </para>
+            QueryReadStore, al que llamamos 'PairedStore' y almacenado en nuestro módulo 'custom'.</para>
 
         <programlisting language="php"><![CDATA[
 <?php // establecer el data store para FilteringSelect ?>
@@ -71,8 +71,8 @@ $this->dojo()->enable()
              ->requireModule('custom.PairedStore'); ?>
 ]]></programlisting>
 
-        <para> En nuestro script de esquema, vamos entonces a comprobar si Dojo está habilitado, y
-            si es así, haremos algunas configuraciones más generales y lo ensamblaremos: </para>
+       <para>En nuestro script de esquema, vamos entonces a comprobar si Dojo está habilitado, y
+            si es así, haremos algunas configuraciones más generales y lo ensamblaremos:</para>
 
         <programlisting language="php"><![CDATA[
 <?php echo $this->doctype() ?>
@@ -97,60 +97,60 @@ $this->dojo()->enable()
 </html>
 ]]></programlisting>
 
-        <para> En este punto, sólo necesita asegurarse de que sus archivos están en el lugar
-            correcto y que ha creado el punto final de acción para su FilteringSelect! </para>
+       <para>En este punto, sólo necesita asegurarse de que sus archivos están en el lugar
+            correcto y que ha creado el punto final de acción para su FilteringSelect!</para>
     </example>
 
     <sect3 id="zend.dojo.view.dojo.declarative">
         <title>Uso Programático y Declarativo de Dojo</title>
 
-        <para> Dojo permite usar a ambos <emphasis>declarative</emphasis> y
+       <para>Dojo permite usar a ambos <emphasis>declarative</emphasis> y
                 <emphasis>programmatic</emphasis> en muchas de sus características. El uso de
                 <emphasis>Declarative</emphasis> utiliza elementos <acronym>HTML</acronym> con atributos no estándar
             que se parsean cuando la página se está cargado. Mientras que ésta es una sintaxis
             poderosa y simple de utilizar, para muchos desarrolladores esto puede causar problemas
-            con la validación de páginas. </para>
+            con la validación de páginas.</para>
 
-        <para> El uso de <emphasis>Programmatic</emphasis> permite al desarrollador decorar los
+       <para>El uso de <emphasis>Programmatic</emphasis> permite al desarrollador decorar los
             elementos existentes tirando de ellos por ID o selectores <acronym>CSS</acronym> y
             pasarlos a los constructores apropiados de objetos en Dojo. Debido a que no se usan
-            atributos <acronym>HTML</acronym> no standard, las páginas continúan con la validación. </para>
+            atributos <acronym>HTML</acronym> no standard, las páginas continúan con la validación.</para>
 
-        <para> En la práctica, ambos casos de uso permiten una degradación elegante cuando
+       <para>En la práctica, ambos casos de uso permiten una degradación elegante cuando
             javascript está desactivado o los diversos recursos de Dojo script están fuera de
             alcance. Para promover las normas y validación de documentos, Zend Framework hace uso de
             los usos programáticos por defecto; los diversos ayudantes de vista generarán javascript
             y lo empujan al ayudante de vista <methodname>dojo()</methodname> para su inclusión
-            cuando sean presentados. </para>
+            cuando sean presentados.</para>
 
-        <para> Utilizando esta técnica los desarrolladores pueden también desear explorar la
+       <para>Utilizando esta técnica los desarrolladores pueden también desear explorar la
             posibilidad de escribir sus propia decoración programática de la página. Uno de los
-            beneficios sería la posibilidad de especificar handlers para eventos dijit. </para>
+            beneficios sería la posibilidad de especificar handlers para eventos dijit.</para>
 
-        <para> Para permitir esto, así como la posibilidad de usar sintaxis declarativa, hay
+       <para>Para permitir esto, así como la posibilidad de usar sintaxis declarativa, hay
             disponibles una serie de métodos estáticos para establecer globamente este
-            comportamiento. </para>
+            comportamiento.</para>
 
         <example id="zend.dojo.view.dojo.declarative.usage">
             <title>Especificando el Uso Declarativo y Programático de Dojo</title>
 
-            <para> Para especificar el uso declarativo, simplemente llame al método estático
-                    <methodname>setUseDeclarative()</methodname>: </para>
+           <para>Para especificar el uso declarativo, simplemente llame al método estático
+                    <methodname>setUseDeclarative()</methodname>:</para>
 
             <programlisting language="php"><![CDATA[
 Zend_Dojo_View_Helper_Dojo::setUseDeclarative();
 ]]></programlisting>
 
-            <para> Si decide más bien utilizar el uso programático, llame al método estático
-                    <methodname>setUseProgrammatic()</methodname>: </para>
+           <para>Si decide más bien utilizar el uso programático, llame al método estático
+                    <methodname>setUseProgrammatic()</methodname>:</para>
 
             <programlisting language="php"><![CDATA[
 Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
 ]]></programlisting>
 
-            <para> Por último, si quiere crear sus propias normas programáticas, debe especificar el
+           <para>Por último, si quiere crear sus propias normas programáticas, debe especificar el
                 uso programático, pero al pasarle el valor '-1'; en esta situación, no se creará
-                ningún javascript para decorar cualquier dijit usado. </para>
+                ningún javascript para decorar cualquier dijit usado.</para>
 
             <programlisting language="php"><![CDATA[
 Zend_Dojo_View_Helper_Dojo::setUseProgrammatic(-1);
@@ -161,21 +161,21 @@ Zend_Dojo_View_Helper_Dojo::setUseProgrammatic(-1);
     <sect3 id="zend.dojo.view.dojo.themes">
         <title>Temas</title>
 
-        <para> Dojo permite la creación de los temas de su dijits (widgets). Puede seleccionar uno
-            pasándolo en un path de módulo: </para>
+       <para>Dojo permite la creación de los temas de su dijits (widgets). Puede seleccionar uno
+            pasándolo en un path de módulo:</para>
 
         <programlisting language="php"><![CDATA[
 $view->dojo()->addStylesheetModule('dijit.themes.tundra');
 ]]></programlisting>
 
-        <para> La ruta del módulo es descubierta por utilizar el carácter '.' como separador de
+       <para>La ruta del módulo es descubierta por utilizar el carácter '.' como separador de
             directorio y utilizando el último valor en la lista como el nombre del archivo
                 <acronym>CSS</acronym> en ese directorio del tema a usar; en el ejemplo de arriba,
-            Dojo buscará el tema en 'dijit/themes/tundra/tundra.css'. </para>
+            Dojo buscará el tema en 'dijit/themes/tundra/tundra.css'.</para>
 
-        <para> Cuando se utiliza un tema, es importante recordar pasar la calse del tema a, por lo
+       <para>Cuando se utiliza un tema, es importante recordar pasar la calse del tema a, por lo
             menos un contenedor rodeando cualquier dijits que se utilice; el caso de uso más común
-            es pasárselo en el body: </para>
+            es pasárselo en el body:</para>
 
         <programlisting language="html"><![CDATA[
 <body class="tundra">
@@ -185,183 +185,183 @@ $view->dojo()->addStylesheetModule('dijit.themes.tundra');
     <sect3 id="zend.dojo.view.dojo.layers">
         <title>Usando Layers (Construcciones Personalizadas)</title>
 
-        <para> Por defecto, cuando utilice uns sentencia dojo.require, dojo hará una solicitud de
+       <para>Por defecto, cuando utilice uns sentencia dojo.require, dojo hará una solicitud de
             retorno al servidor para agarrar al archivo javascript apropiado. Si hay muchos dijits
-            en el lugar, esto se traduce en muchas peticiones al servidor -- lo que no es óptimo. </para>
+            en el lugar, esto se traduce en muchas peticiones al servidor -- lo que no es óptimo.</para>
 
-        <para> La respuesta de Dojo a esto es proporcionar la capacidad de crear <emphasis>custom
+       <para>La respuesta de Dojo a esto es proporcionar la capacidad de crear <emphasis>custom
                 builds (construcciones personalizadas</emphasis>. Las contrucciones hacen varias
-            cosas: </para>
+            cosas:</para>
 
         <itemizedlist>
             <listitem>
-                <para> Grupos de archivos necesarios en <emphasis>layers</emphasis>; una capa
+               <para>Grupos de archivos necesarios en <emphasis>layers</emphasis>; una capa
                     (layer) agrupa a todos archivos necesarios en un único archivo JS. (De ahí el
-                    nombre de esta sección.) </para>
+                    nombre de esta sección.)</para>
             </listitem>
 
             <listitem>
-                <para> "Interns" no son archivos javascript usados por dijits (típicamente, archivos
+               <para>"Interns" no son archivos javascript usados por dijits (típicamente, archivos
                     de plantilla). También están agrupados en el mismo archivo JS como la capa.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
-                <para> Pasa el archivo a través de ShrinkSafe, que elimina espacios en blanco y
-                    comentarios, así como acorta nombres de variables. </para>
+               <para>Pasa el archivo a través de ShrinkSafe, que elimina espacios en blanco y
+                    comentarios, así como acorta nombres de variables.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Algunos archivos pueden no ser superpuestos, pero el proceso creará una versión
+       <para>Algunos archivos pueden no ser superpuestos, pero el proceso creará una versión
             especial del directorio con la archivo capa y todos los otros archivos. Esto le permite
-            tener una distribución reducida adaptada a su sitio o necesidades de aplicación. </para>
+            tener una distribución reducida adaptada a su sitio o necesidades de aplicación.</para>
 
-        <para> Para usar una capa, el ayudante de vista <methodname>dojo()</methodname> tiene el
-            método <methodname>addLayer()</methodname> para añadir paths de capas requeridas: </para>
+       <para>Para usar una capa, el ayudante de vista <methodname>dojo()</methodname> tiene el
+            método <methodname>addLayer()</methodname> para añadir paths de capas requeridas:</para>
 
         <programlisting language="html"><![CDATA[
 $view->dojo()->addLayer('/js/foo/foo.js');
 ]]></programlisting>
 
-        <para> Para más información sobre la creación de construcciones personalizadas, por favor
+       <para>Para más información sobre la creación de construcciones personalizadas, por favor
                 <ulink
                 url="http://dojotoolkit.org/book/dojo-book-0-9/part-4-meta-dojo/package-system-and-custom-builds"
-                > consulte la docuemntación de Build de Dojo</ulink>. </para>
+                > consulte la docuemntación de Build de Dojo</ulink>.</para>
     </sect3>
 
     <sect3 id="zend.dojo.view.dojo.methods">
         <title>Métodos Disponibles</title>
 
-        <para> El ayudante de vista <methodname>dojo()</methodname> siempre devuelve una instancia
+       <para>El ayudante de vista <methodname>dojo()</methodname> siempre devuelve una instancia
             del contenedor del marcador de posición dojo. Ese objeto contenedor dispone de los
-            siguientes métodos: </para>
+            siguientes métodos:</para>
 
         <itemizedlist>
             <listitem>
-                <para><methodname>setView(Zend_View_Interface $view)</methodname>: establecer una
-                    instancia de vista en el contenedor. </para>
+               <para><methodname>setView(Zend_View_Interface $view)</methodname>: establecer una
+                    instancia de vista en el contenedor.</para>
             </listitem>
             <listitem>
-                <para><methodname>enable()</methodname>: habilitar explícitamente la integración de
+               <para><methodname>enable()</methodname>: habilitar explícitamente la integración de
                     Dojo.</para>
             </listitem>
             <listitem>
-                <para><methodname>disable()</methodname>: deshabilitar la integración de
+               <para><methodname>disable()</methodname>: deshabilitar la integración de
                     Dojo.</para>
             </listitem>
             <listitem>
-                <para><methodname>isEnabled()</methodname>: determinar cuándo la integración de Dojo
+               <para><methodname>isEnabled()</methodname>: determinar cuándo la integración de Dojo
                     está habilitada o no.</para>
             </listitem>
             <listitem>
-                <para><methodname>requireModule($module)</methodname>: establecer una sentencia
+               <para><methodname>requireModule($module)</methodname>: establecer una sentencia
                         <methodname>dojo.require</methodname></para>
             </listitem>
             <listitem>
-                <para><methodname>getModules()</methodname>: determinar qué módulos han sido
+               <para><methodname>getModules()</methodname>: determinar qué módulos han sido
                     requeridos.</para>
             </listitem>
             <listitem>
-                <para><methodname>registerModulePath($module, $path)</methodname>: registrar un path
-                    de un módulo personalizado de Dojo. </para>
+               <para><methodname>registerModulePath($module, $path)</methodname>: registrar un path
+                    de un módulo personalizado de Dojo.</para>
             </listitem>
             <listitem>
-                <para><methodname>getModulePaths()</methodname>: obtener la lista de los paths de
+               <para><methodname>getModulePaths()</methodname>: obtener la lista de los paths de
                     módulos registrados.</para>
             </listitem>
             <listitem>
-                <para><methodname>addLayer($path)</methodname>: añadir una capa (construcción
-                    personalizada) del path a utilizar. </para>
+               <para><methodname>addLayer($path)</methodname>: añadir una capa (construcción
+                    personalizada) del path a utilizar.</para>
             </listitem>
             <listitem>
-                <para><methodname>getLayers()</methodname>: conseguir una lista de todos los paths
-                    de capas registrados (construcción personalizada). </para>
+               <para><methodname>getLayers()</methodname>: conseguir una lista de todos los paths
+                    de capas registrados (construcción personalizada).</para>
             </listitem>
             <listitem>
-                <para><methodname>removeLayer($path)</methodname>: eliminar la capa que concuerde
+               <para><methodname>removeLayer($path)</methodname>: eliminar la capa que concuerde
                     con <methodname>$path</methodname> de la lista de capas registradas
                     (construcción personalizada).</para>
             </listitem>
             <listitem>
-                <para><methodname>setCdnBase($url)</methodname>: establecer la URL base para un CDN;
+               <para><methodname>setCdnBase($url)</methodname>: establecer la URL base para un CDN;
                     típicamente, una de las <classname>Zend_Dojo::CDN_BASE_AOL</classname> o
                         <classname>Zend_Dojo::CDN_BASE_GOOGLE</classname>, pero sólo necesita ser el
-                    string del URL antes del número de versión. </para>
+                    string del URL antes del número de versión.</para>
             </listitem>
             <listitem>
-                <para><methodname>getCdnBase()</methodname>: recuperar el CDN de la url base a
+               <para><methodname>getCdnBase()</methodname>: recuperar el CDN de la url base a
                     utilizar.</para>
             </listitem>
             <listitem>
-                <para><methodname>setCdnVersion($version = null)</methodname>: establecer cuál es la
-                    versión de Dojo a utilizar desde el CDN. </para>
+               <para><methodname>setCdnVersion($version = null)</methodname>: establecer cuál es la
+                    versión de Dojo a utilizar desde el CDN.</para>
             </listitem>
             <listitem>
-                <para><methodname>getCdnVersion()</methodname>: recuperar que versión de Dojo será
+               <para><methodname>getCdnVersion()</methodname>: recuperar que versión de Dojo será
                     utilizada desde el CDN.</para>
             </listitem>
             <listitem>
-                <para><methodname>setCdnDojoPath($path)</methodname>: establecer el path relativo a
+               <para><methodname>setCdnDojoPath($path)</methodname>: establecer el path relativo a
                     un archivo dojo.js o dojo.xd.js sobre un CDN; típicamente, uno de los
                     <constant>Zend_Dojo::CDN_DOJO_PATH_AOL</constant> o
                     <constant>Zend_Dojo::CDN_DOJO_PATH_GOOGLE</constant>, pero sólo debe ser
                     el string del path detrás del número de versión.</para>
             </listitem>
             <listitem>
-                <para><methodname>getCdnDojoPath()</methodname>: recuperar el último segmento del
+               <para><methodname>getCdnDojoPath()</methodname>: recuperar el último segmento del
                     path del CDN de la url apuntando al archivo dojo.js.</para>
             </listitem>
             <listitem>
-                <para><methodname>useCdn()</methodname>: decirle al contenedor que utilice el CDN;
-                    implícitamente permite integración. </para>
+               <para><methodname>useCdn()</methodname>: decirle al contenedor que utilice el CDN;
+                    implícitamente permite integración.</para>
             </listitem>
             <listitem>
-                <para><methodname>setLocalPath($path)</methodname>: decirle al contenedor el path a
+               <para><methodname>setLocalPath($path)</methodname>: decirle al contenedor el path a
                     una instalación local de Dojo (deberá ser una ruta relativa al servidor, y
-                    contener el propio archivo dojo.js); implícitamente permite integración. </para>
+                    contener el propio archivo dojo.js); implícitamente permite integración.</para>
             </listitem>
             <listitem>
-                <para><methodname>getLocalPath()</methodname>: determinar qué ruta local a Dojo está
+               <para><methodname>getLocalPath()</methodname>: determinar qué ruta local a Dojo está
                     siendo utilizada.</para>
             </listitem>
             <listitem>
-                <para><methodname>useLocalPath()</methodname>: ¿la integración está utilizando un
+               <para><methodname>useLocalPath()</methodname>: ¿la integración está utilizando un
                     path local de Dojo?</para>
             </listitem>
             <listitem>
-                <para><methodname>setDjConfig(array $config)</methodname>: conjunto de valores de
+               <para><methodname>setDjConfig(array $config)</methodname>: conjunto de valores de
                     configuración dojo/dijit (espera un array asociativo).</para>
             </listitem>
             <listitem>
-                <para><methodname>setDjConfigOption($option, $value)</methodname>: establecer un
-                    único valor de configuración para dojo/dijit. </para>
+               <para><methodname>setDjConfigOption($option, $value)</methodname>: establecer un
+                    único valor de configuración para dojo/dijit.</para>
             </listitem>
             <listitem>
-                <para><methodname>getDjConfig()</methodname>: obtener todos los valores de
+               <para><methodname>getDjConfig()</methodname>: obtener todos los valores de
                     configuración de dojo/dijit.</para>
             </listitem>
             <listitem>
-                <para><methodname>getDjConfigOption($option, $default = null)</methodname>:
+               <para><methodname>getDjConfigOption($option, $default = null)</methodname>:
                     conseguir un único valor de configuración de dojo/dijit.</para>
             </listitem>
             <listitem>
-                <para><methodname>addStylesheetModule($module)</methodname>: agregar una hoja de
-                    estilo sobre la base del tema de un módulo. </para>
+               <para><methodname>addStylesheetModule($module)</methodname>: agregar una hoja de
+                    estilo sobre la base del tema de un módulo.</para>
             </listitem>
             <listitem>
-                <para><methodname>getStylesheetModules()</methodname>: obtener hojas de estilo
-                    registradas como temas de módulos. </para>
+               <para><methodname>getStylesheetModules()</methodname>: obtener hojas de estilo
+                    registradas como temas de módulos.</para>
             </listitem>
             <listitem>
-                <para><methodname>addStylesheet($path)</methodname>: agregar una hoja de estilo
+               <para><methodname>addStylesheet($path)</methodname>: agregar una hoja de estilo
                     local para su uso con Dojo.</para>
             </listitem>
             <listitem>
-                <para><methodname>getStylesheets()</methodname>: obtener hojas de estilo locales
+               <para><methodname>getStylesheets()</methodname>: obtener hojas de estilo locales
                     Dojo.</para>
             </listitem>
             <listitem>
-                <para><methodname>addOnLoad($spec, $function = null)</methodname>: agregar un lambda
+               <para><methodname>addOnLoad($spec, $function = null)</methodname>: agregar un lambda
                     para dojo.onLoad para llamadas. Si se pasa un argumento, se supone que que puede
                     ser tanto el nombre de una función o dar por terminado javascript. Si se pasan
                     dos argumentos, el primero se supone que es el nombre de la variable de la
@@ -369,36 +369,36 @@ $view->dojo()->addLayer('/js/foo/foo.js');
                     un cierre a utilizar con ese objeto.</para>
             </listitem>
             <listitem>
-                <para><methodname>prependOnLoad($spec, $function = null)</methodname>: exactamente
+               <para><methodname>prependOnLoad($spec, $function = null)</methodname>: exactamente
                     como <methodname>addOnLoad()</methodname>, excluyendo agregar al principio el
-                    comienzo de onLoad stack. </para>
+                    comienzo de onLoad stack.</para>
             </listitem>
             <listitem>
-                <para><methodname>getOnLoadActions()</methodname>: recuperar todas las acciones
+               <para><methodname>getOnLoadActions()</methodname>: recuperar todas las acciones
                     dojo.onLoad registradas con el contenedor. Esto será un array de arrays.</para>
             </listitem>
             <listitem>
-                <para><methodname>onLoadCaptureStart($obj = null)</methodname>: capturar los datos
+               <para><methodname>onLoadCaptureStart($obj = null)</methodname>: capturar los datos
                     que se utilizarán como lambda para dojo.onLoad(). Si se provee $obj, los códigos
                     JS capturados serán considerados un cierre a utilizar con ese objeto
                     Javascript.</para>
             </listitem>
             <listitem>
-                <para><methodname>onLoadCaptureEnd($obj = null)</methodname>: finalizar la captura
-                    de datos para su uso con dojo.onLoad(). </para>
+               <para><methodname>onLoadCaptureEnd($obj = null)</methodname>: finalizar la captura
+                    de datos para su uso con dojo.onLoad().</para>
             </listitem>
             <listitem>
-                <para><methodname>javascriptCaptureStart()</methodname>: captura javascript
+               <para><methodname>javascriptCaptureStart()</methodname>: captura javascript
                     arbitrario para ser incluido en Dojo JS (onLoad, require, etc.
                     statements).</para>
             </listitem>
             <listitem>
-                <para><methodname>javascriptCaptureEnd()</methodname>: finalizar la captura de
+               <para><methodname>javascriptCaptureEnd()</methodname>: finalizar la captura de
                     javascript.</para>
             </listitem>
             <listitem>
-                <para><methodname>__toString()</methodname>: emitir el contenedor a un string;
-                    muestra todo el estilo <acronym>HTML</acronym> y elementos del script. </para>
+               <para><methodname>__toString()</methodname>: emitir el contenedor a un string;
+                    muestra todo el estilo <acronym>HTML</acronym> y elementos del script.</para>
             </listitem>
         </itemizedlist>
     </sect3>

File diff suppressed because it is too large
+ 191 - 191
documentation/manual/es/module_specs/Zend_Dojo-View-Helpers.xml


+ 6 - 6
documentation/manual/es/module_specs/Zend_Dojo-View.xml

@@ -4,7 +4,7 @@
 <sect1 id="zend.dojo.view" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Ayudantes de Dojo View</title>
 
-    <para> Zend Framework provee los siguientes ayudantes específicos de Dojo: </para>
+    <para>Zend Framework provee los siguientes ayudantes específicos de Dojo:</para>
 
     <itemizedlist>
         <listitem>
@@ -12,22 +12,22 @@
                 <emphasis>dojo():</emphasis> configura el medio ambiente de Dojo para su página,
                 incluyendo valores de configuración de Dojo, paths de módulos personalizados,
                 sentencias de requerimientos de módulos, temas de hojas de estilo, uso de CDN, y
-                más. </para>
+                más.</para>
         </listitem>
     </itemizedlist>
 
     <example id="zend.dojo.view.setup">
         <title>Usando los Ayudantes de Dojo View</title>
 
-        <para> Para utilizar los ayudantes de vista de Dojo, necesitará decirle a un objeto vista
-            dónde encontrarlos. Puede hacerlo llamando a <methodname>addHelperPath()</methodname>: </para>
+        <para>Para utilizar los ayudantes de vista de Dojo, necesitará decirle a un objeto vista
+            dónde encontrarlos. Puede hacerlo llamando a <methodname>addHelperPath()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 $view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper');
 ]]></programlisting>
 
-        <para> Alternativamente, puede usar el método de <classname>Zend_Dojo</classname>
-            <methodname>enableView()</methodname> para que haga el trabajo por usted: </para>
+        <para>Alternativamente, puede usar el método de <classname>Zend_Dojo</classname>
+            <methodname>enableView()</methodname> para que haga el trabajo por usted:</para>
 
         <programlisting language="php"><![CDATA[
 Zend_Dojo::enableView($view);

+ 4 - 4
documentation/manual/es/module_specs/Zend_Dojo.xml

@@ -4,9 +4,9 @@
 <sect1 id="zend.dojo.introduction">
     <title>Introducción</title>
 
-    <para> Zend Framework trae incorporado <ulink url="http://dojotoolkit.org">Dojo Toolkit</ulink>
+    <para>Zend Framework trae incorporado <ulink url="http://dojotoolkit.org">Dojo Toolkit</ulink>
         para brindar apoyo out-of-the-box al desarrollo de aplicaciones "ricas de internet". Los
-        puntos de integración con Dojo incluyen: </para>
+        puntos de integración con Dojo incluyen:</para>
 
     <itemizedlist>
         <listitem>
@@ -26,12 +26,12 @@
         </listitem>
     </itemizedlist>
 
-    <para> La propia distribución de Dojo puede encontrarse en el directorio
+    <para>La propia distribución de Dojo puede encontrarse en el directorio
         <filename>externals/dojo/</filename> de la distribución de Zend Framework. Esta es
         una distribución fuente, que incluye completamente los fuentes javascript de Dojo, unidades
         de pruebas, y constructores de herramientas. Puede hacer un symlink a su directorio
         javascript, copiarlo, o utilizarlo como herramienta para crear sus propias construcciones
         personalizadas a fin de incluirlas en su proyecto. Alternativamente, puede usar una de las
         Content Delivery Networks que ofrece Dojo (Zend Framework apoya tanto el AOL CDN oficial así como el
-        Google CDN). </para>
+        Google CDN).</para>
 </sect1>

+ 1 - 1
documentation/manual/es/module_specs/Zend_Dom.xml

@@ -9,7 +9,7 @@
         estructuras DOM. Actualmente, ofrecemos <classname>Zend_Dom_Query</classname>, el cual
         provee una interfaz unificada para consultar documentos DOM utilizando selectores
         XPath y <acronym>CSS</acronym>.
-    </para>
+   </para>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 4 - 4
documentation/manual/es/module_specs/Zend_Exception.xml

@@ -12,8 +12,8 @@
 
     <example id="zend.exception.using.example">
         <title>Capturando una Excepcion</title>
-        <para> 
-		El siguiente  listado de código muestra cómo capturar una excepción
+        <para>
+        El siguiente  listado de código muestra cómo capturar una excepción
             lanzado en Zend Framework:</para>
         <programlisting language="php"><![CDATA[
 try {
@@ -31,9 +31,9 @@ try {
         <classname>Zend_Exception</classname> can be used as a catch-all
         exception class in a catch block to trap all exceptions thrown by Zend
         Framework classes. This can be useful when the program can not recover
-        by catching a specific exception type. </para>
+        by catching a specific exception type.</para>
 
-<para> La documentación de cada componente  y clase de Zend Framework 
+<para>La documentación de cada componente  y clase de Zend Framework
         contienen información específica sobre los métodos que generan excepciones, la
         circunstancias en que provocan una excepción a ser lanzado,
 y los diferentes tipos de excepción que puede ser lanzadas. </ para>

+ 27 - 27
documentation/manual/es/module_specs/Zend_Filter.xml

@@ -5,19 +5,19 @@
 
     <title>Introducción</title>
 
-    <para> El componente <classname>Zend_Filter</classname> proporciona un conjunto de filtros de
+    <para>El componente <classname>Zend_Filter</classname> proporciona un conjunto de filtros de
         datos comúnmente necesarios. También proporciona un sencillo mecanismo de encadenar varios
-        filtros que se puedan aplicar a un solo dato en un orden definido por el usuario. </para>
+        filtros que se puedan aplicar a un solo dato en un orden definido por el usuario.</para>
 
     <sect2 id="zend.filter.introduction.definition">
         <title>¿Qué es un filtro?</title>
-        <para> En el mundo físico, un filtro se suele utilizar para eliminar partes no deseadas de
+        <para>En el mundo físico, un filtro se suele utilizar para eliminar partes no deseadas de
             lo ingresado, y la vez lo ingresado pasa a través de un filtro de salida (por ejemplo,
             el café). En este caso, un filtro es un operador que devuelve una parte de los datos de
             entrada. Este tipo de filtro es útil para aplicaciones web, para la supresión de
             entradas ilegales y/o que no se ajustan, eliminación de los espacios en blanco
-            innecesarios, etc </para>
-        <para> This basic definition of a filter may be extended to include generalized
+            innecesarios, etc</para>
+        <para>This basic definition of a filter may be extended to include generalized
             transformations upon input. A common transformation applied in web applications is the
             escaping of <acronym>HTML</acronym> entities. For example, if a form field is automatically populated with
             untrusted input (e.g., from a web browser), this value should either be free of <acronym>HTML</acronym>
@@ -30,7 +30,7 @@
                 "<code>&amp;</code>" is transformed to "<code>&amp;amp;</code>"). Supporting
             such use cases for web developers is important, and "to filter," in the context of using
                 <classname>Zend_Filter</classname>, means to perform some transformations upon input
-            data. </para> Esta definición básica de un filtro puede ser extendido para incluir
+            data.</para> Esta definición básica de un filtro puede ser extendido para incluir
         transformaciones generalizadas sobre la entrada. Una transformación común requerida en las
         aplicaciones web es la de escapar las entidades <acronym>HTML</acronym>. Por ejemplo, si un campo del
         formulario es completado automáticamente y contiene datos no verificados (por ejemplo, datos
@@ -51,18 +51,18 @@
 
         <title>Uso básico de los filtros</title>
 
-        <para> Having this filter definition established provides the foundation for
+        <para>Having this filter definition established provides the foundation for
                 <classname>Zend_Filter_Interface</classname>, which requires a single method named
-                <methodname>filter()</methodname> to be implemented by a filter class. </para>
+                <methodname>filter()</methodname> to be implemented by a filter class.</para>
 
-        <para> Following is a basic example of using a filter upon two input data, the ampersand
+        <para>Following is a basic example of using a filter upon two input data, the ampersand
                 (<code>&amp;</code>) and double quote (<code>&quot;</code>) characters: <programlisting language="php"><![CDATA[
 $htmlEntities = new Zend_Filter_HtmlEntities();
 
 echo $htmlEntities->filter('&'); // &amp;
 echo $htmlEntities->filter('"'); // &quot;
 ]]></programlisting>
-        </para>
+       </para>
 
     </sect2>
 
@@ -70,7 +70,7 @@ echo $htmlEntities->filter('"'); // &quot;
 
         <title> Usando el método estático staticFilter()</title>
 
-        <para> If it is inconvenient to load a given filter class and create an instance of the
+        <para>If it is inconvenient to load a given filter class and create an instance of the
             filter, you can use the static method
                 <methodname>Zend_Filter::filterStatic()</methodname> as an alternative invocation
             style. The first argument of this method is a data input value, that you would pass to
@@ -81,30 +81,30 @@ echo $htmlEntities->filter('"'); // &quot;
             data input. <programlisting language="php"><![CDATA[
 echo Zend_Filter::filterStatic('&', 'HtmlEntities');
 ]]></programlisting>
-        </para>
+       </para>
 
-        <para> You can also pass an array of constructor arguments, if they are needed for the
+        <para>You can also pass an array of constructor arguments, if they are needed for the
             filter class. <programlisting language="php"><![CDATA[
 echo Zend_Filter::filterStatic('"', 'HtmlEntities', array(ENT_QUOTES));
 ]]></programlisting>
-        </para>
+       </para>
 
-        <para> The static usage can be convenient for invoking a filter ad hoc, but if you have the
+        <para>The static usage can be convenient for invoking a filter ad hoc, but if you have the
             need to run a filter for multiple inputs, it's more efficient to follow the first
             example above, creating an instance of the filter object and calling its
-                <methodname>filter()</methodname> method. </para>
+                <methodname>filter()</methodname> method.</para>
 
-        <para> Also, the <classname>Zend_Filter_Input</classname> class allows you to instantiate
+        <para>Also, the <classname>Zend_Filter_Input</classname> class allows you to instantiate
             and run multiple filter and validator classes on demand to process sets of input data.
-            See <xref linkend="zend.filter.input"/>. </para>
+            See <xref linkend="zend.filter.input"/>.</para>
 
         <sect3 id="zend.filter.introduction.static.namespaces">
 
             <title>Namespaces</title>
 
-            <para> When working with self defined filters you can give a forth parameter to
+            <para>When working with self defined filters you can give a forth parameter to
                     <methodname>Zend_Filter::filterStatic()</methodname> which is the namespace
-                where your filter can be found. </para>
+                where your filter can be found.</para>
 
             <programlisting language="php"><![CDATA[
 echo Zend_Filter::filterStatic(
@@ -119,7 +119,7 @@ echo Zend_Filter::filterStatic(
                 <classname>Zend_Filter</classname> allows also to set namespaces as default. This
                 means that you can set them once in your bootstrap and have not to give them again
                 for each call of <methodname>Zend_Filter::filterStatic()</methodname>. The following
-                code snippet is identical to the above one. </para>
+                code snippet is identical to the above one.</para>
 
             <programlisting language="php"><![CDATA[
 Zend_Filter::setDefaultNamespaces(array('FirstNamespace', 'SecondNamespace'));
@@ -127,15 +127,15 @@ echo Zend_Filter::filterStatic('"', 'MyFilter', array($parameters));
 echo Zend_Filter::filterStatic('"', 'OtherFilter', array($parameters));
 ]]></programlisting>
 
-            <para> For your convinience there are following methods which allow the handling of
-                namespaces: </para>
+            <para>For your convinience there are following methods which allow the handling of
+                namespaces:</para>
 
             <itemizedlist>
                 <listitem>
                     <para>
                         <emphasis>
                             <methodname>Zend_Filter::getDefaultNamespaces()</methodname>
-                        </emphasis>: Returns all set default namespaces as array. </para>
+                        </emphasis>: Returns all set default namespaces as array.</para>
                 </listitem>
 
                 <listitem>
@@ -144,7 +144,7 @@ echo Zend_Filter::filterStatic('"', 'OtherFilter', array($parameters));
                             <methodname>Zend_Filter::setDefaultNamespaces()</methodname>
                         </emphasis>: Sets new default namespaces and overrides any previous set. It
                         accepts eighter a string for a single namespace of an array for multiple
-                        namespaces. </para>
+                        namespaces.</para>
                 </listitem>
 
                 <listitem>
@@ -153,7 +153,7 @@ echo Zend_Filter::filterStatic('"', 'OtherFilter', array($parameters));
                             <methodname>Zend_Filter::addDefaultNamespaces()</methodname>
                         </emphasis>: Adds additional namespaces to already set ones. It accepts
                         eighter a string for a single namespace of an array for multiple namespaces.
-                    </para>
+                   </para>
                 </listitem>
 
                 <listitem>
@@ -161,7 +161,7 @@ echo Zend_Filter::filterStatic('"', 'OtherFilter', array($parameters));
                         <emphasis>
                             <methodname>Zend_Filter::hasDefaultNamespaces()</methodname>
                         </emphasis>: Returns true when one or more default namespaces are set, and
-                        false when no default namespaces are set. </para>
+                        false when no default namespaces are set.</para>
                 </listitem>
             </itemizedlist>
         </sect3>

+ 45 - 45
documentation/manual/es/module_specs/Zend_Form-Advanced.xml

@@ -7,18 +7,18 @@
     <para>
         <classname>Zend_Form</classname> tiene una funcional riqueza, muchas de
         ellas dirigidas a expertos desarroladores. Este capítulo esta dirigido a
-        documentar algunas de las funcionalidades con ejemplos y casos de uso. </para>
+        documentar algunas de las funcionalidades con ejemplos y casos de uso.</para>
 
     <sect2 id="zend.form.advanced.arrayNotation">
         <title>Notación de array</title>
 
-        <para> A muchos desarroladores web experimentados les gusta agrupar
+        <para>A muchos desarroladores web experimentados les gusta agrupar
             elementos relacionados de formulario usando notación de array en los
             nombres del elemento. Por ejemplo, si se tienen dos direcciones que
             se desean capturar, un envío y una dirección de facturación, se
             pueden tener elementos idénticos; agrupándolos en un array se puede
             asegurar que son capturados por separado. Nótese el siguiente
-            formulario por ejemplo: </para>
+            formulario por ejemplo:</para>
 
         <programlisting language="html"><![CDATA[
 <form>
@@ -72,10 +72,10 @@
 </form>
 ]]></programlisting>
 
-        <para> En este ejemplo, la facturación y la dirección de envío contienen
+        <para>En este ejemplo, la facturación y la dirección de envío contienen
             algunos campos idénticos, eso significa que uno puede sobrescribir
             al otro. Nosotros podemos resolver esta solución usando una notación
-            de array: </para>
+            de array:</para>
 
         <programlisting language="html"><![CDATA[
 <form>
@@ -139,10 +139,10 @@
 </form>
 ]]></programlisting>
 
-        <para> En el ejemplo anterior, obtenemos direcciones separadas. En el
+        <para>En el ejemplo anterior, obtenemos direcciones separadas. En el
             formulario sometido, ahora tenemos tres elementos, 'guardar'
             elemento para someterlo, y dos arrays, 'envio' y 'cuenta', cada uno
-            con llaves para los variados elementos. </para>
+            con llaves para los variados elementos.</para>
 
         <para>
             <classname>Zend_Form</classname> intenta automatizar este proceso
@@ -158,12 +158,12 @@
             respetan la estructura del array, asegurando que sus formularios
             sean validados correctamente, no importa cuan arbitrariamente
             anidados esten los subformularios. No se necesita hacer nada para
-            beneficiarse; éste comportamiento esta activo por defecto. </para>
+            beneficiarse; éste comportamiento esta activo por defecto.</para>
 
-        <para> Adicionalmente, existen facilidades que le permiten activar
+        <para>Adicionalmente, existen facilidades que le permiten activar
             condicionalmente la notación de un array, así como también
             especificar el específico array al cual un elemento o coleccion
-            pertenece: </para>
+            pertenece:</para>
 
         <itemizedlist>
             <listitem>
@@ -177,11 +177,11 @@
                     llamado. Si el formulario no tiene un nombre específico, o
                     si <methodname>setElementsBelongTo()</methodname> no ha sido
                     definido, esta bandera será ignorada (como cuando no hay
-                    nombre del array al cual los elementos puedan pertenecer). </para>
+                    nombre del array al cual los elementos puedan pertenecer).</para>
 
-                <para> Se deberá determinar si un formulario está siendo tratado
+                <para>Se deberá determinar si un formulario está siendo tratado
                     como un array usando el accesor
-                        <methodname>isArray()</methodname>. </para>
+                        <methodname>isArray()</methodname>.</para>
             </listitem>
 
             <listitem>
@@ -190,43 +190,43 @@
                     Usando este método, se puede especificar el nombre de un
                     array al cual todos los elementos del formulario pertenecen.
                     Se puede determinar el nombre usando el accesor
-                        <methodname>getElementsBelongTo()</methodname>. </para>
+                        <methodname>getElementsBelongTo()</methodname>.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Adicionalmente, a nivel del elemento, se pueden especificar
+        <para>Adicionalmente, a nivel del elemento, se pueden especificar
             elementos individuales que puedan pertenecer a arrays particulares
             usando el método
                 <methodname>Zend_Form_Element::setBelongsTo()</methodname>. Para
             descubrir el valor que tiene -- sea o no sea definido explícitamente
             o implícitamente a través del formulario -- se puede usar el accesor
-                <methodname>getBelongsTo()</methodname>. </para>
+                <methodname>getBelongsTo()</methodname>.</para>
     </sect2>
 
     <sect2 id="zend.form.advanced.multiPage">
         <title>Formularios Multi-Página</title>
 
-        <para> Actualmente, los formularios multi-página no están oficialmente
+        <para>Actualmente, los formularios multi-página no están oficialmente
             soportados en <classname>Zend_Form</classname>; sin embargo, la
             mayoría del soporte para implementarlos está disponible y puede ser
-            utilizado con algunos retoques. </para>
+            utilizado con algunos retoques.</para>
 
-        <para> La clave para crear fomrularios multi-página es utilizar
+        <para>La clave para crear fomrularios multi-página es utilizar
             subformularios, pero solo para mostrar un solo subformulario por
             página. Esto le permite someter un solo subformulario a la vez y
             validarlo, pero no procesar el formulario hasta que todos los
-            subformularios esten completos. </para>
+            subformularios esten completos.</para>
 
         <example id="zend.form.advanced.multiPage.registration">
             <title>Ejemplo de formulario de registro</title>
-            <para> Vamos a usar un formulario de registro como ejemplo. Para
+            <para>Vamos a usar un formulario de registro como ejemplo. Para
                 nuestros propósitos, queremos capturar el nombre del usuario y
                 la contraseña en la primera página, después la información del
                 usuario -- nombre, apellido, y ubicación -- y finalmente
-                permitirles decidir qué lista de correo, si desean suscribirse. </para>
+                permitirles decidir qué lista de correo, si desean suscribirse.</para>
 
-            <para> Primero, vamos a crear nuestro propio formulario, y definir
-                varios subformularios dentro del mismo: </para>
+            <para>Primero, vamos a crear nuestro propio formulario, y definir
+                varios subformularios dentro del mismo:</para>
 
             <programlisting language="php"><![CDATA[
 class My_Form_Registration extends Zend_Form
@@ -329,14 +329,14 @@ class My_Form_Registration extends Zend_Form
 }
 ]]></programlisting>
 
-            <para> Note que no hay botones de enviar, y que ni hemos hecho nada
+            <para>Note que no hay botones de enviar, y que ni hemos hecho nada
                 con los decoradores de subformularios -- lo que significa que
                 por defecto serán desplegados como campos. Necesitaremos hacer
                 algo con ellos mientras desplegamos cada subformulario
                 individualmente, y añadir botones de manera que podamos
                 procesarlos realmente -- el cual requerira las propiedades
                 acción y método. Vamos a añadir algunos andamios a nuestras
-                clases para proveer esa información: </para>
+                clases para proveer esa información:</para>
 
             <programlisting language="php"><![CDATA[
 class My_Form_Registration extends Zend_Form
@@ -416,7 +416,7 @@ class My_Form_Registration extends Zend_Form
 }
 ]]></programlisting>
 
-            <para> Siguiente, necesitamos añadir andamios a nuestro action
+            <para>Siguiente, necesitamos añadir andamios a nuestro action
                 controller, y tener varias consideraciones. Primero, necesitamos
                 asegurar que persiste la información del formulario entre los
                 requerimientos, de esa manera determinar cuándo terminar.
@@ -425,10 +425,10 @@ class My_Form_Registration extends Zend_Form
                 de acuerdo a la información. Usaremos
                     <classname>Zend_Session_Namespace</classname> para persistir
                 la información, el cual nos ayudará a responder la pregunta de
-                qué formulario someter. </para>
+                qué formulario someter.</para>
 
-            <para> Vamos a crear nuestro controlador, y añadir un método para
-                recuperar un formulario instanciado: </para>
+            <para>Vamos a crear nuestro controlador, y añadir un método para
+                recuperar un formulario instanciado:</para>
 
             <programlisting language="php"><![CDATA[
 class RegistrationController extends Zend_Controller_Action
@@ -445,14 +445,14 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para> Ahora, vamos a añadir algunas funcionalidades para determinar
+            <para>Ahora, vamos a añadir algunas funcionalidades para determinar
                 qué formulario mostrar. Básicamente, hasta que el formulario
                 entero sea considerado válido, necesitamos continuar mostrando
                 segmentos de formulario. Adicionalmente, queremos asegurar que
                 están en un orden particular: usuario, demog, y después las
                 listas. Podemos determinar qué información ha sido sometida
                 verificando nuestro session namespace para claves particulares
-                representando cada subformulario. </para>
+                representando cada subformulario.</para>
 
             <programlisting language="php"><![CDATA[
 class RegistrationController extends Zend_Controller_Action
@@ -547,14 +547,14 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para> El método de arriba nos permite usar notaciones tal como
+            <para>El método de arriba nos permite usar notaciones tal como
                 "<command>$subForm =
                     $this-&gt;getCurrentSubForm();</command>" recuperar
                 el actual subformulario para la validación, o "<command>$next
                     = $this-&gt;getNextSubForm();</command>" obtener el
-                siguiente para mostrar. </para>
+                siguiente para mostrar.</para>
 
-            <para> Ahora, vamos a encontrar la manera para procesar y mostrar
+            <para>Ahora, vamos a encontrar la manera para procesar y mostrar
                 varios subformularios. Podemos usar
                     <methodname>getCurrentSubForm()</methodname> para determinar
                 si algún subformulario ha sido sometido (los valores de retorno
@@ -562,14 +562,14 @@ class RegistrationController extends Zend_Controller_Action
                     <methodname>getNextSubForm()</methodname> recupera el
                 formulario que mostrar. Podemos entonces usar el método del
                 formulario <methodname>prepareSubForm()</methodname> para
-                asegurar que el formulario está listo para mostrar. </para>
+                asegurar que el formulario está listo para mostrar.</para>
 
-            <para> Cuando tenemos un formulario sometido, podemos validar el
+            <para>Cuando tenemos un formulario sometido, podemos validar el
                 subformulario, y luego verificar si el formulario entero es
                 válido ahora. Para hacer esas tareas, necesitamos métodos
                 adicionales que aseguren que la información sometida es añadida
                 a la sesión, y que cuando validamos el formulario entero,
-                nosotros validamos contra todos los segmentos de la sesión: </para>
+                nosotros validamos contra todos los segmentos de la sesión:</para>
 
             <programlisting language="php"><![CDATA[
 class RegistrationController extends Zend_Controller_Action
@@ -612,10 +612,10 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para> Ahora que tenemos el trabajo preparado, vamos a construir las
+            <para>Ahora que tenemos el trabajo preparado, vamos a construir las
                 acciones para este controlador. Necesitaremos una página de
                 destino para el formulario, y luego una acción 'process' para
-                procesar el formulario. </para>
+                procesar el formulario.</para>
 
             <programlisting language="php"><![CDATA[
 class RegistrationController extends Zend_Controller_Action
@@ -658,7 +658,7 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para> Como se ha notado, el código actual para procesar el
+            <para>Como se ha notado, el código actual para procesar el
                 formulario es relativamente simple. Verificamos si tenemos un
                 subformulario actual sometido y si no, retornamos a la página de
                 destino. Si tenemos un subformulario, intentaremos validarlo,
@@ -666,9 +666,9 @@ class RegistrationController extends Zend_Controller_Action
                 válido, entonces verificaremos si el formulario es válido, lo
                 que debería indicar que hemos terminado; si no, mostraremos el
                 siguiente segmento del formulario. Finalmente, mostraremos una
-                página de verificación con el contenido de la sesión. </para>
+                página de verificación con el contenido de la sesión.</para>
 
-            <para> Los scripts de vista son muy simples: </para>
+            <para>Los scripts de vista son muy simples:</para>
 
             <programlisting language="php"><![CDATA[
 <? // registration/index.phtml ?>
@@ -703,11 +703,11 @@ foreach ($this->info as $info):
 endforeach
 ]]></programlisting>
 
-            <para> Próximas novedades de Zend Framework incluirán componentes
+            <para>Próximas novedades de Zend Framework incluirán componentes
                 para hacer formularios multi páginas mas simples, abstrayendo la
                 sesión y la lógica de orden. Mientras tanto, el ejemplo de
                 arriba debería servir como guia razonable para alcanzar esta
-                tarea en su web. </para>
+                tarea en su web.</para>
         </example>
     </sect2>
 </sect1>

+ 49 - 49
documentation/manual/es/module_specs/Zend_Form-Decorators.xml

@@ -5,46 +5,46 @@
     <title>Creando un personalizado marcado de formulario usando
         Zend_Form_Decorator</title>
 
-    <para> Representar un objeto form es completamente opcional -- no está
+    <para>Representar un objeto form es completamente opcional -- no está
         obligado a usar los métodos <classname>Zend_Form</classname> render() en
         absoluto. Sin embargo, si lo hace, los decoradores se usan para
-        representar distintos objetos form. </para>
+        representar distintos objetos form.</para>
 
-    <para> Un número arbitrario de decoradores pueden estar junto a cada
+    <para>Un número arbitrario de decoradores pueden estar junto a cada
         elemento (elements, display groups, sub forms o el objeto form por si
         mismo); Sin embargo, solo un decorador de un tipo dado puede estar al
         lado de cada elemento. Los decoradores son llamados en el orden en que
         han sido introducidos. Dependiendo del decorador, puede reemplazar el
-        contenido que se ha pasado, postponerlo o anteponerlo. </para>
+        contenido que se ha pasado, postponerlo o anteponerlo.</para>
 
-    <para> El estado del objeto es determinado a través de las opciones de
+    <para>El estado del objeto es determinado a través de las opciones de
         configuración pasadas al constructor o el método decorador
             <methodname>setOptions()</methodname>. Cuando se crean decoradores
         mediante funciones <methodname>addDecorator()</methodname> o métodos
         relacionados, las opciones pueden ser pasadas como argumentos al método.
         Esto puese ser usado para una ubicación especifica, un separador se usa
         entre el contenido pasado y el nuevo contenido generado y cualquier
-        opción que el decorador soporte. </para>
+        opción que el decorador soporte.</para>
 
-    <para> Antes de que el <methodname>render()</methodname> de cada decorador
+    <para>Antes de que el <methodname>render()</methodname> de cada decorador
         sea llamado, el item actual es determinado en el decorador usando
             <methodname>setElement()</methodname>, dando al decorador
         conocimiento del item representado. Esto permite crear decoradores que
         sólo representan porciones especificas del item -- tal como etiquetas,
         el valor, mensajes de error, etc. Encadenando muchos decoradores que
         representan especificos segmentos, puede construir marcados complejos
-        representando al item entero. </para>
+        representando al item entero.</para>
 
     <sect2 id="zend.form.decorators.operation">
         <title>Operación</title>
 
-        <para> Para configurar un decorador, pase un array de opciones o un
+        <para>Para configurar un decorador, pase un array de opciones o un
             objeto <classname>Zend_Config</classname> a este constructor, a un
             array <methodname>setOptions()</methodname>, o a un objeto
                 <classname>Zend_Config</classname>
-            <methodname>setConfig()</methodname>. </para>
+            <methodname>setConfig()</methodname>.</para>
 
-        <para> Opciones estándar incluyen: </para>
+        <para>Opciones estándar incluyen:</para>
 
         <itemizedlist>
             <listitem>
@@ -55,7 +55,7 @@
                         <methodname>render()</methodname> será postpuesto o
                     antepuesto respectivamente. En el caso de que el decorador
                     reemplace el contenido, esta configuración es ignorada. La
-                    configuración por defecto es adjuntada. </para>
+                    configuración por defecto es adjuntada.</para>
             </listitem>
 
             <listitem>
@@ -67,46 +67,46 @@
                     decorador (ejemplo FormElements usa el separador entre cada
                     item generado). En el caso que un decorador reemplace el
                     contenido, esta configuración puede ser ignorada. El valor
-                    por defecto es <constant>PHP_EOL</constant>. </para>
+                    por defecto es <constant>PHP_EOL</constant>.</para>
             </listitem>
         </itemizedlist>
 
-        <para> La interface del decorador especifica los métodos para
-            interactuar con las opciones. Esto incluye: </para>
+        <para>La interface del decorador especifica los métodos para
+            interactuar con las opciones. Esto incluye:</para>
 
         <itemizedlist>
             <listitem>
                 <para>
                     <methodname>setOption($key, $value)</methodname>: determina
-                    una sola opción. </para>
+                    una sola opción.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>getOption($key)</methodname>: recuperar un solo
-                    valor de opción. </para>
+                    valor de opción.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>getOptions()</methodname>: recuperar todas las
-                    opciones. </para>
+                    opciones.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>removeOption($key)</methodname>: eliminar una
-                    sola opción. </para>
+                    sola opción.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>clearOptions()</methodname>: eliminar todas las
-                    opciones. </para>
+                    opciones.</para>
             </listitem>
         </itemizedlist>
 
-        <para> Decoradores son diseñados para interactuar con varios tipos de
+        <para>Decoradores son diseñados para interactuar con varios tipos de
             clases <classname>Zend_Form</classname>:
                 <classname>Zend_Form</classname>,
                 <classname>Zend_Form_Element</classname>,
@@ -114,15 +114,15 @@
             clases derivan de ellas. El método
                 <methodname>setElement()</methodname> permite determinar el
             objeto del decorador que esta actualmente trabajando con, y
-                <methodname>getElement()</methodname> es usado para recuperarlo. </para>
+                <methodname>getElement()</methodname> es usado para recuperarlo.</para>
 
-        <para> Cada método decorador <methodname>render()</methodname> acepta
+        <para>Cada método decorador <methodname>render()</methodname> acepta
             una cadena <varname>$content</varname>. Cuando el primer
             decorador es llamado, esta cadena esta tipicamente vacía, mientras
             las subsecuentes llamadas serán puestas. Basados en el tipo de
             decorador y en las opciones pasadas, el decorador ya sea reemplazará
             la cadena, antenpodrá la cadena o adjuntará la cadena; una separador
-            opcional será usado en las dos últimas situaciones. </para>
+            opcional será usado en las dos últimas situaciones.</para>
     </sect2>
 
     <sect2 id="zend.form.decorators.standard">
@@ -131,19 +131,19 @@
         <para>
             <classname>Zend_Form</classname> entrega muchos decoradores
             estándar; ver <link linkend="zend.form.standardDecorators">el
-                capítulo Decoradores estándar</link> para detalles. </para>
+                capítulo Decoradores estándar</link> para detalles.</para>
     </sect2>
 
     <sect2 id="zend.form.decorators.custom">
         <title>Decoradores personalizados</title>
 
-        <para> Si encuentra que sus necesidades son complejas o necesita una
+        <para>Si encuentra que sus necesidades son complejas o necesita una
             enorme personalización, debería considerar crear un decorador
-            personalizado. </para>
+            personalizado.</para>
 
-        <para> Los decoradores necesitan implementar sólo
+        <para>Los decoradores necesitan implementar sólo
                 <classname>Zend_Form_Decorator_Interface</classname>. La
-            interface especifica lo siguiente: </para>
+            interface especifica lo siguiente:</para>
 
         <programlisting language="php"><![CDATA[
 interface Zend_Decorator_Interface
@@ -162,16 +162,16 @@ interface Zend_Decorator_Interface
 }
 ]]></programlisting>
 
-        <para> Para hacerlo mas simple, simplemente puede extender
+        <para>Para hacerlo mas simple, simplemente puede extender
                 <classname>Zend_Form_Decorator_Abstract</classname>, el cual
             implementa todos los métodos excepto
-                <methodname>render()</methodname>. </para>
+                <methodname>render()</methodname>.</para>
 
-        <para> Como ejemplo, digamos que quiere reducir el número de decoradores
+        <para>Como ejemplo, digamos que quiere reducir el número de decoradores
             que utiliza, y construir un decorador compuesto que se encargó de
             renderizar la etiqueta generadora, el elemento, cualquier mensaje de
             error, y descripción en un <methodname>div</methodname> HTML. Puede
-            construir como un decorador compuesto como sigue: </para>
+            construir como un decorador compuesto como sigue:</para>
 
         <programlisting language="php"><![CDATA[
 class My_Decorator_Composite extends Zend_Form_Decorator_Abstract
@@ -259,7 +259,7 @@ class My_Decorator_Composite extends Zend_Form_Decorator_Abstract
 }
 ]]></programlisting>
 
-        <para> Puede entonces ubicarlo en el directorio del decorador: </para>
+        <para>Puede entonces ubicarlo en el directorio del decorador:</para>
 
         <programlisting language="php"><![CDATA[
 // para un elemento:
@@ -273,26 +273,26 @@ $form->addElementPrefixPath('My_Decorator',
                             'decorator');
 ]]></programlisting>
 
-        <para> Puede especificar este decorador como compuesto (composite) y
-            adjuntarlo a un elemento: </para>
+        <para>Puede especificar este decorador como compuesto (composite) y
+            adjuntarlo a un elemento:</para>
 
         <programlisting language="php"><![CDATA[
 // Sobreescribe los decoradores existentes con este otro:
 $element->setDecorators(array('Composite'));
 ]]></programlisting>
 
-        <para> Mientras este ejemplo mostró cómo crear un decorador que genera
+        <para>Mientras este ejemplo mostró cómo crear un decorador que genera
             salidas complejas de muchas propiedades de elementos, puede también
             crear decoradores que manejen un solo aspecto de un elemento; los
             decoradores 'Decorator' y 'Label' son excelentes ejemplos para esta
             práctica. Hacerlo le permite mezclar y combinar decoradores para
             llegar a complejas salidas -- y también anular aspectos de
-            decoración para personalizar sus necesidades. </para>
+            decoración para personalizar sus necesidades.</para>
 
-        <para> Por ejemplo, si quiere simplemente desplegar que un error ha
+        <para>Por ejemplo, si quiere simplemente desplegar que un error ha
             ocurrido cuando validábamos un elemento, pero no desplegar
             individualmente cada uno de los mensajes de error, usted podría
-            crear su propio decorador 'Errores': </para>
+            crear su propio decorador 'Errores':</para>
 
         <programlisting language="php"><![CDATA[
 class My_Decorator_Errors
@@ -316,30 +316,30 @@ class My_Decorator_Errors
 }
 ]]></programlisting>
 
-        <para> En este ejemplo particular, debido al segmento del decorador
+        <para>En este ejemplo particular, debido al segmento del decorador
             final, 'Errors', se combina como
                 <classname>Zend_Form_Decorator_Errors</classname>, será generado
                 <emphasis>en lugar de</emphasis> el decorador -- significa que
             no necesitará cambiar ningún decorador para modificar la salida.
             Nombrando sus decoradores después de los decoradores existentes
             estándar, usted puede modificar decoradores sin necesitad de
-            modificar sus elementos decoradores. </para>
+            modificar sus elementos decoradores.</para>
     </sect2>
 
     <sect2 id="zend.form.decorators.individual">
         <title>Generando decoradores individuales</title>
 
-        <para> Desde que los decoradores pueden capturar distintos metadatos del
+        <para>Desde que los decoradores pueden capturar distintos metadatos del
             elemento o formulario que ellos decoran, es a menudo útil generar un
             decorador individual. Afortunadamente, esta caracteristica es
             posible inicializando el método en cada tipo de clase form (forms,
-            sub form, display group, element). </para>
+            sub form, display group, element).</para>
 
-        <para> Para hacer eso, simplemente
+        <para>Para hacer eso, simplemente
                 <methodname>render[DecoratorName]()</methodname>, cuando
             "[DecoratorName]" es el "nombre corto" de su decorador;
             opcionalmente, puede pasar en el contenido lo que usted quiera. Por
-            ejemplo: </para>
+            ejemplo:</para>
 
         <programlisting language="php"><![CDATA[
 // genera el elemento decorador label:
@@ -352,11 +352,11 @@ echo $group->renderFieldset('fieldset content');
 echo $form->renderHtmlTag('wrap this content');
 ]]></programlisting>
 
-        <para> Si el decorador no existe, una excepción es inicializada. </para>
+        <para>Si el decorador no existe, una excepción es inicializada.</para>
 
-        <para> Esto puede ser útil particularmente cuando se genera un
+        <para>Esto puede ser útil particularmente cuando se genera un
             formulario con el decorador ViewScript; cada elemento puede usar sus
             decoradores adjuntos para generar contenido, pero con un control
-            minucioso. </para>
+            minucioso.</para>
     </sect2>
 </sect1>

File diff suppressed because it is too large
+ 168 - 168
documentation/manual/es/module_specs/Zend_Form-Elements.xml


File diff suppressed because it is too large
+ 161 - 161
documentation/manual/es/module_specs/Zend_Form-Forms.xml


+ 27 - 27
documentation/manual/es/module_specs/Zend_Form-I18n.xml

@@ -4,37 +4,37 @@
 <sect1 id="zend.form.i18n">
     <title>Internacionalización de Zend_Form</title>
 
-    <para> Cada vez más, desarrolladores necesitan adaptar su contenido para multiples idiomas y
+    <para>Cada vez más, desarrolladores necesitan adaptar su contenido para multiples idiomas y
         regiones. <classname>Zend_Form</classname> intenta hacer de ésta una tarea trivial, y provee
         funcionalidad en ambas <link linkend="zend.translate">Zend_Translate</link> y <link
-            linkend="zend.validate">Zend_Validate</link> para realizar esa funcionalidad. </para>
+            linkend="zend.validate">Zend_Validate</link> para realizar esa funcionalidad.</para>
 
-    <para> Por defecto, no se realiza ninguna internacionalización (I18n). Para iniciar las
+    <para>Por defecto, no se realiza ninguna internacionalización (I18n). Para iniciar las
         caraterísticas de I18n en <classname>Zend_Form</classname>, se necesitará instanciar un
         objeto <classname>Zend_Translate</classname> con un adaptador apropiado, y adjuntarlo a
             <classname>Zend_Form</classname> y/o <classname>Zend_Validate</classname>. Ver la <link
             linkend="zend.translate">documentación Zend_Translate </link> para más información sobre
-        crear el objeto traducción y los archivos de traducción </para>
+        crear el objeto traducción y los archivos de traducción</para>
 
     <note>
         <title>La Traducción Puede Ser Deshabilitado Por Item</title>
 
-        <para> Se puede deshabilitar la traducción para cualquier formulario, elemento, grupo de
+        <para>Se puede deshabilitar la traducción para cualquier formulario, elemento, grupo de
             visualización o subformulario llamando al método
                 <methodname>setDisableTranslator($flag)</methodname> o pasando la opción
             <property>disableTranslator</property> al objeto. Puede ser de mucha ayuda
             cuando se quiere deshabilitar selectivamente la traducción para elementos individuales o
-            grupo de elementos. </para>
+            grupo de elementos.</para>
     </note>
 
     <sect2 id="zend.form.i18n.initialization">
         <title>Inicializando I18n en formularios</title>
 
-        <para> Para poder inicializar I18n en formularios, se necesitará un objeto
+        <para>Para poder inicializar I18n en formularios, se necesitará un objeto
                 <classname>Zend_Translate</classname> o un objeto
                 <classname>Zend_Translate_Adapter</classname>, como se detalló en la documentación
                 <classname>Zend_Translate</classname>. Una vez que se tenga el objeto traducción,
-            existen varias opciones: </para>
+            existen varias opciones:</para>
 
         <itemizedlist>
             <listitem>
@@ -42,22 +42,22 @@
                     <emphasis>Fácil:</emphasis> añadirlo al registro. Todos los componentes I18n de
                     Zend Framework descubrirán automáticamente un objeto traducción que está en el
                     registro con la clave 'Zend_Translate' y lo usará para ejecutar la traducción
-                    y/o la localización: </para>
+                    y/o la localización:</para>
 
                 <programlisting language="php"><![CDATA[
 // use la clave 'Zend_Translate'; $translate es un objeto Zend_Translate:
 Zend_Registry::set('Zend_Translate', $translate);
 ]]></programlisting>
 
-                <para> Será recibido por <classname>Zend_Form</classname>,
+                <para>Será recibido por <classname>Zend_Form</classname>,
                         <classname>Zend_Validate</classname> y
-                        <classname>Zend_View_Helper_Translate</classname>. </para>
+                        <classname>Zend_View_Helper_Translate</classname>.</para>
             </listitem>
 
             <listitem>
-                <para> Si todo lo que le preocupa es traducir los mensajes de error de validación,
+                <para>Si todo lo que le preocupa es traducir los mensajes de error de validación,
                     puede registrar el objeto traducción con
-                        <classname>Zend_Validate_Abstract</classname>: </para>
+                        <classname>Zend_Validate_Abstract</classname>:</para>
 
                 <programlisting language="php"><![CDATA[
 // Decir a todas las clases de validación que se use un adaptador especifico de traducción
@@ -66,9 +66,9 @@ Zend_Validate_Abstract::setDefaultTranslator($translate);
             </listitem>
 
             <listitem>
-                <para> Alternativamente, se puede adjuntar al objeto
+                <para>Alternativamente, se puede adjuntar al objeto
                         <classname>Zend_Form</classname> como un traductor global. Tiene el mismo
-                    efecto que traduciendo los mensajes de error de validación. </para>
+                    efecto que traduciendo los mensajes de error de validación.</para>
 
                 <programlisting language="php"><![CDATA[
 // Decir a todas las clases del formulario usar un adaptador especifico, así como también
@@ -78,9 +78,9 @@ Zend_Form::setDefaultTranslator($translate);
             </listitem>
 
             <listitem>
-                <para> Finalmente, se puede adjuntar un traductor a una instancia especifica de un
+                <para>Finalmente, se puede adjuntar un traductor a una instancia especifica de un
                     formulario o a elementos especificar usando sus métodos
-                        <methodname>setTranslator()</methodname>: </para>
+                        <methodname>setTranslator()</methodname>:</para>
 
                 <programlisting language="php"><![CDATA[
 // Decir a *esta* instancia del formulario que use un adaptador especifico de traducción;
@@ -100,8 +100,8 @@ $element->setTranslator($translate);
     <sect2 id="zend.form.i18n.standard">
         <title>Objetivos estándar I18n</title>
 
-        <para> Ahora que ya se tiene adjuntado un objeto de traducción, ¿qué se puede traducir
-            exactamente por defecto? </para>
+        <para>Ahora que ya se tiene adjuntado un objeto de traducción, ¿qué se puede traducir
+            exactamente por defecto?</para>
 
         <itemizedlist>
             <listitem>
@@ -110,26 +110,26 @@ $element->setTranslator($translate);
                     validación pueden ser traducidos. Para hacerlo, use la variedad de constantes de
                     códigos de error de <classname>Zend_Validate</classname> las clases de
                     validación como los ID del mensaje. Para más información sobre esos códigos, ver
-                    la documentación <link linkend="zend.validate">Zend_Validate</link>. </para>
+                    la documentación <link linkend="zend.validate">Zend_Validate</link>.</para>
 
-                <para> Alternativamente, desde la versión 1.6.0, se pueden proveer cadenas de
+                <para>Alternativamente, desde la versión 1.6.0, se pueden proveer cadenas de
                     traducción usando los mensajes de error actuales como mensajes identificadores.
                     Este es el caso preferido de uso para 1.6.0 en adelante, así como también se
                     volverá obsoleta la traducción de las claves de mensajes en versiones futuras.
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <emphasis>Etiquetas.</emphasis> Las etiquetas elemento serán traducidas, si una
-                    traducción existe. </para>
+                    traducción existe.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <emphasis>Leyendas de campos.</emphasis> Grupos de visualización y
                     subformularios se generan por defecto en fieldsets. El decorador de fieldsets
-                    intenta traducir la leyenda antes de generar el fieldset. </para>
+                    intenta traducir la leyenda antes de generar el fieldset.</para>
             </listitem>
 
             <listitem>
@@ -137,7 +137,7 @@ $element->setTranslator($translate);
                     <emphasis>Descripciones de formularios y elementos.</emphasis> Todos los tipos
                     de formulario (elemento, formulario, visualización de grupos, subformularios)
                     permiten especificar una descripción opcional. El decorador Description puede
-                    generarlo y por defecto tomará el valor e intentará traducirlo. </para>
+                    generarlo y por defecto tomará el valor e intentará traducirlo.</para>
             </listitem>
 
             <listitem>
@@ -146,14 +146,14 @@ $element->setTranslator($translate);
                     de <classname>Zend_Form_Element_Multi</classname> (incluyendo el MultiCheckbox,
                     Multiselect y elementos Radio), la valores de opciones (no claves) serán
                     traducidos si una traducción esta disponible; eso significa que las etiquetas de
-                    opciones presentadas al usuario serán traducidas. </para>
+                    opciones presentadas al usuario serán traducidas.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <emphasis>Submit y etiquetas Button.</emphasis> Los múltiples elementos Submit y
                     Button (Button, Submit y Reset) traducirán la etiqueta mostrada al usuario.
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
     </sect2>

+ 3 - 3
documentation/manual/es/module_specs/Zend_Form-Introduction.xml

@@ -6,7 +6,7 @@
 
     <para>
         <classname>Zend_Form</classname> simplifica la creación y manipulación de formularios en tus
-        aplicaciones web. Cumple los siguientes objetivos: </para>
+        aplicaciones web. Cumple los siguientes objetivos:</para>
 
     <itemizedlist>
         <listitem>
@@ -26,9 +26,9 @@
         </listitem>
     </itemizedlist>
 
-    <para> Se aprovecha en gran medida de otros componentes de Zend Framework para lograr sus
+    <para>Se aprovecha en gran medida de otros componentes de Zend Framework para lograr sus
         objetivos, incluyendo <classname>Zend_Config</classname>,
             <classname>Zend_Validate</classname>, <classname>Zend_Filter</classname>,
             <classname>Zend_Loader_PluginLoader</classname> y, opcionalmente,
-            <classname>Zend_View</classname>. </para>
+            <classname>Zend_View</classname>.</para>
 </sect1>

+ 96 - 96
documentation/manual/es/module_specs/Zend_Form-QuickStart.xml

@@ -4,46 +4,46 @@
 <sect1 id="zend.form.quickstart">
     <title>Inicio rápido a Zend_Form</title>
 
-    <para> Esta guía rápida pretende cubrir los fundamentos para crear, validar
+    <para>Esta guía rápida pretende cubrir los fundamentos para crear, validar
         y presentar formularios usando <classname>Zend_Form</classname>
-    </para>
+   </para>
 
     <sect2 id="zend.form.quickstart.create">
         <title>Creando un objeto formulario</title>
 
-        <para> Crear un objeto de formulario es muy simple: solo instancíe
+        <para>Crear un objeto de formulario es muy simple: solo instancíe
                 <classname>Zend_Form</classname>
-        </para>
+       </para>
 
         <programlisting language="php"><![CDATA[
 $form = new Zend_Form;
 ]]></programlisting>
 
-        <para> Para casos de uso avanzados, es posible desee crear una subclase
+        <para>Para casos de uso avanzados, es posible desee crear una subclase
             de <classname>Zend_Form</classname>, pero para formularios simples,
             puede programar la creación de un formulario usando un objeto
                 <classname>Zend_Form</classname>
-        </para>
+       </para>
 
-        <para> Si desea especificar el action y method del formulario (siempre
+        <para>Si desea especificar el action y method del formulario (siempre
             buenas ideas), puede hacer uso de los accesos
                 <methodname>setAction()</methodname> y
-                <methodname>setMethod()</methodname>: </para>
+                <methodname>setMethod()</methodname>:</para>
 
         <programlisting language="php"><![CDATA[
 $form->setAction('/resource/process')
      ->setMethod('post');
 ]]></programlisting>
 
-        <para> El código de arriba establece el action del formulario a la <acronym>URL</acronym>
+        <para>El código de arriba establece el action del formulario a la <acronym>URL</acronym>
             parcial "/resource/process" y como method <acronym>HTTP</acronym> POST. Esto se
-            mostrará en la presentación final. </para>
+            mostrará en la presentación final.</para>
 
-        <para> Usted puede establecer atributos <acronym>HTML</acronym>
+        <para>Usted puede establecer atributos <acronym>HTML</acronym>
             adicionales para la etiqueta
                 <methodname>&lt;form&gt;</methodname> mediante el uso de
             los métodos setAttrib() o setAttribs(). Por ejemplo, si desea
-            especificar el id establezca el atributo "id": </para>
+            especificar el id establezca el atributo "id":</para>
 
         <programlisting language="php"><![CDATA[
 $form->setAttrib('id', 'login');
@@ -53,66 +53,66 @@ $form->setAttrib('id', 'login');
     <sect2 id="zend.form.quickstart.elements">
         <title>Añadir elementos al formulario</title>
 
-        <para> Un formulario no es nada sin sus elementos.
+        <para>Un formulario no es nada sin sus elementos.
                 <classname>Zend_Form</classname> contiene de manera
             predeterminada algunos elementos que generan
                 <acronym>XHTML</acronym> vía auxiliares
-                <classname>Zend_View</classname>. Son los siguientes: </para>
+                <classname>Zend_View</classname>. Son los siguientes:</para>
 
         <itemizedlist>
             <listitem>
-                <para> button </para>
+                <para>button</para>
             </listitem>
 
             <listitem>
-                <para> checkbox (o varios checkboxes a la vez con multiCheckbox)
-                </para>
+                <para>checkbox (o varios checkboxes a la vez con multiCheckbox)
+               </para>
             </listitem>
 
             <listitem>
-                <para> hidden </para>
+                <para>hidden</para>
             </listitem>
 
             <listitem>
-                <para> image </para>
+                <para>image</para>
             </listitem>
 
             <listitem>
-                <para> password </para>
+                <para>password</para>
             </listitem>
 
             <listitem>
-                <para> radio </para>
+                <para>radio</para>
             </listitem>
 
             <listitem>
-                <para> reset </para>
+                <para>reset</para>
             </listitem>
 
             <listitem>
-                <para> select (tanto regulares como de multi-selección) </para>
+                <para>select (tanto regulares como de multi-selección)</para>
             </listitem>
 
             <listitem>
-                <para> submit </para>
+                <para>submit</para>
             </listitem>
 
             <listitem>
-                <para> text </para>
+                <para>text</para>
             </listitem>
 
             <listitem>
-                <para> textarea </para>
+                <para>textarea</para>
             </listitem>
         </itemizedlist>
 
-        <para> Tiene dos opciones para añadir elementos a un formulario; puede
+        <para>Tiene dos opciones para añadir elementos a un formulario; puede
             instanciar elementos concretos y pasarlos como objetos, o
             simplemente puede pasar el tipo de elemento y
                 <classname>Zend_Form</classname> instaciará por usted un objeto
-            del tipo correspondiente. </para>
+            del tipo correspondiente.</para>
 
-        <para> Algunos ejemplos: </para>
+        <para>Algunos ejemplos:</para>
 
         <programlisting language="php"><![CDATA[
 // Instanciando un elemento y pasandolo al objeto form:
@@ -122,18 +122,18 @@ $form->addElement(new Zend_Form_Element_Text('username'));
 $form->addElement('text', 'username');
 ]]></programlisting>
 
-        <para> De manera predeterminada, éstos no tienen validadores o filtros.
+        <para>De manera predeterminada, éstos no tienen validadores o filtros.
             Esto significa que tendrá que configurar sus elementos con un mínimo
             de validadores, y potencialmente filtros. Puede hacer esto (a) antes
             de pasar el elemento al formulario, (b) vía opciones de
             configuración pasadas cuando crea un elemento a través de
                 <classname>Zend_Form</classname>, o (c) recuperar el elemento
-            del objeto form y configurándolo posteriormente. </para>
+            del objeto form y configurándolo posteriormente.</para>
 
-        <para> Veamos primero la creación de validadores para la instancia de un
+        <para>Veamos primero la creación de validadores para la instancia de un
             elemento concreto. Puede pasar objetos
                 <classname>Zend_Validate_*</classname> o el nombre de un
-            validador para utilizar: </para>
+            validador para utilizar:</para>
 
         <programlisting language="php"><![CDATA[
 $username = new Zend_Form_Element_Text('username');
@@ -145,42 +145,42 @@ $username->addValidator(new Zend_Validate_Alnum());
 $username->addValidator('alnum');
 ]]></programlisting>
 
-        <para> Cuando se utiliza esta segunda opción, si el constructor del
+        <para>Cuando se utiliza esta segunda opción, si el constructor del
             validador acepta argumentos, se pueden pasar en un array como tercer
-            parámetro: </para>
+            parámetro:</para>
 
         <programlisting language="php"><![CDATA[
 // Pasando un patrón
 $username->addValidator('regex', false, array('/^[a-z]/i'));
 ]]></programlisting>
 
-        <para> (El segundo parámetro se utiliza para indicar si el fallo debería
+        <para>(El segundo parámetro se utiliza para indicar si el fallo debería
             prevenir la ejecución de validadores posteriores o no; por defecto,
-            el valor es false.) </para>
+            el valor es false.)</para>
 
-        <para> Puede también desear especificar un elemento como requerido. Esto
+        <para>Puede también desear especificar un elemento como requerido. Esto
             puede hacerse utilizando un método de acceso o pasando una opción al
-            crear el elemento. En el primer caso: </para>
+            crear el elemento. En el primer caso:</para>
 
         <programlisting language="php"><![CDATA[
 // Hace este elemento requerido:
 $username->setRequired(true);
 ]]></programlisting>
 
-        <para> Cuando un elemento es requerido, un validador 'NotEmpty'
+        <para>Cuando un elemento es requerido, un validador 'NotEmpty'
             (NoVacio) es añadido a la parte superior de la cadena de
             validaciones, asegurando que el elemento tenga algún valor cuando
-            sea requerido. </para>
+            sea requerido.</para>
 
-        <para> Los filtros son registrados básicamente de la misma manera que
+        <para>Los filtros son registrados básicamente de la misma manera que
             los validadores. Para efectos ilustrativos, vamos a agregar un
-            filtro para poner en minúsculas el valor final: </para>
+            filtro para poner en minúsculas el valor final:</para>
 
         <programlisting language="php"><![CDATA[
 $username->addFilter('StringtoLower');
 ]]></programlisting>
 
-        <para> Entonces, la configuración final de nuestro elemento queda así: </para>
+        <para>Entonces, la configuración final de nuestro elemento queda así:</para>
 
         <programlisting language="php"><![CDATA[
 $username->addValidator('alnum')
@@ -197,14 +197,14 @@ $username->addValidators(array('alnum',
 ]]></programlisting>
 
 
-        <para> Tan simple como esto, realizarlo para cada uno de los elementos
+        <para>Tan simple como esto, realizarlo para cada uno de los elementos
             del formulario puede resultar un poco tedioso. Intentemos la opción
             (b) arriba mencionada. Cuando creamos un nuevo elemento utilizando
                 <methodname>Zend_Form::addElement()</methodname> como fábrica,
             opcionalmente podemos pasar las opciones de configuración. Éstas
             pueden incluir validadores y los filtros que se van a utilizar. Por
             lo tanto, para hacer todo lo anterior implícitamente, intente lo
-            siguiente: </para>
+            siguiente:</para>
 
         <programlisting language="php"><![CDATA[
 $form->addElement('text', 'username', array(
@@ -218,21 +218,21 @@ $form->addElement('text', 'username', array(
 ]]></programlisting>
 
         <note>
-            <para> Si encuentra que está asignando elementos con las mismas
+            <para>Si encuentra que está asignando elementos con las mismas
                 opciones en varios lugares, podría considerar crear su propia
                 subclase de <classname>Zend_Form_Element</classname> y utilizar
-                ésta; a largo plazo le permitirá escribir menos. </para>
+                ésta; a largo plazo le permitirá escribir menos.</para>
         </note>
     </sect2>
 
     <sect2 id="zend.form.quickstart.render">
         <title>Generar un formulario</title>
 
-        <para> Generar un formulario es simple. La mayoría de los elementos
+        <para>Generar un formulario es simple. La mayoría de los elementos
             utilizan un auxiliar de <classname>Zend_View</classname> para
             generarse a sí mismos, por lo tanto necesitan un objeto vista con el
             fin de generarse. Además, tiene dos opciones: usar el método
-            render() del formulario, o simplemente mostrarlo con echo. </para>
+            render() del formulario, o simplemente mostrarlo con echo.</para>
 
         <programlisting language="php"><![CDATA[
 // Llamando a render()  explicitamente, y pasando un objeto vista opcional:
@@ -242,26 +242,26 @@ echo $form->render($view);
 echo $form;
 ]]></programlisting>
 
-        <para> De manera predeterminada, <classname>Zend_Form</classname> y
+        <para>De manera predeterminada, <classname>Zend_Form</classname> y
                 <classname>Zend_Form_Element</classname> intentarán utilizar el
             objeto vista inicializado en el
                 <methodname>ViewRenderer</methodname>, lo que significa que no
             tendrá que establecer la vista manualmente cuando use el <acronym>MVC</acronym> de Zend
             Framework. Generar un formulario en un script vista es tan simple
-            como: </para>
+            como:</para>
 
         <programlisting language="php"><![CDATA[
 <?php echo $this->form
 ]]></programlisting>
 
-        <para> Detrás del telón, <classname>Zend_Form</classname> utiliza
+        <para>Detrás del telón, <classname>Zend_Form</classname> utiliza
             "decoradores" (decorators) para generar la salida. Estos decoradores
             pueden reemplazar, añadir o anteponer contenido, y tienen plena
             introspección al elemento que les es pasado. Como resultado, puede
             combinar múltiples decoradores para lograr efectos personalizados.
             Predeterminadamente, <classname>Zend_Form_Element</classname>
             actualmente combina cuatro decoradores para obtener su salida; la
-            configuración sería como sigue: </para>
+            configuración sería como sigue:</para>
 
         <programlisting language="php"><![CDATA[
 $element->addDecorators(array(
@@ -272,10 +272,10 @@ $element->addDecorators(array(
 ));
 ]]></programlisting>
 
-        <para> (Donde &lt;HELPERNAME&gt; es el nombre de un view helper
-            que utilizar, y varía según el elemento) </para>
+        <para>(Donde &lt;HELPERNAME&gt; es el nombre de un view helper
+            que utilizar, y varía según el elemento)</para>
 
-        <para> Lo anterior crea una salida como la siguiente: </para>
+        <para>Lo anterior crea una salida como la siguiente:</para>
 
         <programlisting language="html"><![CDATA[
 <dt><label for="username" class="required">Username</dt>
@@ -288,29 +288,29 @@ $element->addDecorators(array(
 </dd>
 ]]></programlisting>
 
-        <para> (Aunque no con el mismo formato.) </para>
+        <para>(Aunque no con el mismo formato.)</para>
 
-        <para> Puede cambiar los decoradores usados para un elemento si desea
+        <para>Puede cambiar los decoradores usados para un elemento si desea
             tener diferente salida; véase la sección sobre decoradores para
-            mayor información. </para>
+            mayor información.</para>
 
-        <para> El propio formulario simplemente itera sobre los elementos y los
+        <para>El propio formulario simplemente itera sobre los elementos y los
             cubre en un &lt;form&gt; HTML. El action y method que
             proporcionó cuando definió el formulario se pasan a la etiqueta
                 <methodname>&lt;form&gt;</methodname>, como cualquier
             atributo que establezca vía <methodname>setAttribs()</methodname> y
-            familia. </para>
+            familia.</para>
 
-        <para> Elementos son desplegados en el orden en el que fueron
+        <para>Elementos son desplegados en el orden en el que fueron
             registrados, o, si el elemento contienen un atributo de orden, ese
             orden será utilizado. Usted puede fijar el orden de un elemento
-            usando: </para>
+            usando:</para>
 
         <programlisting language="php"><![CDATA[
 $element->setOrder(10);
 ]]></programlisting>
 
-        <para> O, cuando crea un elemento, pasándolo como una opción: </para>
+        <para>O, cuando crea un elemento, pasándolo como una opción:</para>
 
         <programlisting language="php"><![CDATA[
 $form->addElement('text', 'username', array('order' => 10));
@@ -320,15 +320,15 @@ $form->addElement('text', 'username', array('order' => 10));
     <sect2 id="zend.form.quickstart.validate">
         <title>Comprobar si un formulario es válido</title>
 
-        <para> Después que un formulario es enviado, necesitará comprobar y ver
+        <para>Después que un formulario es enviado, necesitará comprobar y ver
             si pasa las validaciones. Cada elemento es valuado contra los datos
             provistos; si una clave no está presente y el campo fue marcado como
-            requerido, la validación se ejecuta contra un valor nulo. </para>
+            requerido, la validación se ejecuta contra un valor nulo.</para>
 
-        <para> ¿De dónde provienen los datos?. Puede usar
+        <para>¿De dónde provienen los datos?. Puede usar
                 <varname>$_POST</varname> o <varname>$_GET</varname>, o
             cualquier otra fuente de datos que tenga a mano (solicitud de un
-            servicio web, por ejemplo): </para>
+            servicio web, por ejemplo):</para>
 
         <programlisting language="php"><![CDATA[
 if ($form->isValid($_POST)) {
@@ -338,12 +338,12 @@ if ($form->isValid($_POST)) {
 }
 ]]></programlisting>
 
-        <para> Con solicitudes <acronym>AJAX</acronym>, a veces puede ignorar la
+        <para>Con solicitudes <acronym>AJAX</acronym>, a veces puede ignorar la
             validación de un solo elemento, o grupo de elementos.
                 <methodname>isValidPartial()</methodname> validará parcialmente
             el formulario. A diferencia de <methodname>isValid()</methodname>,
             que como sea, si alguna clave no esta presente, no ejecutará las
-            validaciones para ese elemento en particular. </para>
+            validaciones para ese elemento en particular.</para>
 
         <programlisting language="php"><![CDATA[
 if ($form->isValidPartial($_POST)) {
@@ -353,20 +353,20 @@ if ($form->isValidPartial($_POST)) {
 }
 ]]></programlisting>
 
-        <para> Un método adicional, <methodname>processAjax()</methodname>,
+        <para>Un método adicional, <methodname>processAjax()</methodname>,
             puede también ser usado para validar formularios parciales. A
             diferencia de <methodname>isValidPartial()</methodname>, regresa una
             cadena en formato <acronym>JSON</acronym>-formatted conteniendo mensajes de
-            error en caso de fallo. </para>
+            error en caso de fallo.</para>
 
-        <para> Asumiendo que sus validaciones han pasado, ahora puede obtener
-            los valores filtrados: </para>
+        <para>Asumiendo que sus validaciones han pasado, ahora puede obtener
+            los valores filtrados:</para>
 
         <programlisting language="php"><![CDATA[
 $values = $form->getValues();
 ]]></programlisting>
 
-        <para> Si necesita los valores sin filtrar en algún punto, utilice: </para>
+        <para>Si necesita los valores sin filtrar en algún punto, utilice:</para>
 
         <programlisting language="php"><![CDATA[
 $unfiltered = $form->getUnfilteredValues();
@@ -376,9 +376,9 @@ $unfiltered = $form->getUnfilteredValues();
     <sect2 id="zend.form.quickstart.errorstatus">
         <title>Obteniendo el estado de error</title>
 
-        <para> Entonces, ¿su formulario no es válido? En la mayoría de los
+        <para>Entonces, ¿su formulario no es válido? En la mayoría de los
             casos, simplemente puede generar el formulario nuevamente y los
-            errores se mostrarán cuando se usen los decoradores predeterminados: </para>
+            errores se mostrarán cuando se usen los decoradores predeterminados:</para>
 
         <programlisting language="php"><![CDATA[
 if (!$form->isValid($_POST)) {
@@ -390,21 +390,21 @@ if (!$form->isValid($_POST)) {
 }
 ]]></programlisting>
 
-        <para> Si quiere inspeccionar los errores, tiene dos métodos.
+        <para>Si quiere inspeccionar los errores, tiene dos métodos.
                 <methodname>getErrors()</methodname> regresa una matriz
             asociativa de nombres / códigos de elementos (donde códigos es una
             matriz de códigos de error). <methodname>getMessages()</methodname>
             regresa una matriz asociativa de nombres / mensajes de elementos
             (donde mensajes es una matriz asociativa de pares código de error /
             mensaje de error). Si un elemento no tiene ningún error, no será
-            incluido en la matriz. </para>
+            incluido en la matriz.</para>
     </sect2>
 
     <sect2 id="zend.form.quickstart.puttingtogether">
         <title>Poniendo todo junto</title>
 
-        <para> Construyamos un simple formulario de login. Necesitaremos
-            elementos que representen: </para>
+        <para>Construyamos un simple formulario de login. Necesitaremos
+            elementos que representen:</para>
 
         <itemizedlist>
             <listitem>
@@ -418,16 +418,16 @@ if (!$form->isValid($_POST)) {
             </listitem>
         </itemizedlist>
 
-        <para> Para nuestros propósitos, vamos a suponer que un usuario válido
+        <para>Para nuestros propósitos, vamos a suponer que un usuario válido
             cumplirá con tener solo caracteres alfanuméricos, comenzar con una
             letra, tener una longitud mínima de 6 caracteres y una longitud
             máxima de 20 caracteres; se normalizarán en minúsculas. Las
             contraseñas deben tener un mínimo de 6 caracteres. Cuando se procese
             vamos simplemente a mostrar el valor, por lo que puede permanecer
-            inválido. </para>
+            inválido.</para>
 
-        <para> Usaremos el poder de la opciones de configuración de
-                <classname>Zend_Form</classname> para crear el formulario: </para>
+        <para>Usaremos el poder de la opciones de configuración de
+                <classname>Zend_Form</classname> para crear el formulario:</para>
 
         <programlisting language="php"><![CDATA[
 $form = new Zend_Form();
@@ -454,7 +454,7 @@ $form->addElement($username)
      ->addElement('submit', 'login', array('label' => 'Login'));
 ]]></programlisting>
 
-        <para> A continuación, vamos a crear un controlador para manejar esto: </para>
+        <para>A continuación, vamos a crear un controlador para manejar esto:</para>
 
         <programlisting language="php"><![CDATA[
 class UserController extends Zend_Controller_Action
@@ -490,23 +490,23 @@ class UserController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-        <para> Y un script para la vista que muestra el formulario: </para>
+        <para>Y un script para la vista que muestra el formulario:</para>
 
         <programlisting language="php"><![CDATA[
 <h2>Please login:</h2>
 <?php echo $this->form
 ]]></programlisting>
 
-        <para> Como notará en el código del controlador, hay más trabajo por
+        <para>Como notará en el código del controlador, hay más trabajo por
             hacer: mientras la información enviada sea válida, necesitará
             todavía realizar la autenticación usando
-            <classname>Zend_Auth</classname>, por ejemplo. </para>
+            <classname>Zend_Auth</classname>, por ejemplo.</para>
     </sect2>
 
     <sect2 id="zend.form.quickstart.config">
         <title>Usando un objeto Zend_Config</title>
 
-        <para> Todas las clases <classname>Zend_Form</classname> son
+        <para>Todas las clases <classname>Zend_Form</classname> son
             configurables mediante <classname>Zend_Config</classname>; puede
             incluso pasar un objeto al constructor o pasarlo a través de
                 <methodname>setConfig()</methodname>. Veamos cómo podemos crear
@@ -515,7 +515,7 @@ class UserController extends Zend_Controller_Action
             configuraciones dentro de secciones reflejando su objetivo y y
             enfocándonos en la sección 'development'. A continuación, pondremos
             en una sección de configuración para el controlador dado ('user'), y
-            una clave para el formulario ('login'): </para>
+            una clave para el formulario ('login'):</para>
 
         <programlisting language="ini"><![CDATA[
 [development]
@@ -544,22 +544,22 @@ user.login.elements.password.options.required = true
 user.login.elements.submit.type = "submit"
 ]]></programlisting>
 
-        <para> Entonces puede pasarlo al constructor del formulario: </para>
+        <para>Entonces puede pasarlo al constructor del formulario:</para>
 
         <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Ini($configFile, 'development');
 $form   = new Zend_Form($config->user->login);
 ]]></programlisting>
 
-        <para> y el formulario entero será definido. </para>
+        <para>y el formulario entero será definido.</para>
     </sect2>
 
     <sect2 id="zend.form.quickstart.conclusion">
         <title>Conclusión</title>
 
-        <para> Esperamos que después de este pequeño tutorial sea capaz de
+        <para>Esperamos que después de este pequeño tutorial sea capaz de
             descubrir el poder y flexibilidad de
                 <classname>Zend_Form</classname>. Continúe leyendo para
-            profundizar más en el tema. </para>
+            profundizar más en el tema.</para>
     </sect2>
 </sect1>

+ 54 - 54
documentation/manual/es/module_specs/Zend_Form-StandardDecorators.xml

@@ -8,7 +8,7 @@
         <classname>Zend_Form</classname> se distribuye con distintos decoradores estándar. Para más
         información sobre el uso de decoradores en general, vea <link
             linkend="zend.form.decorators">la sección sobre decoradores</link>.
-    </para>
+   </para>
 
     <sect2 id="zend.form.standardDecorators.callback">
         <title>Zend_Form_Decorator_Callback</title>
@@ -21,7 +21,7 @@
             aceptar tres argumentos: <varname>$content</varname> (el contenido original
             enviado al decorador), <varname>$element</varname> (el objeto que se está decorando),
             y un array de <varname>$options</varname>. Un callback de ejemplo sería:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 class Util
@@ -38,14 +38,14 @@ class Util
                 'label')</methodname>, y generaría un (mal) código HTML para
             la etiqueta. El decorador Callback reemplazará, antepondrá o postpondrá
             el contenido original con el que devuelva.
-        </para>
+       </para>
 
         <para>
             El decorador Callback permite especificar un valor null para la opción
             placement (colocación), que reemplazará el contenido original
             con el valor devuelto de la llamada de retorno; 'prepend' (anteponer) y 'append' (postponer)
             siguen siendo válidas.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.captcha">
@@ -55,7 +55,7 @@ class Util
             El decorador Captcha se usa junto con el <link
                 linkend="zend.form.standardElements.captcha">elemento de formulario Captcha</link>. Utiliza el método
             <methodname>render()</methodname> del adaptador del captcha para generar la salida.
-        </para>
+       </para>
 
         <para>
             Una variante del decorador Captcha, 'Captcha_Word', es usada frecuentemente,
@@ -63,7 +63,7 @@ class Util
             el identificador de sesión que hay que comparar, y la entrada es para
             la verificación de usuario del captcha. Éstos elementos son validados
             como un sólo elemento.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.description">
@@ -74,7 +74,7 @@ class Util
             de un elemento <classname>Zend_Form</classname>, <methodname>Zend_Form_Element</methodname>, o
            <classname>Zend_Form_DisplayGroup</classname>; toma la descripción usando el método
             <methodname>getDescription()</methodname> del objeto.
-        </para>
+       </para>
 
         <para>
             Por defecto, si no se encuentra la descripción, no se genera ninguna salida.
@@ -84,14 +84,14 @@ class Util
             llamando a <methodname>setTag()</methodname>. También puede especificar una clase
             para el tag usando la opción <methodname>class</methodname> o llamando a
             <methodname>setClass()</methodname>; por defecto, se usa la clase 'hint'.
-        </para>
+       </para>
 
         <para>
             La descripción es escapada utilizando los mecanismos de escapado por defecto
             del objeto de vista. Puede desactivar esto pasando un valor
             <constant>FALSE</constant> a la opción 'escape' del decorador o el método
             <methodname>setEscape()</methodname>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.dtDdWrapper">
@@ -107,7 +107,7 @@ class Util
             vacío (definition term)(<methodname>&lt;dt&gt;</methodname>) y encapsula su contenido
             en un nuevo dato de definición (<methodname>&lt;dd&gt;</methodname>).
             La salida queda como sigue:
-        </para>
+       </para>
 
         <programlisting language="html"><![CDATA[
 <dt></dt>
@@ -120,7 +120,7 @@ class Util
         <para>
             Este decorador reemplaza el contenido que se le provee
             envolviéndolo dentro del elemento <methodname>&lt;dd&gt;</methodname>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.errors">
@@ -132,12 +132,12 @@ class Util
             que genera mensajes de error en una lista no ordenada
             (<methodname>&lt;ul&gt;</methodname>) como elementos de lista (li). El elemento
             <methodname>&lt;ul&gt;</methodname> recibe una clase de "errores".
-        </para>
+       </para>
 
         <para>
             El decorador de Errores puede anteponerse o postponerse al contenido
             que se le provee.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.fieldset">
@@ -151,7 +151,7 @@ class Util
             contenido pasado es envuelto en el fieldset <acronym>HTML</acronym>, reemplazando
             al contenido original. Cualquier atributo pasado al elemento decorado
             será generado como atributo del fieldset <acronym>HTML</acronym>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.file">
@@ -163,7 +163,7 @@ class Util
             File es usado por <classname>Zend_Form_Element_File</classname> y permite fijar
             múltiples elementos file con una única llamada al método. Se usa automáticamente
             y fija el nombre de cada elemento.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.form">
@@ -174,7 +174,7 @@ class Util
             <acronym>HTML</acronym> "form". El decorador Form utiliza la ayuda del view helper Form. Encapsula
             cualquier contenido provista en un elemento <acronym>HTML</acronym> form, usando la acción y el
             método del objeto Zend Form, y cualquier atributo como atributo <acronym>HTML</acronym>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.formElements">
@@ -187,7 +187,7 @@ class Util
             llamando a <methodname>render()</methodname> en cada uno de ellos y uniéndolos
             con el separador indicado. Puede anteponer o postponer al contenido que
             se le envía.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.formErrors">
@@ -197,11 +197,11 @@ class Util
             Algunos desarrolladores y diseñadores prefieren agrupar todos los
             mensajes de error en la parte superior del formulario. El decorador
             FormErrors le permite hacer esto.
-        </para>
+       </para>
 
         <para>
             Por defecto, la lista de errores generada tiene el siguiente marcado:
-        </para>
+       </para>
 
         <programlisting language="html"><![CDATA[
 <ul class="form-errors">
@@ -222,43 +222,43 @@ class Util
 
         <para>
             Puede pasar como parámetro varias opciones para configurar la salida generada:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem><para>
                 <methodname>ignoreSubForms</methodname>: se desactiva o no la recursividad
                 en los subformularios. Por defecto: false (i.e., permitir recursividad).
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 <methodname>markupElementLabelEnd</methodname>: Marcado para postponer las etiquetas de elementos. Por defecto: '&lt;/b&gt;'
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 <methodname>markupElementLabelStart</methodname>: Marcado para anteponer las etiquetas de elementos. Por defecto'&lt;b&gt;'
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 <methodname>markupListEnd</methodname>: Marcado para postponer listas de mensajes de error.  Por defecto: '&lt;/ul&gt;'.
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 <methodname>markupListItemEnd</methodname>: Marcado para postponer mensajes de error individuales.  Por defecto: '&lt;/li&gt;'
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 <methodname>markupListItemStart</methodname>: Marcado para anteponer mensajes de error individuales.  Por defecto: '&lt;li&gt;'
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                 <methodname>markupListStart</methodname>: Marcado para anteponer listas de mensajes de error.  Por defecto: '&lt;ul class="form-errors"&gt;'
-            </para></listitem>
+           </para></listitem>
         </itemizedlist>
 
         <para>
             El decorador FormErrors puede anteponerse o postponerse al contenido
             que se le provee.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.htmlTag">
@@ -271,7 +271,7 @@ class Util
             Por defecto, el contenido generado reemplaza al contenido envolviéndolo en
             la etiqueta dada. De cualquier forma, se permite especificar una
             localización de tipo 'append' (postponer) o 'prepend' (anteponer).
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.image">
@@ -281,7 +281,7 @@ class Util
             El decorador Image le permite crear un input <acronym>HTML</acronym> de tipo image
             (<methodname>&lt;input type="image" ... /&gt;</methodname>), y opcionalmente
             mostrarlo dentro de otro tag <acronym>HTML</acronym>.
-        </para>
+       </para>
 
         <para>
             Por defecto, el decorador usa la propiedad src del elemento,
@@ -290,13 +290,13 @@ class Util
             como la etiqueta 'alt', y <methodname>imageValue</methodname> (manipulado con los
             métodos <methodname>setImageValue()</methodname> y
             <methodname>getImageValue()</methodname>) será usada como el campo 'value'.
-        </para>
+       </para>
 
         <para>
             Para especificar una etiqueta <acronym>HTML</acronym> que utilizar con el elemento, pase la opción
             'tag' al decorador, o llame explícitamente a
             <methodname>setTag()</methodname>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.label">
@@ -311,7 +311,7 @@ class Util
             la etiqueta, no se genera. Por defecto, las etiquetas se
             traducen cuando existe un adaptador de traducciones y existe una
             traducción para la etiqueta.
-        </para>
+       </para>
 
         <para>
             Opcionalmente, se puede especificar la opción 'tag'; si se suministra, encapsula
@@ -319,7 +319,7 @@ class Util
             pero no hay etiqueta, la etiqueta será generada sin contenido.
             Puede especificar la clase que usar con la etiqueta mediante la opción
             'class' o llamando a <methodname>setClass()</methodname>.
-        </para>
+       </para>
 
         <para>
             Adicionalmente, se pueden especificar prefijos o sufijos que usar
@@ -327,7 +327,7 @@ class Util
             un elemento opcional o requerido. Por ejemplo, podríamos querer
             añadir ':' a la etiqueta o un '*', indicando que el elemento es requerido.
             Se puede realizar con las siguientes opciones y métodos:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem><para>
@@ -335,35 +335,35 @@ class Util
                     cuando el elemento es opcional. Utilice los accesores
                     <methodname>setOptionalPrefix()</methodname> y
                     <methodname>getOptionalPrefix()</methodname> para manipularlo.
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                     <methodname>optionalSuffix</methodname>: fija el texto pospuesto a la etiqueta
                     cuando el elemento es opcional. Utilice los accesores
                     <methodname>setOptionalSuffix()</methodname> y
                     <methodname>getOptionalSuffix()</methodname> para manipularlo.
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                     <methodname>requiredPrefix</methodname>: fija el texto antepuesto a la etiqueta
                     cuando el elemento es requerido. Utilice los accesores
                     <methodname>setRequiredPrefix()</methodname> y
                     <methodname>getRequiredPrefix()</methodname> para manipularlo.
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                     <methodname>requiredSuffix</methodname>: fija el texto antepuesto a la etiqueta
                     cuando el elemento es requerido. Utilice los accesores
                     <methodname>setRequiredSuffix()</methodname> y
                     <methodname>getRequiredSuffix()</methodname> para manipularlo.
-            </para></listitem>
+           </para></listitem>
         </itemizedlist>
 
         <para>
             Por defecto, el decorador Label antecede al contenido provisto;
             especifique la opción 'placement' (colocación) como 'append' para
             colocarlo después del contenido.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.prepareElements">
@@ -379,7 +379,7 @@ class Util
             Esta tarea puede realizarse gracias al decorador
             'PrepareElements'. Normalmente, se indicará como el primer
             decorador en al lista.
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 $form->setDecorators(array(
@@ -400,17 +400,17 @@ $form->setDecorators(array(
             utiliza el último segmento del nombre de clase del elemento para determinar
             el helper, anteponiéndole la cadena 'form': e.g., 'Zend_Form_Element_Text'
             buscaría un view helper del tipo 'formText'.
-        </para>
+       </para>
 
         <para>
             Cualquier atributo del elemento suministrado es pasado al view helper
             como atributo del elemento.
-        </para>
+       </para>
 
         <para>
             Por defecto, este decorador postpone el contenido; utilice la opción 'placement'
             para especificar una localización distinta.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardDecorators.viewScript">
@@ -422,7 +422,7 @@ $form->setDecorators(array(
             entregar el view script a un diseñador, o simplemente crear
             una forma fácil de sobreescribir basado en el módulo que se esté usando.
             El decorador ViewScript soluciona este problema.
-        </para>
+       </para>
 
         <para>
             El decorador ViewScript requiere una opción 'viewScript', o bien suministrada
@@ -430,32 +430,32 @@ $form->setDecorators(array(
             script parcial, lo que significa que cada llamada a él tiene su propio espacio de variables;
             Ninguna variable de la vista será rellenada, aparte del elemento en sí. Distintas variables son
             entonces rellenadas:
-        </para>
+       </para>
 
         <itemizedlist>
             <listitem><para>
                     <methodname>element</methodname>: el elemento decorado
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                     <methodname>content</methodname>: el contenido pasado al decorador
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                     <methodname>decorator</methodname>: el propio objeto decorador
-            </para></listitem>
+           </para></listitem>
 
             <listitem><para>
                     Del mismo modo, todas las opciones pasadas al decorador a través de
                     <methodname>setOptions()</methodname> que no son usadas internamente (tales
                     como placement, separator, etc.) son pasadas como
                     variables de vista.
-            </para></listitem>
+           </para></listitem>
         </itemizedlist>
 
         <para>
             Como ejemplo, se pueden tener el siguiente elemento:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 // Fija un decorador ViewScript a un único elemento ,
@@ -473,7 +473,7 @@ $element->setDecorators(array(array('ViewScript',
 
         <para>
             Un view script puede tener el siguiente aspecto:
-        </para>
+       </para>
 
          <programlisting language="php"><![CDATA[
 <div class="<?php echo  $this->class ?>">
@@ -497,7 +497,7 @@ $element->setDecorators(array(array('ViewScript',
                 contenido provisto por el decorador -- por ejemplo, si desea encapsularlo.
                 Puede hacer esto especificando un valor booleano false en la
                 opción 'placement' del decorador:
-            </para>
+           </para>
 
              <programlisting language="php"><![CDATA[
 // En la creación del decorador:
@@ -517,7 +517,7 @@ $this->decorator->setOption('placement', false);
         <para>
             Se recomienda usar el decorador ViewScript cuando necesite un control
             muy preciso sobre cómo generados sus elementos.
-        </para>
+       </para>
     </sect2>
 </sect1>
 <!--

+ 150 - 150
documentation/manual/es/module_specs/Zend_Form-StandardElements.xml

@@ -4,56 +4,56 @@
 <sect1 id="zend.form.standardElements">
     <title>Elementos Enviados en el Formulario Estandard de Zend Framework</title>
 
-    <para> Zend Framework viene con clases de elementos concretos cubriendo la mayoría de los
+    <para>Zend Framework viene con clases de elementos concretos cubriendo la mayoría de los
         elementos de los formularios <acronym>HTML</acronym>. La mayoría simplemente especifica una vista de ayuda para
         usar cuando se decora el elemento, pero varios ofrecen funcionalidad adicional. La siguiente
         es una lista de todas las clases, así como también una descripción de la funcionalidad que
-        ofrecen. </para>
+        ofrecen.</para>
 
     <sect2 id="zend.form.standardElements.button">
         <title>Zend_Form_Element_Button</title>
 
-        <para> Usada para crear elementos <acronym>HTML</acronym> de tipo button,
+        <para>Usada para crear elementos <acronym>HTML</acronym> de tipo button,
                 <classname>Zend_Form_Element_Button</classname> extiende <link
                 linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>,
             derivandi sy funcionalidad personalizada. It specifies the 'formButton' view helper for
-            decoration. </para>
+            decoration.</para>
 
-        <para> Like the submit element, it uses the element's label as the element value for display
+        <para>Like the submit element, it uses the element's label as the element value for display
             purposes; in other words, to set the text of the button, set the value of the element.
-            The label will be translated if a translation adapter is present. </para>
+            The label will be translated if a translation adapter is present.</para>
 
-        <para> Because the label is used as part of the element, the button element uses only the
+        <para>Because the label is used as part of the element, the button element uses only the
                 <link linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link> and <link
-                linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link> decorators. </para>
+                linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link> decorators.</para>
 
-        <para> Después de llenar o validar un formulario, se puede verificar si el botón dado fue
-            pulsado usando el método <methodname>isChecked()</methodname>. </para>
+        <para>Después de llenar o validar un formulario, se puede verificar si el botón dado fue
+            pulsado usando el método <methodname>isChecked()</methodname>.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.captcha">
         <title>Zend_Form_Element_Captcha</title>
 
-        <para> Los CAPTCHAs son usados para prevenir el envio automático de formularios por los
-            robots y otros procesos automatizados. </para>
+        <para>Los CAPTCHAs son usados para prevenir el envio automático de formularios por los
+            robots y otros procesos automatizados.</para>
 
-        <para> The Captcha form element allows you to specify which <link
+        <para>The Captcha form element allows you to specify which <link
                 linkend="zend.captcha.adapters">Zend_Captcha adapter</link> you wish to utilize as a
             form captcha. It then sets this adapter as a validator to the object, and uses a Captcha
-            decorator for rendering (which proxies to the CAPTCHA adapter). </para>
+            decorator for rendering (which proxies to the CAPTCHA adapter).</para>
 
-        <para> Adapters may be any adapters in <classname>Zend_Captcha</classname>, as well as any
+        <para>Adapters may be any adapters in <classname>Zend_Captcha</classname>, as well as any
             custom adapters you may have defined elsewhere. To allow this, you may pass an
             additional plugin loader type key, 'CAPTCHA' or 'captcha', when specifying a plugin
-            loader prefix path: </para>
+            loader prefix path:</para>
 
         <programlisting language="php"><![CDATA[
 $element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
 ]]></programlisting>
 
-        <para> Los Captcha entonces pueden ser cargados usando el método
+        <para>Los Captcha entonces pueden ser cargados usando el método
                 <methodname>setCaptcha()</methodname>, el cual puede tomar una instancia cualquiera
-            de CAPTCHA instance, o el nombre corto del adaptador captcha: </para>
+            de CAPTCHA instance, o el nombre corto del adaptador captcha:</para>
 
         <programlisting language="php"><![CDATA[
 // instancia concreta:
@@ -63,8 +63,8 @@ $element->setCaptcha(new Zend_Captcha_Figlet());
 $element->setCaptcha('Dumb');
 ]]></programlisting>
 
-        <para> Si desea cargar sus elementos configuración, especifique la clave 'captcha' con un
-            array conteniendo la clave 'captcha', o ambas claves 'captcha' y 'captchaOptions': </para>
+        <para>Si desea cargar sus elementos configuración, especifique la clave 'captcha' con un
+            array conteniendo la clave 'captcha', o ambas claves 'captcha' y 'captchaOptions':</para>
 
         <programlisting language="php"><![CDATA[
 // Usindo la clave captcha simple:
@@ -89,63 +89,63 @@ $element = new Zend_Form_Element_Captcha('foo', array(
 ));
 ]]></programlisting>
 
-        <para> El decorador usado es determinado consultando el adaptador captcha. Por defecto, es
+        <para>El decorador usado es determinado consultando el adaptador captcha. Por defecto, es
             usado el <link linkend="zend.form.standardDecorators.captcha">Captcha decorator</link>,
             pero un adaptador puede especificar uno diferente vía su
-                método<methodname>getDecorator()</methodname>. </para>
+                método<methodname>getDecorator()</methodname>.</para>
 
-        <para> Como ha notado, el adaptador CAPTCHA actúa él mismo como un validador para el
+        <para>Como ha notado, el adaptador CAPTCHA actúa él mismo como un validador para el
             elemento. Adicionalmente, el validador NotEmpty no es usado y el elemento es marcado
             como requerido. En la mayoría de los casos, usted no necesitará hacer nada más para
-            tener un captcha presente en su formulario. </para>
+            tener un captcha presente en su formulario.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.checkbox">
         <title>Zend_Form_Element_Checkbox</title>
 
-        <para> Las casillas de verificación (checkboxes) <acronym>HTML</acronym> le permiten devolver un valor
+        <para>Las casillas de verificación (checkboxes) <acronym>HTML</acronym> le permiten devolver un valor
             específico, pero básicamente funcionan como los booleanos: cuando está marcada, el valor
             es enviado; cuando no está marcada, no se envía nada. Internamente,
-            Zend_Form_Element_Checkbox fuerza este estado. </para>
+            Zend_Form_Element_Checkbox fuerza este estado.</para>
 
-        <para> Por defecto, si la casilla (checkbox) está marcada su valor es '1', y si no está
+        <para>Por defecto, si la casilla (checkbox) está marcada su valor es '1', y si no está
             marcada su valor es '0'. You can specify the values to use using the
                 <methodname>setCheckedValue()</methodname> and
                 <methodname>setUncheckedValue()</methodname> accessors, respectively. Internally,
             any time you set the value, if the provided value matches the checked value, then it is
-            set, but any other value causes the unchecked value to be set. </para>
+            set, but any other value causes the unchecked value to be set.</para>
 
-        <para> Additionally, setting the value sets the <methodname>checked</methodname> property of
+        <para>Additionally, setting the value sets the <methodname>checked</methodname> property of
             the checkbox. You can query this using <methodname>isChecked()</methodname> or simply
             accessing the property. Using the <methodname>setChecked($flag)</methodname> method will
             both set the state of the flag as well as set the appropriate checked or unchecked value
             in the element. Please use this method when setting the checked state of a checkbox
-            element to ensure the value is set properly. </para>
+            element to ensure the value is set properly.</para>
 
         <para>
             <classname>Zend_Form_Element_Checkbox</classname> uses the 'formCheckbox' view helper.
-            The checked value is always used to populate it. </para>
+            The checked value is always used to populate it.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.file">
         <title>Zend_Form_Element_File</title>
 
-        <para> The File form element provides a mechanism for supplying file upload fields to your
+        <para>The File form element provides a mechanism for supplying file upload fields to your
             form. It utilizes <link linkend="zend.file.transfer.introduction"
                 >Zend_File_Transfer</link> internally to provide this functionality, and the
                 <methodname>FormFile</methodname> view helper as also the
-                <methodname>File</methodname> decorator to display the form element. </para>
+                <methodname>File</methodname> decorator to display the form element.</para>
 
-        <para> By default, it uses the <methodname>Http</methodname> transfer adapter, which
+        <para>By default, it uses the <methodname>Http</methodname> transfer adapter, which
             introspects the <methodname>$_FILES</methodname> array and allows you to attach
             validators and filters. Validators and filters attached to the form element will be
-            attached to the transfer adapter. </para>
+            attached to the transfer adapter.</para>
 
         <example id="zend.form.standardElements.file.usage">
             <title>File form element usage</title>
 
-            <para> The above explanation of using the File form element may seem arcane, but actual
-                usage is relatively trivial: </para>
+            <para>The above explanation of using the File form element may seem arcane, but actual
+                usage is relatively trivial:</para>
 
             <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
@@ -160,17 +160,17 @@ $element->addValidator('Extension', false, 'jpg,png,gif');
 $form->addElement($element, 'foo');
 ]]></programlisting>
 
-            <para> También debe asegurarse de que se ha provisto un tipo de codificación corecto al
+            <para>También debe asegurarse de que se ha provisto un tipo de codificación corecto al
                 formulario; se debe utilizar 'multipart/form-data'. Se puede hacer esto
-                estableciendo el atributo 'enctype' en el formulario: </para>
+                estableciendo el atributo 'enctype' en el formulario:</para>
 
             <programlisting language="php"><![CDATA[
 $form->setAttrib('enctype', 'multipart/form-data');
 ]]></programlisting>
 
-            <para> After the form is validated successfully, you must receive the file to store it
+            <para>After the form is validated successfully, you must receive the file to store it
                 in the final destination using <methodname>receive()</methodname>. Additionally you
-                can determinate the final location using <methodname>getFileName()</methodname>: </para>
+                can determinate the final location using <methodname>getFileName()</methodname>:</para>
 
             <programlisting language="php"><![CDATA[
 if (!$form->isValid) {
@@ -189,42 +189,42 @@ $location = $form->foo->getFileName();
         <note>
             <title>Ubicaciones Predeterminadas para la Carga de Archivos</title>
 
-            <para> Por defecto, los archivos son cargados al directorio temp del sistema. </para>
+            <para>Por defecto, los archivos son cargados al directorio temp del sistema.</para>
         </note>
 
         <note>
             <title>Valores de archivo</title>
 
-            <para> Dentro de HTTP, un elemento file no tiene valor. Por tanto y a causa de razones
+            <para>Dentro de HTTP, un elemento file no tiene valor. Por tanto y a causa de razones
                 de seguridad usted solo obtendrá el nombre del archivo cargado llamando a getValue()
                 y no el destino completo. si usted necesita la información completa llame a
-                getFileName() y le devolverá el destino y nombre de archivo completo. </para>
+                getFileName() y le devolverá el destino y nombre de archivo completo.</para>
         </note>
 
-        <para> Per default the file will automatically be received when you call
+        <para>Per default the file will automatically be received when you call
                 <methodname>getValues()</methodname> on the form. The reason behind this behaviour
-            is, that the file itself is the value of the file element. </para>
+            is, that the file itself is the value of the file element.</para>
 
         <programlisting language="php"><![CDATA[
 $form->getValues();
 ]]></programlisting>
 
         <note>
-            <para> Therefor another call of <methodname>receive()</methodname> after calling
+            <para>Therefor another call of <methodname>receive()</methodname> after calling
                     <methodname>getValues()</methodname> will not have an effect. Also creating a
                 instance of <classname>Zend_File_Transfer</classname> will not have an effect as
-                there no file anymore to receive. </para>
+                there no file anymore to receive.</para>
         </note>
 
-        <para> Still, sometimes you may want to call <methodname>getValues()</methodname> without
+        <para>Still, sometimes you may want to call <methodname>getValues()</methodname> without
             receiving the file. You can archive this by calling
                 <methodname>setValueDisabled(true)</methodname>. To get the actual value of this
-            flag you can call <methodname>isValueDisabled()</methodname>. </para>
+            flag you can call <methodname>isValueDisabled()</methodname>.</para>
 
         <example id="zend.form.standardElements.file.retrievement">
             <title>Explicit file retrievement</title>
 
-            <para> First call <methodname>setValueDisabled(true)</methodname>. </para>
+            <para>First call <methodname>setValueDisabled(true)</methodname>.</para>
 
             <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
@@ -233,10 +233,10 @@ $element->setLabel('Upload an image:')
         ->setValueDisabled(true);
 ]]></programlisting>
 
-            <para> Now the file will not be received when you call
+            <para>Now the file will not be received when you call
                     <methodname>getValues()</methodname>. So you must call
                     <methodname>receive()</methodname> on the file element, or an instance of
-                    <classname>Zend_File_Transfer</classname> yourself. </para>
+                    <classname>Zend_File_Transfer</classname> yourself.</para>
 
             <programlisting language="php"><![CDATA[
 $values = $form->getValues();
@@ -249,26 +249,26 @@ if ($form->isValid($form->getPost())) {
 ]]></programlisting>
         </example>
 
-        <para> There are several states of the uploaded file which can be checked with the following
-            methods: </para>
+        <para>There are several states of the uploaded file which can be checked with the following
+            methods:</para>
 
         <itemizedlist>
             <listitem>
                 <para>
                     <methodname>isUploaded()</methodname>: Checks if the file element has been
-                    uploaded or not. </para>
+                    uploaded or not.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>isReceived()</methodname>: Checks if the file element has already
-                    been received. </para>
+                    been received.</para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>isFiltered()</methodname>: Checks if the filters have already been
-                    applied to the file element or not. </para>
+                    applied to the file element or not.</para>
             </listitem>
         </itemizedlist>
 
@@ -294,14 +294,14 @@ if ($form->foo->isUploaded()) {
             <classname>Zend_Form_Element_File</classname> soporta también archivos múltiples. Para
             llamar el método <methodname>setMultiFile($count)</methodname> usted puede establecer la
             cantidad de elementos file que usted desea crear. Esto le previene de establecer la
-            misma configuración varias veces. </para>
+            misma configuración varias veces.</para>
 
         <example id="zend.form.standardElements.file.multiusage">
             <title>Configuración de múltiples archivos</title>
 
-            <para> Crear un elemento multi archivo es lo mismo que querer configurar un elemento
+            <para>Crear un elemento multi archivo es lo mismo que querer configurar un elemento
                 único. Sólo tiene que llamar a <methodname>setMultiFile()</methodname>
-                adicionalmente después de la creación: </para>
+                adicionalmente después de la creación:</para>
 
             <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
@@ -318,29 +318,29 @@ $element->setMultiFile(3);
 $form->addElement($element, 'foo');
 ]]></programlisting>
 
-            <para> En su vista usted ahora obtendrá 3 elementos para carga de archivos idénticos los
+            <para>En su vista usted ahora obtendrá 3 elementos para carga de archivos idénticos los
                 cuales comparten la misma configuración. Para obtener el conjunto del número de
-                archivos múltiples simplemente llame a <methodname>getMultiFile()</methodname>. </para>
+                archivos múltiples simplemente llame a <methodname>getMultiFile()</methodname>.</para>
 
         </example>
 
         <note>
             <title>Elementos File en Subformularios</title>
 
-            <para> Cuando usted use elementos file en subformularios debería establecer nombres
+            <para>Cuando usted use elementos file en subformularios debería establecer nombres
                 únicos. Así, cuando usted nombre su elemento file en el subformulario1, debe darle
-                un nombre diferente en el subformulario2. </para>
+                un nombre diferente en el subformulario2.</para>
 
-            <para> Tan pronto como haya dos elementos file nombrados de forma idéntica, el segundo
-                elemento no se mostrará o enviará. </para>
+            <para>Tan pronto como haya dos elementos file nombrados de forma idéntica, el segundo
+                elemento no se mostrará o enviará.</para>
         </note>
 
-        <para> Para limitar el tamaño del archivo, el cual es cargado por el cliente, debe
+        <para>Para limitar el tamaño del archivo, el cual es cargado por el cliente, debe
             establecer el tamaño máximo de archivo que el formulario acepta . Esto limitará el
             tamaño del archivo en el lado del cliente configurando la opción
                 <methodname>MAX_FILE_SIZE</methodname> en el formulario. Tan pronto como establezca
             este valor usando el método <methodname>setMaxFileSize($size)</methodname>, será
-            generado con el elemento file. </para>
+            generado con el elemento file.</para>
 
         <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
@@ -354,105 +354,105 @@ $form->addElement($element, 'foo');
         <note>
             <title>MaxFileSize con elementos file múltiples</title>
 
-            <para> Cuando usted usa elementos file múltiples en los formularios tiene que establecer
+            <para>Cuando usted usa elementos file múltiples en los formularios tiene que establecer
                 el <methodname>MAX_FILE_SIZE</methodname> una sola vez. Establecerlo otra vez
-                sobreescribirá el valor previamente establecido. </para>
+                sobreescribirá el valor previamente establecido.</para>
 
-            <para> Note que usted puede establecer <methodname>MAX_FILE_SIZE</methodname> una sola
-                vez, incluso si usa múltiples formularios. </para>
+            <para>Note que usted puede establecer <methodname>MAX_FILE_SIZE</methodname> una sola
+                vez, incluso si usa múltiples formularios.</para>
         </note>
     </sect2>
 
     <sect2 id="zend.form.standardElements.hidden">
         <title>Zend_Form_Element_Hidden</title>
 
-        <para> Los elementos Hidden simplemente inyectan datos que deben ser enviados, pero que el
+        <para>Los elementos Hidden simplemente inyectan datos que deben ser enviados, pero que el
             usuario no debe manipular. <classname>Zend_Form_Element_Hidden</classname> logra esto a
-            través del uso del helper de vista 'formHidden'. </para>
+            través del uso del helper de vista 'formHidden'.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.hash">
         <title>Zend_Form_Element_Hash</title>
 
-        <para> Este elemento provee protección de ataques desde CSRF sobre formularios, asegurando
+        <para>Este elemento provee protección de ataques desde CSRF sobre formularios, asegurando
             que el dato es enviado por la sesión del usuario que generó el formulario y no por un
             script malicioso. La protección se logra mediante la adición de un elemento hash a un
-            formulario y verificandolo cuando el formulario es enviado. </para>
+            formulario y verificandolo cuando el formulario es enviado.</para>
 
-        <para> El nombre del elemento hash debe ser único. Se recomienda usar la opción
+        <para>El nombre del elemento hash debe ser único. Se recomienda usar la opción
                 <literal>salt</literal> para el elemento, dos hashes con el mismo nombre y
-            diferentes salts no chocan: </para>
+            diferentes salts no chocan:</para>
 
         <programlisting language="php"><![CDATA[
 $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
 ]]></programlisting>
 
-        <para> Puede establecer el salt más tarde usando el método
-                <methodname>setSalt($salt)</methodname>. </para>
+        <para>Puede establecer el salt más tarde usando el método
+                <methodname>setSalt($salt)</methodname>.</para>
 
-        <para> Internamente, el elemento almacena un identificador único usando
+        <para>Internamente, el elemento almacena un identificador único usando
                 <methodname>Zend_Session_Namespace</methodname>, y lo comprueba en el momento que se
             envía (comprueba que el TTL no ha espirado). El validador 'Identical' entonces es usado
-            para asegurarse que el hash enviado marcha con el hash alamacenado. </para>
+            para asegurarse que el hash enviado marcha con el hash alamacenado.</para>
 
-        <para> El helper de vista 'formHidden' es usado para generar el elemento en el formulario.
-        </para>
+        <para>El helper de vista 'formHidden' es usado para generar el elemento en el formulario.
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.Image">
         <title>Zend_Form_Element_Image</title>
 
-        <para> Las imágenes pueden ser usadas como elementos de formulario, y le permiten
-            especificar elementos gráficos como botones de formulario. </para>
+        <para>Las imágenes pueden ser usadas como elementos de formulario, y le permiten
+            especificar elementos gráficos como botones de formulario.</para>
 
-        <para> Los elementos Image necesitan una imagen fuente.
+        <para>Los elementos Image necesitan una imagen fuente.
                 <classname>Zend_Form_Element_Image</classname> le permite especificar esto usando el
             método de acceso <methodname>setImage()</methodname> (o clave de configuración 'image').
             Opcionalmente, también puede especificar un valor para utilizar al momento de enviar la
             imagen utilizando el método de acceso <methodname>setImageValue()</methodname> (o clave
             de configuración 'imageValue'). Cuando el valor establecido para el elemento sea igual a
                 <methodname>imageValue</methodname>, entonces el método de acceso
-                <methodname>isChecked()</methodname> devolverá <constant>TRUE</constant>. </para>
+                <methodname>isChecked()</methodname> devolverá <constant>TRUE</constant>.</para>
 
-        <para> Los elementos Image usan el <link linkend="zend.form.standardDecorators.image"
+        <para>Los elementos Image usan el <link linkend="zend.form.standardDecorators.image"
                 >Decorador de Imagen </link> para generar (así como el estandard Errors, HtmlTag, y
             decorador Label). Opcionalmente, puede especificar una etiqueta para el decorador
-                <methodname>Image</methodname> que luego envuelva al elemento imagen. </para>
+                <methodname>Image</methodname> que luego envuelva al elemento imagen.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.multiCheckbox">
         <title>Zend_Form_Element_MultiCheckbox</title>
 
-        <para> En ocasiones, se tiene un conjunto de checkboxes, y se desea agrupar los resultados.
+        <para>En ocasiones, se tiene un conjunto de checkboxes, y se desea agrupar los resultados.
             Esto es como un <link linkend="zend.form.standardElements.multiselect"
                 >Multiselect</link>, pero en lugar de estar en una lista desplegable, necesita
-            mostrarlos en pares checkbox/value (casilla de verificación/valor). </para>
+            mostrarlos en pares checkbox/value (casilla de verificación/valor).</para>
 
         <para>
             <classname>Zend_Form_Element_MultiCheckbox</classname> hace esto sencillo. Like all
             other elements extending the base Multi element, you can specify a list of options, and
             easily validate against that same list. The 'formMultiCheckbox' view helper ensures that
-            these are returned as an array in the form submission. </para>
+            these are returned as an array in the form submission.</para>
 
-        <para> Por defecto, este elemnto requiere un validador <methodname>InArray</methodname> el
+        <para>Por defecto, este elemnto requiere un validador <methodname>InArray</methodname> el
             cual valida contra el array de llaves de las opciones registradas. Se puede desactivar
             esta caracteristica llamando a
                 <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
-            falso a la configuración de llaves <methodname>registerInArrayValidator</methodname>. </para>
+            falso a la configuración de llaves <methodname>registerInArrayValidator</methodname>.</para>
 
-        <para> Se puede manipular las opciones de checkbox usando los siguinetes métodos: </para>
+        <para>Se puede manipular las opciones de checkbox usando los siguinetes métodos:</para>
 
         <itemizedlist>
             <listitem>
                 <para>
                     <methodname>addMultiOption($option, $value)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>addMultiOptions(array $options)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
@@ -471,19 +471,19 @@ $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
             <listitem>
                 <para>
                     <methodname>removeMultiOption($option)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>clearMultiOptions()</methodname>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para> Para marcar los valores confirmados, se necesita pasar un array de valores a
+        <para>Para marcar los valores confirmados, se necesita pasar un array de valores a
                 <methodname>setValue()</methodname>. El siguiente código verificará los valores
-            "bar" y "bat": </para>
+            "bar" y "bat":</para>
 
         <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_MultiCheckbox('foo', array(
@@ -498,31 +498,31 @@ $element = new Zend_Form_Element_MultiCheckbox('foo', array(
 $element->setValue(array('bar', 'bat'));
 ]]></programlisting>
 
-        <para> Note que cuando se determina un asimple variable, se debe pasar un array. </para>
+        <para>Note que cuando se determina un asimple variable, se debe pasar un array.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.multiselect">
         <title>Zend_Form_Element_Multiselect</title>
 
-        <para> <acronym>XHTML</acronym>  <methodname>selector</methodname> de elementos permite 'multiple' atributos,
+        <para><acronym>XHTML</acronym>  <methodname>selector</methodname> de elementos permite 'multiple' atributos,
             indicando multiples opciones pueden ser seleccionados por submision, en vez de lo usual.
                 <classname>Zend_Form_Element_Multiselect</classname> extiende <link
                 linkend="zend.form.standardElements.select">Zend_Form_Element_Select</link>, y
             define los atributos <methodname>multiple</methodname> a 'multiple'. Como las otras
             clases que heredan de la clase base <classname>Zend_Form_Element_Multi</classname>, se
-            puede manipular las opciones del selector usando: </para>
+            puede manipular las opciones del selector usando:</para>
 
         <itemizedlist>
             <listitem>
                 <para>
                     <methodname>addMultiOption($option, $value)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>addMultiOptions(array $options)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
@@ -541,71 +541,71 @@ $element->setValue(array('bar', 'bat'));
             <listitem>
                 <para>
                     <methodname>removeMultiOption($option)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>clearMultiOptions()</methodname>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
-        <para> Si un adaptador de tranducción es registrado con el formulario y/o elemnto, la opción
-            valores será traducido para propósito de despliegue. </para>
+        <para>Si un adaptador de tranducción es registrado con el formulario y/o elemnto, la opción
+            valores será traducido para propósito de despliegue.</para>
 
-        <para> Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
+        <para>Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
             cual valida contra el array de llaves de opciones registradas. se puede deshabilitar
             esta caracteristica llamando a
                 <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
             falso a la configuracion de llaves <methodname>registerInArrayValidator</methodname>.
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.password">
         <title>Zend_Form_Element_Password</title>
 
-        <para> Elementos contraseña son basicamente elementos de texto -- excepto que tipicamente no
+        <para>Elementos contraseña son basicamente elementos de texto -- excepto que tipicamente no
             se quiera desplegar la contraseña en los mensajes de error o del elemnto en si cuando el
-            formulario es re desplegado. </para>
+            formulario es re desplegado.</para>
 
         <para>
             <classname>Zend_Form_Element_Password</classname> archiva esto llamando
                 <methodname>setObscureValue(true)</methodname> en cada validador (asegurando que la
             contraseña este oculta en mensajes de validación de errores), y usando la vista ayuda
-            'formPassword' (el cual no desplega el valor pasado). </para>
+            'formPassword' (el cual no desplega el valor pasado).</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.radio">
         <title>Zend_Form_Element_Radio</title>
 
-        <para> elementos de Radio permite especificar muchas opciones, de los cuales se necesita
+        <para>elementos de Radio permite especificar muchas opciones, de los cuales se necesita
             retornar un solo valor. <classname>Zend_Form_Element_Radio</classname> extiende la clase
             base <classname>Zend_Form_Element_Multi</classname>, permitiendonos especificar un
             numero de opciones, y luego usa la vista ayuda <methodname>formRadio</methodname> para
-            desplegar. </para>
+            desplegar.</para>
 
-        <para> Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
+        <para>Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
             cual valida contra el array de llaves de opciones registradas. se puede deshabilitar
             esta caracteristica llamando a
                 <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
             falso a la configuracion de llaves <methodname>registerInArrayValidator</methodname>.
-            configuration key. </para>
+            configuration key.</para>
 
-        <para> Como todos los elementos se extienden del elemento clase base Multi, los siguientes
-            métodos pueden ser usados para manipular las opciones de radio desplegadas: </para>
+        <para>Como todos los elementos se extienden del elemento clase base Multi, los siguientes
+            métodos pueden ser usados para manipular las opciones de radio desplegadas:</para>
 
         <itemizedlist>
             <listitem>
                 <para>
                     <methodname>addMultiOption($option, $value)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>addMultiOptions(array $options)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
@@ -624,13 +624,13 @@ $element->setValue(array('bar', 'bat'));
             <listitem>
                 <para>
                     <methodname>removeMultiOption($option)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>clearMultiOptions()</methodname>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -638,9 +638,9 @@ $element->setValue(array('bar', 'bat'));
     <sect2 id="zend.form.standardElements.reset">
         <title>Zend_Form_Element_Reset</title>
 
-        <para> Botones Reset son tipicamente usados para limpiar un formulario, y no son parte de la
+        <para>Botones Reset son tipicamente usados para limpiar un formulario, y no son parte de la
             información sometida. Como sea, como ellos sirven como propósito en el despliegue, son
-            incluidos en los elementos estándar. </para>
+            incluidos en los elementos estándar.</para>
 
         <para>
             <classname>Zend_Form_Element_Reset</classname> extends <link
@@ -648,37 +648,37 @@ $element->setValue(array('bar', 'bat'));
             cual, la etiqueta es usada para desplegar el botón y será traducido si el adaptador
             traducción esta presente. Se utiliza sólo los decoradores 'ViewHelper' y 'DtDdWrapper',
             nunca debería existir mensajes de error para tales elementos, no se necesitará una
-            etiqueta. </para>
+            etiqueta.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.select">
         <title>Zend_Form_Element_Select</title>
 
-        <para> Cajas selectoras son una manera común de limitar espeficias opciones para un dado
+        <para>Cajas selectoras son una manera común de limitar espeficias opciones para un dado
             formulario datum. <classname>Zend_Form_Element_Select</classname> le permite generar
-            esto rápido y fácil. </para>
+            esto rápido y fácil.</para>
 
-        <para> Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
+        <para>Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
             cual valida contra el array de llaves de opciones registradas. se puede deshabilitar
             esta caracteristica llamando a
                 <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
             falso a la configuracion de llaves <methodname>registerInArrayValidator</methodname>.
-            configuration key. </para>
+            configuration key.</para>
 
-        <para> Como se extiende el elemento base Multi, los siguientes métodos pueden ser usados
-            para manipular las opciones seleccionadas: </para>
+        <para>Como se extiende el elemento base Multi, los siguientes métodos pueden ser usados
+            para manipular las opciones seleccionadas:</para>
 
         <itemizedlist>
             <listitem>
                 <para>
                     <methodname>addMultiOption($option, $value)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>addMultiOptions(array $options)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
@@ -697,60 +697,60 @@ $element->setValue(array('bar', 'bat'));
             <listitem>
                 <para>
                     <methodname>removeMultiOption($option)</methodname>
-                </para>
+               </para>
             </listitem>
 
             <listitem>
                 <para>
                     <methodname>clearMultiOptions()</methodname>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
 
         <para>
             <classname>Zend_Form_Element_Select</classname> usa la vista ayuda 'formSelect' para
-            decoración. </para>
+            decoración.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.submit">
         <title>Zend_Form_Element_Submit</title>
 
-        <para> Submit buttons are used to submit a form. You may use multiple submit buttons; you
+        <para>Submit buttons are used to submit a form. You may use multiple submit buttons; you
             can use the button used to submit the form to decide what action to take with the data
             submitted. <classname>Zend_Form_Element_Submit</classname> makes this decisioning easy,
             by adding a <methodname>isChecked()</methodname> method; as only one button element will
             be submitted by the form, after populating or validating the form, you can call this
-            method on each submit button to determine which one was used. </para>
+            method on each submit button to determine which one was used.</para>
 
         <para>
             <classname>Zend_Form_Element_Submit</classname> usa la etiqueta como el "valor" del
             botón sometido, traduciendolo si el adaptador traducción esta presente.
                 <methodname>isChecked()</methodname> verifica el valor sometido contra la etiqueta
-            en orden to determinar si el botón ha sido usado. </para>
+            en orden to determinar si el botón ha sido usado.</para>
 
-        <para> El <link linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link> y <link
+        <para>El <link linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link> y <link
                 linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link> decoradores
             generan al elemento. no decorador de etiquetas es usado, como el botón etiqueta es usado
             cuando se generan los elementos; asi tipicamente, no se asociarán errores con el elemnto
-            sometido. </para>
+            sometido.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.text">
         <title>Zend_Form_Element_Text</title>
 
-        <para> Lejos el mas prevaleciente tipo de formulario es el elemento texto, permitido para
+        <para>Lejos el mas prevaleciente tipo de formulario es el elemento texto, permitido para
             entrada de texto limitado; es un elemento ideal para la entrada de la información.
                 <classname>Zend_Form_Element_Text</classname> simplemente usa la vista ayuda
-            'formText' para desplegar el elemento. </para>
+            'formText' para desplegar el elemento.</para>
     </sect2>
 
     <sect2 id="zend.form.standardElements.textarea">
         <title>Zend_Form_Element_Textarea</title>
 
-        <para> Textareas son usadas cuando se espera una larga cantidad de texto y no limites en la
+        <para>Textareas son usadas cuando se espera una larga cantidad de texto y no limites en la
             cantidad de texto sometido ( otro que el máximo tamaño tomado por su servidor or
                 <acronym>PHP</acronym>). <classname>Zend_Form_Element_Textarea</classname> usa la
             vista ayuda 'textArea' para desplegar tales elementos, ocupando el valor como el
-            contendio del elemento. </para>
+            contendio del elemento.</para>
     </sect2>
 </sect1>

+ 2 - 2
documentation/manual/es/module_specs/Zend_Json-Basics.xml

@@ -3,9 +3,9 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.json.basics">
     <title>Uso Básico</title>
-    <para> El uso de <classname>Zend_Json</classname> consiste en utilizar los dos métodos públicos
+    <para>El uso de <classname>Zend_Json</classname> consiste en utilizar los dos métodos públicos
         estáticos disponibles: <methodname>Zend_Json::encode()</methodname> y
-            <methodname>Zend_Json::decode()</methodname>. </para>
+            <methodname>Zend_Json::decode()</methodname>.</para>
     <programlisting language="php"><![CDATA[
 // Recuperar un valor:
 $phpNative = Zend_Json::decode($encodedValue);

+ 5 - 5
documentation/manual/es/module_specs/Zend_Json-Introduction.xml

@@ -7,13 +7,13 @@
         <classname>Zend_Json</classname> ofrece métodos convenientes para la serialización desde
             <acronym>PHP</acronym> nativo a <acronym>JSON</acronym> y la decodificación <acronym>JSON</acronym> a <acronym>PHP</acronym>
         nativo. Para más información sobre <acronym>JSON</acronym>, <ulink url="http://www.json.org/"> visite el sitio
-            del proyecto <acronym>JSON</acronym></ulink>. </para>
-    <para> <acronym>JSON</acronym>, JavaScript Object Notation, puede ser utilizado para intercambio de datos entre
+            del proyecto <acronym>JSON</acronym></ulink>.</para>
+    <para><acronym>JSON</acronym>, JavaScript Object Notation, puede ser utilizado para intercambio de datos entre
         JavaScript y otros lenguajes. Dado que <acronym>JSON</acronym> puede ser evaluado directamente por JavaScript,
         es más eficiente y ligero que el formato <acronym>XML</acronym> para intercambiar datos con
-        clientes JavaScript. </para>
+        clientes JavaScript.</para>
 
-    <para> Adicionalmente, <classname>Zend_Json</classname> provee una forma útil para convertir
+    <para>Adicionalmente, <classname>Zend_Json</classname> provee una forma útil para convertir
         cualquier string arbitrario con formato <acronym>XML</acronym> en un string con formato
         <acronym>JSON</acronym>. Este rasgo integral permite a desarrolladores <acronym>PHP</acronym> transformar los
         datos codificados de la empresa en formato <acronym>XML</acronym> a formato<acronym>JSON</acronym> antes de
@@ -21,6 +21,6 @@
         fácil de hacer conversiones dinámicas de datos del código en el servidor evitando así el
         innecesario parsing de <acronym>XML</acronym> de las aplicaciones en el navegador. Ofrece
         una agradable función útil que facilita las técnicas de procesamiento de datos para
-        aplicaciones específicas. </para>
+        aplicaciones específicas.</para>
 
 </sect1>

+ 22 - 22
documentation/manual/es/module_specs/Zend_Json-Objects.xml

@@ -6,59 +6,59 @@
 
     <sect2 id="zend.json.advanced.objects1">
         <title>Objetos JSON</title>
-        <para> Cuando se codifican objetos <acronym>PHP</acronym> como <acronym>JSON</acronym>, todas las propiedades
-            públicas de ese objeto serán codificadas en un objeto <acronym>JSON</acronym>. </para>
-        <para> <acronym>JSON</acronym> no permite referencias a objetos, de manera que debe tenerse cuidado de no
+        <para>Cuando se codifican objetos <acronym>PHP</acronym> como <acronym>JSON</acronym>, todas las propiedades
+            públicas de ese objeto serán codificadas en un objeto <acronym>JSON</acronym>.</para>
+        <para><acronym>JSON</acronym> no permite referencias a objetos, de manera que debe tenerse cuidado de no
             codificar objetos con referencias recursivas. Si tiene problemas con la recursión,
                 <methodname>Zend_Json::encode()</methodname> y
                 <methodname>Zend_Json_Encoder::encode()</methodname> permiten un segundo parámetro
             opcional para comprobar si hay recursión; si un objeto es serializado dos veces, se
-            emitirá una excepción. </para>
-        <para> La decodificación de objetos <acronym>JSON</acronym> plantea una dificultad adicional, sin embargo, ya
+            emitirá una excepción.</para>
+        <para>La decodificación de objetos <acronym>JSON</acronym> plantea una dificultad adicional, sin embargo, ya
             que los objetos Javascript se corresponden más estrechamente a un array asociativo de
                 <acronym>PHP</acronym>. Algunos sugieren que debe pasarse un identificador de clase,
             y una instancia del objeto de esa clase debe crearse y alimentarla con datos de pares
             clave/valor del objeto <acronym>JSON</acronym>; otros consideran que esto podría plantear un considerable
-            riesgo de seguridad. </para>
-        <para> Por defecto, <classname>Zend_Json</classname> decodificará objetos <acronym>JSON</acronym> como arrays
-            asociativos. Sin embargo, si desea retornar un objeto, puede especificar esto: </para>
+            riesgo de seguridad.</para>
+        <para>Por defecto, <classname>Zend_Json</classname> decodificará objetos <acronym>JSON</acronym> como arrays
+            asociativos. Sin embargo, si desea retornar un objeto, puede especificar esto:</para>
         <programlisting language="php"><![CDATA[
 // Decodifica objetos JSON como objetos PHP
 $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
 ]]></programlisting>
-        <para> Por lo tanto, cualquiera de los objetos decodificados son devueltos como objetos
+        <para>Por lo tanto, cualquiera de los objetos decodificados son devueltos como objetos
                 <methodname>StdClass</methodname> con propiedades correspondientea a pares
-            clave/valor en la notación <acronym>JSON</acronym>. </para>
-        <para> La recomendación de Zend Framework es que el desarrollador debe decidir cómo
+            clave/valor en la notación <acronym>JSON</acronym>.</para>
+        <para>La recomendación de Zend Framework es que el desarrollador debe decidir cómo
             decodificar objetos <acronym>JSON</acronym>. Si debe crearse un objeto de un determinado tipo, puede ser
             creado en el código del desarrollador y alimentado con datos de los valores
-            decodificados utilizando <classname>Zend_Json</classname>. </para>
+            decodificados utilizando <classname>Zend_Json</classname>.</para>
     </sect2>
 
     <sect2 id="zend.json.advanced.objects2">
         <title>Codificando Objetos PHP</title>
 
-        <para> Si se codifican objetos <acronym>PHP</acronym> por defecto, el mecanismo de
+        <para>Si se codifican objetos <acronym>PHP</acronym> por defecto, el mecanismo de
             codificación sólo tiene acceso a las propiedades públicas de estos objetos. Cuando se
             implementa un método <methodname>toJson()</methodname> en un objeto a codificar,
                 <classname>Zend_Json</classname> llama a este método y espera que el objeto devuelva
-            una representación <acronym>JSON</acronym> de su estado interno. </para>
+            una representación <acronym>JSON</acronym> de su estado interno.</para>
     </sect2>
 
     <sect2 id="zend.json.advanced.internal">
         <title>Codificador/Decodificador Interno</title>
 
-        <para> Zend_Json tiene dos modos diferentes dependiendo de si ext/json está habilitada o no
+        <para>Zend_Json tiene dos modos diferentes dependiendo de si ext/json está habilitada o no
             en su instalación <acronym>PHP</acronym>. Si ext/json está instalado por defecto, las
             funciones <methodname>json_encode()</methodname> y
                 <methodname>json_decode()</methodname> se utilizan para la codificación y
             decodificación <acronym>JSON</acronym>. Si ext/json no está instalado, una implementación de Zend Framework
             en código <acronym>PHP</acronym> es utilizada para la codificación/decodificación. Esto
             es considerablemente más lento que usando la extensión de <acronym>PHP</acronym>, pero
-            se comporta exactamente igual. </para>
+            se comporta exactamente igual.</para>
 
-        <para> También algunas veces puede querer utilizar el codificador/decodificador interno
-            incluso si tiene ext/json instalado. Puede hacer esto llamando a: </para>
+        <para>También algunas veces puede querer utilizar el codificador/decodificador interno
+            incluso si tiene ext/json instalado. Puede hacer esto llamando a:</para>
 
         <programlisting language="php"><![CDATA[
 Zend_Json::$useBuiltinEncoderDecoder = true:
@@ -68,21 +68,21 @@ Zend_Json::$useBuiltinEncoderDecoder = true:
     <sect2 id="zend.json.advanced.expr">
         <title>Expresiones JSON</title>
 
-        <para> Javascript hace uso intenso de las funciones anónimas de llamadas de retorno, que
+        <para>Javascript hace uso intenso de las funciones anónimas de llamadas de retorno, que
             pueden guardarse en variables del objeto <acronym>JSON</acronym>. Aunque solo funcionan si no regresaron
             dentro comillas dobles, que es lo que hace naturalmente
             <classname>Zend_Json</classname>. Con la Expression de apoyo para Zend_Json este apoyo
             puede codificar objetos <acronym>JSON</acronym> con callbacks validos de javascript. Esto funciona tanto
-            con <methodname>json_encode()</methodname> como con el codificador interno. </para>
+            con <methodname>json_encode()</methodname> como con el codificador interno.</para>
 
-        <para> Un callback javascript se representa usando el objero
+        <para>Un callback javascript se representa usando el objero
                 <classname>Zend_Json_Expr</classname>. Este implementa el patrón del objeto valor y
             es inmutable. Se puede establecer la expresión de javascript como el primer argumento
             del constructor. Por defecto <classname>Zend_Json::encode</classname> no codifica
             callbacks javascript, usted tiene que pasar la opción <methodname>'enableJsonExprFinder'
                 = true</methodname> dentro de la función <methodname>encode</methodname>. Si se
             habilita, la expresión de apoyo trabaja para todas las expresiones anidadas en grandes
-            estructuras de objetos. Un ejemplo de uso se vería así: </para>
+            estructuras de objetos. Un ejemplo de uso se vería así:</para>
 
         <programlisting language="php"><![CDATA[
 $data = array(

+ 52 - 52
documentation/manual/es/module_specs/Zend_Json-Server.xml

@@ -15,15 +15,15 @@
             <acronym>PHP</acronym> de la especificación del <ulink
             url="http://groups.google.com/group/json-schema/web/service-mapping-description-proposal"
             >Service Mapping Description (SMD)</ulink> para prestar un servicio
-        de metadatos a consumidores del servicio. </para>
+        de metadatos a consumidores del servicio.</para>
 
-    <para> JSON-RPC es un protocolo liviano de Remote Procedure Call que utiliza
+    <para>JSON-RPC es un protocolo liviano de Remote Procedure Call que utiliza
         JSON para envolver sus mensajes. Esta implementación JSON-RPC sigue la
             <acronym>API</acronym>
         <acronym>PHP</acronym> de <ulink
             url="http://us.php.net/manual/en/function.soap-soapserver-construct.php"
             >SoapServer</ulink>. Esto significa que, en una situación típica,
-        simplemente: </para>
+        simplemente:</para>
 
     <itemizedlist>
         <listitem>
@@ -45,7 +45,7 @@
         información para construir tanto la SMD y hacer cumplir el método de
         llamado de firmas. Como tal, es imperativo que cualquier de las
         funciones agregadas y/o los métodos de clase tengan mínimamente una
-        plena documentación de <acronym>PHP</acronym> docblocks: </para>
+        plena documentación de <acronym>PHP</acronym> docblocks:</para>
 
     <itemizedlist>
         <listitem>
@@ -63,14 +63,14 @@
         escribir esto, sólo requieren a POST como es. Esto hace que sea fácil de
         utilizar el mismo punto final del servidor para manejar a ambas
         peticiones así como para entregar el servicio SMD, como se muestra en el
-        siguiente ejemplo. </para>
+        siguiente ejemplo.</para>
 
     <example id="zend.json.server.usage">
         <title>Uso de Zend_Json_Server</title>
 
-        <para> Primero, definir una clase que queramos exponer vía servidor
+        <para>Primero, definir una clase que queramos exponer vía servidor
             JSON-RPC. Vamos a la clase 'Calculator', y definir los métodos para
-            'add', 'subtract', 'multiply', y 'divide': </para>
+            'add', 'subtract', 'multiply', y 'divide':</para>
 
         <programlisting language="php"><![CDATA[
 /**
@@ -128,13 +128,13 @@ class Calculator
 }
 ]]></programlisting>
 
-        <para> Nótese que cada método tiene un docblock con entradas indicando
+        <para>Nótese que cada método tiene un docblock con entradas indicando
             cada parámetro y su tipo, así como una entrada para el valor de
             retorno. Esto es <emphasis>absolutamente crítico</emphasis> cuando
             se usa <classname>Zend_Json_Server</classname> -- o cualquier otro
-            componente del servidor en Zend Framework, por esa cuestión. </para>
+            componente del servidor en Zend Framework, por esa cuestión.</para>
 
-        <para> Ahora, crearemos un script para manejar las peticiones: </para>
+        <para>Ahora, crearemos un script para manejar las peticiones:</para>
 
         <programlisting language="php"><![CDATA[
 $server = new Zend_Json_Server();
@@ -146,10 +146,10 @@ $server->setClass('Calculator');
 $server->handle();
 ]]></programlisting>
 
-        <para> Sin embargo, esto no soluciona el problema de devolución de un
+        <para>Sin embargo, esto no soluciona el problema de devolución de un
             SMD para que el cliente JSON-RPC pueda autodescubrir los métodos.
             Esto puede lograrse determinando el método del requerimiento HTTP, y
-            luego especificando algún servidor de metadatos: </para>
+            luego especificando algún servidor de metadatos:</para>
 
         <programlisting language="php"><![CDATA[
 $server = new Zend_Json_Server();
@@ -172,9 +172,9 @@ if ('GET' == $_SERVER['REQUEST_METHOD']) {
 $server->handle();
 ]]></programlisting>
 
-        <para> Si utiliza el servidor JSON-RPC con Dojo toolkit, también
+        <para>Si utiliza el servidor JSON-RPC con Dojo toolkit, también
             necesitará establecer un flag de compatibilidad especial para
-            garantizar que los dos interoperen correctamente: </para>
+            garantizar que los dos interoperen correctamente:</para>
 
 
         <programlisting language="php"><![CDATA[
@@ -201,10 +201,10 @@ $server->handle();
     <sect2 id="zend.json.server.details">
         <title>Detalles Avanzados</title>
 
-        <para> Aunque la mayor funcionalidad de
+        <para>Aunque la mayor funcionalidad de
                 <classname>Zend_Json_Server</classname> se puntualiza en <xref
                 linkend="zend.json.server.usage"/>, hay más funcionalidad
-            avanzada disponible. </para>
+            avanzada disponible.</para>
 
         <sect3 id="zend.json.server.details.zendjsonserver">
             <title>Zend_Json_Server</title>
@@ -213,7 +213,7 @@ $server->handle();
                 <classname>Zend_Json_Server</classname> es la clase núcleo en la
                 propuesta JSON-RPC; que maneja todas las peticiones y como
                 respuesta devuelve un conjunto de datos. Tiene los siguientes
-                métodos: </para>
+                métodos:</para>
 
             <itemizedlist>
                 <listitem>
@@ -282,16 +282,16 @@ $server->handle();
         <sect3 id="zend.json.server.details.zendjsonserverrequest">
             <title>Zend_Json_Server_Request</title>
 
-            <para> El medio ambiente de una solicitud JSON-RPC está encapsulado
+            <para>El medio ambiente de una solicitud JSON-RPC está encapsulado
                 en el objeto <classname>Zend_Json_Server_Request</classname>.
                 Este objeto le permite establecer porciones necesarias de la
                 solicitud JSON-RPC, incluida el ID de la solicitud, parámetros y
                 especificaciones de la versión JSON-RPC. Tiene la capacidad de
                 cargarse a sí mismo via JSON o un conjunto de opciones, y puede
                 mostrase a si mismo como JSON vía el método
-                    <methodname>toJson()</methodname>. </para>
+                    <methodname>toJson()</methodname>.</para>
 
-            <para> El objeto solicitud tiene los siguientes métodos disponibles: </para>
+            <para>El objeto solicitud tiene los siguientes métodos disponibles:</para>
 
             <itemizedlist>
                 <listitem>
@@ -309,7 +309,7 @@ $server->handle();
                         null)</methodname>: Agrega un parámetro para usar con el
                         método de llamada. Los parámetros pueden ser sólo los
                         valores, o pueden incluir opcionalmente el nombre del
-                        parámetro. </para>
+                        parámetro.</para>
                 </listitem>
                 <listitem>
                     <para><methodname>addParams(array $params)</methodname>:
@@ -359,7 +359,7 @@ $server->handle();
                 <listitem>
                     <para><methodname>getVersion()</methodname>: Recuperar la
                         versión de la especificación JSON-RPC utilizados por la
-                        solicitud. </para>
+                        solicitud.</para>
                 </listitem>
                 <listitem>
                     <para><methodname>loadJson($json)</methodname>: Cargar el
@@ -371,25 +371,25 @@ $server->handle();
                 </listitem>
             </itemizedlist>
 
-            <para> Una versión específica de HTTP está disponible a través de
+            <para>Una versión específica de HTTP está disponible a través de
                     <classname>Zend_Json_Server_Request_Http</classname>. Esta
                 clase podrá recuperar la solicitud via
                     <methodname>php://input</methodname>, y permite el acceso
                 JSON sin procesar vía el método
-                    <methodname>getRawJson()</methodname>. </para>
+                    <methodname>getRawJson()</methodname>.</para>
         </sect3>
 
         <sect3 id="zend.json.server.details.zendjsonserverresponse">
             <title>Zend_Json_Server_Response</title>
 
-            <para> La respuesta del conjunto de datos JSON-RPC es encapsulada en
+            <para>La respuesta del conjunto de datos JSON-RPC es encapsulada en
                 el objeto <classname>Zend_Json_Server_Response</classname>. Este
                 objeto le permite ajustar el valor de retorno de la solicitud,
                 siendo la respuesta un error o no, el identificador de
                 solicitud, con que versión de especificación esta conformada la
-                respuesta de JSON-RPC, y, opcionalmente el mapa de servicio. </para>
+                respuesta de JSON-RPC, y, opcionalmente el mapa de servicio.</para>
 
-            <para> El objeto respuesta tiene los siguientes métodos disponibles: </para>
+            <para>El objeto respuesta tiene los siguientes métodos disponibles:</para>
 
             <itemizedlist>
                 <listitem>
@@ -404,7 +404,7 @@ $server->handle();
                     <para><methodname>setError(Zend_Json_Server_Error
                             $error)</methodname>: Establecer un objeto error. Si
                         ya está, este será utilizado como la respuesta cuando se
-                        serialize a JSON. </para>
+                        serialize a JSON.</para>
                 </listitem>
                 <listitem>
                     <para><methodname>getError()</methodname>: Recuperar el
@@ -418,7 +418,7 @@ $server->handle();
                     <para><methodname>setId($name)</methodname>: Establecer el
                         identificador de solicitud (de manera que la respuesta
                         del cliente pueda coincidir con la solicitud original).
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
                     <para><methodname>getId()</methodname>: Recuperar el
@@ -441,7 +441,7 @@ $server->handle();
                 <listitem>
                     <para><methodname>setServiceMap($serviceMap)</methodname>:
                         Establecer el objeto mapa de servicio para la respuesta.
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
                     <para><methodname>getServiceMap()</methodname>: Recuperar el
@@ -449,30 +449,30 @@ $server->handle();
                 </listitem>
             </itemizedlist>
 
-            <para> Una versión específica de HTTP está disponible a través de
+            <para>Una versión específica de HTTP está disponible a través de
                     <classname>Zend_Json_Server_Response_Http</classname>. Esta
                 clase enviará las cabeceras HTTP apropiadas así como serializará
-                la respuesta como JSON. </para>
+                la respuesta como JSON.</para>
         </sect3>
 
         <sect3 id="zend.json.server.details.zendjsonservererror">
             <title>Zend_Json_Server_Error</title>
 
-            <para> JSON-RPC tiene un formato especial para informar condiciones
+            <para>JSON-RPC tiene un formato especial para informar condiciones
                 de error. Todos los errores necesitan proporcionar, mínimamente,
                 un mensaje de error y un código de error; opcionalmente, pueden
-                proporcionar datos adicionales, tales como un backtrace. </para>
+                proporcionar datos adicionales, tales como un backtrace.</para>
 
-            <para> Los códigos de error derivan de los recomendados por <ulink
+            <para>Los códigos de error derivan de los recomendados por <ulink
                     url="http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php"
                     >el proyecto XML-RPC EPI</ulink>.
                     <classname>Zend_Json_Server</classname> apropiadamente
                 asigna el código sobre la base de la condición de error. Para
-                las excepciones de la aplicación, se utiliza el código '-32000'. </para>
+                las excepciones de la aplicación, se utiliza el código '-32000'.</para>
 
             <para>
                 <classname>Zend_Json_Server_Error</classname> expone los
-                siguientes métodos: </para>
+                siguientes métodos:</para>
 
             <itemizedlist>
                 <listitem>
@@ -517,30 +517,30 @@ $server->handle();
         <sect3 id="zend.json.server.details.zendjsonserversmd">
             <title>Zend_Json_Server_Smd</title>
 
-            <para> SMD quiere decir Service Mapping Description, un esquema JSON
+            <para>SMD quiere decir Service Mapping Description, un esquema JSON
                 que define cómo un cliente puede interactuar con un servicio web
                 en particular. En el momento de escribir esto, la <ulink
                     url="http://groups.google.com/group/json-schema/web/service-mapping-description-proposal"
                     >especificación</ulink> todavía no ha sido ratificada
                 oficialmente, pero ya está en uso en Dojo toolkit así como en
-                otros clientes consumidores de JSON-RPC. </para>
+                otros clientes consumidores de JSON-RPC.</para>
 
-            <para> En su aspecto más básico, un SMD indica el método de
+            <para>En su aspecto más básico, un SMD indica el método de
                 transporte (POST, GET, TCP/IP, etc), el tipo de envoltura de la
                 solicitud (generalmente se basa en el protocolo del servidor),
                 el objetivo <acronym>URL</acronym> del proveedor del servicio, y
                 un mapa de los servicios disponibles. En el caso de JSON-RPC, el
                 servicio de mapa es una lista de los métodos disponibles, en el
                 que cada método documenta los parámetros disponibles y sus
-                tipos, así como los tipos de valores esperados a devolver. </para>
+                tipos, así como los tipos de valores esperados a devolver.</para>
 
             <para>
                 <classname>Zend_Json_Server_Smd</classname> Proporciona un
                 objeto orientado para construir servicios de mapas. Básicamente,
                 pasa los metadatos describiendo el servicio usando mutators, y
-                especifica los servicios (métodos y funciones). </para>
+                especifica los servicios (métodos y funciones).</para>
 
-            <para> Las descripciones de los servicios son típicamente instancias
+            <para>Las descripciones de los servicios son típicamente instancias
                 de <classname>Zend_Json_Server_Smd_Service</classname>; también
                 puede pasar toda la información como un array a los diversos
                 mutators de servicios en
@@ -550,17 +550,17 @@ $server->handle();
                 (típicamente, la función o el nombre del método), los parámetros
                 (nombres, tipos y posición), y el tipo del valor de retorno.
                 Opcionalmente, cada servicio puede tener su propio objetivo y
-                envoltura, aunque esta funcionalidad rara vez es utilizada. </para>
+                envoltura, aunque esta funcionalidad rara vez es utilizada.</para>
 
             <para>
                 <classname>Zend_Json_Server</classname> Realmente todo esto
                 sucede entre bambalinas para usted, utilizando reflexión sobre
                 las clases y funciones agregadas; debe crear su propio servicio
                 de mapas sólo si necesita brindar funcionalidad personalizada
-                que la introspección de clase y función no puede ofrecer. </para>
+                que la introspección de clase y función no puede ofrecer.</para>
 
-            <para> Los métodos disponibles en
-                    <classname>Zend_Json_Server_Smd</classname> incluyen: </para>
+            <para>Los métodos disponibles en
+                    <classname>Zend_Json_Server_Smd</classname> incluyen:</para>
 
             <itemizedlist>
                 <listitem>
@@ -619,7 +619,7 @@ $server->handle();
                 <listitem>
                     <para><methodname>getId()</methodname>: Recuperar el ID del
                         servicio (normalmente el punto final de la
-                            <acronym>URL</acronym> del servicio). </para>
+                            <acronym>URL</acronym> del servicio).</para>
                 </listitem>
                 <listitem>
                     <para><methodname>setDescription($description)</methodname>:
@@ -641,7 +641,7 @@ $server->handle();
                 <listitem>
                     <para><methodname>isDojoCompatible()</methodname>: Devuelve
                         el valor del flag de compatibilidad de Dojo (falso, por
-                        defecto). </para>
+                        defecto).</para>
                 </listitem>
                 <listitem>
                     <para><methodname>addService($service)</methodname>: Añade
@@ -658,7 +658,7 @@ $server->handle();
                     <para><methodname>setServices(array $services)</methodname>:
                         Agrega múltiples servicios a la vez, sobreescribiendo
                         cualquiera de los servicios previamente establecidos.
-                    </para>
+                   </para>
                 </listitem>
                 <listitem>
                     <para><methodname>getService($name)</methodname>: Ontiene el
@@ -689,7 +689,7 @@ $server->handle();
 
             <para>
                 <classname>Zend_Json_Server_Smd_Service</classname> tiene los
-                siguientes métodos: </para>
+                siguientes métodos:</para>
 
             <itemizedlist>
                 <listitem>
@@ -697,7 +697,7 @@ $server->handle();
                         Establecer el estado del objeto dede un array. Cualquier
                         mutator (métodos comenzando con 'set') puede ser
                         utilizado como una clave y establecerlo mediante este
-                        método. </para>
+                        método.</para>
                 </listitem>
                 <listitem>
                     <para><methodname>setName($name)</methodname>: Establecer el

+ 12 - 12
documentation/manual/es/module_specs/Zend_Json-xml2json.xml

@@ -8,7 +8,7 @@
         transformar datos en formato <acronym>XML</acronym> a formato <acronym>JSON</acronym>. Esta
         característica fue inspirado en un <ulink
             url="http://www.ibm.com/developerworks/xml/library/x-xml2jsonphp/">
-            artículo de IBM developerWorks</ulink>. </para>
+            artículo de IBM developerWorks</ulink>.</para>
 
     <para>
         <classname>Zend_Json</classname> incluye una función estática llamada
@@ -21,9 +21,9 @@
         conversión. Si este parámetro opcional de entrada no está dado, entonces
         el comportamiento por defecto es ignorar los atributos
             <acronym>XML</acronym>. La llamada a esta función se hace como se
-        muestra a continuación: </para>
+        muestra a continuación:</para>
     <programlisting language="php"><![CDATA[
-// la función fromXml simplemente toma un string conteniendo XML 
+// la función fromXml simplemente toma un string conteniendo XML
 // como entrada.
 $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 ]]></programlisting>
@@ -41,9 +41,9 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
             <classname>Zend_Json_Exception</classname>. Hay varios archivos
             <acronym>XML</acronym> con diversos grados de complejidad provistas
         en el directorio de tests de Zend Framework. Se pueden utilizar para
-        probar la funcionalidad de la característica xml2json. </para>
+        probar la funcionalidad de la característica xml2json.</para>
 
-    <para> El siguiente es un ejemplo simple que muestra tanto el string de
+    <para>El siguiente es un ejemplo simple que muestra tanto el string de
         entrada <acronym>XML</acronym> pasado a y al string <acronym>JSON</acronym> de salida
         devuelto como resultado de la función
             <methodname>Zend_Json::fromXml()</methodname>. Este ejemplo utilizó el
@@ -51,10 +51,10 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
             <acronym>XML</acronym> durante la conversión. Por lo tanto, puede
         notar que el string resultante <acronym>JSON</acronym> incluye una representación de los
         atributos <acronym>XML</acronym> presentes en el string de entrada
-            <acronym>XML</acronym>. </para>
+            <acronym>XML</acronym>.</para>
 
-    <para> String de entrada XML pasada a la función
-            <methodname>Zend_Json::fromXml()</methodname>: </para>
+    <para>String de entrada XML pasada a la función
+            <methodname>Zend_Json::fromXml()</methodname>:</para>
 
     <programlisting language="php"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
@@ -79,8 +79,8 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 </books>
 ]]></programlisting>
 
-    <para> String de salida <acronym>JSON</acronym> devuelto por la función
-            <methodname>Zend_Json::fromXml()</methodname>: </para>
+    <para>String de salida <acronym>JSON</acronym> devuelto por la función
+            <methodname>Zend_Json::fromXml()</methodname>:</para>
 
     <programlisting language="php"><![CDATA[
 {
@@ -115,8 +115,8 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 }
 ]]></programlisting>
 
-    <para> Más detalles sobre esta característica xml2json pueden encontrarse en
+    <para>Más detalles sobre esta característica xml2json pueden encontrarse en
         la propuesta original. Eche un vistazo a la <ulink
-            url="http://tinyurl.com/2tfa8z">Zend_xml2json proposal</ulink>. </para>
+            url="http://tinyurl.com/2tfa8z">Zend_xml2json proposal</ulink>.</para>
 
 </sect1>

+ 14 - 14
documentation/manual/es/module_specs/Zend_Layout-Introduction.xml

@@ -9,42 +9,42 @@
                 etapas" (Two Step View) permitiendo a los desarrolladores colocar el contenido de la
                 aplicación dentro de otra vista, usualmente representando la plantilla del sitio.
                 Tales plantillas son a menudo denominadas <emphasis>layouts</emphasis> por otros
-                proyectos, y Zend Framework ha adoptado este término por consistencia. </para>
+                proyectos, y Zend Framework ha adoptado este término por consistencia.</para>
 
-        <para> Los objetivos principales de <classname>Zend_Layout</classname>> son los siguientes: </para>
+        <para>Los objetivos principales de <classname>Zend_Layout</classname>> son los siguientes:</para>
 
         <itemizedlist>
                 <listitem>
-                        <para> Automatizar la selección y renderizado de layouts cuando se usan con
-                                los componentes <acronym>MVC</acronym> de Zend Framework. </para>
+                        <para>Automatizar la selección y renderizado de layouts cuando se usan con
+                                los componentes <acronym>MVC</acronym> de Zend Framework.</para>
                 </listitem>
 
                 <listitem>
-                        <para> Proveer ámbitos separados para variables relacionadas al diseño y
-                                contenido. </para>
+                        <para>Proveer ámbitos separados para variables relacionadas al diseño y
+                                contenido.</para>
                 </listitem>
 
                 <listitem>
-                        <para> Permitir configuraciones, incluyendo el nombre del layout, resolución
-                                (inflexión) del script layout, y ruta del script layout. </para>
+                        <para>Permitir configuraciones, incluyendo el nombre del layout, resolución
+                                (inflexión) del script layout, y ruta del script layout.</para>
                 </listitem>
 
                 <listitem>
-                        <para> Permitir deshabilitar layouts, cambiar el script de diseño y otras
+                        <para>Permitir deshabilitar layouts, cambiar el script de diseño y otras
                                 condiciones; permitir estas acciones dentro de los controladores y
-                                scripts de vista. </para>
+                                scripts de vista.</para>
                 </listitem>
 
                 <listitem>
-                        <para> Seguir normas de resolución similares (inflexión) como el <link
+                        <para>Seguir normas de resolución similares (inflexión) como el <link
                                         linkend="zend.controller.actionhelpers.viewrenderer"
                                         >ViewRenderer</link>, pero permitiendo también el uso de
-                                normas distintas </para>
+                                normas distintas</para>
                 </listitem>
 
                 <listitem>
-                        <para> Permitir el uso de los componentes <acronym>MVC</acronym> de Zend
-                                Framework. </para>
+                        <para>Permitir el uso de los componentes <acronym>MVC</acronym> de Zend
+                                Framework.</para>
                 </listitem>
         </itemizedlist>
 </sect1>

+ 18 - 18
documentation/manual/es/module_specs/Zend_Loader.xml

@@ -8,7 +8,7 @@
     <para>
         La clase Zend_Loader incluye métodos para ayudar a cargar archivos
         dinámicamente.
-    </para>
+   </para>
 
     <tip>
         <title>Zend_Loader vs. require_once()</title>
@@ -20,7 +20,7 @@
             hay ningún beneficio al usar <classname>Zend_Loader</classname> sobre el uso
             de funciones tradicionales de <acronym>PHP</acronym> como
             <ulink url="http://php.net/require_once"><methodname>require_once()</methodname></ulink>.
-        </para>
+       </para>
     </tip>
 
     <sect2 id="zend.loader.load.file">
@@ -34,7 +34,7 @@
             <ulink url="http://php.net/include"><methodname>include()</methodname></ulink>.
             Este método devuelve un booleano <constant>FALSE</constant> en caso de fallo, por ejemplo,
             si el archivo especificado no existe.
-        </para>
+       </para>
 
         <example id="zend.loader.load.file.example">
             <title>Ejemplo del Método loadFile()</title>
@@ -50,14 +50,14 @@ Zend_Loader::loadFile($filename, $dirs=null, $once=false);
             El archivo <varname>$filename</varname> sólo puede contener caracteres alfanuméricos,
             guiones ("-"), barras bajas ("_"), o puntos (".").
             No hay ninguna restricción en el argumento <varname>$dirs</varname>.
-        </para>
+       </para>
 
         <para>
             El parámetro <varname>$dirs</varname> especifica en qué carpetas buscar el archivo.
             Si el valor es <constant>NULL</constant>, sólo se buscará en el <methodname>include_path</methodname>
             ; si el valor es un string o un array, se buscará en la carpeta o carpetas especificadas
             , seguidas del <methodname>include_path</methodname>.
-        </para>
+       </para>
 
         <para>
             El argumento <varname>$once</varname> es un booleano.  Si es <constant>TRUE</constant>,
@@ -65,7 +65,7 @@ Zend_Loader::loadFile($filename, $dirs=null, $once=false);
             <ulink url="http://php.net/include"><methodname>include_once()</methodname></ulink>
             para cargar el archivo, de lo contrario se utiliza la función <acronym>PHP</acronym>
             <ulink url="http://php.net/include_once"><methodname>include()</methodname></ulink>.
-        </para>
+       </para>
 
     </sect2>
 
@@ -76,7 +76,7 @@ Zend_Loader::loadFile($filename, $dirs=null, $once=false);
         <para>
             El método estático <methodname>Zend_Loader::loadClass($class, $dirs)</methodname>
             carga un archivo <acronym>PHP</acronym> y comprueba la existencia de la clase.
-        </para>
+       </para>
 
         <example id="zend.loader.load.class.example">
             <title>Ejemplo del método loadClass()</title>
@@ -94,7 +94,7 @@ Zend_Loader::loadClass('Container_Tree',
             La cadena que especifica la clase es convertida a una ruta relativa sustituyendo las barras
             bajas (_) por el separador de carpeta de su Sistema Operativo, y añadiendo
             '.php'. En el ejemplo de arriba, 'Container_Tree' se convierte en 'Container\\Tree.php' en Windows.
-        </para>
+       </para>
 
         <para>
             Si <varname>$dirs</varname> es una cadena o un array,
@@ -102,18 +102,18 @@ Zend_Loader::loadClass('Container_Tree',
             orden suministrado. El primer archivo encontrado es cargado. Si el archivo
             no existe en el <varname>$dirs</varname> especificado, entonces se busca en el
             <methodname>include_path</methodname> del entorno PHP.
-        </para>
+       </para>
 
         <para>
             Si el archivo no es encontrado o la clase no existe después de la carga,
             <methodname>Zend_Loader::loadClass()</methodname> lanza una <methodname>Zend_Exception</methodname>.
-        </para>
+       </para>
 
         <para>
             <methodname>Zend_Loader::loadFile()</methodname> se usa para cargar, así que
             el nombre de la clase puede contener únicamente caracteres alfanuméricos,
             guiones ('-'), barras bajas ('_'), y puntos ('.').
-        </para>
+       </para>
 
     </sect2>
 
@@ -125,7 +125,7 @@ Zend_Loader::loadClass('Container_Tree',
             El método estático <classname>Zend_Loader::isReadable($pathname)</classname>
             devuelve <constant>TRUE</constant> si el archivo en la ruta $pathname existe
             y tiene permisos de lectura, <constant>FALSE</constant> en caso contrario.
-        </para>
+       </para>
 
         <example id="zend.loader.load.isreadable.example">
             <title>Ejemplo del método isReadable()</title>
@@ -143,7 +143,7 @@ if (Zend_Loader::isReadable($filename)) {
             <ulink url="http://php.net/is_readable"><methodname>is_readable()</methodname></ulink>.
             La función <acronym>PHP</acronym> no busca en <methodname>include_path</methodname>,
             mientras que <methodname>Zend_Loader::isReadable()</methodname> sí.
-        </para>
+       </para>
 
     </sect2>
 
@@ -159,7 +159,7 @@ if (Zend_Loader::isReadable($filename)) {
             <methodname>autoload()</methodname>.  Si la extensión <methodname>spl_autoload</methodname>
             no está presente en el entorno <acronym>PHP</acronym>, entonces el método
             <methodname>registerAutoload()</methodname> lanza una <methodname>Zend_Exception</methodname>.
-        </para>
+       </para>
 
         <example id="zend.loader.load.autoload.example">
             <title>Ejemplo de registro del método callback del autoloader</title>
@@ -173,13 +173,13 @@ Zend_Loader::registerAutoload();
             referenciar clases de Zend Framework sin tener que cargarlas
             explícitamente.  El método <methodname>autoload()</methodname> usa automáticamente
             <methodname>Zend_Loader::loadClass()</methodname> cuando referencie una clase.
-        </para>
+       </para>
 
         <para>
             Si ha extendido la clase <classname>Zend_Loader</classname>, se puede pasar un
             argumento opcional a <methodname>registerAutoload()</methodname>, para especificar
             la clase a partir de la cual registrar un método <methodname>autoload()</methodname>.
-        </para>
+       </para>
 
         <example id="zend.loader.load.autoload.example-extended">
             <title>Ejemplo de registro del método de callback autoload desde una clase
@@ -192,7 +192,7 @@ Zend_Loader::registerAutoload();
                 <methodname>autoload()</methodname> delega en su padre la llamada a
                 <methodname>self::loadClass()</methodname>, entonces llamará
                 al método con ese nombre en la clase padre, no la subclase.
-            </para>
+           </para>
              <programlisting language="php"><![CDATA[
 class My_Loader extends Zend_Loader
 {
@@ -222,7 +222,7 @@ Zend_Loader::registerAutoload('My_Loader');
             que es <constant>TRUE</constant> por defecto. Si este parámetro es
             <constant>FALSE</constant>, el callback de autoload será borrado de la pila
             de autoload SPL.
-        </para>
+       </para>
 
     </sect2>
 

+ 12 - 12
documentation/manual/es/module_specs/Zend_Pdf-Create.xml

@@ -3,18 +3,18 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.create">
     <title>Creando y Cargando Documentos PDF</title>
-    <para> La clase <classname>Zend_Pdf</classname> representa documentos PDF y
-        proporciona operaciones a nivel de documento. </para>
+    <para>La clase <classname>Zend_Pdf</classname> representa documentos PDF y
+        proporciona operaciones a nivel de documento.</para>
 
-    <para> Para crear un nuevo documento, primero debe ser creado un nuevo
-        objeto <classname>Zend_Pdf</classname>. </para>
+    <para>Para crear un nuevo documento, primero debe ser creado un nuevo
+        objeto <classname>Zend_Pdf</classname>.</para>
 
-    <para> La clase <classname>Zend_Pdf</classname> también ofrece dos métodos
+    <para>La clase <classname>Zend_Pdf</classname> también ofrece dos métodos
         estáticos para cargar un documento <acronym>PDF</acronym>. Estos métodos son
             <methodname>Zend_Pdf::load()</methodname> y
             <methodname>Zend_Pdf::parse()</methodname>. Ambos retornan objetos
             <classname>Zend_Pdf</classname> como resultado o arrojan una
-        excepción si ocurre un error. </para>
+        excepción si ocurre un error.</para>
 
     <example id="zend.pdf.create.example-1">
         <title>Crear un nuevo documento PDF o cargar uno ya esistente.</title>
@@ -32,19 +32,19 @@ $pdf3 = Zend_Pdf::parse($pdfString);
 ]]></programlisting>
     </example>
 
-    <para> El formato de archivos PDF soporta la actualización incremental del
+    <para>El formato de archivos PDF soporta la actualización incremental del
         documento. Así, cada vez que un documento es actualizado, entonces se
         crea una nueva revisión del documento. El componente
             <classname>Zend_Pdf</classname> soporta la recuperación de una
-        revisión especificada. </para>
-    <para> Una revisión puede especificarse como un segundo parámetro a los
+        revisión especificada.</para>
+    <para>Una revisión puede especificarse como un segundo parámetro a los
         métodos <methodname>Zend_Pdf::load()</methodname> y
             <methodname>Zend_Pdf::parse()</methodname> o requerirlo llamando al
         método <methodname>Zend_Pdf::rollback()</methodname>. <footnote>
-            <para> El método <methodname>Zend_Pdf::rollback()</methodname> debe
+            <para>El método <methodname>Zend_Pdf::rollback()</methodname> debe
                 ser invocado antes de aplicar cualquier cambio al documento, de
-                lo contrario el comportamiento no está definido. </para>
-        </footnote> call. </para>
+                lo contrario el comportamiento no está definido.</para>
+        </footnote> call.</para>
 
     <example id="zend.pdf.create.example-2">
         <title>Requiriendo Revisiones Específicas de un documento PDF</title>

+ 106 - 106
documentation/manual/es/module_specs/Zend_Pdf-Drawing.xml

@@ -6,21 +6,21 @@
 
     <sect2 id="zend.pdf.drawing.geometry">
         <title>Geometría</title>
-        <para> PDF utiliza la misma geometría que PostScript. Se inicia desde la
+        <para>PDF utiliza la misma geometría que PostScript. Se inicia desde la
             parte inferior izquierda de la página y por defecto se mide en
-            puntos (1/72 de pulgada). </para>
-        <para> El tamaño de la página se puede recuperar desde un objeto página: </para>
+            puntos (1/72 de pulgada).</para>
+        <para>El tamaño de la página se puede recuperar desde un objeto página:</para>
         <para>
             <programlisting language="php"><![CDATA[
 $width  = $pdfPage->getWidth();
 $height = $pdfPage->getHeight();
 ]]></programlisting>
-        </para>
+       </para>
     </sect2>
 
     <sect2 id="zend.pdf.drawing.color">
         <title>Colores</title>
-        <para> PDF tiene una poderosa capacidad de representación de colores. El
+        <para>PDF tiene una poderosa capacidad de representación de colores. El
             módulo <classname>Zend_Pdf</classname> soporta la Escala de Grises,
             y los espacios de color RGB y CMYK. Cualquiera de ellos puede ser
             usado en cualquier lugar, donde el objeto
@@ -28,7 +28,7 @@ $height = $pdfPage->getHeight();
                 <classname>Zend_Pdf_Color_GrayScale</classname>,
                 <classname>Zend_Pdf_Color_Rgb</classname> y
                 <classname>Zend_Pdf_Color_Cmyk</classname> proporcionan esta
-            funcionalidad: </para>
+            funcionalidad:</para>
         <programlisting language="php"><![CDATA[
 // $grayLevel (float number). 0.0 (black) - 1.0 (white)
 $color1 = new Zend_Pdf_Color_GrayScale($grayLevel);
@@ -40,8 +40,8 @@ $color2 = new Zend_Pdf_Color_Rgb($r, $g, $b);
 $color3 = new Zend_Pdf_Color_Cmyk($c, $m, $y, $k);
 ]]></programlisting>
 
-        <para> Los estilos de colores <acronym>HTML</acronym> también se proporcionan con la clase
-                <classname>Zend_Pdf_Color_Html</classname>: </para>
+        <para>Los estilos de colores <acronym>HTML</acronym> también se proporcionan con la clase
+                <classname>Zend_Pdf_Color_Html</classname>:</para>
         <programlisting language="php"><![CDATA[
 $color1 = new Zend_Pdf_Color_Html('#3366FF');
 $color2 = new Zend_Pdf_Color_Html('silver');
@@ -52,10 +52,10 @@ $color3 = new Zend_Pdf_Color_Html('forestgreen');
 
     <sect2 id="zend.pdf.drawing.shape-drawing">
         <title>Dibujo de Formas</title>
-        <para> Todas las operaciones de dibujo se puede hacer en un contexto de
-            página PDF. </para>
-        <para> La clase <classname>Zend_Pdf_Page</classname> proporciona un
-            conjunto de primitivas de dibujo: </para>
+        <para>Todas las operaciones de dibujo se puede hacer en un contexto de
+            página PDF.</para>
+        <para>La clase <classname>Zend_Pdf_Page</classname> proporciona un
+            conjunto de primitivas de dibujo:</para>
         <programlisting language="php"><![CDATA[
 /**
  * Dibujar una línea desde x1,y1 hasta x2,y2.
@@ -177,12 +177,12 @@ public function drawEllipse($x1,
 
     <sect2 id="zend.pdf.drawing.text-drawing">
         <title>Dibujo de Texto</title>
-        <para> Las operaciones de dibujo de texto también existen en el contexto
+        <para>Las operaciones de dibujo de texto también existen en el contexto
             de una página PDF. Puede dibujar una sola línea de texto en
             cualquier posición en la página mediante el suministro de las
             coordenadas X e Y de la base de referencia. La fuente y tamaño
             actual de la letra se utilizan para operaciones de dibujo de texto
-            (ver descripción detallada más abajo). </para>
+            (ver descripción detallada más abajo).</para>
         <programlisting language="php"><![CDATA[
 /**
  * Dibujar una línea de texto en una posición específica.
@@ -190,7 +190,7 @@ public function drawEllipse($x1,
  * @param string $text
  * @param float $x
  * @param float $y
- * @param string $charEncoding (opcional) Codificación de caracteres del texto 
+ * @param string $charEncoding (opcional) Codificación de caracteres del texto
  * fuente. El valor por defecto es la codificación actual y local.
  * @throws Zend_Pdf_Exception
  * @return Zend_Pdf_Page
@@ -205,7 +205,7 @@ $pdfPage->drawText('Hello world!', 72, 720);
 ...
 ]]></programlisting>
         </example>
-        <para> Por defecto, los strings de texto se interpretan usando el método
+        <para>Por defecto, los strings de texto se interpretan usando el método
             de codificación de la localización actual. Si tiene un string que
             utiliza un método de codificación diferente (como un string UTF-8 a
             leer desde un archivo en disco, o un string MacRoman obtenido a
@@ -217,7 +217,7 @@ $pdfPage->drawText('Hello world!', 72, 720);
             <code>
                 <ulink url="http://www.php.net/manual/function.iconv.php"
                     >iconv()</ulink>
-            </code>: </para>
+            </code>:</para>
         <example id="zend.pdf.drawing.text-drawing.example-2">
             <title>Dibujar un string codificado en UTF-8 en la página</title>
             <programlisting language="php"><![CDATA[
@@ -237,7 +237,7 @@ $pdfPage->drawText($unicodeString, 72, 720, 'UTF-8');
         <para>
             <methodname>Zend_Pdf_Page::drawText()</methodname> utiliza la fuente y
             el tamaño actual de la fuente de la página, que se establece con el
-            método <methodname>Zend_Pdf_Page::setFont()</methodname>: </para>
+            método <methodname>Zend_Pdf_Page::setFont()</methodname>:</para>
         <programlisting language="php"><![CDATA[
 /**
  * Establecer la fuente actual.
@@ -248,11 +248,11 @@ $pdfPage->drawText($unicodeString, 72, 720, 'UTF-8');
  */
 public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
 ]]></programlisting>
-        <para> Los documentos PDF soportan fuentes PostScript Type 1 y TrueType,
+        <para>Los documentos PDF soportan fuentes PostScript Type 1 y TrueType,
             así como dos tipos especializados de PDF, Type 3 y fuentes
             compuestas. También hay 14 fuentes estándar Tipo 1 incorporadas para
             cada visor PDF: Courier (4 estilos), Helvetica (4 estilos), Times (4
-            estilos), Symbol y Zapf Dingbats. </para>
+            estilos), Symbol y Zapf Dingbats.</para>
         <para>
             <classname>Zend_Pdf</classname> actualmente soporta el estándar de
             14 fuentes PDF, así como sus propias fuentes personalizadas
@@ -261,7 +261,7 @@ public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
                 <classname>Zend_Pdf_Font::fontWithName($fontName)</classname>
             para las 14 fuentes estándar PDF o
                 <classname>Zend_Pdf_Font::fontWithPath($filePath)</classname>
-            para fuentes personalizadas. </para>
+            para fuentes personalizadas.</para>
         <example id="zend.pdf.drawing.using-fonts.example-1">
             <title>Crear un tipo de letra normal</title>
             <programlisting language="php"><![CDATA[
@@ -274,7 +274,7 @@ $pdfPage->setFont($font, 36);
 ...
 ]]></programlisting>
         </example>
-        <para> Los nombres de las 14 constantes para el tipo de letra estándar
+        <para>Los nombres de las 14 constantes para el tipo de letra estándar
             de PDF se definen en la clase <classname>Zend_Pdf_Font</classname>: <itemizedlist>
                 <listitem>
                     <para>Zend_Pdf_Font::FONT_COURIER</para>
@@ -319,17 +319,17 @@ $pdfPage->setFont($font, 36);
                     <para>Zend_Pdf_Font::FONT_ZAPFDINGBATS</para>
                 </listitem>
             </itemizedlist>
-        </para>
-        <para> También puede utilizar cualquier fuente individual TrueType (que
+       </para>
+        <para>También puede utilizar cualquier fuente individual TrueType (que
             generalmente tiene una extensión '.ttf') o bien una fuente OpenType
             (con la extensión '.otf') si contiene esquemas TrueType. Actualmente
             no están soportadas, pero está previsto para una versión futura
             archivos de fuentes .dfont de Mac OS X y de Microsoft TrueType
-            Collection(extensión '.ttc'). </para>
-        <para> Para utilizar una fuente TrueType, debe proporcionar toda la ruta
+            Collection(extensión '.ttc').</para>
+        <para>Para utilizar una fuente TrueType, debe proporcionar toda la ruta
             del archivo a la fuente del programa. Si la fuente no se puede leer
             por alguna razón, o si no es una fuente TrueType, el método de
-            fábrica arrojará una excepción: </para>
+            fábrica arrojará una excepción:</para>
         <example id="zend.pdf.drawing.using-fonts.example-2">
             <title>Crear una fuente TrueType</title>
             <programlisting language="php"><![CDATA[
@@ -342,13 +342,13 @@ $pdfPage->setFont($goodDogCoolFont, 36);
 ...
 ]]></programlisting>
         </example>
-        <para> Por defecto, las fuentes personalizadas serán incorporados en el
+        <para>Por defecto, las fuentes personalizadas serán incorporados en el
             documento PDF resultante. Esto permite que los destinatarios vean la
             página como está previsto, incluso si no tienen los tipos de letra
             apropiados instalados en su sistema. Si le preocupa el tamaño del
             archivo, puede pedir que la fuente del programa no sea integrada
             pasando una opción 'do not embed' ("no incluir") al método de
-            fábrica: </para>
+            fábrica:</para>
         <example id="zend.pdf.drawing.using-fonts.example-3">
             <title>Crear una fuente TrueType, pero no incluirla en el documento
                 PDF.</title>
@@ -363,19 +363,19 @@ $pdfPage->setFont($goodDogCoolFont, 36);
 ...
 ]]></programlisting>
         </example>
-        <para> Si el programa no es de fuentes incrustadas, pero el destinatario
+        <para>Si el programa no es de fuentes incrustadas, pero el destinatario
             del archivo PDF tiene instalada la fuente en su sistema, va a ver el
             documento como estaba previsto. Si no tiene la fuente correcta
             instalada, la aplicación del visor de PDF hará todo lo posible para
-            sintetizar un sustituto. </para>
-        <para> Algunas fuentes tienen normas específicas de concesión de
+            sintetizar un sustituto.</para>
+        <para>Algunas fuentes tienen normas específicas de concesión de
             licencias que les impiden ser tenidas en cuenta en documentos PDF.
             Así que no son capturados con la "guardia baja" por la presente, si
             intenta utilizar una fuente que no puede ser incorporada, el método
-            de fábrica lanzará una excepción. </para>
-        <para> Puede seguir utilizando esas fuentes, pero debe pasar el flag de
+            de fábrica lanzará una excepción.</para>
+        <para>Puede seguir utilizando esas fuentes, pero debe pasar el flag de
             no incluir como se ha descripto anteriormente, o simplemente puede
-            suprimir la excepción: </para>
+            suprimir la excepción:</para>
         <example id="zend.pdf.drawing.using-fonts.example-4">
             <title>No arrojar una excepción para las fuentes que no puedan ser
                 incorporadas.</title>
@@ -388,16 +388,16 @@ $font = Zend_Pdf_Font::fontWithPath(
 ...
 ]]></programlisting>
         </example>
-        <para> Esta técnica de supresión se prefiere si va a permitir a un
+        <para>Esta técnica de supresión se prefiere si va a permitir a un
             usuario final a elegir sus propios tipos de letra. Las fuentes que
             puedan ser embebidas en el documento PDF, lo harán, aquellos que no
-            puedan, no. </para>
-        <para> Los de programas de fuentes pueden ser bastante grandes, algunas
+            puedan, no.</para>
+        <para>Los de programas de fuentes pueden ser bastante grandes, algunas
             llegan a decenas de megabytes. Por defecto, todas las fuentes
             incorporadas son comprimidas utilizando el esquema de compresión
             Flate, lo que resulta en un ahorro de espacio del 50% en promedio.
             Si, por alguna razón, no desea comprimir la fuente del programa, se
-            puede desactivar con una opción: </para>
+            puede desactivar con una opción:</para>
         <example id="zend.pdf.drawing.using-fonts.example-5">
             <title>No comprimir una fuente incrustada.</title>
             <programlisting language="php"><![CDATA[
@@ -407,8 +407,8 @@ $font = Zend_Pdf_Font::fontWithPath('/path/to/someReallyBigFont.ttf',
 ...
 ]]></programlisting>
         </example>
-        <para> Por último, en caso necesario, puede combinar las opciones de la
-            integración mediante el operador binario OR: </para>
+        <para>Por último, en caso necesario, puede combinar las opciones de la
+            integración mediante el operador binario OR:</para>
         <example id="zend.pdf.drawing.using-fonts.example-6">
             <title>La combinación de opciones de la incrustación de
                 fuentes.</title>
@@ -425,19 +425,19 @@ $font = Zend_Pdf_Font::fontWithPath(
 
     <sect2 id="zend.pdf.drawing.standard-fonts-limitations">
         <title>Limitaciones de las fuentes PDF estándar.</title>
-        <para> Las fuentes estándar PDF utilizan internamente varias
+        <para>Las fuentes estándar PDF utilizan internamente varias
             codificaciones de un solo byte (véase <ulink
                 url="http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference_1-7.pdf"
                 >PDF Reference, Sixth Edition, version 1.7</ulink> Apéndice D
             para más detalles). Son, en general, igual al conjunto de caracteres
-            Latin1 (excepto las fuentes ZapfDingbats y Symbol). </para>
+            Latin1 (excepto las fuentes ZapfDingbats y Symbol).</para>
         <para>
             <classname>Zend_Pdf</classname> usa CP1252 (WinLatin1) para dibujar
-            el texto con las fuentes estándar. </para>
-        <para> El texto todavía se puede proporcionar en cualquier otra
+            el texto con las fuentes estándar.</para>
+        <para>El texto todavía se puede proporcionar en cualquier otra
             codificación, que debe ser especificada si ésta es distinto de una
             fuente local actual. Realmente, sólo se dibujarán caracteres
-            WinLatin1. </para>
+            WinLatin1.</para>
         <example id="zend.pdf.drawing.using-fonts.example-7">
             <title>Combinación de opciones de la incrustación de
                 fuentes.</title>
@@ -455,18 +455,18 @@ $pdfPage->setFont($font, 36)
 
     <sect2 id="zend.pdf.drawing.extracting-fonts">
         <title>Extracción de las fuentes.</title>
-        <para> El módulo <classname>Zend_Pdf</classname> proporciona una
-            posibilidad de extraer las fuentes de los documentos cargados. </para>
+        <para>El módulo <classname>Zend_Pdf</classname> proporciona una
+            posibilidad de extraer las fuentes de los documentos cargados.</para>
 
-        <para> Puede ser útil para las actualizaciones incrementales de un
+        <para>Puede ser útil para las actualizaciones incrementales de un
             documento. Sin esta funcionalidad tiene que agregar y posiblemente,
             incrustar una fuente en un documento cada vez que desee
-            actualizarlo. </para>
+            actualizarlo.</para>
 
-        <para> Los objetos <classname>Zend_Pdf</classname> y
+        <para>Los objetos <classname>Zend_Pdf</classname> y
                 <classname>Zend_Pdf_Page</classname> proporcionan métodos
             especiales para extraer todas las fuentes mencionadas en un
-            documento o una página: </para>
+            documento o una página:</para>
         <example id="zend.pdf.drawing.extracting-fonts.example-1">
             <title>Extracción de las fuentes de un documento cargado.</title>
             <programlisting language="php"><![CDATA[
@@ -536,14 +536,14 @@ $pdf->save($docPath, true /* modo de actualización incremental */);
 ]]></programlisting>
         </example>
 
-        <para> Las fuentes extraídas pueden ser utilizadas en el lugar de
+        <para>Las fuentes extraídas pueden ser utilizadas en el lugar de
             cualquier otra fuente con las siguientes limitaciones: <itemizedlist>
                 <listitem>
-                    <para> La fuente extraída puede ser usada sólo en el
-                        contexto del documento del que se ha extraído. </para>
+                    <para>La fuente extraída puede ser usada sólo en el
+                        contexto del documento del que se ha extraído.</para>
                 </listitem>
                 <listitem>
-                    <para> Posiblemente, el programa no extraiga realmente la
+                    <para>Posiblemente, el programa no extraiga realmente la
                         fuente incrustada. Así que las fuentes extraídas no
                         pueden proporcionar métricas correctas y la fuente
                         original tiene que ser utilizada para los cálculos de
@@ -566,18 +566,18 @@ for ($charIndex = 0; $charIndex < strlen($text); $charIndex++) {
 }
 ...
 ]]></programlisting>
-                    </para>
+                   </para>
                 </listitem>
             </itemizedlist>
-        </para>
+       </para>
     </sect2>
 
 
 
     <sect2 id="zend.pdf.drawing.image-drawing">
         <title>Dibujo de Imágenes</title>
-        <para> La clase <classname>Zend_Pdf_Page</classname> proporciona el
-            método drawImage() para dibujar la imagen: </para>
+        <para>La clase <classname>Zend_Pdf_Page</classname> proporciona el
+            método drawImage() para dibujar la imagen:</para>
         <programlisting language="php"><![CDATA[
 /**
  * Dibujar una imagen en una posición específica de la página.
@@ -591,9 +591,9 @@ for ($charIndex = 0; $charIndex < strlen($text); $charIndex++) {
  */
 public function drawImage(Zend_Pdf_Resource_Image $image, $x1, $y1, $x2, $y2);
 ]]></programlisting>
-        <para> Los objetos imagen deben ser creados con el método
+        <para>Los objetos imagen deben ser creados con el método
                 <classname>Zend_Pdf_Image::imageWithPath($filePath)</classname>
-            (imágenes JPG, PNG y TIFF ahora son soportadas): </para>
+            (imágenes JPG, PNG y TIFF ahora son soportadas):</para>
         <example id="zend.pdf.drawing.image-drawing.example-1">
             <title>Dibujar una imagen</title>
             <programlisting language="php"><![CDATA[
@@ -611,21 +611,21 @@ $pdfPage->drawImage($image, 100, 100, 400, 300);
                 extensión PHP GD.</emphasis>
             <emphasis>Importante! el soporte a PNG requiere que se configure la
                 extensión ZLIB para trabajar con imágenes canal Alfa.</emphasis>
-        </para>
-        <para> Consulte la documentación de <acronym>PHP</acronym> para obtener
+       </para>
+        <para>Consulte la documentación de <acronym>PHP</acronym> para obtener
             información detallada (<ulink
                 url="http://www.php.net/manual/en/ref.image.php"
                 >http://www.php.net/manual/en/ref.image.php</ulink>). (<ulink
                 url="http://www.php.net/manual/en/ref.zlib.php"
-                >http://www.php.net/manual/en/ref.zlib.php</ulink>). </para>
+                >http://www.php.net/manual/en/ref.zlib.php</ulink>).</para>
     </sect2>
 
     <sect2 id="zend.pdf.drawing.line-drawing-style">
         <title>Estilo de Dibujo de Líneas</title>
-        <para> El estilo del dibujo de líneas está definido por el ancho de
+        <para>El estilo del dibujo de líneas está definido por el ancho de
             línea, el color de línea y el patrón del tipo de línea. Todo esto
             parámetros pueden ser asignados por los métodos de la clase
-                <classname>Zend_Pdf_Page</classname>: </para>
+                <classname>Zend_Pdf_Page</classname>:</para>
         <programlisting language="php"><![CDATA[
 /** Establecer el color de la línea. */
 public function setLineColor(Zend_Pdf_Color $color);
@@ -650,13 +650,13 @@ public function setLineDashingPattern($pattern, $phase = 0);
 
     <sect2 id="zend.pdf.drawing.fill-style">
         <title>Estilo Relleno</title>
-        <para> Los métodos
+        <para>Los métodos
             <methodname>Zend_Pdf_Page::drawRectangle()</methodname>,
                 <methodname>Zend_Pdf_Page::drawPolygon()</methodname>,
                 <methodname>Zend_Pdf_Page::drawCircle()</methodname> y
                 <methodname>Zend_Pdf_Page::drawEllipse()</methodname> toman el
             argumento <methodname>$fillType</methodname> como un parámetro
-            opcional. Puede ser: </para>
+            opcional. Puede ser:</para>
 
         <itemizedlist>
             <listitem>
@@ -672,9 +672,9 @@ public function setLineDashingPattern($pattern, $phase = 0);
             </listitem>
         </itemizedlist>
 
-        <para> El método <methodname>Zend_Pdf_Page::drawPolygon()</methodname>
+        <para>El método <methodname>Zend_Pdf_Page::drawPolygon()</methodname>
             también tiene un parámetro adicional
-                <varname>$fillMethod</varname>: </para>
+                <varname>$fillMethod</varname>:</para>
         <itemizedlist>
             <listitem>
                 <para>Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING
@@ -682,7 +682,7 @@ public function setLineDashingPattern($pattern, $phase = 0);
                 <para>
                     <citetitle>PDF reference</citetitle> esta norma se describe
                     como sigue: <blockquote>
-                        <para> La tortuosa regla del número distinto de cero
+                        <para>La tortuosa regla del número distinto de cero
                             determina si un punto está dentro de un camino de un
                             rayo conceptual dibujado a partir de ese punto hasta
                             el infinito en cualquier dirección y luego de
@@ -718,16 +718,16 @@ public function setLineDashingPattern($pattern, $phase = 0);
                             dibujados en direcciones opuestas, sólo la forma de
                             "doughnut" (rosquilla) formada entre ellos es el
                             interior, de acuerdo a la norma, el "agujero de la
-                            rosquilla" está afuera. </para>
+                            rosquilla" está afuera.</para>
                     </blockquote>
-                </para>
+               </para>
             </listitem>
             <listitem>
                 <para>Zend_Pdf_Page::FILL_METHOD_EVEN_ODD</para>
                 <para>
                     <citetitle>PDF reference</citetitle> describe esta norma
                     como sigue: <blockquote>
-                        <para> Una alternativa al tortuoso número distinto de
+                        <para>Una alternativa al tortuoso número distinto de
                             cero es la regla par-impar. Esta norma determina la
                             "interioridad" de un punto por el dibujo de un rayo
                             desde ese punto en cualquier dirección y simplemente
@@ -747,9 +747,9 @@ public function setLineDashingPattern($pattern, $phase = 0);
                             concéntricos, sólo la forma de la "rosquilla" entre
                             los dos círculo está considerada adentro,
                             independientemente de las direcciones en las que se
-                            dibujen los círculos. </para>
+                            dibujen los círculos.</para>
                     </blockquote>
-                </para>
+               </para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -758,9 +758,9 @@ public function setLineDashingPattern($pattern, $phase = 0);
         <title>Transformaciones Lineales</title>
         <sect3 id="zend.pdf.drawing.linear-transformations.rotations">
             <title>Rotaciones.</title>
-            <para> La página PDF se puede rotar antes de aplicar cualquier
+            <para>La página PDF se puede rotar antes de aplicar cualquier
                 operación de dibujo. Se puede hacer con el método
-                    <methodname>Zend_Pdf_Page::rotate()</methodname>: </para>
+                    <methodname>Zend_Pdf_Page::rotate()</methodname>:</para>
             <programlisting language="php"><![CDATA[
 /**
  * Rotar la página.
@@ -776,8 +776,8 @@ public function rotate($x, $y, $angle);
 
         <sect3 id="zend.pdf.drawing.linear-transformations.scale">
             <title>A partir de ZF 1.8, el escalado.</title>
-            <para> La escala de transformación es proporcionada por el método:
-                    <methodname>Zend_Pdf_Page::scale()</methodname>: </para>
+            <para>La escala de transformación es proporcionada por el método:
+                    <methodname>Zend_Pdf_Page::scale()</methodname>:</para>
             <programlisting language="php"><![CDATA[
 /**
  * Establecer la escala al sistema de coordenadas.
@@ -792,8 +792,8 @@ public function scale($xScale, $yScale);
 
         <sect3 id="zend.pdf.drawing.linear-transformations.translate">
             <title>A partir de ZF 1.8, traducir.</title>
-            <para> El desplazamiento del sistema de coordenadas es realizado por
-                el método <methodname>Zend_Pdf_Page::translate()</methodname>: </para>
+            <para>El desplazamiento del sistema de coordenadas es realizado por
+                el método <methodname>Zend_Pdf_Page::translate()</methodname>:</para>
             <programlisting language="php"><![CDATA[
 /**
  * Traducir sistema de coordenadas.
@@ -808,8 +808,8 @@ public function translate($xShift, $yShift);
 
         <sect3 id="zend.pdf.drawing.linear-transformations.skew">
             <title>A partir de ZF 1.8, el sesgo.</title>
-            <para> El sesgo de una página se puede hacer utilizando el método
-                    <methodname>Zend_Pdf_Page::skew()</methodname>: </para>
+            <para>El sesgo de una página se puede hacer utilizando el método
+                    <methodname>Zend_Pdf_Page::skew()</methodname>:</para>
             <programlisting language="php"><![CDATA[
 /**
  * Traducir sistema de coordenadas.
@@ -827,19 +827,19 @@ public function skew($x, $y, $xAngle, $yAngle);
 
     <sect2 id="zend.pdf.drawing.save-restore">
         <title>Guardar/Restaurar el estado de los gráficos.</title>
-        <para> En cualquier momento el estado de la página de gráficos (fuente
+        <para>En cualquier momento el estado de la página de gráficos (fuente
             actual, tamaño de la fuente, color de línea, color de relleno,
             estilo de línea, rotación de la página, clip del área) se pueden
             guardar y restaurarlos luego. Guardar la operación pone los datos a
             un estado de pila de gráficos, la operación de restauración se
-            recupera a partir de ahí. </para>
-        <para> Existen dos métodos en la clase
-                <classname>Zend_Pdf_Page</classname> para estas operaciones: </para>
+            recupera a partir de ahí.</para>
+        <para>Existen dos métodos en la clase
+                <classname>Zend_Pdf_Page</classname> para estas operaciones:</para>
         <programlisting language="php"><![CDATA[
 /**
- * Salva el estado de los gráficos de esta página. 
- * Esta toma una instantánea del estilo aplicado actualmente, posición, 
- * área de recorte y cualquier rotación/traducción/escalado que ha sido 
+ * Salva el estado de los gráficos de esta página.
+ * Esta toma una instantánea del estilo aplicado actualmente, posición,
+ * área de recorte y cualquier rotación/traducción/escalado que ha sido
  * aplicada.
  *
  * @return Zend_Pdf_Page
@@ -858,12 +858,12 @@ public function restoreGS();
 
     <sect2 id="zend.pdf.drawing.clipping">
         <title>Señalar el área de recorte</title>
-        <para> PDF y el módulo <classname>Zend_Pdf</classname> dan soporte de
+        <para>PDF y el módulo <classname>Zend_Pdf</classname> dan soporte de
             recorte a la zona de dibujo. La zona actual de Clip límita las
             regiones de la página de los operadores afectados por la pintura. En
-            principio, es la página entera. </para>
-        <para> La clase <classname>Zend_Pdf_Page</classname> proporciona un
-            conjunto de métodos para las operaciones de recorte. </para>
+            principio, es la página entera.</para>
+        <para>La clase <classname>Zend_Pdf_Page</classname> proporciona un
+            conjunto de métodos para las operaciones de recorte.</para>
         <programlisting language="php"><![CDATA[
 /**
  * Intersectar el área actual de recorte con un rectángulo.
@@ -936,11 +936,11 @@ public function clipEllipse($x1,
 
     <sect2 id="zend.pdf.drawing.styles">
         <title>Estilos</title>
-        <para> La clase <classname>Zend_Pdf_Style</classname> proporciona la
-            funcionalidad de los estilos. </para>
-        <para> Los estilos se pueden utilizar para almacenar un conjunto de
+        <para>La clase <classname>Zend_Pdf_Style</classname> proporciona la
+            funcionalidad de los estilos.</para>
+        <para>Los estilos se pueden utilizar para almacenar un conjunto de
             parámetros de estado del gráfico y aplicarlo a un página PDF por una
-            operación: </para>
+            operación:</para>
         <programlisting language="php"><![CDATA[
 /**
  * Establecer el estilo a utilizar para futuras operaciones de dibujo sobre esta página
@@ -958,9 +958,9 @@ public function setStyle(Zend_Pdf_Style $style);
 public function getStyle();
 ]]></programlisting>
 
-        <para> La clase <classname>Zend_Pdf_Style</classname> proporciona un
+        <para>La clase <classname>Zend_Pdf_Style</classname> proporciona un
             conjunto de métodos para obtener o configurar diferentes parámetros
-            de estado de los gráficos: </para>
+            de estado de los gráficos:</para>
         <programlisting language="php"><![CDATA[
 /**
  * Establecer el color de la línea.
@@ -1077,9 +1077,9 @@ public function getFontSize();
 
     <sect2 id="zend.pdf.drawing.alpha">
         <title>Transparencia</title>
-        <para> El módulo <classname>Zend_Pdf</classname> soporta el manejo de la
-            transparencia. </para>
-        <para> La transparencia puede ser el método
+        <para>El módulo <classname>Zend_Pdf</classname> soporta el manejo de la
+            transparencia.</para>
+        <para>La transparencia puede ser el método
                 <methodname>Zend_Pdf_Page::setAlpha()</methodname>: <programlisting language="php"><![CDATA[
 
 /**
@@ -1099,7 +1099,7 @@ public function getFontSize();
  */
 public function setAlpha($alpha, $mode = 'Normal');
 ]]></programlisting>
-        </para>
+       </para>
     </sect2>
 
 </sect1>

+ 19 - 19
documentation/manual/es/module_specs/Zend_Pdf-Introduction.xml

@@ -4,47 +4,47 @@
 <sect1 id="zend.pdf.introduction">
     <!-- @todo review and revise upon completion of refactoring -->
     <title>Introducción</title>
-    <para> El componente <classname>Zend_Pdf</classname> es un motor para manipular documentos
+    <para>El componente <classname>Zend_Pdf</classname> es un motor para manipular documentos
             <acronym>PDF</acronym> (Portable Document Format). Puede cargar, crear, modificar y
         guardar documentos. Por lo tanto, puede ayudar a cualquier aplicación <acronym>PHP</acronym>
         a crear dinámicamente documentos <acronym>PDF</acronym> modificando los documentos
         existentes o generar unos nuevos desde cero. <classname>Zend_Pdf</classname> ofrece las
         siguientes características: <itemizedlist>
             <listitem>
-                <para> Crear un documento nuevo o cargar uno existente. <footnote>
-                        <para> La carga de documentos <acronym>PDF</acronym> V1.4 (Acrobat 5) ahora
-                            está soportada. </para>
+                <para>Crear un documento nuevo o cargar uno existente. <footnote>
+                        <para>La carga de documentos <acronym>PDF</acronym> V1.4 (Acrobat 5) ahora
+                            está soportada.</para>
                     </footnote>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para> Recuperar una determinada revisión del documento. </para>
+                <para>Recuperar una determinada revisión del documento.</para>
             </listitem>
             <listitem>
-                <para> Manipular páginas desde dentro de un documento. Cambiar el orden de las
-                    páginas, añadir nuevas páginas, eliminar páginas de un documento. </para>
+                <para>Manipular páginas desde dentro de un documento. Cambiar el orden de las
+                    páginas, añadir nuevas páginas, eliminar páginas de un documento.</para>
             </listitem>
             <listitem>
-                <para> Diferentes primitivas de dibujo (líneas, rectángulos, polígonos, círculos,
-                    elipses y sectores). </para>
+                <para>Diferentes primitivas de dibujo (líneas, rectángulos, polígonos, círculos,
+                    elipses y sectores).</para>
             </listitem>
             <listitem>
-                <para> Dibujo de texto utilizando alguno de las 14 fuentes estándar (incorporadas) o
-                    sus propias fuentes personalizadas TrueType. </para>
+                <para>Dibujo de texto utilizando alguno de las 14 fuentes estándar (incorporadas) o
+                    sus propias fuentes personalizadas TrueType.</para>
             </listitem>
             <listitem>
-                <para> Rotaciones. </para>
+                <para>Rotaciones.</para>
             </listitem>
             <listitem>
-                <para> Dibujo de imágenes. <footnote>
-                        <para> Están soportados los formatos de imagen JPG, PNG [hasta 8bit por
-                            channel+Alpha] y TIFF. </para>
+                <para>Dibujo de imágenes. <footnote>
+                        <para>Están soportados los formatos de imagen JPG, PNG [hasta 8bit por
+                            channel+Alpha] y TIFF.</para>
                     </footnote>
-                </para>
+               </para>
             </listitem>
             <listitem>
-                <para> Actualización incremental de archivos <acronym>PDF</acronym>. </para>
+                <para>Actualización incremental de archivos <acronym>PDF</acronym>.</para>
             </listitem>
         </itemizedlist>
-    </para>
+   </para>
 </sect1>

Some files were not shown because too many files changed in this diff