Просмотр исходного кода

UPDATE FILES [DOC-ES]

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19182 44c647ce-9c0f-0410-b52a-842ac1e357ba
benjamin-gonzales 16 лет назад
Родитель
Сommit
f588d3ce75
53 измененных файлов с 4831 добавлено и 5377 удалено
  1. 47 62
      documentation/manual/es/module_specs/Zend_Acl-Refining.xml
  2. 175 232
      documentation/manual/es/module_specs/Zend_Acl.xml
  3. 313 244
      documentation/manual/es/module_specs/Zend_Amf-Server.xml
  4. 12 26
      documentation/manual/es/module_specs/Zend_Amf.xml
  5. 38 41
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Db.xml
  6. 10 12
      documentation/manual/es/module_specs/Zend_Application-AvailableResources.xml
  7. 1 1
      documentation/manual/es/module_specs/Zend_Config-TheoryOfOperation.xml
  8. 2 2
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-ContextSwitch.xml
  9. 5 5
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-FlashMessenger.xml
  10. 13 13
      documentation/manual/es/module_specs/Zend_Controller-ActionHelpers-Json.xml
  11. 293 374
      documentation/manual/es/module_specs/Zend_Date-Overview.xml
  12. 16 50
      documentation/manual/es/module_specs/Zend_Db_Adapter.xml
  13. 37 39
      documentation/manual/es/module_specs/Zend_Db_Profiler-Firebug.xml
  14. 1 1
      documentation/manual/es/module_specs/Zend_Db_Profiler.xml
  15. 342 352
      documentation/manual/es/module_specs/Zend_Db_Select.xml
  16. 2 2
      documentation/manual/es/module_specs/Zend_Db_Statement.xml
  17. 2 2
      documentation/manual/es/module_specs/Zend_Dom.xml
  18. 13 19
      documentation/manual/es/module_specs/Zend_Exception.xml
  19. 87 138
      documentation/manual/es/module_specs/Zend_Filter.xml
  20. 167 193
      documentation/manual/es/module_specs/Zend_Form-Advanced.xml
  21. 166 186
      documentation/manual/es/module_specs/Zend_Form-Decorators.xml
  22. 538 549
      documentation/manual/es/module_specs/Zend_Form-Elements.xml
  23. 412 453
      documentation/manual/es/module_specs/Zend_Form-Forms.xml
  24. 68 101
      documentation/manual/es/module_specs/Zend_Form-I18n.xml
  25. 22 16
      documentation/manual/es/module_specs/Zend_Form-Introduction.xml
  26. 236 308
      documentation/manual/es/module_specs/Zend_Form-QuickStart.xml
  27. 1 1
      documentation/manual/es/module_specs/Zend_Form-StandardDecorators.xml
  28. 396 479
      documentation/manual/es/module_specs/Zend_Form-StandardElements.xml
  29. 4 10
      documentation/manual/es/module_specs/Zend_Json-Basics.xml
  30. 17 27
      documentation/manual/es/module_specs/Zend_Json-Introduction.xml
  31. 55 90
      documentation/manual/es/module_specs/Zend_Json-Objects.xml
  32. 602 440
      documentation/manual/es/module_specs/Zend_Json-Server.xml
  33. 48 58
      documentation/manual/es/module_specs/Zend_Json-xml2json.xml
  34. 45 52
      documentation/manual/es/module_specs/Zend_Layout-Introduction.xml
  35. 5 5
      documentation/manual/es/module_specs/Zend_Loader.xml
  36. 25 41
      documentation/manual/es/module_specs/Zend_Pdf-Create.xml
  37. 5 3
      documentation/manual/es/module_specs/Zend_Pdf-Drawing.xml
  38. 39 65
      documentation/manual/es/module_specs/Zend_Pdf-Introduction.xml
  39. 40 55
      documentation/manual/es/module_specs/Zend_Pdf-Pages.xml
  40. 69 117
      documentation/manual/es/module_specs/Zend_Pdf-Properties.xml
  41. 11 18
      documentation/manual/es/module_specs/Zend_Pdf-Save.xml
  42. 7 15
      documentation/manual/es/module_specs/Zend_Pdf-Usage.xml
  43. 5 8
      documentation/manual/es/module_specs/Zend_Test.xml
  44. 1 1
      documentation/manual/es/module_specs/Zend_Tool_Framework-CliTool.xml
  45. 1 1
      documentation/manual/es/module_specs/Zend_Tool_Framework-WritingProviders.xml
  46. 3 3
      documentation/manual/es/module_specs/Zend_Tool_Project-Internals.xml
  47. 1 1
      documentation/manual/es/module_specs/Zend_Validate-EmailAddress.xml
  48. 92 126
      documentation/manual/es/module_specs/Zend_Validate-Hostname.xml
  49. 17 17
      documentation/manual/es/module_specs/Zend_Validate-Set.xml
  50. 30 42
      documentation/manual/es/module_specs/Zend_Validate-ValidatorChains.xml
  51. 4 4
      documentation/manual/es/module_specs/Zend_Validate-WritingValidators.xml
  52. 1 1
      documentation/manual/es/module_specs/Zend_Validate.xml
  53. 289 276
      documentation/manual/es/module_specs/Zend_XmlRpc_Client.xml

+ 47 - 62
documentation/manual/es/module_specs/Zend_Acl-Refining.xml

@@ -9,49 +9,39 @@
 
         <title>Definir mejor los controles de acceso</title>
 
-        <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>
-
-        <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>
-
-        <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>
-
-         <programlisting language="php"><![CDATA[
+        <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>
+
+        <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>
+
+        <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>
+
+        <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 se refieren a recursos específicos (por ejemplo,
-            "boletín informativo", "últimas noticias", "anuncio de
-            noticias"). Ahora añadimos estos recursos:
-        </para>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Crear recursos para las reglas
  // newsletter
  $acl->addResource(new Zend_Acl_Resource('newsletter'));
@@ -66,12 +56,10 @@ $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[
+        <programlisting language="php"><![CDATA[
  //
  Marketing debe ser capaz de archivar y publicar boletines informativos y
  // las últimas noticias
@@ -88,12 +76,10 @@ $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[
+        <programlisting language="php"><![CDATA[
  echo $acl->isAllowed('staff', 'newsletter', 'publish') ?
  "allowed" : "denied";
  // denegado
@@ -134,15 +120,15 @@ $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>, 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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Elimina la prohibición de leer las últimas noticias de staff (y marketing,
 // por herencia)
 $acl->removeDeny('staff', 'latest', 'revise');
@@ -168,13 +154,12 @@ echo $acl->isAllowed('marketing', 'newsletter', 'archive') ?
 
 ]]></programlisting>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 //Permitir al grupo de "marketing" todos los permisos a las últimas noticias
 $acl->allow('marketing', 'latest');
 

+ 175 - 232
documentation/manual/es/module_specs/Zend_Acl.xml

@@ -4,142 +4,107 @@
 <sect1 id="zend.acl.introduction">
     <title>Introducción</title>
     <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>
+        <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>
             <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>
+        </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>
 
-    <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>
+    <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>
 
     <sect2 id="zend.acl.introduction.resources">
         <title>Acerca de los Recursos</title>
+        <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
+            solo necesita implementar su interfaz, la cual consiste en un método
+            único, <methodname>getResourceId()</methodname> , para que
+                <classname>Zend_Acl</classname> considere el objeto como un
+            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>
-            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 solo necesita implementar su interfaz,
-            la cual consiste en un método único,
-            <methodname>getResourceId()</methodname>
-            , para que <classname>Zend_Acl</classname> considere el objeto como un 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>
-            <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 de árbol, estos pueden ser organizados desde lo
-            general (hacia la raíz del árbol) a lo específico (hacia las
-            ramas del árbol). Consultas sobre un recurso específico
-            buscarán automáticamente, en la jerarquía del
-            recurso, reglas asignadas a recursos anteriores a los que
-            el recurso actual haga referencia, permitiendo la herencia
-            simple de reglas. Por ejemplo, si una regla por defecto se
-            aplica a cada edificio en una ciudad, uno simplemente
-            podría asignar la regla a la ciudad, en lugar de asignar la
-            misma regla a cada edificio. Algunos edificios pueden
-            necesitar excepciones a la regla, sin embargo, y esto es
-            fácil de hacer en <classname>Zend_Acl</classname> 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>
+            <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
+            de árbol, estos pueden ser organizados desde lo general (hacia la
+            raíz del árbol) a lo específico (hacia las ramas del árbol).
+            Consultas sobre un recurso específico buscarán automáticamente, en
+            la jerarquía del recurso, reglas asignadas a recursos anteriores a
+            los que el recurso actual haga referencia, permitiendo la herencia
+            simple de reglas. Por ejemplo, si una regla por defecto se aplica a
+            cada edificio en una ciudad, uno simplemente podría asignar la regla
+            a la ciudad, en lugar de asignar la misma regla a cada edificio.
+            Algunos edificios pueden necesitar excepciones a la regla, sin
+            embargo, y esto es fácil de hacer en <classname>Zend_Acl</classname>
+            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>
-            <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>
+            <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>
     </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 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 implementación de su
-            interfaz, la cual consiste en un método único,
-            <methodname>getRoleId()</methodname>
-            , para que <classname>Zend_Acl</classname> considere que el objeto es un 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 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 ú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>
-        <example
-            id="zend.acl.introduction.roles.example.multiple_inheritance">
+        <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
+            implementación de su interfaz, la cual consiste en un método único,
+                <methodname>getRoleId()</methodname> , para que
+                <classname>Zend_Acl</classname> considere que el objeto es un
+            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
+            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
+            ú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>
+        <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 - "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 cual estos roles aparecen en el array
-                <varname>$parents</varname>
-                es importante. Cuando es 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>
-             <programlisting language="php"><![CDATA[
+            <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
+                cual estos roles aparecen en el array
+                    <varname>$parents</varname> es importante. Cuando es
+                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>
+            <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
 $acl = new Zend_Acl();
 
@@ -159,85 +124,81 @@ $acl->allow('miembro', 'unRecurso');
 
 echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';
 ]]></programlisting>
+            <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
+                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>
-                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 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>
-                <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>
+                <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>
         </example>
         <note>
-            <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>
+            <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>
         </note>
     </sect2>
 
     <sect2 id="zend.acl.introduction.creating">
-        <title>Creando las Listas de Control de Acceso (<acronym>ACL</acronym>)</title>
-
-        <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>
-
-         <programlisting language="php"><![CDATA[
+        <title>Creando las Listas de Control de Acceso
+            (<acronym>ACL</acronym>)</title>
+
+        <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>
+
+        <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
 
 $acl = new Zend_Acl();
 ]]></programlisting>
 
         <note>
-            <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>
+            <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>
         </note>
     </sect2>
 
     <sect2 id="zend.acl.introduction.role_registry">
         <title>Registrando Roles</title>
 
-        <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 limitado para
-            demostraciones, un grupo de 'Personal' para la mayoría de
-            usuarios del CMS quienes realizan la mayor parte de
-            operaciones del día a día, un grupo 'Editores' para las
-            responsabilidades de publicación, revisión, archivo y
-            eliminación de contenido, y finalmente un grupo
-            'Administradores' cuyas tareas pueden incluir todas las de los
-            otros grupos y también el mantenimiento de la información
-            delicada, manejo de usuarios, configuración de los datos
-            básicos y su respaldo/exportación. Este grupo de permisos
-            pueden ser 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>
+        <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
+            limitado para demostraciones, un grupo de 'Personal' para la mayoría
+            de usuarios del CMS quienes realizan la mayor parte de operaciones
+            del día a día, un grupo 'Editores' para las responsabilidades de
+            publicación, revisión, archivo y eliminación de contenido, y
+            finalmente un grupo 'Administradores' cuyas tareas pueden incluir
+            todas las de los otros grupos y también el mantenimiento de la
+            información delicada, manejo de usuarios, configuración de los datos
+            básicos y su respaldo/exportación. Este grupo de permisos pueden ser
+            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>
 
         <table
             id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
@@ -275,16 +236,13 @@ $acl = new Zend_Acl();
             </tgroup>
         </table>
 
-        <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>
-
-         <programlisting language="php"><![CDATA[
+        <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>
+
+        <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
 
 $acl = new Zend_Acl();
@@ -315,26 +273,22 @@ $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 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á
-            simplificado para ilustrar que las reglas se aplican a todos
-            los recursos. <classname>Zend_Acl</classname> proporciona una forma 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>
-
-        <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>
-
-         <programlisting language="php"><![CDATA[
+        <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á
+            simplificado para ilustrar que las reglas se aplican a todos los
+            recursos. <classname>Zend_Acl</classname> proporciona una forma
+            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>
+
+        <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>
+
+        <programlisting language="php"><![CDATA[
 require_once 'Zend/Acl.php';
 
 $acl = new Zend_Acl();
@@ -365,30 +319,22 @@ $acl->allow('editor', null, array('publicar', 'archivar', 'eliminar'));
 $acl->allow('administrador');
 ]]></programlisting>
 
-        <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>
+        <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>
 
     </sect2>
 
     <sect2 id="zend.acl.introduction.querying">
         <title>Consultando la ACL</title>
 
-        <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>
-
-         <programlisting language="php"><![CDATA[
+        <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>
+
+        <programlisting language="php"><![CDATA[
 echo $acl->isAllowed('invitado', null, 'ver') ?
      "permitido" : "denegado"; // permitido
 
@@ -420,6 +366,3 @@ echo $acl->isAllowed('administrador', null, 'actualizar') ?
 ]]></programlisting>
     </sect2>
 </sect1>
-<!--
-    vim:se ts=4 sw=4 et:
--->

+ 313 - 244
documentation/manual/es/module_specs/Zend_Amf-Server.xml

@@ -6,17 +6,18 @@
 
     <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
+            <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>
 
     <example id="zend.amf.server.basic">
         <title>Servidor AMF básico</title>
 
-        <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>
+        <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>
 
         <programlisting language="php"><![CDATA[
 $servidor = new Zend_Amf_Server();
@@ -25,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();
@@ -35,10 +36,11 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 ]]></programlisting>
 
-        <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
+        <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>
 
         <programlisting language="php"><![CDATA[
@@ -50,42 +52,48 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 ]]></programlisting>
 
-        <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>
+        <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>
 
         <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 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
-            respetarán los nombres de clases de acuerdo a las convenciones de nomenclatura. Esto
-            significa que si usted llama al servicio com_Foo_Bar el servidor
-            buscará el archivo <filename>Bar.php</filename> en cada una de las rutas incluidas en
-                <filename>com/Foo/Bar.php</filename>. Si se usa la notación punto 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> 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
+            respetarán los nombres de clases de acuerdo a las convenciones de
+            nomenclatura. Esto significa que si usted llama al servicio
+            com_Foo_Bar el servidor buscará el archivo
+                <filename>Bar.php</filename> en cada una de las rutas incluidas
+            en <filename>com/Foo/Bar.php</filename>. Si se usa la notación punto
+            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> Todos las solicitudes <acronym>AMF</acronym> enviadas al script serán manejadas por
-            el servidor, y este devolverá una respuesta <acronym>AMF</acronym>. </para>
+        <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>
     </example>
 
     <note>
-        <title>Todos los métodos y las funciones agregadas requieren bloques de documentación
-            (docblocks)</title>
+        <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, 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>
+        <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>
 
         <programlisting language="php"><![CDATA[
 // Función que agregar:
@@ -124,43 +132,54 @@ class Mundo
     <sect2 id="zend.amf.server.flex">
         <title>Conectándose al Servidor desde Flex</title>
 
-        <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
+        <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>
 
-        <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
+        <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 uri. </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 cuadro de diálogo 'properties'
-            del proyecto ir al menú ‘Flex Build 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> 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
+            cuadro de diálogo 'properties' del proyecto ir al menú ‘Flex Build
+            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
-                <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 el proyecto en la carpeta del navegador y
-            seleccione 'properties' (propiedades). Ahora seleccione ‘Flex Compiler' (Compilador
-            Flex) y añada la cadena: <command>-services "services-config.xml"</command>. Presione
-            'Apply' (Aplicar) y luego en OK para volver a actualizar la 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 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 proyecto Flex. Con
-            click derecho sobre el proyecto y seleccionando '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 <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>
+                <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
+            el proyecto en la carpeta del navegador y seleccione 'properties'
+            (propiedades). Ahora seleccione ‘Flex Compiler' (Compilador Flex) y
+            añada la cadena: <command>-services "services-config.xml"</command>.
+            Presione 'Apply' (Aplicar) y luego en OK para volver a actualizar la
+            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
+            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
+            proyecto Flex. Con click derecho sobre el proyecto y seleccionando
+            '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
+                <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>
 
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
@@ -189,8 +208,9 @@ class Mundo
 </services-config>
 ]]></programlisting>
 
-        <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
+        <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>
 
         <programlisting language="xml"><![CDATA[
@@ -200,12 +220,14 @@ class Mundo
 </channel-definition>
 ]]></programlisting>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
 
         <programlisting language="xml"><![CDATA[
 <mx:RemoteObject id="myservice"
@@ -214,11 +236,11 @@ class Mundo
     destination="zend">
 ]]></programlisting>
 
-        <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>
+        <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>
 
         <programlisting language="ActionScript"><![CDATA[
 myservice.hello("Wade");
@@ -231,24 +253,27 @@ myservice.hello("Wade");
 myservice.world.hello("Wade");
 ]]></programlisting>
 
-        <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> 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>
     </sect2>
 
     <sect2 id="zend.amf.server.errors">
         <title>Manejo de errores</title>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
 
         <para> Para desactivar el modo de producción, haga lo siguiente: </para>
 
@@ -256,7 +281,8 @@ myservice.world.hello("Wade");
 $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);
@@ -265,36 +291,42 @@ $server->setProduction(true);
         <note>
             <title>¡Deshabilite el modo de producción racionalmente!</title>
 
-            <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>
+            <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>
         </note>
 
-        <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>
+        <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
-                <acronym>PHP</acronym> de cualquier nivel del reporte actual serán pasados
-            directamente a la salida, y potencialmente se podrían 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>
+                <acronym>PHP</acronym> de cualquier nivel del reporte actual
+            serán pasados directamente a la salida, y potencialmente se podrían
+            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>
     </sect2>
 
     <sect2 id="zend.amf.server.response">
         <title>Respuestas de AMF</title>
 
-        <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>
+        <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>
 
         <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 (MessageHeader) "foo" con el
-                valor 'bar' a la respuesta antes de devolverla. </para>
+            <para> En este ejemplo, añadiremos la cabecera de mensaje
+                (MessageHeader) "foo" con el valor 'bar' a la respuesta antes de
+                devolverla. </para>
 
             <programlisting language="php"><![CDATA[
 $respuesta = $servidor->handle();
@@ -307,20 +339,22 @@ echo $respuesta;
     <sect2 id="zend.amf.server.typedobjects">
         <title>Objetos tipados</title>
 
-        <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>
+        <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>
 
         <para>
-            <methodname>Zend_Amf</methodname> ofrece tres métodos para mapear ActionScript y objetos
-            <acronym>PHP</acronym>. </para>
+            <methodname>Zend_Amf</methodname> ofrece tres métodos para mapear
+            ActionScript y objetos <acronym>PHP</acronym>. </para>
 
         <itemizedlist>
             <listitem>
-                <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>
+                <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>
 
                 <programlisting language="php"><![CDATA[
 // Mapea la clase ActionScript 'ContactVO' a la clase PHP 'Contact':
@@ -329,8 +363,9 @@ $servidor->setClassMap('ContactVO', 'Contact');
             </listitem>
 
             <listitem>
-                <para> Segundo, en su clase <acronym>PHP</acronym> puede ajustar la propiedad como
-                    pública mediante  <varname>$_explicitType</varname>, con el valor
+                <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>
 
                 <programlisting language="php"><![CDATA[
@@ -342,9 +377,10 @@ class Contact
             </listitem>
 
             <listitem>
-                <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>
+                <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>
 
                 <programlisting language="php"><![CDATA[
 class Contact
@@ -358,12 +394,14 @@ class Contact
             </listitem>
         </itemizedlist>
 
-        <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 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>
+        <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
+            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>
         <programlisting language="as"><![CDATA[
 package
 {
@@ -381,14 +419,17 @@ package
     }
 }
 ]]></programlisting>
-        <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 <acronym>AS3</acronym>
-            únicos en esta clase. El primero es vinculable y dispara un evento cuando es
-            actualizada. El segundo es el tag RemoteClass y define que esta clase puede tener
-            mapeado un 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>
+        <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
+                <acronym>AS3</acronym> únicos en esta clase. El primero es
+            vinculable y dispara un evento cuando es actualizada. El segundo es
+            el tag RemoteClass y define que esta clase puede tener mapeado un
+            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>
         <programlisting language="as"><![CDATA[
 [Bindable]
 private var myContact:ContactVO;
@@ -397,8 +438,9 @@ private function getContactHandler(event:ResultEvent):void {
     myContact = ContactVO(event.result);
 }
 ]]></programlisting>
-        <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é
+        <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>
     </sect2>
@@ -407,20 +449,23 @@ private function getContactHandler(event:ResultEvent):void {
         <title>Recursos</title>
 
         <para>
-            <classname>Zend_Amf</classname> provides tools for mapping resource types returned by
-            service classes into data consumable by ActionScript. </para>
-
-        <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.
-                <classname>My_MysqlResult</classname>. This class should implement one method,
-                <methodname>parse()</methodname>, receiving 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.
+            <classname>Zend_Amf</classname> provides tools for mapping resource
+            types returned by service classes into data consumable by
+            ActionScript. </para>
+
+        <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.
+                <classname>My_MysqlResult</classname>. This class should
+            implement one method, <methodname>parse()</methodname>, receiving
+            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>
 
-        <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(
@@ -432,8 +477,9 @@ Zend_Amf_Parse_TypeLoader::addResourceDirectory(
         <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 is registered
-            automatically and currently contains handlers for "mysql result" and "stream" resources. </para>
+        <para> Default directory for <classname>Zend_Amf</classname> resources
+            is registered automatically and currently contains handlers for
+            "mysql result" and "stream" resources. </para>
 
         <programlisting language="php"><![CDATA[
 // Example class implementing handling resources of type mysql result
@@ -455,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>
 
@@ -464,26 +510,31 @@ 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 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). 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
-            llámelo <filename>Main.as</filename>. Abra ambos ficheros con su editor. Ahora vamos a
-            conectar las dos ficheros a través de la clase documento. Seleccione ZendExample y haga
-            clic en el escenario. Desde el panel del escenario cambie la propiedad de la clase
-            Document a Main. Esto vincula al fichero Main.as con la interfaz de usuario
-                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 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>
+        <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).
+            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
+            llámelo <filename>Main.as</filename>. Abra ambos ficheros con su
+            editor. Ahora vamos a conectar las dos ficheros a través de la clase
+            documento. Seleccione ZendExample y haga clic en el escenario. Desde
+            el panel del escenario cambie la propiedad de la clase Document a
+            Main. Esto vincula al fichero Main.as con la interfaz de usuario
+                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
+            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>
         <programlisting language="as"><![CDATA[
 package {
   import flash.display.MovieClip;
@@ -519,62 +570,71 @@ package {
 ]]></programlisting>
 
 
-        <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>
+        <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>
         <programlisting language="as"><![CDATA[
 import flash.net.NetConnection;
 import flash.net.Responder;
 ]]></programlisting>
-        <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>
+        <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>
         <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 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>
+        <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>
         <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 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>
+        <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>
         <programlisting language="as"><![CDATA[
 connection.call("Mundo.hola", responder, params);
 ]]></programlisting>
-        <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>
+        <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>
         <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 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>
+        <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>
         <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 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>
+        <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>
 
     </sect2>
 
@@ -582,40 +642,48 @@ private function onFault(fault:Object):void {
         <title>Authentication</title>
 
         <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 linkend="zend.auth">
+            <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
+                linkend="zend.auth">
                 <classname>Zend_Auth</classname>
             </link> and <link linkend="zend.acl">
                 <classname>Zend_Acl</classname>
             </link> components. </para>
 
-        <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>
-
-        <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>
-
-        <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>
-
-        <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>
-
-        <para> The adapter is connected to the server using <methodname>setAuth()</methodname>
-            method: </para>
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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 <classname>Zend_Acl</classname> object set by
+        <para> Access control is performed by using
+                <classname>Zend_Acl</classname> object set by
                 <methodname>setAcl()</methodname> method: </para>
 
         <programlisting language="php"><![CDATA[
@@ -624,17 +692,21 @@ createPermissions($acl); // create permission structure
 $server->setAcl($acl);
 ]]></programlisting>
 
-        <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>
-
-        <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>
+        <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>
+
+        <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>
 
         <programlisting language="php"><![CDATA[
 if($this->_acl->isAllowed($role, $class, $function)) {
@@ -648,6 +720,3 @@ if($this->_acl->isAllowed($role, $class, $function)) {
     </sect2>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 12 - 26
documentation/manual/es/module_specs/Zend_Amf.xml

@@ -5,31 +5,17 @@
     <title>Introducción</title>
 
     <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 Adobe
-        <ulink url="http://en.wikipedia.org/wiki/Adobe_Flash_Player">Flash
-            Player</ulink>
-        y <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>
+        <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
+        Adobe <ulink url="http://en.wikipedia.org/wiki/Adobe_Flash_Player">Flash Player</ulink> y
+            <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>
 
-    <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>
+    <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>
 </sect1>
-    <!--
-vim:se ts=4 sw=4 et:
--->

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

@@ -5,38 +5,42 @@
     <title>Zend_Application_Resource_Db</title>
 
     <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_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>
 
-    <para>
-        Se reconocen las siguientes configuraciones claves:
-    </para>
+    <para> Se reconocen las siguientes configuraciones claves: </para>
 
     <itemizedlist>
-        <listitem><para>
-            <emphasis><property>adapter</property></emphasis>: tipo de adaptador <classname>Zend_Db</classname>.
-        </para></listitem>
-
-        <listitem><para>
-            <emphasis><property>params</property></emphasis>: array asociativo de parámetros de
-            configuración para utilizar al recuperar la instancia del adaptador.
-        </para></listitem>
-
-        <listitem><para>
-            <emphasis><property>isDefaultTableAdapter</property></emphasis>: Indica si establecer o no este
-            adaptador como el adaptador de tablas por defecto.
-        </para></listitem>
+        <listitem>
+            <para>
+                <emphasis>
+                    <property>adapter</property>
+                </emphasis>: tipo de adaptador <classname>Zend_Db</classname>. </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>
+                    <property>params</property>
+                </emphasis>: array asociativo de parámetros de configuración para utilizar al
+                recuperar la instancia del adaptador. </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>
+                    <property>isDefaultTableAdapter</property>
+                </emphasis>: Indica si establecer o no este adaptador como el adaptador de tablas
+                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>
+        <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>
 
         <programlisting language="ini"><![CDATA[
 
@@ -53,28 +57,21 @@ 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[
+        <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[
+        <programlisting language="php"><![CDATA[
 
 $db = $resource->getDbAdapter();
 ]]></programlisting>

+ 10 - 12
documentation/manual/es/module_specs/Zend_Application-AvailableResources.xml

@@ -4,17 +4,15 @@
 <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" />
-    <xi:include href="Zend_Application-AvailableResources-Layout.xml" />
-    <xi:include href="Zend_Application-AvailableResources-Modules.xml" />
-    <xi:include href="Zend_Application-AvailableResources-Navigation.xml" />
-    <xi:include href="Zend_Application-AvailableResources-Router.xml" />
-    <xi:include href="Zend_Application-AvailableResources-Session.xml" />
-    <xi:include href="Zend_Application-AvailableResources-View.xml" />
+    <xi:include href="Zend_Application-AvailableResources-Db.xml"/>
+    <xi:include href="Zend_Application-AvailableResources-Frontcontroller.xml"/>
+    <xi:include href="Zend_Application-AvailableResources-Layout.xml"/>
+    <xi:include href="Zend_Application-AvailableResources-Modules.xml"/>
+    <xi:include href="Zend_Application-AvailableResources-Navigation.xml"/>
+    <xi:include href="Zend_Application-AvailableResources-Router.xml"/>
+    <xi:include href="Zend_Application-AvailableResources-Session.xml"/>
+    <xi:include href="Zend_Application-AvailableResources-View.xml"/>
 </sect1>

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

@@ -59,7 +59,7 @@
         ítemes en <methodname>$localConfig</methodname> sobrescribirán cualquier item con el mismo nombre en
             <methodname>$config</methodname>. <note>
             <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
+                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>
         </note>

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

@@ -379,7 +379,7 @@ class FooController extends Zend_Controller_Action
                         <methodname>$context</methodname> puede ser un único
                     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>
 
@@ -761,7 +761,7 @@ class CommentController extends Zend_Controller_Action
                 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>/comment/process/format/json</filename>'. (O
+                '<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>
 

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

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 16015 -->
 <!-- Reviewed: no -->
 <sect3 id="zend.controller.actionhelpers.flashmessenger">
     <title>FlashMessenger</title>
@@ -7,9 +7,9 @@
     <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
         <title>Introducción</title>
         <para>
-            El ayudante <methodname>FlashMessenger</methodname> le permite pasar mensajes
+            El ayudante <emphasis>FlashMessenger</emphasis> le permite pasar mensajes
             que el usuario puede querer ver en la próxima solicitud.
-            Para lograrlo, <methodname>FlashMessenger</methodname> usa
+            Para lograrlo, <emphasis>FlashMessenger</emphasis> usa
             <classname>Zend_Session_Namespace</classname> para almacenar los
             mensajes para las futuras o próxima solicitud de recuperación.
             Es una buena idea si planea utilizar
@@ -27,9 +27,9 @@
         <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
-            <methodname>/some/my</methodname>, añade el mensaje de flash "Record Saved!".
+            <filename>/some/my</filename>, añade el mensaje de flash "Record Saved!".
             Una solicitud posterior a la acción
-            <methodname>/some/my-next-request</methodname> lo recuperará (y entonces
+            <filename>/some/my-next-request</filename> lo recuperará (y entonces
             también lo suprimirá).
         </para>
 

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

@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 16503 -->
 <!-- Reviewed: no -->
 <sect3 id="zend.controller.actionhelpers.json">
     <title>JSON</title>
 
     <para>
-        Las respuestas JSON se están convirtiendo en la respuesta de elección
-        cuando se trata de requerimientos AJAX que esperan recibir
-        respuestas datasets; en el lado del cliente, JSON puede ser inmediatamente parseado y
+        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>
-        El ayudante de acción de JSON hace varias cosas:
+        El ayudante de acción de  <acronym>JSON</acronym> hace varias cosas:
     </para>
 
     <itemizedlist>
@@ -38,7 +38,7 @@ $this->_helper->json($data, array('enableJsonExprFinder' => true));
          </para></listitem>
 
         <listitem><para>
-                Establece la cabecera de respuesta 'Content-Type' a 'application/json'.
+                Establece la cabecera de respuesta 'Content-Type' a '<filename>application/json</filename>'.
          </para></listitem>
 
         <listitem><para>
@@ -75,11 +75,11 @@ class FooController extends Zend_Controller_Action
         <title>Conservando los Esquemas(Layouts)</title>
 
         <para>
-            Si se tiene un esquema separado para respuestas de JSON --
-            quizás para envolver la respuesta de JSON en algún tipo de
-            contexto -- cada método en el ayudante JSON acepta un segundo
+            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
+            Pasando un valor booleano <constant>TRUE</constant> conservará los layouts
             habilitados:
         </para>
 
@@ -103,10 +103,10 @@ $this->_helper->json($data, array('keepLayouts' => true);
 
         <para>
             <classname>Zend_Json::encode()</classname> permite la codificación
-            de expresiones nativas de JSON utilizando objetos
+            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>:
+            <constant>TRUE</constant> a la opción <methodname>enableJsonExprFinder</methodname>:
         </para>
 
          <programlisting language="php"><![CDATA[
@@ -116,7 +116,7 @@ $this->_helper->json($data, array('enableJsonExprFinder' => true);
         <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 <methodname>keepLayouts</methodname>. Todas esas
+            opciones, como la opción <emphasis>keepLayouts</emphasis>. Todas esas
             opciones se pasan luego a <classname>Zend_Json::encode()</classname>.
         </para>
 

Разница между файлами не показана из-за своего большого размера
+ 293 - 374
documentation/manual/es/module_specs/Zend_Date-Overview.xml


+ 16 - 50
documentation/manual/es/module_specs/Zend_Db_Adapter.xml

@@ -528,9 +528,9 @@ $db = Zend_Db::factory('Pdo_Mysql', $params);
 
         </sect3>
 
-       <sect3 id="zend.db.adapter.connecting.getconnection">
+        <sect3 id="zend.db.adapter.connecting.getconnection">
             <title>Managing Lazy Connections</title>
-
+            
             <para>
                 Creating an instance of an Adapter class does not immediately
                 connect to the <acronym>RDBMS</acronym> server. The Adapter saves the connection
@@ -541,74 +541,40 @@ $db = Zend_Db::factory('Pdo_Mysql', $params);
                 that you need to run any database queries during the current
                 request your application is serving.
             </para>
-
+            
             <para>
                 If you need to force the Adapter to connect to the <acronym>RDBMS</acronym>, use
                 the <methodname>getConnection()</methodname> method. This method returns
                 an object for the connection as represented by the respective
                 <acronym>PHP</acronym> database extension. For example, if you use any of the
                 Adapter classes for <acronym>PDO</acronym> drivers, then
-                <methodname>getConnection()</methodname> returns the <acronym>PDO</acronym> object, after
-                initiating it as a live connection to the specific database.
+                <methodname>getConnection()</methodname> returns the <acronym>PDO</acronym> object,
+                after initiating it as a live connection to the specific database.
             </para>
-
+            
             <para>
                 It can be useful to force the connection if you want to catch
                 any exceptions it throws as a result of invalid account
                 credentials, or other failure to connect to the <acronym>RDBMS</acronym> server.
                 These exceptions are not thrown until the connection is made,
                 so it can help simplify your application code if you handle the
-                exceptions in one place, instead 
-            <title>Managing Lazy Connections</title>
-
-            <para>
-                Creating an instance of an Adapter class does not
-                immediately connect to the <acronym>RDBMS</acronym> server. The Adapter
-                saves the connection parameters, and makes the actual
-                connection on demand, the first time you need to execute
-                a query. This ensures that creating an Adapter object is
-                quick and inexpensive. You can create an instance of an
-                Adapter even if you are not certain that you need to run
-                any database queries during the current request your
-                application is serving.
+                exceptions in one place, instead of at the time of
+                the first query against the database.
             </para>
-
-            <para>
-                If you need to force the Adapter to connect to the
-                <acronym>RDBMS</acronym>, use the
-                <methodname>getConnection()</methodname>
-                method. This method returns an object for the connection
-                as represented by the respective <acronym>PHP</acronym> database extension.
-                For example, if you use any of the Adapter classes for
-                 <acronym>PDO</acronym>  drivers, then
-                <methodname>getConnection()</methodname>
-                returns the  <acronym>PDO</acronym>  object, after initiating it as a live
-                connection to the specific database.
-            </para>
-
-            <para>
-                It can be useful to force the connection if you want to
-                catch any exceptions it throws as a result of invalid
-                account credentials, or other failure to connect to the
-                <acronym>RDBMS</acronym> server. These exceptions are not thrown until the
-                connection is made, so it can help simplify your
-                application code if you handle the exceptions in one
-                place, instead of at the time of the first query against
-                the database.
-            </para>
-
+            
             <para>
                 Additionally, an adapter can get serialized to store it, for example,
                 in a session variable. This can be very useful not only for the
                 adapter itself, but for other objects that aggregate it, like a
                 <classname>Zend_Db_Select</classname> object. By default, adapters are allowed
                 to be serialized, if you don't want it, you should consider passing the
-                <constant>Zend_Db::ALLOW_SERIALIZATION=false</classname> option, see the example above.
-                To respect lazy connections principle, the adapter won't reconnect itself
-                after being unserialized. You must then call <methodname>getConnection()
-                </methodname> yourself. You can make the adapter auto-reconnect by passing the
-                <classname>Zend_Db::AUTO_RECONNECT_ON_UNSERIALIZE=true</classname> as an adapter
-                option.
+                <constant>Zend_Db::ALLOW_SERIALIZATION</constant> option with
+                <constant>FALSE</constant>, see the example above. To respect lazy connections
+                principle, the adapter won't reconnect itself after being unserialized. You must
+                then call <methodname>getConnection()</methodname> yourself. You can make the
+                adapter auto-reconnect by passing the
+                <constant>Zend_Db::AUTO_RECONNECT_ON_UNSERIALIZE</constant> with
+                <constant>TRUE</constant> as an adapter option.
             </para>
 
             <example id="zend.db.adapter.connecting.getconnection.example">

+ 37 - 39
documentation/manual/es/module_specs/Zend_Db_Profiler-Firebug.xml

@@ -6,47 +6,46 @@
 
     <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>
+        perfilado a la <ulink url="http://getfirebug.com/logging.html"
+            >Consola</ulink> de <ulink url="http://www.getfirebug.com/"
+            >Firebug</ulink>. </para>
 
-    <para>
-        Todos los datos son enviados a través del componente
-        <classname>Zend_Wildfire_Channel_HttpHeaders</classname> que usa cabeceras HTTP
-        para asegurar que el contenido de la página no sea alterado.
-        Depurar peticiones AJAX que requieren respuestas JSON y <acronym>XML</acronym>
-        es perfectamente posible con este enfoque.
-    </para>
+    <para> Todos los datos son enviados a través del componente
+            <classname>Zend_Wildfire_Channel_HttpHeaders</classname> que usa
+        cabeceras HTTP para asegurar que el contenido de la página no sea
+        alterado. Depurar peticiones AJAX que requieren respuestas JSON y
+            <acronym>XML</acronym> es perfectamente posible con 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></listitem>
-
-        <listitem> <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></listitem>
-
-        <listitem><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></listitem>
+        <listitem>
+            <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
+                desde <ulink
+                    url="https://addons.mozilla.org/en-US/firefox/addon/1843"
+                    >https://addons. mozilla
+                    .org/en-US/firefox/addon/1843</ulink>. </para>
+        </listitem>
+
+        <listitem>
+            <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>
+        </listitem>
     </itemizedlist>
 
-    <example id="zend.db.profiler.profilers.firebug.example.with_front_controller">
+    <example
+        id="zend.db.profiler.profilers.firebug.example.with_front_controller">
         <title>Perfilando DB con Zend_Controller_Front</title>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // En tu archivo bootstrap
 
 $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
@@ -62,10 +61,12 @@ $db->setProfiler($profiler)
 ]]></programlisting>
     </example>
 
-    <example id="zend.db.profiler.profilers.firebug.example.without_front_controller">
-        <title>Perfilar DB sin <classname>Zend_Controller_Front</classname></title>
+    <example
+        id="zend.db.profiler.profilers.firebug.example.without_front_controller">
+        <title>Perfilar DB sin
+            <classname>Zend_Controller_Front</classname></title>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
 $profiler->setEnabled(true);
 
@@ -89,6 +90,3 @@ $response->sendHeaders();
 ]]></programlisting>
     </example>
 </sect3>
-<!--
-vim:se ts=4 sw=4 et:
--->

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

@@ -50,7 +50,7 @@ $db->getProfiler()->setEnabled(true);
 
         <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
+            <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>.
              <programlisting language="php"><![CDATA[
 $params['profiler'] = true;

Разница между файлами не показана из-за своего большого размера
+ 342 - 352
documentation/manual/es/module_specs/Zend_Db_Select.xml


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

@@ -194,7 +194,7 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
             </itemizedlist>
 
             <para>
-                <methodname>fetch()</methodname> devuelve constant>FALSE</constant> si todas las filas
+                <methodname>fetch()</methodname> devuelve <constant>FALSE</constant> si todas las filas
                 del conjunto de resultados han sido extraídas.
             </para>
 
@@ -297,7 +297,7 @@ echo $rows[0][0];
                 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
+                <constant>FALSE</constant> si todas las filas del conjunto de resultados
                 han sido extraídas.
             </para>
 

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

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 17175 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.dom.introduction">
     <title>Introducción</title>
@@ -8,7 +8,7 @@
         <classname>Zend_Dom</classname> provee herramientas para trabajar con documentos y
         estructuras DOM. Actualmente, ofrecemos <classname>Zend_Dom_Query</classname>, el cual
         provee una interfaz unificada para consultar documentos DOM utilizando selectores
-        XPath y CSS.
+        XPath y <acronym>CSS</acronym>.
     </para>
 </sect1>
 <!--

+ 13 - 19
documentation/manual/es/module_specs/Zend_Exception.xml

@@ -7,15 +7,14 @@
     <title>Using Exceptions</title>
 
     <para>
-        <classname>Zend_Exception</classname> is simply the base class for all exceptions thrown within Zend Framework.
-    </para>
+        <classname>Zend_Exception</classname> is simply the base class for all
+        exceptions thrown within Zend Framework. </para>
 
     <example id="zend.exception.using.example">
         <title>Catching an Exception</title>
-        <para>
-            The following code listing demonstrates how to catch an exception thrown in a Zend Framework class:
-        </para>
-         <programlisting language="php"><![CDATA[
+        <para> The following code listing demonstrates how to catch an exception
+            thrown in a Zend Framework class: </para>
+        <programlisting language="php"><![CDATA[
 try {
     // Calling Zend_Loader::loadClass() with a non-existant class will cause
     // an exception to be thrown in Zend_Loader
@@ -28,19 +27,14 @@ try {
 ]]></programlisting>
     </example>
     <para>
-        <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>
+        <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>
 
-    <para>
-        The documentation for each Zend Framework
-        component and class will contain specific information on which methods
-        throw exceptions, the circumstances that cause an exception to be thrown,
-        and the class of all exceptions that may be thrown.
-    </para>
+    <para> The documentation for each Zend Framework component and class will
+        contain specific information on which methods throw exceptions, the
+        circumstances that cause an exception to be thrown, and the class of all
+        exceptions that may be thrown. </para>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 87 - 138
documentation/manual/es/module_specs/Zend_Filter.xml

@@ -4,94 +4,63 @@
 
     <title>Introducción</title>
 
-	<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>
-	
-    <sect2 id="zend.filter.introduction.definition">
+    <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>
 
+    <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 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 transformations upon input. A common transformation
-            applied in web applications is the escaping of HTML 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 HTML entities or contain only escaped HTML entities, in order to
-            prevent undesired behavior and security vulnerabilities. To meet
-            this requirement, HTML entities that appear in the input must
-            either be removed or escaped. Of course, which approach is more
-            appropriate depends on the situation. A filter that removes the
-            HTML entities operates within the scope of the first definition of
-            filter - an operator that produces a subset of the input. A filter
-            that escapes the HTML entities, however, transforms the input
-            (e.g., "<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
-             transformaciones generalizadas sobre la entrada. Una transformación común
-             requerida en las aplicaciones web es la de escapar las entidades HTML. Por
-             ejemplo, si un campo del formulario es completado automáticamente y contiene datos no verificados 
-             (por ejemplo, datos ingresados desde un navegador web), este valor debe estar libre
-             de las entidades HTML o sólo contener entidades HTML de forma escapada, a fin de
-             evitar comportamientos no deseados y vulnerabilidades de seguridad. Para cumplir
-             este requerimiento, las entidades HTML que aparecen en los datos introducidos deben
-             ser suprimidos o escapados. Por supuesto, el enfoque más
-             adecuado depende del contexto y de la situción. Un filtro que quita las
-             entidades HTML funciona dentro del ámbito o alcance de la primera definición del
-             filtro - un operador que produce un subconjunto de la entrada. Un filtro
-             que escapa a las entidades HTML, sin embargo, transforma la entrada
-             (por ejemplo, "<code> &amp;</code>" se transforma en
-            "<code> &amp;amp;</code>"). El Apoyo a los casos de uso como para la web
-             los desarrolladores es importante, y "filtrar", en el contexto de la utilización de
-        <classname> Zend_Filter </classname>, los medios para realizar algunas transformaciones en los datos de entrada.
-			 
-		 
-		
-		
-    </sect2>
+        <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
+            transformations upon input. A common transformation applied in web applications is the
+            escaping of HTML 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 HTML
+            entities or contain only escaped HTML entities, in order to prevent undesired behavior
+            and security vulnerabilities. To meet this requirement, HTML entities that appear in the
+            input must either be removed or escaped. Of course, which approach is more appropriate
+            depends on the situation. A filter that removes the HTML entities operates within the
+            scope of the first definition of filter - an operator that produces a subset of the
+            input. A filter that escapes the HTML entities, however, transforms the input (e.g.,
+                "<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
+        transformaciones generalizadas sobre la entrada. Una transformación común requerida en las
+        aplicaciones web es la de escapar las entidades HTML. Por ejemplo, si un campo del
+        formulario es completado automáticamente y contiene datos no verificados (por ejemplo, datos
+        ingresados desde un navegador web), este valor debe estar libre de las entidades HTML o sólo
+        contener entidades HTML de forma escapada, a fin de evitar comportamientos no deseados y
+        vulnerabilidades de seguridad. Para cumplir este requerimiento, las entidades HTML que
+        aparecen en los datos introducidos deben ser suprimidos o escapados. Por supuesto, el
+        enfoque más adecuado depende del contexto y de la situción. Un filtro que quita las
+        entidades HTML funciona dentro del ámbito o alcance de la primera definición del filtro - un
+        operador que produce un subconjunto de la entrada. Un filtro que escapa a las entidades
+        HTML, sin embargo, transforma la entrada (por ejemplo, "<code> &amp;</code>" se
+        transforma en "<code> &amp;amp;</code>"). El Apoyo a los casos de uso como para la web
+        los desarrolladores es importante, y "filtrar", en el contexto de la utilización de
+            <classname> Zend_Filter </classname>, los medios para realizar algunas transformaciones
+        en los datos de entrada. </sect2>
 
     <sect2 id="zend.filter.introduction.using">
 
         <title>Uso básico de los filtros</title>
 
-        <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>
-
-        <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:
+        <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>
 
-            <programlisting language="php"><![CDATA[
+        <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>
 
     </sect2>
@@ -100,57 +69,41 @@ 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 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 the <methodname>filter()</methodname> method. The second
-            argument is a string, which corresponds to the basename of the
-            filter class, relative to the Zend_Filter namespace. The
-            <methodname>staticFilter()</methodname> method automatically loads the class, creates
-            an instance, and applies the <methodname>filter()</methodname> method to the data
-            input.
-
-            <programlisting language="php"><![CDATA[
+        <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
+            the <methodname>filter()</methodname> method. The second argument is a string, which
+            corresponds to the basename of the filter class, relative to the Zend_Filter namespace.
+            The <methodname>staticFilter()</methodname> method automatically loads the class,
+            creates an instance, and applies the <methodname>filter()</methodname> method to the
+            data input. <programlisting language="php"><![CDATA[
 echo Zend_Filter::filterStatic('&', 'HtmlEntities');
 ]]></programlisting>
-
         </para>
 
-        <para>
-            You can also pass an array of constructor arguments, if they
-            are needed for the filter class.
-
-            <programlisting language="php"><![CDATA[
+        <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>
-            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>
+        <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>
 
-        <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>
+        <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>
 
         <sect3 id="zend.filter.introduction.static.namespaces">
 
             <title>Namespaces</title>
 
-            <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>
+            <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>
 
             <programlisting language="php"><![CDATA[
 echo Zend_Filter::filterStatic(
@@ -162,11 +115,10 @@ echo Zend_Filter::filterStatic(
 ]]></programlisting>
 
             <para>
-                <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>
+                <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>
 
             <programlisting language="php"><![CDATA[
 Zend_Filter::setDefaultNamespaces(array('FirstNamespace', 'SecondNamespace'));
@@ -174,46 +126,43 @@ 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>
+                            <methodname>Zend_Filter::getDefaultNamespaces()</methodname>
+                        </emphasis>: Returns all set default namespaces as array. </para>
                 </listitem>
 
                 <listitem>
                     <para>
-                        <emphasis><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>
+                        <emphasis>
+                            <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>
                 </listitem>
 
                 <listitem>
                     <para>
-                        <emphasis><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.
+                        <emphasis>
+                            <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>
                 </listitem>
 
                 <listitem>
                     <para>
-                        <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>
+                        <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>
                 </listitem>
             </itemizedlist>
         </sect3>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 167 - 193
documentation/manual/es/module_specs/Zend_Form-Advanced.xml

@@ -5,22 +5,20 @@
     <title>Uso avanzado de Zend_Form</title>
 
     <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>
+        <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>
 
     <sect2 id="zend.form.advanced.arrayNotation">
         <title>Notación de array</title>
 
-        <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>
+        <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>
 
         <programlisting language="html"><![CDATA[
 <form>
@@ -74,11 +72,10 @@
 </form>
 ]]></programlisting>
 
-        <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>
+        <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>
 
         <programlisting language="html"><![CDATA[
 <form>
@@ -142,104 +139,96 @@
 </form>
 ]]></programlisting>
 
-        <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>
-
-        <para>
-            <classname>Zend_Form</classname> intenta automatizar este proceso con los
-            <link linkend="zend.form.forms.subforms">subformularios</link>. Por
-            defecto, los subformularios son generados usando la notación de array como se muestra
-            en el anterior formulario HTML listado completo con identificadores. El nombre del array
-            esta basado en el nombre del subformulario, con las llaves basados en los elementos
-            contenidos  en el subformulario. Los subformularios pueder ser anidados arbitrariamente,
-            y esto puede crear arrays anidados que reflejan la estructura.
-            Adicionalmente, las validaciones rutinarias en
-            <classname>Zend_Form</classname> 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>
+        <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>
 
         <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>
+            <classname>Zend_Form</classname> intenta automatizar este proceso
+            con los <link linkend="zend.form.forms.subforms"
+                >subformularios</link>. Por defecto, los subformularios son
+            generados usando la notación de array como se muestra en el anterior
+            formulario HTML listado completo con identificadores. El nombre del
+            array esta basado en el nombre del subformulario, con las llaves
+            basados en los elementos contenidos en el subformulario. Los
+            subformularios pueder ser anidados arbitrariamente, y esto puede
+            crear arrays anidados que reflejan la estructura. Adicionalmente,
+            las validaciones rutinarias en <classname>Zend_Form</classname>
+            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>
+
+        <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>
 
         <itemizedlist>
             <listitem>
                 <para>
-                    <methodname>Zend_Form::setIsArray($flag)</methodname>: Definiendo la
-                    bandera a verdadero, se puede indicar que un formulario entero debería ser
-                    tratado como un array. Por defecto, el nombre del formulario será
-                    usado como el nombre del array, a no ser que
-                    <methodname>setElementsBelongTo()</methodname> haya sido 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>
-
-                <para>
-                    Se deberá determinar si un formulario está siendo tratado como un array
-                    usando el accesor <methodname>isArray()</methodname>.
-                </para>
+                    <methodname>Zend_Form::setIsArray($flag)</methodname>:
+                    Definiendo la bandera a verdadero, se puede indicar que un
+                    formulario entero debería ser tratado como un array. Por
+                    defecto, el nombre del formulario será usado como el nombre
+                    del array, a no ser que
+                        <methodname>setElementsBelongTo()</methodname> haya sido
+                    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>
+
+                <para> Se deberá determinar si un formulario está siendo tratado
+                    como un array usando el accesor
+                        <methodname>isArray()</methodname>. </para>
             </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>Zend_Form::setElementsBelongTo($array)</methodname>:
-                    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></listitem>
+                    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>
+            </listitem>
         </itemizedlist>
 
-        <para>
-            Adicionalmente, a nivel del elemento, se pueden especificar
-            elementos individuales que puedan pertenecer a arrays particulares usando
-            el método <classname>Zend_Form_Element::setBelongsTo()</classname>.
-            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>
+        <para> Adicionalmente, a nivel del elemento, se pueden especificar
+            elementos individuales que puedan pertenecer a arrays particulares
+            usando el método
+                <classname>Zend_Form_Element::setBelongsTo()</classname>. 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>
     </sect2>
 
     <sect2 id="zend.form.advanced.multiPage">
         <title>Formularios Multi-Página</title>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
 
         <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 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>
-
-            <para>
-                Primero, vamos a crear nuestro propio formulario, y definir varios subformularios
-                dentro del mismo:
-            </para>
-
-             <programlisting language="php"><![CDATA[
+            <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>
+
+            <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
 {
     public function init()
@@ -340,17 +329,16 @@ class My_Form_Registration extends Zend_Form
 }
 ]]></programlisting>
 
-            <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>
-
-             <programlisting language="php"><![CDATA[
+            <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>
+
+            <programlisting language="php"><![CDATA[
 class My_Form_Registration extends Zend_Form
 {
     // ...
@@ -428,23 +416,21 @@ class My_Form_Registration extends Zend_Form
 }
 ]]></programlisting>
 
-            <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. Segundo, necesitamos alguna lógica para determinar qué segmentos
-                del formulario han sido sometidos, y qué subformulario
-                mostrar 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>
-
-            <para>
-                Vamos a crear nuestro controlador, y añadir un método para recuperar un
-                formulario instanciado:
-            </para>
-
-             <programlisting language="php"><![CDATA[
+            <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.
+                Segundo, necesitamos alguna lógica para determinar qué segmentos
+                del formulario han sido sometidos, y qué subformulario mostrar
+                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>
+
+            <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
 {
     protected $_form;
@@ -459,17 +445,16 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <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>
-
-             <programlisting language="php"><![CDATA[
+            <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>
+
+            <programlisting language="php"><![CDATA[
 class RegistrationController extends Zend_Controller_Action
 {
     // ...
@@ -562,34 +547,31 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <para>
-                El método de arriba nos permite usar notaciones tal como "<methodname>$subForm =
-                    $this-&gt;getCurrentSubForm();</methodname>" recuperar el actual
-                subformulario para la validación, o "<methodname>$next =
-                    $this-&gt;getNextSubForm();</methodname>" obtener el siguiente para
-                mostrar.
-            </para>
-
-            <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 falso indican que
-                ninguno ha sido desplegado o sometido), y
-                <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>
-
-            <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>
-
-             <programlisting language="php"><![CDATA[
+            <para> El método de arriba nos permite usar notaciones tal como
+                    "<methodname>$subForm =
+                    $this-&gt;getCurrentSubForm();</methodname>" recuperar
+                el actual subformulario para la validación, o "<methodname>$next
+                    = $this-&gt;getNextSubForm();</methodname>" obtener el
+                siguiente para mostrar. </para>
+
+            <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
+                falso indican que ninguno ha sido desplegado o sometido), y
+                    <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>
+
+            <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>
+
+            <programlisting language="php"><![CDATA[
 class RegistrationController extends Zend_Controller_Action
 {
     // ...
@@ -630,13 +612,12 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <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>
+            <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>
 
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 class RegistrationController extends Zend_Controller_Action
 {
     // ...
@@ -677,22 +658,19 @@ class RegistrationController extends Zend_Controller_Action
 }
 ]]></programlisting>
 
-            <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, volviéndolo a mostrar si tiene
-                fallos. Si el subformulario es 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>
-
-            <para>
-                Los scripts de vista son muy simples:
-            </para>
-
-             <programlisting language="php"><![CDATA[
+            <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,
+                volviéndolo a mostrar si tiene fallos. Si el subformulario es
+                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>
+
+            <para> Los scripts de vista son muy simples: </para>
+
+            <programlisting language="php"><![CDATA[
 <? // registration/index.phtml ?>
 <h2>registro</h2>
 <?php echo  $this->form ?>
@@ -725,15 +703,11 @@ foreach ($this->info as $info):
 endforeach
 ]]></programlisting>
 
-            <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>
+            <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>
         </example>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 166 - 186
documentation/manual/es/module_specs/Zend_Form-Decorators.xml

@@ -2,150 +2,150 @@
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.form.decorators">
-    <title>Creando un personalizado marcado de formulario usando Zend_Form_Decorator</title>
-
-    <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>
-
-    <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>
-
-    <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>
-
-    <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>
+    <title>Creando un personalizado marcado de formulario usando
+        Zend_Form_Decorator</title>
+
+    <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>
+
+    <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>
+
+    <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>
+
+    <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>
 
     <sect2 id="zend.form.decorators.operation">
         <title>Operación</title>
 
-        <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>
+        <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>
 
-        <para>
-            Opciones estándar incluyen:
-        </para>
+        <para> Opciones estándar incluyen: </para>
 
         <itemizedlist>
-            <listitem><para>
-                    <methodname>placement</methodname>: La ubicación puede ser cualquiera de los dos 'append' o
-                    'prepend' (caso insensitivo) e indica cualquier contenido
-                    pasado a <methodname>render()</methodname> será postpuesto o
+            <listitem>
+                <para>
+                    <methodname>placement</methodname>: La ubicación puede ser
+                    cualquiera de los dos 'append' o 'prepend' (caso
+                    insensitivo) e indica cualquier contenido pasado a
+                        <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></listitem>
-
-            <listitem><para>
-                    <methodname>separator</methodname>: El separator es usado entre el
-                    contenido pasado a <methodname>render()</methodname> y el nuevo contenido
+                    reemplace el contenido, esta configuración es ignorada. La
+                    configuración por defecto es adjuntada. </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>separator</methodname>: El separator es usado
+                    entre el contenido pasado a
+                        <methodname>render()</methodname> y el nuevo contenido
                     generado por el decorador, o entre items generados por el
                     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 <methodname>PHP_EOL</methodname>.
-            </para></listitem>
+                    contenido, esta configuración puede ser ignorada. El valor
+                    por defecto es <methodname>PHP_EOL</methodname>. </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></listitem>
-
-            <listitem><para>
-                    <methodname>getOption($key)</methodname>: recuperar un solo valor de opción.
-            </para></listitem>
-
-            <listitem><para>
-                    <methodname>getOptions()</methodname>: recuperar todas las opciones.
-            </para></listitem>
-
-            <listitem><para>
-                    <methodname>removeOption($key)</methodname>: eliminar una sola opción.
-            </para></listitem>
-
-            <listitem><para>
-                    <methodname>clearOptions()</methodname>: eliminar todas las opciones.
-            </para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setOption($key, $value)</methodname>: determina
+                    una sola opción. </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getOption($key)</methodname>: recuperar un solo
+                    valor de opción. </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getOptions()</methodname>: recuperar todas las
+                    opciones. </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>removeOption($key)</methodname>: eliminar una
+                    sola opción. </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>clearOptions()</methodname>: eliminar todas las
+                    opciones. </para>
+            </listitem>
         </itemizedlist>
 
-        <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>, <methodname>Zend_Form_DisplayGroup</methodname>,
-            y todas las 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>
-
-        <para>
-            Cada método decorador <methodname>render()</methodname> acepta una cadena
-            <methodname>$content</methodname>. 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>
+        <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>,
+                <methodname>Zend_Form_DisplayGroup</methodname>, y todas las
+            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>
+
+        <para> Cada método decorador <methodname>render()</methodname> acepta
+            una cadena <methodname>$content</methodname>. 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>
     </sect2>
 
     <sect2 id="zend.form.decorators.standard">
         <title>Decoradores estándar</title>
 
         <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>
+            <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>
     </sect2>
 
     <sect2 id="zend.form.decorators.custom">
         <title>Decoradores personalizados</title>
 
-        <para>
-            Si encuentra que sus necesidades son complejas o necesita una enorme
-            personalización, debería considerar crear un decorador personalizado.
-        </para>
+        <para> Si encuentra que sus necesidades son complejas o necesita una
+            enorme personalización, debería considerar crear un decorador
+            personalizado. </para>
 
-        <para>
-            Los decoradores necesitan implementar sólo
-           <classname>Zend_Form_Decorator_Interface</classname>. La interface especifica lo
-            siguiente:
-        </para>
+        <para> Los decoradores necesitan implementar sólo
+                <classname>Zend_Form_Decorator_Interface</classname>. La
+            interface especifica lo siguiente: </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 interface Zend_Decorator_Interface
 {
     public function __construct($options = null);
@@ -162,21 +162,18 @@ interface Zend_Decorator_Interface
 }
 ]]></programlisting>
 
-        <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>
+        <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>
 
-        <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>
-
-         <programlisting language="php"><![CDATA[
+        <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>
+
+        <programlisting language="php"><![CDATA[
 class My_Decorator_Composite extends Zend_Form_Decorator_Abstract
 {
     public function buildLabel()
@@ -262,11 +259,9 @@ 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[
+        <programlisting language="php"><![CDATA[
 // para un elemento:
 $element->addPrefixPath('My_Decorator',
                         'My/Decorator/',
@@ -278,34 +273,28 @@ $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[
+        <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
-            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>
+        <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>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 class My_Decorator_Errors
 {
     public function render($content = '')
@@ -327,35 +316,32 @@ class My_Decorator_Errors
 }
 ]]></programlisting>
 
-        <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>
+        <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>
     </sect2>
 
     <sect2 id="zend.form.decorators.individual">
         <title>Generando decoradores individuales</title>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // genera el elemento decorador label:
 echo $element->renderLabel();
 
@@ -366,17 +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 formulario con el
-            decorador ViewScript; cada elemento puede usar sus decoradores adjuntos
-            para generar contenido, pero con un control minucioso.
-        </para>
+        <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>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

Разница между файлами не показана из-за своего большого размера
+ 538 - 549
documentation/manual/es/module_specs/Zend_Form-Elements.xml


Разница между файлами не показана из-за своего большого размера
+ 412 - 453
documentation/manual/es/module_specs/Zend_Form-Forms.xml


+ 68 - 101
documentation/manual/es/module_specs/Zend_Form-I18n.xml

@@ -4,89 +4,73 @@
 <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 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>
-
-    <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>
+    <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>
+
+    <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>
 
     <note>
         <title>La Traducción Puede Ser Deshabilitado Por Item</title>
 
-        <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 <methodname>disableTranslator</methodname> al
-            objeto. Puede ser de mucha ayuda cuando se quiere deshabilitar selectivamente
-            la traducción para elementos individuales o grupo de elementos.
-        </para>
+        <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
+                <methodname>disableTranslator</methodname> al objeto. Puede ser de mucha ayuda
+            cuando se quiere deshabilitar selectivamente la traducción para elementos individuales o
+            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
-            <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>
+        <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>
 
         <itemizedlist>
             <listitem>
                 <para>
-                    <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>
+                    <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>
 
-                 <programlisting language="php"><![CDATA[
+                <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>,
-                    <classname>Zend_Validate</classname> y
-                    <classname>Zend_View_Helper_Translate</classname>.
-                </para>
+                <para> Será recibido por <classname>Zend_Form</classname>,
+                        <classname>Zend_Validate</classname> y
+                        <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, puede registrar el objeto traducción con
-                    <classname>Zend_Validate_Abstract</classname>:
-                </para>
+                <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>
 
-                 <programlisting language="php"><![CDATA[
+                <programlisting language="php"><![CDATA[
 // Decir a todas las clases de validación que se use un adaptador especifico de traducción
 Zend_Validate_Abstract::setDefaultTranslator($translate);
 ]]></programlisting>
             </listitem>
 
             <listitem>
-                <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>
+                <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>
 
-                 <programlisting language="php"><![CDATA[
+                <programlisting language="php"><![CDATA[
 // Decir a todas las clases del formulario usar un adaptador especifico, así como también
 // use este adaptador para traducir mensajes de error de validación
 Zend_Form::setDefaultTranslator($translate);
@@ -94,13 +78,11 @@ 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[
+                <programlisting language="php"><![CDATA[
 // Decir a *esta* instancia del formulario que use un adaptador especifico de traducción;
 // será usado para traducir mensajes de error de validación para todos los
 // elementos:
@@ -118,76 +100,61 @@ $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>
                 <para>
-                    <emphasis>Mensajes de error de validación.</emphasis> Los mensajes
-                    de error de 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>
-
-                <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.
+                    <emphasis>Mensajes de error de validación.</emphasis> Los mensajes de error de
+                    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>
+
+                <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>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis>Etiquetas.</emphasis> Las etiquetas elemento serán
-                    traducidas, si una traducción existe.
-                </para>
+                    <emphasis>Etiquetas.</emphasis> Las etiquetas elemento serán traducidas, si una
+                    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>
+                    subformularios se generan por defecto en fieldsets. El decorador de fieldsets
+                    intenta traducir la leyenda antes de generar el fieldset. </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <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>
+                    <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>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis>Valores multi-opción.</emphasis> Para los
-                    múltiples items que heredan 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>
+                    <emphasis>Valores multi-opción.</emphasis> Para los múltiples items que heredan
+                    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>
             </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.
+                    <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>
             </listitem>
         </itemizedlist>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 tw=80 et:
--->

+ 22 - 16
documentation/manual/es/module_specs/Zend_Form-Introduction.xml

@@ -1,28 +1,34 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 15854 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.form.introduction">
     <title>Zend_Form</title>
 
     <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><para>Validación y filtrado de la información suministrada</para></listitem>
-        <listitem><para>Ordenado de elementos</para></listitem>
-        <listitem><para>Elementos y su presentación, incluyendo su escape</para></listitem>
-        <listitem><para>Agrupación de elementos y formularios</para></listitem>
-        <listitem><para>Configuración de componentes a nivel de formulario</para></listitem>
+        <listitem>
+            <para>Validación y filtrado de la información suministrada</para>
+        </listitem>
+        <listitem>
+            <para>Ordenado de elementos</para>
+        </listitem>
+        <listitem>
+            <para>Elementos y su presentación, incluyendo su escape</para>
+        </listitem>
+        <listitem>
+            <para>Agrupación de elementos y formularios</para>
+        </listitem>
+        <listitem>
+            <para>Configuración de componentes a nivel de formulario</para>
+        </listitem>
     </itemizedlist>
 
-    <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>
+    <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>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 236 - 308
documentation/manual/es/module_specs/Zend_Form-QuickStart.xml

@@ -4,55 +4,47 @@
 <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 y presentar formularios usando <classname>Zend_Form</classname>
+    <para> Esta guía rápida pretende cubrir los fundamentos para crear, validar
+        y presentar formularios usando <classname>Zend_Form</classname>
     </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
-            <classname>Zend_Form</classname>
+        <para> Crear un objeto de formulario es muy simple: solo instancíe
+                <classname>Zend_Form</classname>
         </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $form = new Zend_Form;
 ]]></programlisting>
 
-        <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 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>
-            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>setAction()</methodname> y
+                <methodname>setMethod()</methodname>: </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $form->setAction('/resource/process')
      ->setMethod('post');
 ]]></programlisting>
 
-        <para>
-            El código de arriba establece el action del formulario a la URL
+        <para> El código de arriba establece el action del formulario a la URL
             parcial "/resource/process" y como method HTTP POST. Esto se
-            mostrará en la presentación final.
-        </para>
+            mostrará en la presentación final. </para>
 
-        <para>
-            Usted puede establecer atributos HTML 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>
+        <para> Usted puede establecer atributos HTML 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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $form->setAttrib('id', 'login');
 ]]></programlisting>
     </sect2>
@@ -60,71 +52,67 @@ $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. <classname>Zend_Form</classname>
-            contiene de manera predeterminada algunos elementos que generan
-            XHTML vía auxiliares <classname>Zend_View</classname>. Son los
-            siguientes:
-        </para>
+        <para> Un formulario no es nada sin sus elementos.
+                <classname>Zend_Form</classname> contiene de manera
+            predeterminada algunos elementos que generan XHTML vía auxiliares
+                <classname>Zend_View</classname>. Son los siguientes: </para>
 
         <itemizedlist>
-            <listitem><para>
-                    button
-                </para></listitem>
-
-            <listitem><para>
-                    checkbox (o varios checkboxes a la vez con multiCheckbox)
-                </para></listitem>
-
-            <listitem><para>
-                    hidden
-                </para></listitem>
-
-            <listitem><para>
-                    image
-                </para></listitem>
-
-            <listitem><para>
-                    password
-                </para></listitem>
-
-            <listitem><para>
-                    radio
-                </para></listitem>
-
-            <listitem><para>
-                    reset
-                </para></listitem>
-
-            <listitem><para>
-                    select (tanto regulares como de multi-selección)
-                </para></listitem>
-
-            <listitem><para>
-                    submit
-                </para></listitem>
-
-            <listitem><para>
-                    text
-                </para></listitem>
-
-            <listitem><para>
-                    textarea
-                </para></listitem>
+            <listitem>
+                <para> button </para>
+            </listitem>
+
+            <listitem>
+                <para> checkbox (o varios checkboxes a la vez con multiCheckbox)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para> hidden </para>
+            </listitem>
+
+            <listitem>
+                <para> image </para>
+            </listitem>
+
+            <listitem>
+                <para> password </para>
+            </listitem>
+
+            <listitem>
+                <para> radio </para>
+            </listitem>
+
+            <listitem>
+                <para> reset </para>
+            </listitem>
+
+            <listitem>
+                <para> select (tanto regulares como de multi-selección) </para>
+            </listitem>
+
+            <listitem>
+                <para> submit </para>
+            </listitem>
+
+            <listitem>
+                <para> text </para>
+            </listitem>
+
+            <listitem>
+                <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>
+            simplemente puede pasar el tipo de elemento y
+                <classname>Zend_Form</classname> instaciará por usted un objeto
+            del tipo correspondiente. </para>
 
-        <para>
-            Algunos ejemplos:
-        </para>
+        <para> Algunos ejemplos: </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Instanciando un elemento y pasandolo al objeto form:
 $form->addElement(new Zend_Form_Element_Text('username'));
 
@@ -132,23 +120,20 @@ $form->addElement(new Zend_Form_Element_Text('username'));
 $form->addElement('text', 'username');
 ]]></programlisting>
 
-        <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
+        <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>
+                <classname>Zend_Form</classname>, o (c) recuperar el elemento
+            del objeto form y configurándolo posteriormente. </para>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $username = new Zend_Form_Element_Text('username');
 
 // Pasando un objeto Zend_Validate_*:
@@ -158,55 +143,44 @@ $username->addValidator(new Zend_Validate_Alnum());
 $username->addValidator('alnum');
 ]]></programlisting>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <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 prevenir la ejecución de validadores posteriores o no; por
-            defecto, el valor es false.)
-        </para>
+        <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>
 
-        <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[
+        <programlisting language="php"><![CDATA[
 // Hace este elemento requerido:
 $username->setRequired(true);
 ]]></programlisting>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <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[
+        <programlisting language="php"><![CDATA[
 $username->addValidator('alnum')
          ->addValidator('regex', false, array('/^[a-z]/'))
          ->setRequired(true)
@@ -221,17 +195,16 @@ $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
-            <classname>Zend_Form::addElement()</classname> 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>
+                <classname>Zend_Form::addElement()</classname> 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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $form->addElement('text', 'username', array(
     'validators' => array(
         'alnum',
@@ -242,26 +215,24 @@ $form->addElement('text', 'username', array(
 ));
 ]]></programlisting>
 
-        <note><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></note>
+        <note>
+            <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>
+        </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
-            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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // Llamando a render()  explicitamente, y pasando un objeto vista opcional:
 echo $form->render($view);
 
@@ -269,31 +240,28 @@ echo $form->render($view);
 echo $form;
 ]]></programlisting>
 
-        <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 MVC de
-            Zend Framework. Generar un formulario en un script vista es tan
-            simple como:
-        </para>
+        <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 MVC de Zend
+            Framework. Generar un formulario en un script vista es tan simple
+            como: </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 <?php echo $this->form
 ]]></programlisting>
 
-        <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
+        <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>
+            Predeterminadamente, <classname>Zend_Form_Element</classname>
+            actualmente combina cuatro decoradores para obtener su salida; la
+            configuración sería como sigue: </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $element->addDecorators(array(
     'ViewHelper',
     'Errors',
@@ -302,14 +270,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>
@@ -322,39 +286,31 @@ $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 tener
-            diferente salida; véase la sección sobre decoradores para mayor
-            información.
-        </para>
+        <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>
 
-        <para>
-            El propio formulario simplemente itera sobre los elementos y
-            los cubre en un &lt;form&gt; HTML. El action y method que
+        <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>
+                <methodname>&lt;form&gt;</methodname>, como cualquier
+            atributo que establezca vía <methodname>setAttribs()</methodname> y
+            familia. </para>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <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[
+        <programlisting language="php"><![CDATA[
 $form->addElement('text', 'username', array('order' => 10));
 ]]></programlisting>
     </sect2>
@@ -362,20 +318,17 @@ $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 si
-            pasa las validaciones. Cada elemento es valuado contra los datos
+        <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 <methodname>$_POST</methodname> o
-            <methodname>$_GET</methodname>, o cualquier otra fuente de datos que tenga a
-            mano (solicitud de un servicio web, por ejemplo):
-        </para>
+        <para> ¿De dónde provienen los datos?. Puede usar
+                <methodname>$_POST</methodname> o
+            <methodname>$_GET</methodname>, o cualquier otra fuente de datos que
+            tenga a mano (solicitud de un servicio web, por ejemplo): </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 if ($form->isValid($_POST)) {
     // ¡Correcto!
 } else {
@@ -383,16 +336,14 @@ if ($form->isValid($_POST)) {
 }
 ]]></programlisting>
 
-        <para>
-            Con solicitudes AJAX, 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>
+        <para> Con solicitudes AJAX, 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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 if ($form->isValidPartial($_POST)) {
     // de los elementos presentes, todos pasaron las validaciones
 } else {
@@ -400,27 +351,22 @@ if ($form->isValidPartial($_POST)) {
 }
 ]]></programlisting>
 
-        <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 JSON
-            conteniendo mensajes de error en caso de fallo.
-        </para>
+        <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 JSON conteniendo mensajes de 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[
+        <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[
+        <programlisting language="php"><![CDATA[
 $unfiltered = $form->getUnfilteredValues();
 ]]></programlisting>
     </sect2>
@@ -428,13 +374,11 @@ $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 casos,
-            simplemente puede generar el formulario nuevamente y los errores se
-            mostrarán cuando se usen los decoradores predeterminados:
-        </para>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 if (!$form->isValid($_POST)) {
     echo $form;
 
@@ -444,47 +388,46 @@ if (!$form->isValid($_POST)) {
 }
 ]]></programlisting>
 
-        <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>
+        <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>
     </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><para>usuario</para></listitem>
-            <listitem><para>contraseña</para></listitem>
-            <listitem><para>Botón de ingreso</para></listitem>
+            <listitem>
+                <para>usuario</para>
+            </listitem>
+            <listitem>
+                <para>contraseña</para>
+            </listitem>
+            <listitem>
+                <para>Botón de ingreso</para>
+            </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[
+        <programlisting language="php"><![CDATA[
 $form = new Zend_Form();
 $form->setAction('/user/login')
      ->setMethod('post');
@@ -509,11 +452,9 @@ $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[
+        <programlisting language="php"><![CDATA[
 class UserController extends Zend_Controller_Action
 {
     public function getForm()
@@ -547,37 +488,32 @@ 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[
+        <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 hacer:
-            mientras la información enviada sea válida, necesitará todavía
-            realizar la autenticación usando <methodname>Zend_Auth</methodname>, por
-            ejemplo.
-        </para>
+        <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
+                <methodname>Zend_Auth</methodname>, 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 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 el formulario anterior usando un archivo INI.
-            Primero, vamos a seguir las recomendaciones, y colocaremos nuestras
-            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>
+        <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
+            el formulario anterior usando un archivo INI. Primero, vamos a
+            seguir las recomendaciones, y colocaremos nuestras 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>
 
         <programlisting language="ini"><![CDATA[
 [development]
@@ -606,30 +542,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[
+        <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 descubrir
-            el poder y flexibilidad de <classname>Zend_Form</classname>. Continúe leyendo
-            para profundizar más en el tema.
-        </para>
+        <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>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

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

@@ -89,7 +89,7 @@ class Util
         <para>
             La descripción es escapada utilizando los mecanismos de escapado por defecto
             del objeto de vista. Puede desactivar esto pasando un valor
-            <methodname>false</methodname> a la opción 'escape' del decorador o el método
+            <constant>FALSE</constant> a la opción 'escape' del decorador o el método
             <methodname>setEscape()</methodname>.
         </para>
     </sect2>

+ 396 - 479
documentation/manual/es/module_specs/Zend_Form-StandardElements.xml

@@ -4,80 +4,58 @@
 <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 elementos de los formularios HTML. 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>
+    <para> Zend Framework viene con clases de elementos concretos cubriendo la mayoría de los
+        elementos de los formularios HTML. 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>
 
     <sect2 id="zend.form.standardElements.button">
         <title>Zend_Form_Element_Button</title>
 
-        <para>
-            Usada para crear elementos HTML 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>
+        <para> Usada para crear elementos HTML 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>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
 
-        <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 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>
+        <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>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
 ]]></programlisting>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // instancia concreta:
 $element->setCaptcha(new Zend_Captcha_Figlet());
 
@@ -85,13 +63,10 @@ $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[
+        <programlisting language="php"><![CDATA[
 // Usindo la clave captcha simple:
 $element = new Zend_Form_Element_Captcha('foo', array(
     'label' => "Please verify you're a human",
@@ -114,87 +89,65 @@ $element = new Zend_Form_Element_Captcha('foo', array(
 ));
 ]]></programlisting>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
     </sect2>
 
     <sect2 id="zend.form.standardElements.checkbox">
         <title>Zend_Form_Element_Checkbox</title>
 
-        <para>
-            Las casillas de verificación (checkboxes) HTML 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>
+        <para> Las casillas de verificación (checkboxes) HTML 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>
 
-        <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>
+        <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>
 
-        <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>
+        <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>
 
         <para>
-            <classname>Zend_Form_Element_Checkbox</classname> uses the 'formCheckbox' view
-            helper. The checked value is always used to populate it.
-        </para>
+            <classname>Zend_Form_Element_Checkbox</classname> uses the 'formCheckbox' view helper.
+            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 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>
+        <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>
 
-        <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>
+            validators and filters. Validators and filters attached to the form element will be
+            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[
+            <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload');
@@ -207,24 +160,19 @@ $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 formulario; se debe utilizar
-                'multipart/form-data'. Se puede hacer esto estableciendo el
-                atributo 'enctype' en el formulario:
-            </para>
+            <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>
 
-             <programlisting language="php"><![CDATA[
+            <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 in the final destination using <methodname>receive()</methodname>. Additionally you
-                can determinate the final location using <methodname>getFileName()</methodname>:
-            </para>
+            <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>
 
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 if (!$form->isValid) {
     print "Ohoh... validation error";
 }
@@ -241,70 +189,56 @@ $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 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>
+            <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>
         </note>
 
-                <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $form->getValues();
 ]]></programlisting>
 
         <note>
-            <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>
+            <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>
         </note>
 
-        <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>
+        <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>
 
         <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[
+            <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload')
         ->setValueDisabled(true);
 ]]></programlisting>
 
-            <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>
+            <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>
 
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $values = $form->getValues();
 
 if ($form->isValid($form->getPost())) {
@@ -315,38 +249,33 @@ 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>
+                    <methodname>isUploaded()</methodname>: Checks if the file element has been
+                    uploaded or not. </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <methodname>isReceived()</methodname>: Checks if the file element has
-                    already been received.
-                </para>
+                    <methodname>isReceived()</methodname>: Checks if the file element has already
+                    been received. </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <methodname>isFiltered()</methodname>: Checks if the filters have already
-                    been applied to the file element or not.
-                </para>
+                    <methodname>isFiltered()</methodname>: Checks if the filters have already been
+                    applied to the file element or not. </para>
             </listitem>
         </itemizedlist>
 
         <example id="zend.form.standardElements.file.isuploaded">
             <title>Checking if an optional file has been uploaded</title>
 
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload')
@@ -362,23 +291,19 @@ if ($form->foo->isUploaded()) {
         </example>
 
         <para>
-            <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>
+            <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>
 
         <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 único. Sólo tiene que llamar a
-                <methodname>setMultiFile()</methodname> adicionalmente después de la creación:
-            </para>
+            <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>
 
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload');
@@ -393,42 +318,31 @@ $element->setMultiFile(3);
 $form->addElement($element, 'foo');
 ]]></programlisting>
 
-            <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>
+            <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>
 
         </example>
 
         <note>
             <title>Elementos File en Subformularios</title>
 
-            <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>
-
-            <para>
-                Tan pronto como haya dos elementos file nombrados de forma
-                idéntica, el segundo elemento no se mostrará o enviará.
-            </para>
+            <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>
+
+            <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 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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload')
@@ -440,156 +354,138 @@ $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 el <methodname>MAX_FILE_SIZE</methodname> una sola vez.
-                 Establecerlo otra vez 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> 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>
+
+            <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 usuario no debe manipular.
-            <classname>Zend_Form_Element_Hidden</classname> logra esto a través del uso del helper de vista 'formHidden'.
-        </para>
+        <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>
     </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 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>
+        <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>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <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
-            <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> 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>
-            El helper de vista 'formHidden' es usado para generar el elemento
-            en el formulario.
+        <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>
-            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>
-
-        <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>
+        <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.
+                <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>
+
+        <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>
     </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. 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>
+        <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>
 
         <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>
+            <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>
 
-        <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>
+        <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>
 
-        <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></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOption($option, $value)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>addMultiOptions(array $options)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOptions(array $options)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
+                    options)</para>
+            </listitem>
 
-            <listitem><para>getMultiOption($option)</para></listitem>
+            <listitem>
+                <para>getMultiOption($option)</para>
+            </listitem>
 
-            <listitem><para>getMultiOptions()</para></listitem>
+            <listitem>
+                <para>getMultiOptions()</para>
+            </listitem>
 
-            <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>removeMultiOption($option)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>clearMultiOptions()</methodname>
+                </para>
+            </listitem>
         </itemizedlist>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $element = new Zend_Form_Element_MultiCheckbox('foo', array(
     'multiOptions' => array(
         'foo' => 'Foo Option',
@@ -602,238 +498,259 @@ $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>
-            XHTML <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>
+        <para> XHTML <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>
 
         <itemizedlist>
-            <listitem><para><methodname>addMultiOption($option, $value)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOption($option, $value)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>addMultiOptions(array $options)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOptions(array $options)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
+                    options)</para>
+            </listitem>
 
-            <listitem><para>getMultiOption($option)</para></listitem>
+            <listitem>
+                <para>getMultiOption($option)</para>
+            </listitem>
 
-            <listitem><para>getMultiOptions()</para></listitem>
+            <listitem>
+                <para>getMultiOptions()</para>
+            </listitem>
 
-            <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>removeMultiOption($option)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>clearMultiOptions()</methodname>
+                </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 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> 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>
     </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 se quiera desplegar la contraseña en los mensajes de
-            error o del elemnto en si cuando el formulario es re desplegado.
-        </para>
+        <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>
 
         <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>
+                <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>
     </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 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>
+        <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>
 
-        <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>
+        <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>
 
-        <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></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOption($option, $value)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>addMultiOptions(array $options)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOptions(array $options)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
+                    options)</para>
+            </listitem>
 
-            <listitem><para>getMultiOption($option)</para></listitem>
+            <listitem>
+                <para>getMultiOption($option)</para>
+            </listitem>
 
-            <listitem><para>getMultiOptions()</para></listitem>
+            <listitem>
+                <para>getMultiOptions()</para>
+            </listitem>
 
-            <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>removeMultiOption($option)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>clearMultiOptions()</methodname>
+                </para>
+            </listitem>
         </itemizedlist>
     </sect2>
 
     <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 información sometida. Como sea, como ellos sirven como propósito en el despliegue,
-            son incluidos en los elementos estándar.
-        </para>
+        <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>
 
         <para>
-            <classname>Zend_Form_Element_Reset</classname> extends <link linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>.
-            Tal 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>
+            <classname>Zend_Form_Element_Reset</classname> extends <link
+                linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>. Tal
+            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>
     </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 formulario datum. <classname>Zend_Form_Element_Select</classname> le permite
-            generar esto rápido y fácil.
-        </para>
+        <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>
 
-        <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>
+        <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>
 
-        <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></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOption($option, $value)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>addMultiOptions(array $options)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>addMultiOptions(array $options)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
+                    options)</para>
+            </listitem>
 
-            <listitem><para>getMultiOption($option)</para></listitem>
+            <listitem>
+                <para>getMultiOption($option)</para>
+            </listitem>
 
-            <listitem><para>getMultiOptions()</para></listitem>
+            <listitem>
+                <para>getMultiOptions()</para>
+            </listitem>
 
-            <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>removeMultiOption($option)</methodname>
+                </para>
+            </listitem>
 
-            <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
+            <listitem>
+                <para>
+                    <methodname>clearMultiOptions()</methodname>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>
-            <classname>Zend_Form_Element_Select</classname> usa la vista ayuda 'formSelect'
-            para decoración.
-        </para>
+            <classname>Zend_Form_Element_Select</classname> usa la vista ayuda 'formSelect' 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 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>
+        <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>
 
         <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>
+            <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>
 
-        <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>
+        <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>
     </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 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>
+        <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>
     </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 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>
+        <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>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 tw=80 et:
--->

+ 4 - 10
documentation/manual/es/module_specs/Zend_Json-Basics.xml

@@ -2,13 +2,10 @@
 <!-- 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 estáticos disponibles: 
-        <classname>Zend_Json::encode()</classname> y
-        <classname>Zend_Json::decode()</classname>.
-    </para>
-     <programlisting language="php"><![CDATA[
+    <para> El uso de <classname>Zend_Json</classname> consiste en utilizar los dos métodos públicos
+        estáticos disponibles: <classname>Zend_Json::encode()</classname> y
+            <classname>Zend_Json::decode()</classname>. </para>
+    <programlisting language="php"><![CDATA[
 // Recuperar un valor:
 $phpNative = Zend_Json::decode($encodedValue);
 
@@ -16,6 +13,3 @@ $phpNative = Zend_Json::decode($encodedValue);
 $json = Zend_Json::encode($phpNative);
 ]]></programlisting>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 17 - 27
documentation/manual/es/module_specs/Zend_Json-Introduction.xml

@@ -3,33 +3,23 @@
 <sect1 id="zend.json.introduction">
     <title>Introducción</title>
     <para>
-        <classname>Zend_Json</classname> ofrece métodos convenientes para la 
-        serialización desde <acronym>PHP</acronym> nativo a JSON y la decodificación JSON a <acronym>PHP</acronym>
-        nativo. Para más información sobre JSON, <ulink url="http://www.json.org/">
-        visite el sitio del proyecto JSON</ulink>.
-    </para>
-    <para>
-        JSON, JavaScript Object Notation, puede ser utilizado para intercambio 
-        de datos entre JavaScript y otros lenguajes. 
-        Dado que JSON 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>
+        <classname>Zend_Json</classname> ofrece métodos convenientes para la serialización desde
+            <acronym>PHP</acronym> nativo a JSON y la decodificación JSON a <acronym>PHP</acronym>
+        nativo. Para más información sobre JSON, <ulink url="http://www.json.org/"> visite el sitio
+            del proyecto JSON</ulink>. </para>
+    <para> JSON, JavaScript Object Notation, puede ser utilizado para intercambio de datos entre
+        JavaScript y otros lenguajes. Dado que JSON 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>
 
-    <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 JSON. Este rasgo integral permite a desarrolladores <acronym>PHP</acronym>
-        transformar los datos codificados de la empresa en formato <acronym>XML</acronym> a 
-        formato JSON antes de enviarlos a las aplicaciones del cliente Ajax 
-        basadas en navegadores web. Provee una manera 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>
+    <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
+        JSON. Este rasgo integral permite a desarrolladores <acronym>PHP</acronym> transformar los
+        datos codificados de la empresa en formato <acronym>XML</acronym> a formato JSON antes de
+        enviarlos a las aplicaciones del cliente Ajax basadas en navegadores web. Provee una manera
+        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>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 55 - 90
documentation/manual/es/module_specs/Zend_Json-Objects.xml

@@ -5,85 +5,61 @@
 
     <sect2 id="zend.json.advanced.objects1">
         <title>Objetos JSON</title>
-        <para>
-            Cuando se codifican objetos <acronym>PHP</acronym> como JSON, todas las propiedades 
-            públicas de ese objeto serán codificadas en un objeto JSON.
-        </para>
-        <para>
-            JSON 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, 
-            <classname>Zend_Json::encode()</classname> y 
-            <classname>Zend_Json_Encoder::encode()</classname> 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 JSON 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 JSON; otros consideran que esto podría 
-            plantear un considerable riesgo de seguridad.
-        </para>
-        <para>
-            Por defecto, <classname>Zend_Json</classname> decodificará objetos 
-            JSON como arrays asociativos. Sin embargo, si desea retornar un 
-            objeto, puede especificar esto:
-        </para>
-         <programlisting language="php"><![CDATA[
+        <para> Cuando se codifican objetos <acronym>PHP</acronym> como JSON, todas las propiedades
+            públicas de ese objeto serán codificadas en un objeto JSON. </para>
+        <para> JSON 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,
+                <classname>Zend_Json::encode()</classname> y
+                <classname>Zend_Json_Encoder::encode()</classname> 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 JSON 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 JSON; otros consideran que esto podría plantear un considerable
+            riesgo de seguridad. </para>
+        <para> Por defecto, <classname>Zend_Json</classname> decodificará objetos JSON 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 <methodname>StdClass</methodname> con propiedades correspondientea 
-            a pares clave/valor en la notación JSON.
-        </para>
-        <para>
-            La recomendación de Zend Framework es que el desarrollador debe 
-            decidir cómo decodificar objetos JSON. 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>
+        <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 JSON. </para>
+        <para> La recomendación de Zend Framework es que el desarrollador debe decidir cómo
+            decodificar objetos JSON. 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>
     </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 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 JSON de su estado  
-            interno.
-        </para>
+        <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 JSON 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 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 JSON. 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>
+        <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 JSON. 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>
 
-        <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[
+        <programlisting language="php"><![CDATA[
 Zend_Json::$useBuiltinEncoderDecoder = true:
 ]]></programlisting>
     </sect2>
@@ -91,31 +67,23 @@ 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 pueden guardarse en variables del objeto JSON. 
-            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 JSON con callbacks validos de javascript. 
-            Esto funciona tanto con <methodname>json_encode()</methodname> como con el 
-            codificador interno.
-        </para>
+        <para> Javascript hace uso intenso de las funciones anónimas de llamadas de retorno, que
+            pueden guardarse en variables del objeto JSON. 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 JSON con callbacks validos de javascript. Esto funciona tanto
+            con <methodname>json_encode()</methodname> como con el codificador interno. </para>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $data = array(
     'onClick' => new Zend_Json_Expr('function() {'
               . 'alert("Yo soy un callback válido de javascript '
@@ -130,6 +98,3 @@ $jsonObjectWithExpression = Zend_Json::encode(
 ]]></programlisting>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 602 - 440
documentation/manual/es/module_specs/Zend_Json-Server.xml

@@ -4,69 +4,74 @@
     <title>Zend_Json_Server - servidor JSON-RPC</title>
 
     <para>
-        <classname>Zend_Json_Server</classname> es una implementación del 
-            servidor <ulink
-            url="http://groups.google.com/group/json-rpc/">JSON-RPC</ulink>
-        Soporta tanto la versión 1 de la especificación  
-        <ulink url="http://json-rpc.org/wiki/specification">JSON-RPC</ulink> 
-        así como la especificación de la 
-        <ulink url="http://groups.google.com/group/json-rpc/web/json-rpc-1-2-proposal">versión 2</ulink>;
-        además, provee una implementación de <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>
-
-    <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> 
+        <classname>Zend_Json_Server</classname> es una implementación del
+        servidor <ulink url="http://groups.google.com/group/json-rpc/"
+            >JSON-RPC</ulink> Soporta tanto la versión 1 de la especificación
+            <ulink url="http://json-rpc.org/wiki/specification">JSON-RPC</ulink>
+        así como la especificación de la <ulink
+            url="http://groups.google.com/group/json-rpc/web/json-rpc-1-2-proposal"
+            >versión 2</ulink>; además, provee una implementación de
+            <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>
+
+    <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>
+            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>
 
     <itemizedlist>
-        <listitem><para>Instancia el objeto servidor</para></listitem>
-        <listitem><para>Agrega una o más funciones y/o clases/objetos al objeto 
-                servidor para</para></listitem>
-        <listitem><para>handle() -- maneja -- el requerimiento</para></listitem>
+        <listitem>
+            <para>Instancia el objeto servidor</para>
+        </listitem>
+        <listitem>
+            <para>Agrega una o más funciones y/o clases/objetos al objeto
+                servidor para</para>
+        </listitem>
+        <listitem>
+            <para>handle() -- maneja -- el requerimiento</para>
+        </listitem>
     </itemizedlist>
 
     <para>
-        <classname>Zend_Json_Server</classname> utiliza <xref linkend="zend.server.reflection" /> 
-        para realizar reflexión sobre cualquiera de las clases o funciones 
-        agregadas, y utiliza esa 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>
+        <classname>Zend_Json_Server</classname> utiliza <xref
+            linkend="zend.server.reflection"/> para realizar reflexión sobre
+        cualquiera de las clases o funciones agregadas, y utiliza esa
+        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>
 
     <itemizedlist>
-        <listitem><para>Todos los parámetros y sus tipos de variables esperados</para></listitem>
-        <listitem><para>El tipo de variable del valor de retorno</para></listitem>
+        <listitem>
+            <para>Todos los parámetros y sus tipos de variables esperados</para>
+        </listitem>
+        <listitem>
+            <para>El tipo de variable del valor de retorno</para>
+        </listitem>
     </itemizedlist>
 
     <para>
-        <classname>Zend_Json_Server</classname> escucha por solicitudes POST 
-        únicamente en este momento; afortunadamente, la mayoría de las 
-        implementaciones del cliente JSON-RPC en los medios en el momento de 
-        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>
+        <classname>Zend_Json_Server</classname> escucha por solicitudes POST
+        únicamente en este momento; afortunadamente, la mayoría de las
+        implementaciones del cliente JSON-RPC en los medios en el momento de
+        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>
 
     <example id="zend.json.server.usage">
         <title>Uso de Zend_Json_Server</title>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
  * Calculator - clase de ejemplo para exponer via JSON-RPC
  */
@@ -122,19 +127,15 @@ class Calculator
 }
 ]]></programlisting>
 
-        <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>
+        <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>
 
-        <para>
-            Ahora, crearemos un script para manejar las peticiones:
-        </para>
+        <para> Ahora, crearemos un script para manejar las peticiones: </para>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $server = new Zend_Json_Server();
 
 // Indicar que funcionalidad está disponible:
@@ -144,14 +145,12 @@ $server->setClass('Calculator');
 $server->handle();
 ]]></programlisting>
 
-        <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>
+        <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>
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $server = new Zend_Json_Server();
 $server->setClass('Calculator');
 
@@ -172,14 +171,12 @@ if ('GET' == $_SERVER['REQUEST_METHOD']) {
 $server->handle();
 ]]></programlisting>
 
-        <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>
+        <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>
 
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $server = new Zend_Json_Server();
 $server->setClass('Calculator');
 
@@ -203,439 +200,604 @@ $server->handle();
     <sect2 id="zend.json.server.details">
         <title>Detalles Avanzados</title>
 
-        <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>
+        <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>
 
         <sect3 id="zend.json.server.details.zendjsonserver">
             <title>Zend_Json_Server</title>
 
             <para>
-                <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>
+                <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>
 
             <itemizedlist>
-                <listitem><para><methodname>addFunction($function)</methodname>: Especifica 
-                        la función de espacio del usuario para agregar al servidor.</para></listitem>
-                <listitem><para><methodname>setClass($class)</methodname>: Especifica una 
-                        clase u objeto para agregar al servidor; todos los métodos 
-                        públicos de ese item serán expuestos como métodos JSON-RPC.</para></listitem>
-                <listitem><para><methodname>fault($fault = null, $code = 404, $data =
-                        null)</methodname>: Crea y devuelve un objeto 
-                        <classname>Zend_Json_Server_Error</classname>.</para></listitem>
-                <listitem><para><methodname>handle($request = false)</methodname>: Maneja 
-                        una solicitud JSON-RPC; opcionalmente, pasa un objeto 
-                        <classname>Zend_Json_Server_Request</classname> a utlizar  
-                        (crea uno por defecto).</para></listitem>
-                <listitem><para><methodname>getFunctions()</methodname>: Devuelve una lista 
-                        de todos los métodos agregados.</para></listitem>
-                <listitem><para><methodname>setRequest(Zend_Json_Server_Request
-                        $request)</methodname>: Especifica un objeto solicitud para el 
-                        servidor a utilizar.</para></listitem>
-                <listitem><para><methodname>getRequest()</methodname>: Recupera el objeto 
-                        solicitud usado por el servidor.</para></listitem>
-                <listitem><para><methodname>setResponse(Zend_Json_Server_Response
-                        $response)</methodname>: Establece el objeto respuesta para el 
-                        servidor a utilizar.</para></listitem>
-                <listitem><para><methodname>getResponse()</methodname>: Recupera el objeto 
-                        respuesta usado por el servidor.</para></listitem>
-                <listitem><para><methodname>setAutoEmitResponse($flag)</methodname>:
-                        Indica si el servidor debería emitir automáticamente la 
-                        respuesta y todas las cabeceras; por defecto, esto es 
-                        verdadero.</para></listitem>
-                <listitem><para><methodname>autoEmitResponse()</methodname>: Determina si la 
-                        auto-emisión de la respuesta está habilitada.</para></listitem>
-                <listitem><para><methodname>getServiceMap()</methodname>: Recupera la 
-                        descripción del mapa de servicio en el form de un 
-                        objeto  
-                        <classname>Zend_Json_Server_Smd</classname>.</para></listitem>
+                <listitem>
+                    <para><methodname>addFunction($function)</methodname>:
+                        Especifica la función de espacio del usuario para
+                        agregar al servidor.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setClass($class)</methodname>: Especifica
+                        una clase u objeto para agregar al servidor; todos los
+                        métodos públicos de ese item serán expuestos como
+                        métodos JSON-RPC.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>fault($fault = null, $code = 404, $data =
+                            null)</methodname>: Crea y devuelve un objeto
+                            <classname>Zend_Json_Server_Error</classname>.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>handle($request = false)</methodname>:
+                        Maneja una solicitud JSON-RPC; opcionalmente, pasa un
+                        objeto <classname>Zend_Json_Server_Request</classname> a
+                        utlizar (crea uno por defecto).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getFunctions()</methodname>: Devuelve una
+                        lista de todos los métodos agregados.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setRequest(Zend_Json_Server_Request
+                            $request)</methodname>: Especifica un objeto
+                        solicitud para el servidor a utilizar.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getRequest()</methodname>: Recupera el
+                        objeto solicitud usado por el servidor.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setResponse(Zend_Json_Server_Response
+                            $response)</methodname>: Establece el objeto
+                        respuesta para el servidor a utilizar.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getResponse()</methodname>: Recupera el
+                        objeto respuesta usado por el servidor.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setAutoEmitResponse($flag)</methodname>:
+                        Indica si el servidor debería emitir automáticamente la
+                        respuesta y todas las cabeceras; por defecto, esto es
+                        verdadero.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>autoEmitResponse()</methodname>: Determina
+                        si la auto-emisión de la respuesta está
+                        habilitada.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getServiceMap()</methodname>: Recupera la
+                        descripción del mapa de servicio en el form de un objeto
+                            <classname>Zend_Json_Server_Smd</classname>.</para>
+                </listitem>
             </itemizedlist>
         </sect3>
 
         <sect3 id="zend.json.server.details.zendjsonserverrequest">
             <title>Zend_Json_Server_Request</title>
 
-            <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>
+            <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>
 
-            <para>
-                El objeto solicitud tiene los siguientes métodos disponibles:
-            </para>
+            <para> El objeto solicitud tiene los siguientes métodos disponibles: </para>
 
             <itemizedlist>
-                <listitem><para><methodname>setOptions(array $options)</methodname>: Especifica 
-                        la configuración del objeto. <varname>$options</varname> puede 
-                        contener claves que concuerden con cualuier método 'set':
-                        <methodname>setParams()</methodname>, <methodname>setMethod()</methodname>,
-                        <methodname>setId()</methodname>, y
-                        <methodname>setVersion()</methodname>.</para></listitem>
-                <listitem><para><methodname>addParam($value, $key = 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></listitem>
-                <listitem><para><methodname>addParams(array $params)</methodname>: Agrega 
-                        múltiples parámetros a la vez; proxies a
-                        <methodname>addParam()</methodname></para></listitem>
-                <listitem><para><methodname>setParams(array $params)</methodname>: 
-                        Establece todos los parámetros a la vez; sobrescribe 
-                        cualquiera de los parámetros existentes.</para></listitem>
-                <listitem><para><methodname>getParam($index)</methodname>: Recupera un 
-                        parámetro por posición o por el nombre.</para></listitem>
-                <listitem><para><methodname>getParams()</methodname>: Recupera todos los 
-                        parámetros a la vez.</para></listitem>
-                <listitem><para><methodname>setMethod($name)</methodname>: Establece el 
-                        método para llamar.</para></listitem>
-                <listitem><para><methodname>getMethod()</methodname>: Recupera el método que 
-                        será llamado.</para></listitem>
-                <listitem><para><methodname>isMethodError()</methodname>: Determinar si la 
-                        solicitud está malformada o no y si daría como resultado 
-                        un error.</para></listitem>
-                <listitem><para><methodname>setId($name)</methodname>: Establecer el 
-                        identificador de solicitud(utilizado por el cliente 
-                        para igualar las solicitudes de respuestas).</para></listitem>
-                <listitem><para><methodname>getId()</methodname>: Recuperar el identificador 
-                        de solicitudes.</para></listitem>
-                <listitem><para><methodname>setVersion($version)</methodname>: Establecer la 
-                        versión de la especificación JSON-RPC que conforma la 
-                        solicitud. Puede ser '1.0' o '2.0'.</para></listitem>
-                <listitem><para><methodname>getVersion()</methodname>: Recuperar la versión 
-                        de la especificación JSON-RPC utilizados por la solicitud.
-                        </para></listitem>
-                <listitem><para><methodname>loadJson($json)</methodname>: Cargar el objeto 
-                        solicitud de una cadena JSON.</para></listitem>
-                <listitem><para><methodname>toJson()</methodname>: Mostrar la solicitud como 
-                        un string JSON.</para></listitem>
+                <listitem>
+                    <para><methodname>setOptions(array $options)</methodname>:
+                        Especifica la configuración del objeto.
+                            <varname>$options</varname> puede contener claves
+                        que concuerden con cualuier método 'set':
+                            <methodname>setParams()</methodname>,
+                            <methodname>setMethod()</methodname>,
+                            <methodname>setId()</methodname>, y
+                            <methodname>setVersion()</methodname>.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>addParam($value, $key =
+                        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>
+                </listitem>
+                <listitem>
+                    <para><methodname>addParams(array $params)</methodname>:
+                        Agrega múltiples parámetros a la vez; proxies a
+                            <methodname>addParam()</methodname></para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setParams(array $params)</methodname>:
+                        Establece todos los parámetros a la vez; sobrescribe
+                        cualquiera de los parámetros existentes.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getParam($index)</methodname>: Recupera un
+                        parámetro por posición o por el nombre.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getParams()</methodname>: Recupera todos
+                        los parámetros a la vez.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setMethod($name)</methodname>: Establece
+                        el método para llamar.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getMethod()</methodname>: Recupera el
+                        método que será llamado.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>isMethodError()</methodname>: Determinar
+                        si la solicitud está malformada o no y si daría como
+                        resultado un error.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setId($name)</methodname>: Establecer el
+                        identificador de solicitud(utilizado por el cliente para
+                        igualar las solicitudes de respuestas).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getId()</methodname>: Recuperar el
+                        identificador de solicitudes.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setVersion($version)</methodname>:
+                        Establecer la versión de la especificación JSON-RPC que
+                        conforma la solicitud. Puede ser '1.0' o '2.0'.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getVersion()</methodname>: Recuperar la
+                        versión de la especificación JSON-RPC utilizados por la
+                        solicitud. </para>
+                </listitem>
+                <listitem>
+                    <para><methodname>loadJson($json)</methodname>: Cargar el
+                        objeto solicitud de una cadena JSON.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toJson()</methodname>: Mostrar la
+                        solicitud como un string JSON.</para>
+                </listitem>
             </itemizedlist>
 
-            <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>
+            <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>
         </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 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>
+            <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>
 
-            <para>
-                El objeto respuesta tiene los siguientes métodos disponibles:
-            </para>
+            <para> El objeto respuesta tiene los siguientes métodos disponibles: </para>
 
             <itemizedlist>
-                <listitem><para><methodname>setResult($value)</methodname>: Establecer el 
-                        resultado de la respuesta.</para></listitem>
-                <listitem><para><methodname>getResult()</methodname>: Recuperar el resultado 
-                        de la respuesta.</para></listitem>
-                <listitem><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></listitem>
-                <listitem><para><methodname>getError()</methodname>: Recuperar el objeto 
-                    error, si lo hubiera.</para></listitem>
-                <listitem><para><methodname>isError()</methodname>: Si la respuesta es una 
-                        respuesta de error o no.</para></listitem>
-                <listitem><para><methodname>setId($name)</methodname>: Establecer el 
-                        identificador de solicitud (de manera que la respuesta 
+                <listitem>
+                    <para><methodname>setResult($value)</methodname>: Establecer
+                        el resultado de la respuesta.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getResult()</methodname>: Recuperar el
+                        resultado de la respuesta.</para>
+                </listitem>
+                <listitem>
+                    <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>
+                </listitem>
+                <listitem>
+                    <para><methodname>getError()</methodname>: Recuperar el
+                        objeto error, si lo hubiera.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>isError()</methodname>: Si la respuesta es
+                        una respuesta de error o no.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setId($name)</methodname>: Establecer el
+                        identificador de solicitud (de manera que la respuesta
                         del cliente pueda coincidir con la solicitud original).
-                        </para></listitem>
-                <listitem><para><methodname>getId()</methodname>: Recuperar el identificador 
-                        de solicitud.</para></listitem>
-                <listitem><para><methodname>setVersion($version)</methodname>: Establecer la 
-                        versión JSON-RPC con la que deba estar conformada la 
-                        respuesta.</para></listitem>
-                <listitem><para><methodname>getVersion()</methodname>: Recuperar la versión 
-                        JSON-RPC con la cumple la respuesta.</para></listitem>
-                <listitem><para><methodname>toJson()</methodname>: Serializar la respuesta a 
-                        JSON. Si la respuesta es una respuesta de error, 
-                        serializar el objeto error.</para></listitem>
-                <listitem><para><methodname>setServiceMap($serviceMap)</methodname>: 
+                    </para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getId()</methodname>: Recuperar el
+                        identificador de solicitud.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setVersion($version)</methodname>:
+                        Establecer la versión JSON-RPC con la que deba estar
+                        conformada la respuesta.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getVersion()</methodname>: Recuperar la
+                        versión JSON-RPC con la cumple la respuesta.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toJson()</methodname>: Serializar la
+                        respuesta a JSON. Si la respuesta es una respuesta de
+                        error, serializar el objeto error.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setServiceMap($serviceMap)</methodname>:
                         Establecer el objeto mapa de servicio para la respuesta.
-                        </para></listitem>
-                <listitem><para><methodname>getServiceMap()</methodname>: Recuperar el objeto 
-                        mapa de servicio, si hubiera alguno.</para></listitem>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getServiceMap()</methodname>: Recuperar el
+                        objeto mapa de servicio, si hubiera alguno.</para>
+                </listitem>
             </itemizedlist>
 
-            <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>
+            <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>
         </sect3>
 
         <sect3 id="zend.json.server.details.zendjsonservererror">
             <title>Zend_Json_Server_Error</title>
 
-            <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>
+            <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>
 
-            <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>
+            <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>
 
             <para>
-                <classname>Zend_Json_Server_Error</classname> expone los 
-                siguientes métodos:
-            </para>
+                <classname>Zend_Json_Server_Error</classname> expone los
+                siguientes métodos: </para>
 
             <itemizedlist>
-                <listitem><para><methodname>setCode($code)</methodname>: Establece el código 
-                    de error; si el código de error no está en el rango de 
-                    aceptación de XML-RPC, -32000 será asignado.</para></listitem>
-                <listitem><para><methodname>getCode()</methodname>: Recuperar el actual 
-                    código de error.</para></listitem>
-                <listitem><para><methodname>setMessage($message)</methodname>: Establecer el 
-                    mensaje de error.</para></listitem>
-                <listitem><para><methodname>getMessage()</methodname>: Recuperar el mensaje 
-                    de error actual.</para></listitem>
-                <listitem><para><methodname>setData($data)</methodname>: Establecer el conjunto 
-                    de datos auxiliares para calificar más adelante el error, 
-                    tal como un backtrace.</para></listitem>
-                <listitem><para><methodname>getData()</methodname>: Recuperar cualquier 
-                    auxiliar actual de errores de datos.</para></listitem>
-                <listitem><para><methodname>toArray()</methodname>: Mandar el error a un 
-                    array. El array contendrá las claves 'code', 'message', 
-                    y 'data'.</para></listitem>
-                <listitem><para><methodname>toJson()</methodname>: Mandar el error a una 
-                    representación de error JSON-RPC.</para></listitem>
+                <listitem>
+                    <para><methodname>setCode($code)</methodname>: Establece el
+                        código de error; si el código de error no está en el
+                        rango de aceptación de XML-RPC, -32000 será
+                        asignado.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getCode()</methodname>: Recuperar el
+                        actual código de error.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setMessage($message)</methodname>:
+                        Establecer el mensaje de error.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getMessage()</methodname>: Recuperar el
+                        mensaje de error actual.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setData($data)</methodname>: Establecer el
+                        conjunto de datos auxiliares para calificar más adelante
+                        el error, tal como un backtrace.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getData()</methodname>: Recuperar
+                        cualquier auxiliar actual de errores de datos.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toArray()</methodname>: Mandar el error a
+                        un array. El array contendrá las claves 'code',
+                        'message', y 'data'.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toJson()</methodname>: Mandar el error a
+                        una representación de error JSON-RPC.</para>
+                </listitem>
             </itemizedlist>
         </sect3>
 
         <sect3 id="zend.json.server.details.zendjsonserversmd">
             <title>Zend_Json_Server_Smd</title>
 
-            <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>
+            <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>
+
+            <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>
 
             <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>
+                <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>
+
+            <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
+                    <classname>Zend_Json_Server_Smd</classname>, y que
+                instanciará on objeto de servicio por usted. Los objetos de
+                servicio contienen información como el nombre del servicio
+                (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>
 
             <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>
+                <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>
 
-            <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 <classname>Zend_Json_Server_Smd</classname>, 
-                y que instanciará on objeto de servicio por usted. 
-                Los objetos de servicio contienen información como el nombre del 
-                servicio (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>
-
-            <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>
-
-            <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><para><methodname>setOptions(array $options)</methodname>: Establecer 
-                        un objeto SMD desde un array de opciones. Todos los 
-                        mutators (métodos comenzando con 'set') se pueden usar 
-                        como claves.</para></listitem>
-                <listitem><para><methodname>setTransport($transport)</methodname>: Establecer 
-                        el transporte usado para acceder al servicio; únicamente 
-                        POST es actualmente soportado.</para></listitem>
-                <listitem><para><methodname>getTransport()</methodname>: Obtener el servicio 
-                        de transporte actual.</para></listitem>
-                <listitem><para><methodname>setEnvelope($envelopeType)</methodname>: 
-                        Establecer la envoltura de la solicitud que debería ser 
-                        utilizada para acceder al servicio. Actualmente las  
-                        constantes soportadas son 
-                        <classname>Zend_Json_Server_Smd::ENV_JSONRPC_1</classname> y
-                        <classname>Zend_Json_Server_Smd::ENV_JSONRPC_1</classname>.</para></listitem>
-                <listitem><para><methodname>getEnvelope()</methodname>: Obtener la envoltura 
-                        de la petición actual.</para></listitem>
-                <listitem><para><methodname>setContentType($type)</methodname>: Establecer 
-                        el tipo de contenido que deben utilizar las solicitudes 
-                        (por defecto, es 'application/json»).</para></listitem>
-                <listitem><para><methodname>getContentType()</methodname>: Conseguir el 
-                        tipo del contenido actual para las solicitudes al 
-                        servicio.</para></listitem>
-                <listitem><para><methodname>setTarget($target)</methodname>: Establecer el 
-                        punto final de la <acronym>URL</acronym> para el servicio.</para></listitem>
-                <listitem><para><methodname>getTarget()</methodname>: Obtener el punto final 
-                        de la <acronym>URL</acronym> para el servicio.</para></listitem>
-                <listitem><para><methodname>setId($id)</methodname>: Normalmente, este es el 
-                        punto final de la <acronym>URL</acronym> del servicio (igual que el 
-                        objetivo).</para></listitem>
-                <listitem><para><methodname>getId()</methodname>: Recuperar el ID del servicio 
-                        (normalmente el punto final de la <acronym>URL</acronym> del servicio).
-                        </para></listitem>
-                <listitem><para><methodname>setDescription($description)</methodname>: 
-                        Establecer una descripción del servicio (típicamente 
-                        información narrativa que describe el propósito del 
-                        servicio).</para></listitem>
-                <listitem><para><methodname>getDescription()</methodname>: Obtener la 
-                        descripción del servicio.</para></listitem>
-                <listitem><para><methodname>setDojoCompatible($flag)</methodname>: 
-                        Establecer un flag que indique si el SMD es compatible 
-                        o no con el toolkit de Dojo. Cuando sea verdadero, el 
-                        JSON SMD será formateado para cumplir con el formato que 
-                        espera el cliente de Dojo JSON-RPC.</para></listitem>
-                <listitem><para><methodname>isDojoCompatible()</methodname>: Devuelve el valor 
-                        del flag de compatibilidad de Dojo (falso, por defecto).
-                        </para></listitem>
-                <listitem><para><methodname>addService($service)</methodname>: Añade un 
-                        servicio al mapa. Puede ser un array de información a 
+                <listitem>
+                    <para><methodname>setOptions(array $options)</methodname>:
+                        Establecer un objeto SMD desde un array de opciones.
+                        Todos los mutators (métodos comenzando con 'set') se
+                        pueden usar como claves.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setTransport($transport)</methodname>:
+                        Establecer el transporte usado para acceder al servicio;
+                        únicamente POST es actualmente soportado.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getTransport()</methodname>: Obtener el
+                        servicio de transporte actual.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setEnvelope($envelopeType)</methodname>:
+                        Establecer la envoltura de la solicitud que debería ser
+                        utilizada para acceder al servicio. Actualmente las
+                        constantes soportadas son
+                            <classname>Zend_Json_Server_Smd::ENV_JSONRPC_1</classname>
+                        y
+                            <classname>Zend_Json_Server_Smd::ENV_JSONRPC_1</classname>.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getEnvelope()</methodname>: Obtener la
+                        envoltura de la petición actual.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setContentType($type)</methodname>:
+                        Establecer el tipo de contenido que deben utilizar las
+                        solicitudes (por defecto, es 'application/json»).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getContentType()</methodname>: Conseguir
+                        el tipo del contenido actual para las solicitudes al
+                        servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setTarget($target)</methodname>:
+                        Establecer el punto final de la <acronym>URL</acronym>
+                        para el servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getTarget()</methodname>: Obtener el punto
+                        final de la <acronym>URL</acronym> para el
+                        servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setId($id)</methodname>: Normalmente, este
+                        es el punto final de la <acronym>URL</acronym> del
+                        servicio (igual que el objetivo).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getId()</methodname>: Recuperar el ID del
+                        servicio (normalmente el punto final de la
+                            <acronym>URL</acronym> del servicio). </para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setDescription($description)</methodname>:
+                        Establecer una descripción del servicio (típicamente
+                        información narrativa que describe el propósito del
+                        servicio).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getDescription()</methodname>: Obtener la
+                        descripción del servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setDojoCompatible($flag)</methodname>:
+                        Establecer un flag que indique si el SMD es compatible o
+                        no con el toolkit de Dojo. Cuando sea verdadero, el JSON
+                        SMD será formateado para cumplir con el formato que
+                        espera el cliente de Dojo JSON-RPC.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>isDojoCompatible()</methodname>: Devuelve
+                        el valor del flag de compatibilidad de Dojo (falso, por
+                        defecto). </para>
+                </listitem>
+                <listitem>
+                    <para><methodname>addService($service)</methodname>: Añade
+                        un servicio al mapa. Puede ser un array de información a
                         pasar al constructor de
-                        <classname>Zend_Json_Server_Smd_Service</classname>, o 
-                        una instancia de esa clase.</para></listitem>
-                <listitem><para><methodname>addServices(array $services)</methodname>: 
-                        Agrega múltiples servicios a la vez.</para></listitem>
-                <listitem><para><methodname>setServices(array $services)</methodname>: 
-                        Agrega múltiples servicios a la vez, sobreescribiendo 
+                            <classname>Zend_Json_Server_Smd_Service</classname>,
+                        o una instancia de esa clase.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>addServices(array $services)</methodname>:
+                        Agrega múltiples servicios a la vez.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setServices(array $services)</methodname>:
+                        Agrega múltiples servicios a la vez, sobreescribiendo
                         cualquiera de los servicios previamente establecidos.
-                        </para></listitem>
-                <listitem><para><methodname>getService($name)</methodname>: Ontiene el servicio 
-                        por su nombre.</para></listitem>
-                <listitem><para><methodname>getServices()</methodname>: Obtener todos los 
-                        servicios agregados.</para></listitem>
-                <listitem><para><methodname>removeService($name)</methodname>: Elimina un 
-                        servicio del mapa.</para></listitem>
-                <listitem><para><methodname>toArray()</methodname>: Mandar el mapa de servicio 
-                        a un array.</para></listitem>
-                <listitem><para><methodname>toDojoArray()</methodname>: Mandar el mapa de servicio 
-                        a un array compatible con Dojo Toolkit.</para></listitem>
-                <listitem><para><methodname>toJson()</methodname>: Mandar el mapa de servicio 
-                        a una representación JSON.</para></listitem> 
+                    </para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getService($name)</methodname>: Ontiene el
+                        servicio por su nombre.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getServices()</methodname>: Obtener todos
+                        los servicios agregados.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>removeService($name)</methodname>: Elimina
+                        un servicio del mapa.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toArray()</methodname>: Mandar el mapa de
+                        servicio a un array.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toDojoArray()</methodname>: Mandar el mapa
+                        de servicio a un array compatible con Dojo
+                        Toolkit.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toJson()</methodname>: Mandar el mapa de
+                        servicio a una representación JSON.</para>
+                </listitem>
             </itemizedlist>
 
             <para>
-                <classname>Zend_Json_Server_Smd_Service</classname> tiene los 
-                        siguientes métodos:
-            </para>
+                <classname>Zend_Json_Server_Smd_Service</classname> tiene los
+                siguientes métodos: </para>
 
             <itemizedlist>
-                <listitem><para><methodname>setOptions(array $options)</methodname>: 
-                        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></listitem>
-                <listitem><para><methodname>setName($name)</methodname>: Establecer el nombre 
-                        del servicio (típicamente, la función o el nombre del 
-                        método).</para></listitem>
-                <listitem><para><methodname>getName()</methodname>: Recuperar el nombre del 
-                        servicio.</para></listitem>
-                <listitem><para><methodname>setTransport($transport)</methodname>: Establecer 
-                        el servicio de transporte (actualmente, sólo transportes 
-                        apoyados por <classname>Zend_Json_Server_Smd</classname> 
-                        son permitidos).</para></listitem>
-                <listitem><para><methodname>getTransport()</methodname>: Recuperar el transporte 
-                        actual.</para></listitem>
-                <listitem><para><methodname>setTarget($target)</methodname>: Establecer el 
-                        punto final de la <acronym>URL</acronym> del servicio (típicamente, este 
-                        será el mismo que el SMD en general, al cual el servicio 
-                        está agregado).</para></listitem>
-                <listitem><para><methodname>getTarget()</methodname>: Obtener el punto final 
-                        de la <acronym>URL</acronym> del servicio.</para></listitem>
-                <listitem><para><methodname>setEnvelope($envelopeType)</methodname>: 
-                        Establecer la envoltura del servicio (actualmente, sólo 
-                        se permiten las envolturas soportadas por 
-                        <classname>Zend_Json_Server_Smd</classname>.</para></listitem>
-                <listitem><para><methodname>getEnvelope()</methodname>: Recuperar el tipo de 
-                        envoltura del servicio.</para></listitem>
-                <listitem><para><methodname>addParam($type, array $options = array(),
-                            $order = null)</methodname>: Añadir un parámetro para el 
-                        servicio. Por defecto, sólo el tipo de parámetro es necesario. 
-                        Sin embargo, también puede especificar el orden, así como 
-                        opciones tales como:</para>
+                <listitem>
+                    <para><methodname>setOptions(array $options)</methodname>:
+                        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>
+                </listitem>
+                <listitem>
+                    <para><methodname>setName($name)</methodname>: Establecer el
+                        nombre del servicio (típicamente, la función o el nombre
+                        del método).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getName()</methodname>: Recuperar el
+                        nombre del servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setTransport($transport)</methodname>:
+                        Establecer el servicio de transporte (actualmente, sólo
+                        transportes apoyados por
+                            <classname>Zend_Json_Server_Smd</classname> son
+                        permitidos).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getTransport()</methodname>: Recuperar el
+                        transporte actual.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setTarget($target)</methodname>:
+                        Establecer el punto final de la <acronym>URL</acronym>
+                        del servicio (típicamente, este será el mismo que el SMD
+                        en general, al cual el servicio está agregado).</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getTarget()</methodname>: Obtener el punto
+                        final de la <acronym>URL</acronym> del servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setEnvelope($envelopeType)</methodname>:
+                        Establecer la envoltura del servicio (actualmente, sólo
+                        se permiten las envolturas soportadas por
+                            <classname>Zend_Json_Server_Smd</classname>.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getEnvelope()</methodname>: Recuperar el
+                        tipo de envoltura del servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>addParam($type, array $options = array(),
+                            $order = null)</methodname>: Añadir un parámetro
+                        para el servicio. Por defecto, sólo el tipo de parámetro
+                        es necesario. Sin embargo, también puede especificar el
+                        orden, así como opciones tales como:</para>
                     <itemizedlist>
-                        <listitem><para><emphasis>name</emphasis>: el nombre del 
-                            parámetro</para></listitem>
-                        <listitem><para><emphasis>optional</emphasis>: cuándo 
-                            el parámetro es opcional o no</para></listitem>
-                        <listitem><para><emphasis>default</emphasis>: un valor 
-                            por defecto para el parámetro</para></listitem>
-                        <listitem><para><emphasis>description</emphasis>: texto 
-                            describiendo el parámetro</para></listitem>
+                        <listitem>
+                            <para><emphasis>name</emphasis>: el nombre del
+                                parámetro</para>
+                        </listitem>
+                        <listitem>
+                            <para><emphasis>optional</emphasis>: cuándo el
+                                parámetro es opcional o no</para>
+                        </listitem>
+                        <listitem>
+                            <para><emphasis>default</emphasis>: un valor por
+                                defecto para el parámetro</para>
+                        </listitem>
+                        <listitem>
+                            <para><emphasis>description</emphasis>: texto
+                                describiendo el parámetro</para>
+                        </listitem>
                     </itemizedlist>
                 </listitem>
-                <listitem><para><methodname>addParams(array $params)</methodname>: Agregar 
-                    varios parámetros a la vez; cada param debería ser un array 
-                    asociativo conteniendo mínimamente la clave 'type' describiendo 
-                    el tipo de parámetro y, opcionalmente la clave 'order'; 
-                    cualquiera de las otras claves serán pasados como 
-                    <varname>$options</varname> a <methodname>addOption()</methodname>.</para></listitem>
-                <listitem><para><methodname>setParams(array $params)</methodname>: 
-                    Establecer muchos parámetros a la vez, sobrescribiendo 
-                    cualquiera de los parámetros existentes.</para></listitem>
-                <listitem><para><methodname>getParams()</methodname>: Recuperar todos los 
-                    parámetros actualmente establecidos.</para></listitem>
-                <listitem><para><methodname>setReturn($type)</methodname>: Establecer el tipo 
-                    del valor de retorno del servicio.</para></listitem>
-                <listitem><para><methodname>getReturn()</methodname>: Obtener el tipo del 
-                    valor de retorno del servicio.</para></listitem>
-                <listitem><para><methodname>toArray()</methodname>: Mandar el servicio a un 
-                    array.</para></listitem>
-                <listitem><para><methodname>toJson()</methodname>: Mandar el servicio a una 
-                    representación JSON.</para></listitem>
+                <listitem>
+                    <para><methodname>addParams(array $params)</methodname>:
+                        Agregar varios parámetros a la vez; cada param debería
+                        ser un array asociativo conteniendo mínimamente la clave
+                        'type' describiendo el tipo de parámetro y,
+                        opcionalmente la clave 'order'; cualquiera de las otras
+                        claves serán pasados como <varname>$options</varname> a
+                            <methodname>addOption()</methodname>.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setParams(array $params)</methodname>:
+                        Establecer muchos parámetros a la vez, sobrescribiendo
+                        cualquiera de los parámetros existentes.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getParams()</methodname>: Recuperar todos
+                        los parámetros actualmente establecidos.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>setReturn($type)</methodname>: Establecer
+                        el tipo del valor de retorno del servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>getReturn()</methodname>: Obtener el tipo
+                        del valor de retorno del servicio.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toArray()</methodname>: Mandar el servicio
+                        a un array.</para>
+                </listitem>
+                <listitem>
+                    <para><methodname>toJson()</methodname>: Mandar el servicio
+                        a una representación JSON.</para>
+                </listitem>
             </itemizedlist>
         </sect3>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 48 - 58
documentation/manual/es/module_specs/Zend_Json-xml2json.xml

@@ -4,62 +4,59 @@
 <sect1 id="zend.json.xml2json">
     <title>Conversión de XML a JSON</title>
     <para>
-        <classname>Zend_Json</classname> roporciona una método conveniente para 
-        transformar datos en formato <acronym>XML</acronym> a formato JSON. 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>
+        <classname>Zend_Json</classname> roporciona una método conveniente para
+        transformar datos en formato <acronym>XML</acronym> a formato JSON. 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>
 
     <para>
-        <classname>Zend_Json</classname> incluye una función estática llamada 
-        <classname>Zend_Json::fromXml()</classname>.
-        Esta función generará JSON desde una determinada entrada <acronym>XML</acronym>. 
-        Esta función toma cualquier string <acronym>XML</acronym> arbitrario como un parámetro de  
-        entrada. También puede tomar opcionalmente parámetros booleanos de entrada 
-        que instruyan a la lógica de conversión de ignorar o no los atributos 
-        <acronym>XML</acronym> durante el proceso de 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>
-     <programlisting language="php"><![CDATA[
+        <classname>Zend_Json</classname> incluye una función estática llamada
+            <classname>Zend_Json::fromXml()</classname>. Esta función generará
+        JSON desde una determinada entrada <acronym>XML</acronym>. Esta función
+        toma cualquier string <acronym>XML</acronym> arbitrario como un
+        parámetro de entrada. También puede tomar opcionalmente parámetros
+        booleanos de entrada que instruyan a la lógica de conversión de ignorar
+        o no los atributos <acronym>XML</acronym> durante el proceso de
+        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>
+    <programlisting language="php"><![CDATA[
 // la función fromXml simplemente toma un string conteniendo XML 
 // como entrada.
 $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 ]]></programlisting>
 
     <para>
-        <classname>Zend_Json::fromXml()</classname> función que hace la conversión 
-        del parámetro de entrada formateado como un string <acronym>XML</acronym> y devuelve el 
-        string de salida equivalente formateado a JSON.  
-        En caso de cualquier entrada con formato <acronym>XML</acronym> erróneo o un error en la lógica 
-        de conversión, esta función arrojará una excepción. 
-        La conversión lógica también usa técnicas recursivas para recorrer el 
-        árbol <acronym>XML</acronym>. Soporta una recursión de hasta 25 niveles de profundidad. 
-        Más allá de esa profundidad, arrojará una 
-        <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>
+        <classname>Zend_Json::fromXml()</classname> función que hace la
+        conversión del parámetro de entrada formateado como un string
+            <acronym>XML</acronym> y devuelve el string de salida equivalente
+        formateado a JSON. En caso de cualquier entrada con formato
+            <acronym>XML</acronym> erróneo o un error en la lógica de
+        conversión, esta función arrojará una excepción. La conversión lógica
+        también usa técnicas recursivas para recorrer el árbol
+            <acronym>XML</acronym>. Soporta una recursión de hasta 25 niveles de
+        profundidad. Más allá de esa profundidad, arrojará una
+            <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>
 
-    <para>
-        El siguiente es un ejemplo simple que muestra tanto el string de entrada  
-        <acronym>XML</acronym> pasado a y al string JSON de salida devuelto como resultado de la 
-        función <classname>Zend_Json::fromXml()</classname>. Este ejemplo utilizó 
-        el parámetro de la función opcional como para no ignorar los atributos 
-        <acronym>XML</acronym> durante la conversión. Por lo tanto, puede notar que el string 
-        resultante JSON incluye una representación de los atributos <acronym>XML</acronym> presentes 
-        en el string de entrada <acronym>XML</acronym>.
-    </para>
+    <para> El siguiente es un ejemplo simple que muestra tanto el string de
+        entrada <acronym>XML</acronym> pasado a y al string JSON de salida
+        devuelto como resultado de la función
+            <classname>Zend_Json::fromXml()</classname>. Este ejemplo utilizó el
+        parámetro de la función opcional como para no ignorar los atributos
+            <acronym>XML</acronym> durante la conversión. Por lo tanto, puede
+        notar que el string resultante JSON incluye una representación de los
+        atributos <acronym>XML</acronym> presentes en el string de entrada
+            <acronym>XML</acronym>. </para>
 
-    <para>
-        String de entrada XML pasada a la función 
-        <classname>Zend_Json::fromXml()</classname>:
-    </para>
+    <para> String de entrada XML pasada a la función
+            <classname>Zend_Json::fromXml()</classname>: </para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
 <books>
     <book id="1">
@@ -82,12 +79,10 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 </books>
 ]]></programlisting>
 
-    <para>
-        String de salida JSON devuelto por la función 
-        <classname>Zend_Json::fromXml()</classname>:
-    </para>
+    <para> String de salida JSON devuelto por la función
+            <classname>Zend_Json::fromXml()</classname>: </para>
 
-     <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 {
    "books" : {
       "book" : [ {
@@ -120,13 +115,8 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 }
 ]]></programlisting>
 
-    <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>
+    <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>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 45 - 52
documentation/manual/es/module_specs/Zend_Layout-Introduction.xml

@@ -2,56 +2,49 @@
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.layout.introduction">
-    <title>Introducción</title>
-
-    <para>
-        <classname>Zend_Layout</classname> implementa un patrón clásico "Vista en dos
-        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>
-
-    <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 MVC de Zend Framework.
-        </para></listitem>
-
-        <listitem><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></listitem>
-
-        <listitem><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></listitem>
-
-        <listitem><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></listitem>
-
-        <listitem><para>
-                Permitir el uso de los componentes MVC de Zend Framework.
-        </para></listitem>
-    </itemizedlist>
+        <title>Introducción</title>
+
+        <para>
+                <classname>Zend_Layout</classname> implementa un patrón clásico "Vista en dos
+                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>
+
+        <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>
+                </listitem>
+
+                <listitem>
+                        <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>
+                </listitem>
+
+                <listitem>
+                        <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>
+                </listitem>
+
+                <listitem>
+                        <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>
+                </listitem>
+
+                <listitem>
+                        <para> Permitir el uso de los componentes <acronym>MVC</acronym> de Zend
+                                Framework. </para>
+                </listitem>
+        </itemizedlist>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

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

@@ -60,7 +60,7 @@ Zend_Loader::loadFile($filename, $dirs=null, $once=false);
         </para>
 
         <para>
-            El argumento <methodname>$once</methodname> es un booleano.  Si es <methodname>TRUE</methodname>,
+            El argumento <methodname>$once</methodname> es un booleano.  Si es <constant>TRUE</constant>,
             <classname>Zend_Loader::loadFile()</classname> esa la función <acronym>PHP</acronym>
             <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>
@@ -123,8 +123,8 @@ Zend_Loader::loadClass('Container_Tree',
 
         <para>
             El método estático <classname>Zend_Loader::isReadable($pathname)</classname>
-            devuelve <methodname>TRUE</methodname> si el archivo en la ruta $pathname existe
-            y tiene permisos de lectura, <methodname>FALSE</methodname> en caso contrario.
+            devuelve <constant>TRUE</constant> si el archivo en la ruta $pathname existe
+            y tiene permisos de lectura, <constant>FALSE</constant> en caso contrario.
         </para>
 
         <example id="zend.loader.load.isreadable.example">
@@ -219,8 +219,8 @@ Zend_Loader::registerAutoload('My_Loader');
         <para>
             Se puede eliminar un callback de autoload.
             <methodname>registerAutoload()</methodname> tiene un segundo parámetro opcional,
-            que es <methodname>true</methodname> por defecto. Si este parámetro es
-            <methodname>false</methodname>, el callback de autoload será borrado de la pila
+            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>
 

+ 25 - 41
documentation/manual/es/module_specs/Zend_Pdf-Create.xml

@@ -3,28 +3,22 @@
 <!-- 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 estáticos 
-    para cargar un documento PDF.
-    Estos métodos son <classname>Zend_Pdf::load()</classname> y 
-    <classname>Zend_Pdf::parse()</classname>.
-    Ambos retornan objetos <classname>Zend_Pdf</classname> como resultado o 
-    arrojan una excepción si ocurre un error.
-    </para>
+    <para> La clase <classname>Zend_Pdf</classname> también ofrece dos métodos
+        estáticos para cargar un documento PDF. Estos métodos son
+            <classname>Zend_Pdf::load()</classname> y
+            <classname>Zend_Pdf::parse()</classname>. Ambos retornan objetos
+            <classname>Zend_Pdf</classname> como resultado o arrojan una
+        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>
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 ...
 // Crear un nuevo documento PDF
 $pdf1 = new Zend_Pdf();
@@ -38,30 +32,23 @@ $pdf3 = Zend_Pdf::parse($pdfString);
 ]]></programlisting>
     </example>
 
-    <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 métodos  
-    <classname>Zend_Pdf::load()</classname> y <classname>Zend_Pdf::parse()</classname> 
-    o requerirlo llamando al método <classname>Zend_Pdf::rollback()</classname>. 
-        <footnote>
-            <para>
-            El método <classname>Zend_Pdf::rollback()</classname> debe ser invocado 
-            antes de aplicar cualquier cambio al documento, de lo contrario el 
-            comportamiento no está definido.
-            </para>
-        </footnote>
-    call.
-    </para>
+    <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
+        métodos <classname>Zend_Pdf::load()</classname> y
+            <classname>Zend_Pdf::parse()</classname> o requerirlo llamando al
+        método <classname>Zend_Pdf::rollback()</classname>. <footnote>
+            <para> El método <classname>Zend_Pdf::rollback()</classname> debe
+                ser invocado antes de aplicar cualquier cambio al documento, de
+                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>
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 ...
 // Cargar la revisión anterior del documento PDF
 $pdf1 = Zend_Pdf::load($fileName, 1);
@@ -79,6 +66,3 @@ $pdf3->rollback($revisions - 1);
 
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 5 - 3
documentation/manual/es/module_specs/Zend_Pdf-Drawing.xml

@@ -213,7 +213,8 @@ $pdfPage->drawText('Hello world!', 72, 720);
             codificación de caracteres a llamar en tiempo de dibujo y
                 <classname>Zend_Pdf</classname> se encargará de la conversión.
             Puede proporcionar la fuente de cualquier método de codificación de
-            strings soportados por la función de <acronym>PHP</acronym> <code>
+            strings soportados por la función de <acronym>PHP</acronym>
+            <code>
                 <ulink url="http://www.php.net/manual/function.iconv.php"
                     >iconv()</ulink>
             </code>: </para>
@@ -611,8 +612,9 @@ $pdfPage->drawImage($image, 100, 100, 400, 300);
             <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 información
-            detallada (<ulink url="http://www.php.net/manual/en/ref.image.php"
+        <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>

+ 39 - 65
documentation/manual/es/module_specs/Zend_Pdf-Introduction.xml

@@ -4,72 +4,46 @@
 <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 PDF (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 PDF 
-    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 PDF V1.4 (Acrobat 5) ahora está soportada.
+    <para> El componente <classname>Zend_Pdf</classname> es un motor para manipular documentos PDF
+        (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 PDF 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 PDF V1.4 (Acrobat 5) ahora está soportada.
+                        </para>
+                    </footnote>
                 </para>
-            </footnote>
-            </para>
-        </listitem>
-        <listitem>
-            <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>
-        </listitem>
-        <listitem>
-            <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>
-        </listitem>
-        <listitem>
-            <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.
+            </listitem>
+            <listitem>
+                <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>
+            </listitem>
+            <listitem>
+                <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>
+            </listitem>
+            <listitem>
+                <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>
+                    </footnote>
                 </para>
-            </footnote>
-            </para>
-        </listitem>
-        <listitem>
-            <para>
-            Actualización incremental de archivos PDF.
-            </para>
-        </listitem>
-    </itemizedlist>
+            </listitem>
+            <listitem>
+                <para> Actualización incremental de archivos PDF. </para>
+            </listitem>
+        </itemizedlist>
     </para>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 40 - 55
documentation/manual/es/module_specs/Zend_Pdf-Pages.xml

@@ -5,40 +5,34 @@
     <title>Trabajando con Páginas</title>
     <sect2 id="zend.pdf.pages.creation">
         <title>Creación de Páginas</title>
-        <para>
-             Las páginas en un documento PDF están representadas como instancias 
-             <classname>Zend_Pdf_Page</classname> en <classname>Zend_Pdf</classname>.
-        </para>
+        <para> Las páginas en un documento PDF están representadas como
+            instancias <classname>Zend_Pdf_Page</classname> en
+                <classname>Zend_Pdf</classname>. </para>
 
-        <para>
-            Las páginas PDF o bien son cargadas desde una PDF ya existente o 
-            creadas usando la <acronym>API</acronym> <classname>Zend_Pdf</classname>.
-        </para>
+        <para> Las páginas PDF o bien son cargadas desde una PDF ya existente o
+            creadas usando la <acronym>API</acronym>
+            <classname>Zend_Pdf</classname>. </para>
 
-        <para>
-            Se pueden crear nuevas páginas instanciando directamente al objeto  
-            <classname>Zend_Pdf_Page</classname> o llamando al método 
-            <classname>Zend_Pdf::newPage()</classname>, que devuelve un objeto  
-            <classname>Zend_Pdf_Page</classname>.
-            <classname>Zend_Pdf::newPage()</classname> crea una página que ya 
-            está agregada a un documento. Las páginas no agregadas no pueden ser 
-            utilizadas con múltiples documentos PDF, pero son algo más eficientes.
-            <footnote>
-                <para>
-                Es una limitación de la versión actual de ZF. Será eliminada en 
-                futuras versiones. Pero las páginas no agregadas siempre dan mejor 
-                resultado (más óptimo) para compartir páginas entre los documentos.
-                </para>
+        <para> Se pueden crear nuevas páginas instanciando directamente al
+            objeto <classname>Zend_Pdf_Page</classname> o llamando al método
+                <classname>Zend_Pdf::newPage()</classname>, que devuelve un
+            objeto <classname>Zend_Pdf_Page</classname>.
+                <classname>Zend_Pdf::newPage()</classname> crea una página que
+            ya está agregada a un documento. Las páginas no agregadas no pueden
+            ser utilizadas con múltiples documentos PDF, pero son algo más
+            eficientes. <footnote>
+                <para> Es una limitación de la versión actual de ZF. Será
+                    eliminada en futuras versiones. Pero las páginas no
+                    agregadas siempre dan mejor resultado (más óptimo) para
+                    compartir páginas entre los documentos. </para>
             </footnote>
         </para>
 
-        <para>
-        El método <classname>Zend_Pdf::newPage()</classname> y el constructor  
-        <classname>Zend_Pdf_Page</classname> toman los mismos parámetros que 
-        especifican el tamaño de la página. Pueden tomar el tamaño de la 
-        página ($x, $y) en puntos (1/72 pulgadas) o una constante predefinida 
-        representando un tipo de página:
-            <itemizedlist>
+        <para> El método <classname>Zend_Pdf::newPage()</classname> y el
+            constructor <classname>Zend_Pdf_Page</classname> toman los mismos
+            parámetros que especifican el tamaño de la página. Pueden tomar el
+            tamaño de la página ($x, $y) en puntos (1/72 pulgadas) o una
+            constante predefinida representando un tipo de página: <itemizedlist>
                 <listitem>
                     <para>Zend_Pdf_Page::SIZE_A4</para>
                 </listitem>
@@ -54,17 +48,16 @@
             </itemizedlist>
         </para>
 
-        <para>
-            Las páginas del documento se almacenados en el atributo público 
-            <methodname>$pages</methodname> de la clase <classname>Zend_Pdf</classname>. 
-            El atributo posee un array de objetos <classname>Zend_Pdf_Page</classname> 
-            y define completamente las instancias y el orden de las páginas. 
-            Este array puede manipularse como cualquie otro array PHP:
-        </para>
+        <para> Las páginas del documento se almacenados en el atributo público
+                <methodname>$pages</methodname> de la clase
+                <classname>Zend_Pdf</classname>. El atributo posee un array de
+            objetos <classname>Zend_Pdf_Page</classname> y define completamente
+            las instancias y el orden de las páginas. Este array puede
+            manipularse como cualquie otro array PHP: </para>
 
         <example id="zend.pdf.pages.example-1">
             <title>Administración de Páginas de un Documento PDF.</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 ...
 // Invertir el orden de las páginas.
 $pdf->pages = array_reverse($pdf->pages);
@@ -84,15 +77,13 @@ unset($pdf->pages[$id]);
 
     <sect2 id="zend.pdf.pages.cloning">
         <title>Clonado de Páfinas.</title>
-        <para>
-            La página PDF existente puede ser clonada creando un nuevo objeto 
-            <classname>Zend_Pdf_Page</classname> con una página existente como 
-            parámetro:
-        </para>
+        <para> La página PDF existente puede ser clonada creando un nuevo objeto
+                <classname>Zend_Pdf_Page</classname> con una página existente
+            como parámetro: </para>
 
         <example id="zend.pdf.pages.example-2">
             <title>Clonando una Página Existente.</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 ...
 // Almacenar la página plantilla en una variable
 $template = $pdf->pages[$templatePageIndex];
@@ -114,20 +105,14 @@ unset($pdf->pages[$templatePageIndex]);
 ]]></programlisting>
         </example>
 
-        <para>
-            Es útil si necesita crear varias páginas utilizando una plantilla.
-        </para>
+        <para> Es útil si necesita crear varias páginas utilizando una
+            plantilla. </para>
 
         <caution>
-            <para>
-                Importante! La página clonada comparte algunos recursos de PDF 
-                con una página plantilla, la que puede ser utilizada sólo en 
-                el mismo documento como una página plantilla. 
-                El documento modificado pueden guardarse como uno nuevo.
-            </para>
+            <para> Importante! La página clonada comparte algunos recursos de
+                PDF con una página plantilla, la que puede ser utilizada sólo en
+                el mismo documento como una página plantilla. El documento
+                modificado pueden guardarse como uno nuevo. </para>
         </caution>
     </sect2>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 69 - 117
documentation/manual/es/module_specs/Zend_Pdf-Properties.xml

@@ -4,16 +4,12 @@
 <sect1 id="zend.pdf.info">
     <!-- @todo review and revise upon completion of refactoring -->
     <title>Información del Documento y Metadatos.</title>
-    <para>
-        Un documento PDF puede incluir información general como el título del 
-        documento, autor, la creación y modificación de fechas.
-    </para>
-    <para>
-        Históricamente, esta información se almacena usando una estructura especial 
-        de Información. Esta estructura está disponible para lectura y la 
-        escritura como una array asociativo utilizando propiedades públicas 
-        <methodname>properties</methodname> de objetos <classname>Zend_Pdf</classname>:
-             <programlisting language="php"><![CDATA[
+    <para> Un documento PDF puede incluir información general como el título del documento, autor,
+        la creación y modificación de fechas. </para>
+    <para> Históricamente, esta información se almacena usando una estructura especial de
+        Información. Esta estructura está disponible para lectura y la escritura como una array
+        asociativo utilizando propiedades públicas <methodname>properties</methodname> de objetos
+            <classname>Zend_Pdf</classname>: <programlisting language="php"><![CDATA[
 $pdf = Zend_Pdf::load($pdfPath);
 
 echo $pdf->properties['Title'] . "\n";
@@ -22,157 +18,123 @@ echo $pdf->properties['Author'] . "\n";
 $pdf->properties['Title'] = 'New Title.';
 $pdf->save($pdfPath);
 ]]></programlisting>
-
     </para>
-    <para>
-        Las siguientes claves están definidas por v1.4 PDF (Acrobat 5) estándar:
-
-        <itemizedlist>
+    <para> Las siguientes claves están definidas por v1.4 PDF (Acrobat 5) estándar: <itemizedlist>
             <listitem>
                 <para>
-                    <emphasis>Title</emphasis> - string, opcional, el título del documento.
-                </para>
+                    <emphasis>Title</emphasis> - string, opcional, el título del documento. </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>Author</emphasis> - string, opcional, el nombre de la persona que creó el documento.
-                </para>
+                    <emphasis>Author</emphasis> - string, opcional, el nombre de la persona que creó
+                    el documento. </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>Subject</emphasis> - string, opcional, el tema del documento.
-                </para>
+                    <emphasis>Subject</emphasis> - string, opcional, el tema del documento. </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>Keywords</emphasis> - string, opcional, las palabras clave asociadas con el documento.
-                </para>
+                    <emphasis>Keywords</emphasis> - string, opcional, las palabras clave asociadas
+                    con el documento. </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>Creator</emphasis> - string, opcional, si el documento 
-                    se convirtió desde otro formato a PDF, el nombre de la aplicación 
-                    (por ejemplo, Adobe FrameMaker ®) que creó el documento 
-                    original a partir del cual se convirtió.
-                    </para>
+                    <emphasis>Creator</emphasis> - string, opcional, si el documento se convirtió
+                    desde otro formato a PDF, el nombre de la aplicación (por ejemplo, Adobe
+                    FrameMaker ®) que creó el documento original a partir del cual se convirtió.
+                </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>Producer</emphasis> - string, opcional, si el 
-                    documento se convirtió desde otro formato a PDF, el nombre de 
-                    la aplicación (por ejemplo, Acrobat Distiller), que lo 
-                    convirtió a PDF.
-                </para>
+                    <emphasis>Producer</emphasis> - string, opcional, si el documento se convirtió
+                    desde otro formato a PDF, el nombre de la aplicación (por ejemplo, Acrobat
+                    Distiller), que lo convirtió a PDF. </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>CreationDate</emphasis> - string, opcional, 
-                    la fecha y la hora en que el documento fue creado, en la 
-                    forma siguiente: "D:YYYYMMDDHHmmSSOHH'mm'", en la que:
-                    <itemizedlist>
+                    <emphasis>CreationDate</emphasis> - string, opcional, la fecha y la hora en que
+                    el documento fue creado, en la forma siguiente: "D:YYYYMMDDHHmmSSOHH'mm'", en la
+                    que: <itemizedlist>
                         <listitem>
                             <para>
-                                <emphasis>YYYY</emphasis> es el año.
-                            </para>
+                                <emphasis>YYYY</emphasis> es el año. </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>MM</emphasis> es el mes.
-                            </para>
+                                <emphasis>MM</emphasis> es el mes. </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>DD</emphasis> es el día (01–31).
-                            </para>
+                                <emphasis>DD</emphasis> es el día (01–31). </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>HH</emphasis> es la hora (00–23).
-                            </para>
+                                <emphasis>HH</emphasis> es la hora (00–23). </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>mm</emphasis> es el minuto (00–59).
-                            </para>
+                                <emphasis>mm</emphasis> es el minuto (00–59). </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>SS</emphasis> es el segundo (00–59).
-                            </para>
+                                <emphasis>SS</emphasis> es el segundo (00–59). </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>O</emphasis> es la relación de la hora 
-                                local a la hora universal (UT), identificado por 
-                                uno de los caracteres +, -, o Z (véase más adelante).
-                            </para>
+                                <emphasis>O</emphasis> es la relación de la hora local a la hora
+                                universal (UT), identificado por uno de los caracteres +, -, o Z
+                                (véase más adelante). </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>HH</emphasis> seguido de ' es el valor 
-                                absoluto de la posición de la UT en horas (00-23).                              
-                            </para>
+                                <emphasis>HH</emphasis> seguido de ' es el valor absoluto de la
+                                posición de la UT en horas (00-23). </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>mm</emphasis> seguido de ' es el valor 
-                                absoluto de la posición de la UT en minutos (00-59).
-                           </para>
+                                <emphasis>mm</emphasis> seguido de ' es el valor absoluto de la
+                                posición de la UT en minutos (00-59). </para>
                         </listitem>
-                    </itemizedlist>
-                    El carácter apóstrofe (') después de HH mm es parte de la 
-                    sintaxis. Todos los campos después del año son opcionales. 
-                    (El prefijo D:, aunque también opcional, se recomienda 
-                    fuertemente.) Los valores por defecto para MM y DD son 01, 
-                    y todos los demás valores numéricos de los campos son cero  
-                    por defecto. 
-                    Un signo más (+) como el valor del campo O significa que la  
-                    hora local es más tarde que la UT, un signo menos (-) que la 
-                    hora local es anterior a la UT, y la letra Z que la hora 
-                    local es igual a la UT. Si no se especifica la información 
-                    UT, la relación del tiempo especificado para UT se considera 
-                    desconocida. Ya sea que la zona horaria se conozca o no, 
-                    el resto de la fecha debe estar especificada en la hora local.
-                </para>
-                <para>
-                    Por ejemplo, el 23 de diciembre de 1998, a las 7:52 PM, 
-                    hora estándar del Pacífico de EE.UU., está representado 
-                    por el string "D:199812231952-08'00'".
+                    </itemizedlist> El carácter apóstrofe (') después de HH mm es parte de la
+                    sintaxis. Todos los campos después del año son opcionales. (El prefijo D:,
+                    aunque también opcional, se recomienda fuertemente.) Los valores por defecto
+                    para MM y DD son 01, y todos los demás valores numéricos de los campos son cero
+                    por defecto. Un signo más (+) como el valor del campo O significa que la hora
+                    local es más tarde que la UT, un signo menos (-) que la hora local es anterior a
+                    la UT, y la letra Z que la hora local es igual a la UT. Si no se especifica la
+                    información UT, la relación del tiempo especificado para UT se considera
+                    desconocida. Ya sea que la zona horaria se conozca o no, el resto de la fecha
+                    debe estar especificada en la hora local. </para>
+                <para> Por ejemplo, el 23 de diciembre de 1998, a las 7:52 PM, hora estándar del
+                    Pacífico de EE.UU., está representado por el string "D:199812231952-08'00'".
                 </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>ModDate</emphasis> - string, opcional, la fecha y 
-                    la hora en que el documento fue modificado mas recientemente, 
-                    de la misma forma que <emphasis>CreationDate</emphasis>.
-                </para>
+                    <emphasis>ModDate</emphasis> - string, opcional, la fecha y la hora en que el
+                    documento fue modificado mas recientemente, de la misma forma que
+                        <emphasis>CreationDate</emphasis>. </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis>Trapped</emphasis> - booleano, opcional, indica si 
-                    el documento ha sido modificado para incluir la captura de 
-                    información.
-                    <itemizedlist>
+                    <emphasis>Trapped</emphasis> - booleano, opcional, indica si el documento ha
+                    sido modificado para incluir la captura de información. <itemizedlist>
                         <listitem>
                             <para>
-                                <emphasis>true</emphasis> - El documento ha sido 
-                                capturado; no se necesitan más capturas.
-                            </para>
+                                <emphasis>true</emphasis> - El documento ha sido capturado; no se
+                                necesitan más capturas. </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>false</emphasis> - El documento aún no 
-                                ha sido capturado; cualquier captura todavía 
-                                debe ser hecha.
-                            </para>
+                                <emphasis>false</emphasis> - El documento aún no ha sido capturado;
+                                cualquier captura todavía debe ser hecha. </para>
                         </listitem>
                         <listitem>
                             <para>
-                                <emphasis>null</emphasis> - O bien se desconoce 
-                                si el documento ha sido capturado o que lo ha 
-                                sido en parte pero no completamente capturado, 
-                                y alguna captura adicional puede ser necesaria.
-                            </para>
+                                <emphasis>null</emphasis> - O bien se desconoce si el documento ha
+                                sido capturado o que lo ha sido en parte pero no completamente
+                                capturado, y alguna captura adicional puede ser necesaria. </para>
                         </listitem>
                     </itemizedlist>
                 </para>
@@ -180,17 +142,13 @@ $pdf->save($pdfPath);
         </itemizedlist>
     </para>
 
-    <para>
-        Desde PDF v 1.6 los metadatos se pueden almacenar en el documento <acronym>XML</acronym> 
-        especial adjunto al PDF 
-        (XMP - <ulink url="http://www.adobe.com/products/xmp/">Extensible Metadata Platform</ulink>).
-    </para>
+    <para> Desde PDF v 1.6 los metadatos se pueden almacenar en el documento <acronym>XML</acronym>
+        especial adjunto al PDF (XMP - <ulink url="http://www.adobe.com/products/xmp/">Extensible
+            Metadata Platform</ulink>). </para>
 
-    <para>
-        Este documento <acronym>XML</acronym> se pueden recuperar y adjuntar al PDF con los métodos  
-        <classname>Zend_Pdf::getMetadata()</classname> y
-        <classname>Zend_Pdf::setMetadata($metadata)</classname>:
-             <programlisting language="php"><![CDATA[
+    <para> Este documento <acronym>XML</acronym> se pueden recuperar y adjuntar al PDF con los
+        métodos <classname>Zend_Pdf::getMetadata()</classname> y
+            <classname>Zend_Pdf::setMetadata($metadata)</classname>: <programlisting language="php"><![CDATA[
 $pdf = Zend_Pdf::load($pdfPath);
 $metadata = $pdf->getMetadata();
 $metadataDOM = new DOMDocument();
@@ -212,13 +170,7 @@ $pdf->save($pdfPath);
 ]]></programlisting>
     </para>
 
-    <para>
-        Las propiedades comunes del documento se duplican en la estructura de 
-        Info y el documento Metadata (si se presentan). 
-        Ahora es responsabilidad del usuario la aplicación para mantenerlos 
-        sincronizados.
-    </para>
+    <para> Las propiedades comunes del documento se duplican en la estructura de Info y el documento
+        Metadata (si se presentan). Ahora es responsabilidad del usuario la aplicación para
+        mantenerlos sincronizados. </para>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 11 - 18
documentation/manual/es/module_specs/Zend_Pdf-Save.xml

@@ -3,28 +3,24 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.save">
     <title>Guardar Cambios a Documentos PDF</title>
-    <para>
-    Hay dos métodos que guardan los cambios a los documentos PDF:
-    los métodos son <classname>Zend_Pdf::save()</classname> y
-    <classname>Zend_Pdf::render()</classname>.
-    </para>
+    <para> Hay dos métodos que guardan los cambios a los documentos PDF: los
+        métodos son <classname>Zend_Pdf::save()</classname> y
+            <classname>Zend_Pdf::render()</classname>. </para>
 
     <para>
-    <classname>Zend_Pdf::save($filename, $updateOnly = false)</classname> 
-    guarda el documento PDF en un archivo. Si $updateOnly es verdadero, sólo 
-    entonces el nuevo segmento del archivo PDF se agrega al archivo. 
-    De lo contrario, el archivo es sobreescrito.
-    </para>
+        <classname>Zend_Pdf::save($filename, $updateOnly = false)</classname>
+        guarda el documento PDF en un archivo. Si $updateOnly es verdadero, sólo
+        entonces el nuevo segmento del archivo PDF se agrega al archivo. De lo
+        contrario, el archivo es sobreescrito. </para>
 
     <para>
-    <classname>Zend_Pdf::render($newSegmentOnly = false)</classname> 
-    regresa el documento PDF como un string. Si $newSegmentOnly es verdadero, 
-    entonces sólo el nuevo segmento del archivo PDF es devuelto.
-    </para>
+        <classname>Zend_Pdf::render($newSegmentOnly = false)</classname> regresa
+        el documento PDF como un string. Si $newSegmentOnly es verdadero,
+        entonces sólo el nuevo segmento del archivo PDF es devuelto. </para>
 
     <example id="zend.pdf.save.example-1">
         <title>Guardando Documentos PDF</title>
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 ...
 // Cargar el documento PDF
 $pdf = Zend_Pdf::load($fileName);
@@ -42,6 +38,3 @@ $pdfString = $pdf->render();
     </example>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 7 - 15
documentation/manual/es/module_specs/Zend_Pdf-Usage.xml

@@ -3,21 +3,16 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.usage">
     <title>Ejemplo de Uso del módulo Zend_Pdf</title>
-    <para>
-        Esta sección proporciona un ejemplo de uso del módulo.
-    </para>
-
-    <para>
-        Este ejemplo se puede encontrar en el archivo <filename>demos/Zend/Pdf/demo.php</filename>.
-    </para>
-    <para>
-        También está el archivo <filename>test.pdf</filename>, que puede ser 
-        usado con esta demo con fines de prueba.
-    </para>
+    <para> Esta sección proporciona un ejemplo de uso del módulo. </para>
+
+    <para> Este ejemplo se puede encontrar en el archivo
+            <filename>demos/Zend/Pdf/demo.php</filename>. </para>
+    <para> También está el archivo <filename>test.pdf</filename>, que puede ser
+        usado con esta demo con fines de prueba. </para>
 
     <example id="zend.pdf.usage.example-1">
         <title>Demo de uso del módulo Zend_Pdf</title>
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
  * @package Zend_Pdf
  * @subpackage demo
@@ -266,6 +261,3 @@ if (isset($argv[2])) {
     </example>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 5 - 8
documentation/manual/es/module_specs/Zend_Test.xml

@@ -1,15 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 17175 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.test.introduction">
     <title>Introducción</title>
 
     <para>
-        <classname>Zend_Test</classname> proporciona herramientas para facilitar las pruebas unitarias (unit testing) 
-        de sus aplicaciones basadas en Zend Framework. Actualmente, ofrecemos facilidades para probar
-        sus aplicaciones MVC basadas en Zend Framework
-    </para>
+        <classname>Zend_Test</classname> proporciona herramientas para facilitar las pruebas
+        unitarias (unit testing) de sus aplicaciones basadas en Zend Framework. Actualmente,
+        ofrecemos facilidades para probar sus aplicaciones <acronym>MVC</acronym> basadas en Zend
+        Framework </para>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 1 - 1
documentation/manual/es/module_specs/Zend_Tool_Framework-CliTool.xml

@@ -3,6 +3,6 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.tool.framework.clitool">
     <title>Usando la herramienta CLI</title>
-    <para></para>
+    <para/>
     <!-- @todo -->
 </sect1>

+ 1 - 1
documentation/manual/es/module_specs/Zend_Tool_Framework-WritingProviders.xml

@@ -3,6 +3,6 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.tool.framework.writing-providers">
     <title>Creando Proveedores para usar con Zend_Tool_Framework</title>
-    <para></para>
+    <para/>
     <!-- @todo -->
 </sect1>

+ 3 - 3
documentation/manual/es/module_specs/Zend_Tool_Project-Internals.xml

@@ -5,13 +5,13 @@
     <title>Zend_Tool_Project Internos</title>
     <sect2 id="zend.tool.project.internals.xml-structure">
         <title>Zend_Tool_Project Estructura Xml Interna</title>
-        <para></para>
+        <para/>
         <!-- @todo -->
     </sect2>
 
     <sect2 id="zend.tool.project.internals.extending">
         <title>Zend_Tool_Project Enxtensión Interna</title>
-        <para></para>
+        <para/>
         <!-- @todo -->
     </sect2>
-</sect1>
+</sect1>

+ 1 - 1
documentation/manual/es/module_specs/Zend_Validate-EmailAddress.xml

@@ -112,7 +112,7 @@ $validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS,
                                             true);
 ]]></programlisting>
         Alternativamente, para activar o desactivar la validación MX puede pasar
-        <methodname>true</methodname> o <methodname>false</methodname> a <methodname>$validator->setValidateMx()</methodname>.
+        <constant>TRUE</constant> o <constant>FALSE</constant> a <methodname>$validator->setValidateMx()</methodname>.
     </para>
 
     <para>

+ 92 - 126
documentation/manual/es/module_specs/Zend_Validate-Hostname.xml

@@ -6,22 +6,18 @@
     <title>Hostname (Nombre de Host)</title>
 
     <para>
-        <classname>Zend_Validate_Hostname</classname> le permite validar un nombre de host
-        contra una serie de especificaciones conocidas.
-        Es posible comprobar por tres diferentes tipos de nombres:
-        el DNS Hostname (domain.com por ejemplo), dirección IP (es decir 1.2.3.4),
-        y nombres de host locales (localhost, por ejemplo).
-        Por defecto sólo se comprobarán nombres de host DNS.
-    </para>
+        <classname>Zend_Validate_Hostname</classname> le permite validar un
+        nombre de host contra una serie de especificaciones conocidas. Es
+        posible comprobar por tres diferentes tipos de nombres: el DNS Hostname
+        (domain.com por ejemplo), dirección IP (es decir 1.2.3.4), y nombres de
+        host locales (localhost, por ejemplo). Por defecto sólo se comprobarán
+        nombres de host DNS. </para>
 
     <para>
         <emphasis>Uso básico</emphasis>
     </para>
 
-    <para>
-        El siguiente es un ejemplo de uso basico:
-
-         <programlisting language="php"><![CDATA[
+    <para> El siguiente es un ejemplo de uso basico: <programlisting language="php"><![CDATA[
 $validator = new Zend_Validate_Hostname();
 if ($validator->isValid($hostname)) {
     // hostname parece ser válido
@@ -31,35 +27,30 @@ if ($validator->isValid($hostname)) {
         echo "$message\n";
     }
 }
-]]></programlisting>
-
-        Comprobará el nombre de host <methodname>$hostname</methodname> y si fracasa
-        alimentará a <methodname>$validator->getMessages()</methodname> con mensajes de error.
-    </para>
+]]></programlisting> Comprobará el nombre de host
+            <methodname>$hostname</methodname> y si fracasa alimentará a
+            <methodname>$validator->getMessages()</methodname> con mensajes de
+        error. </para>
 
     <para>
         <emphasis>Validar diferentes tipos de nombres de host</emphasis>
     </para>
 
-    <para>
-        También se puede encontrar coincidencias de direcciones IP,
-        nombres de host locales, o una combinación de todos los tipos permitidos.
-        Esto puede hacerse pasando un parámetro a <classname>Zend_Validate_Hostname</classname>
-        cuando lo instancia.
+    <para> También se puede encontrar coincidencias de direcciones IP, nombres
+        de host locales, o una combinación de todos los tipos permitidos. Esto
+        puede hacerse pasando un parámetro a
+            <classname>Zend_Validate_Hostname</classname> cuando lo instancia.
         El parámetro debe ser un entero que determina qué tipos de nombres de
-        host están permitidos.
-        Se recomienda el uso de las constantes de <classname>Zend_Validate_Hostname</classname>
-        para hacerlo.
-    </para>
-
-    <para>
-        Las constantes de <classname>Zend_Validate_Hostname</classname> son:
-        <methodname>ALLOW_DNS</methodname> para permitir sólo nombres de host DNS,
-        <methodname>ALLOW_IP</methodname> para permitir direcciones IP,
-        <methodname>ALLOW_LOCAL</methodname> para permitir nombres de host de la red local, y
-        <methodname>ALLOW_ALL</methodname> para permitir todos estos tres tipos.
-        Para comprobar que direcciones IP puede utilizar, vea el siguiente ejemplo:
-         <programlisting language="php"><![CDATA[
+        host están permitidos. Se recomienda el uso de las constantes de
+            <classname>Zend_Validate_Hostname</classname> para hacerlo. </para>
+
+    <para> Las constantes de <classname>Zend_Validate_Hostname</classname> son:
+            <methodname>ALLOW_DNS</methodname> para permitir sólo nombres de
+        host DNS, <methodname>ALLOW_IP</methodname> para permitir direcciones
+        IP, <methodname>ALLOW_LOCAL</methodname> para permitir nombres de host
+        de la red local, y <methodname>ALLOW_ALL</methodname> para permitir
+        todos estos tres tipos. Para comprobar que direcciones IP puede
+        utilizar, vea el siguiente ejemplo: <programlisting language="php"><![CDATA[
 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP);
 if ($validator->isValid($hostname)) {
     // hostname parece ser válido
@@ -72,123 +63,98 @@ if ($validator->isValid($hostname)) {
 ]]></programlisting>
     </para>
 
-    <para>
-        Usando <methodname>ALLOW_ALL</methodname> para aceptar todos los tipos de nombres de
-        host, también puede combinar estos tipos para realizar combinaciones.
-        Por ejemplo, para aceptar nombres de host DNS y locales, instancie el
-        objeto <classname>Zend_Validate_Hostname</classname> como:
-         <programlisting language="php"><![CDATA[
+    <para> Usando <methodname>ALLOW_ALL</methodname> para aceptar todos los
+        tipos de nombres de host, también puede combinar estos tipos para
+        realizar combinaciones. Por ejemplo, para aceptar nombres de host DNS y
+        locales, instancie el objeto
+            <classname>Zend_Validate_Hostname</classname> como: <programlisting language="php"><![CDATA[
 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS |
                                         Zend_Validate_Hostname::ALLOW_IP);
 ]]></programlisting>
-
     </para>
 
     <para>
         <emphasis>Validación de Nombres de Dominio Internacionales</emphasis>
     </para>
 
-    <para>
-        Algunos (ccTLD), es decir países "Country Code Top Level Domains" , como 'de' (Alemania),
-        aceptan caracteres internacionales como nombres de dominio.
-        Estos son conocidos como Nombres de Dominio Internacionales
-        (IDN, por sus siglas en inglés).
-        Se puede buscar una coincidencia de estos dominios con Zend_Validate_Hostname,
-        a través de caracteres extendidos que se utilizan en el proceso de validación.
-    </para>
-
-    <para>
-        En la actualidad la lista de las ccTLDs incluyen a:
-
-        <itemizedlist>
-                <listitem>
-                    <para>at (Austria)</para>
-                </listitem>
-                <listitem>
-                    <para>ch (Suiza)</para>
-                </listitem>
-                <listitem>
-                    <para>li (Liechtenstein)</para>
-                </listitem>
-                <listitem>
-                    <para>de (Alemania)</para>
-                </listitem>
-                <listitem>
-                    <para>fi (Finlandia)</para>
-                </listitem>
-                <listitem>
-                    <para>hu (Hungría)</para>
-                </listitem>
-                <listitem>
-                    <para>no (Noruega)</para>
-                </listitem>
-                <listitem>
-                    <para>se (Suecia)</para>
-                </listitem>
+    <para> Algunos (ccTLD), es decir países "Country Code Top Level Domains" ,
+        como 'de' (Alemania), aceptan caracteres internacionales como nombres de
+        dominio. Estos son conocidos como Nombres de Dominio Internacionales
+        (IDN, por sus siglas en inglés). Se puede buscar una coincidencia de
+        estos dominios con Zend_Validate_Hostname, a través de caracteres
+        extendidos que se utilizan en el proceso de validación. </para>
+
+    <para> En la actualidad la lista de las ccTLDs incluyen a: <itemizedlist>
+            <listitem>
+                <para>at (Austria)</para>
+            </listitem>
+            <listitem>
+                <para>ch (Suiza)</para>
+            </listitem>
+            <listitem>
+                <para>li (Liechtenstein)</para>
+            </listitem>
+            <listitem>
+                <para>de (Alemania)</para>
+            </listitem>
+            <listitem>
+                <para>fi (Finlandia)</para>
+            </listitem>
+            <listitem>
+                <para>hu (Hungría)</para>
+            </listitem>
+            <listitem>
+                <para>no (Noruega)</para>
+            </listitem>
+            <listitem>
+                <para>se (Suecia)</para>
+            </listitem>
         </itemizedlist>
-
-    </para>
-
-    <para>
-        Cotejar dominios IDN es tan simple como usar el validador estándar
-        Hostname, ya que este viene habilitado por defecto.
-        Si desea desactivar la validación IDN, se puede hacer ya sea pasando un
-        parámetro al constructor Zend_Validate_Hostname o a través del método
-        <methodname>$validator->setValidateIdn()</methodname>.
     </para>
 
-    <para>
-        Puede deshabilitar la validación IDN, pasando un segundo parámetro al
-        constructor Zend_Validate_Hostname de la siguiente manera.
+    <para> Cotejar dominios IDN es tan simple como usar el validador estándar
+        Hostname, ya que este viene habilitado por defecto. Si desea desactivar
+        la validación IDN, se puede hacer ya sea pasando un parámetro al
+        constructor Zend_Validate_Hostname o a través del método
+            <methodname>$validator->setValidateIdn()</methodname>. </para>
 
-         <programlisting language="php"><![CDATA[
+    <para> Puede deshabilitar la validación IDN, pasando un segundo parámetro al
+        constructor Zend_Validate_Hostname de la siguiente manera. <programlisting language="php"><![CDATA[
 $validator =
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, false);
-]]></programlisting>
-        Alternativamente puede pasar <constant>TRUE</constant> o <constant>FALSE</constant> a <methodname>$validator->setValidateIdn()</methodname>
-        para activar o desactivar la validación IDN.
-        Si está tratando de cotejar un nombre de host IDN que actualmente no
-        está soportado, es probable que falle la validación si tiene caracteres
-        internacionales en el nombre de host.
-        Cuando un archivo ccTLD no existe en Zend/Validate/Hostname, especificando
-        los caracteres adicionales se puede realizar una validación normal.
-    </para>
+]]></programlisting> Alternativamente puede pasar <constant>TRUE</constant> o
+            <constant>FALSE</constant> a
+            <methodname>$validator->setValidateIdn()</methodname> para activar o
+        desactivar la validación IDN. Si está tratando de cotejar un nombre de
+        host IDN que actualmente no está soportado, es probable que falle la
+        validación si tiene caracteres internacionales en el nombre de host.
+        Cuando un archivo ccTLD no existe en Zend/Validate/Hostname,
+        especificando los caracteres adicionales se puede realizar una
+        validación normal. </para>
 
-    <para>
-        Tenga en cuenta que una validación IDN solo se realizará si tiene habilidada
-        la validación para nombres de host DNS.
-    </para>
+    <para> Tenga en cuenta que una validación IDN solo se realizará si tiene
+        habilidada la validación para nombres de host DNS. </para>
 
     <para>
         <emphasis>Validar dominios de nivel superior</emphasis>
     </para>
 
-    <para>
-        Por defecto un nombre de host se cotejará con una lista de TLDs conocidos.
-        Si esta funcionalidad no es necesaria, puede ser desactivada en la misma
-        forma que deshabilita el soporte IDN.
-        Puede deshabilitar la validación TLD pasando un tercer parámetro al
-        constructor Zend_Validate_Hostname.
-        En el siguiente ejemplo estamos dando respaldo a la validación IDN a través
-        del segundo parámetro.
-
-         <programlisting language="php"><![CDATA[
+    <para> Por defecto un nombre de host se cotejará con una lista de TLDs
+        conocidos. Si esta funcionalidad no es necesaria, puede ser desactivada
+        en la misma forma que deshabilita el soporte IDN. Puede deshabilitar la
+        validación TLD pasando un tercer parámetro al constructor
+        Zend_Validate_Hostname. En el siguiente ejemplo estamos dando respaldo a
+        la validación IDN a través del segundo parámetro. <programlisting language="php"><![CDATA[
 $validator =
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS,
                                true,
                                false);
-]]></programlisting>
+]]></programlisting> Alternativamente puede pasar <constant>TRUE</constant> o
+            <constant>FALSE</constant> a
+            <methodname>$validator->setValidateTld()</methodname> para activar o
+        desactivar la validación TLD. </para>
 
-        Alternativamente puede pasar <constant>TRUE</constant> o <constant>FALSE</constant> a <methodname>$validator->setValidateTld()</methodname>
-        para activar o desactivar la validación TLD.
-    </para>
-
-    <para>
-        Tenga en cuenta que una validación de TLDs solo se realizará si tiene habilidada
-        la validación para nombres de host DNS.
-    </para>
+    <para> Tenga en cuenta que una validación de TLDs solo se realizará si tiene
+        habilidada la validación para nombres de host DNS. </para>
 
 </sect2>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 17 - 17
documentation/manual/es/module_specs/Zend_Validate-Set.xml

@@ -14,7 +14,7 @@
     <sect2 id="zend.validate.set.alnum">
         <title>Alnum</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> contiene
+            Devuelve <constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> contiene
             caracteres alfanuméricos únicamente.
             Este validador incluye una opción para considerar también al espacio
             en blanco como caracter válido.
@@ -34,7 +34,7 @@
     <sect2 id="zend.validate.set.alpha">
         <title>Alpha</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> sólo
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> sólo
             contiene caracteres alfabéticos.
             Este validador incluye una opción para considerar también al espacio
             en blanco como caracter válido.
@@ -59,7 +59,7 @@
     <sect2 id="zend.validate.set.between">
         <title>Between</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> está entre
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> está entre
             los valores límites mínimo y máximo.
             La comparación es inclusiva por defecto (<methodname>$valor</methodname> puede ser
             igual a una valor límite), aunque esto puede ser anulado a fin de
@@ -71,7 +71,7 @@
     <sect2 id="zend.validate.set.ccnum">
         <title>Ccnum</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> sigue el
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> sigue el
             algoritmo Luhn (mod-10 checksum) para tarjetas de crédito.
         </para>
     </sect2>
@@ -79,7 +79,7 @@
     <sect2 id="zend.validate.set.date">
         <title>Date</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> es una
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> es una
             fecha válida en el formato <methodname>YYYY-MM-DD</methodname> (AAAA-MM-DD).
             Si se usa la opción <methodname>locale</methodname> entonces la fecha
             será validada de acuerdo a lo establecido para ese locale.
@@ -95,7 +95,7 @@
     <sect2 id="zend.validate.set.digits">
         <title>Digits</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> contiene
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> contiene
             solamente dígitos.
         </para>
     </sect2>
@@ -106,7 +106,7 @@
     <sect2 id="zend.validate.set.float">
         <title>Float</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$value</methodname> es un valor de punto flotante.
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$value</methodname> es un valor de punto flotante.
             Desde Zend Framework 1.8 toma en cuenta la localizacion actual del navegador, las variables o el uso. 
             Puede usar get/setLocale para cambiar la configuracion regional o crear una instancia para este validador             
         </para>
@@ -116,7 +116,7 @@
     <sect2 id="zend.validate.set.greater_than">
         <title>GreaterThan</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> es mayor
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> es mayor
             al límite mínimo.
         </para>
     </sect2>
@@ -124,7 +124,7 @@
     <sect2 id="zend.validate.set.hex">
         <title>Hex</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> contiene
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> contiene
             caracteres hexadecimales (0-9 y A-F).
         </para>
     </sect2>
@@ -135,7 +135,7 @@
     <sect2 id="zend.validate.set.iban">
         <title>Iban</title>
         <para>
-            Returns <methodname>true</methodname> if and only if <methodname>$value</methodname> contains a valid IBAN
+            Returns constant>TRUE</constant> if and only if <methodname>$value</methodname> contains a valid IBAN
             (International Bank Account Number). IBAN numbers are validated against the country where they are
             used and by a checksum.
         </para>
@@ -181,7 +181,7 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.in_array">
         <title>InArray</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> se encuentra
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> se encuentra
             en un array, y si la opción es estricta entonces también verificará
             el tipo de dato de <methodname>$valor</methodname>.
         </para>
@@ -191,7 +191,7 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.int">
         <title>Int</title>
         <para>
-            Returns <methodname>true</methodname> if and only if <methodname>$value</methodname> is a valid integer.
+            Returns constant>TRUE</constant> if and only if <methodname>$value</methodname> is a valid integer.
             Since Zend Framework 1.8 this validator takes into account the actual locale from browser,
             environment or application wide set locale. You can of course use the get/setLocale accessors
             to change the used locale or give it while creating a instance of this validator.
@@ -201,14 +201,14 @@ if ($validator->isValid($iban)) {
        <sect2 id="zend.validate.set.ip">
         <title>Ip</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> es una dirección IP válida.
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> es una dirección IP válida.
         </para>
     </sect2>
 
     <sect2 id="zend.validate.set.less_than">
         <title>LessThan</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> es menor
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> es menor
             al límite máximo.
         </para>
     </sect2>
@@ -216,14 +216,14 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.not_empty">
         <title>NotEmpty</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> no es vacío.
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> no es vacío.
         </para>
     </sect2>
 
     <sect2 id="zend.validate.set.regex">
         <title>Regex</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si <methodname>$valor</methodname> coincide
+            Devuelve constant>TRUE</constant> si y sólo si <methodname>$valor</methodname> coincide
             con el patrón de una expresión regular.
         </para>
     </sect2>
@@ -235,7 +235,7 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.string_length">
         <title>StringLength</title>
         <para>
-            Devuelve <methodname>true</methodname> si y sólo si la longitud del string <methodname>$valor</methodname>
+            Devuelve constant>TRUE</constant> si y sólo si la longitud del string <methodname>$valor</methodname>
             es por lo menos un mínimo y no mayor a un máximo
             (cuando la opción max no es <constant>NULL</constant>).
             Desde la versión 1.5.0, el método <methodname>setMin()</methodname> lanza una

+ 30 - 42
documentation/manual/es/module_specs/Zend_Validate-ValidatorChains.xml

@@ -5,14 +5,11 @@
 
     <title>Cadenas de Validadores</title>
 
-    <para>
-        Frecuentemente deben aplicarse múltiples validaciones a algún valor en
-        un orden particular.
-        El siguiente código demuestra una forma de resolver el ejemplo de la
-        <link linkend="zend.validate.introduction">introducción</link>, donde el
-        nombre de usuario debe tener entre 6 y 12 caracteres alfanuméricos.
-
-         <programlisting language="php"><![CDATA[
+    <para> Frecuentemente deben aplicarse múltiples validaciones a algún valor
+        en un orden particular. El siguiente código demuestra una forma de
+        resolver el ejemplo de la <link linkend="zend.validate.introduction"
+            >introducción</link>, donde el nombre de usuario debe tener entre 6
+        y 12 caracteres alfanuméricos. <programlisting language="php"><![CDATA[
 // Crea una cadena de validadores y le agrega validadores
 $validatorChain = new Zend_Validate();
 $validatorChain->addValidator(new Zend_Validate_StringLength(6, 12))
@@ -27,44 +24,35 @@ if ($validatorChain->isValid($username)) {
         echo "$message\n";
     }
 }
-]]></programlisting>
-
-        Los validadores se ejecutan en el orden en que se agregaron a <methodname>Zend_Validate</methodname>.
-        En el ejemplo anterior, el nombre de usuario, primero se comprueba que
-        su longitud esté entre 6 y 12 caracteres y luego se controla para garantizar
-        que sólo contiene caracteres alfanuméricos.
-        La segunda validación; de caracteres alfanuméricos; se realiza independientemente
-        de que la primera validación; de longitud entre 6 y 12 caracteres; tenga éxito.
-        Esto significa que si ambas validaciones fallan, <methodname>getMessages()</methodname>
-        devolverá mensajes de fracaso desde ambos validadores.
-    </para>
-
-    <para>
-        En algunos casos tiene sentido detener la cadena de validación si falla
-        alguno de los procesos de validación.
-        <classname>Zend_Validate</classname> acepta tales casos pasando como segundo
-        parámetro el método <methodname>addValidator()</methodname>.
-        Poniendo <methodname>$breakChainOnFailure</methodname> a <constant>TRUE</constant>,
-        el validador agregado quebrará la cadena de ejecución por el fracaso,
-        que evita correr cualquier otra validación que se decida que es
-        innecesaria o inapropiada para la situación.
-        Si el ejemplo anterior fue escrito como sigue, entonces el sistema
-        de validación alfanumérica no se ejecutará si falla la longitud del
-        string de validación:
-
-         <programlisting language="php"><![CDATA[
+]]></programlisting> Los validadores se ejecutan en el orden en que se agregaron
+        a <methodname>Zend_Validate</methodname>. En el ejemplo anterior, el
+        nombre de usuario, primero se comprueba que su longitud esté entre 6 y
+        12 caracteres y luego se controla para garantizar que sólo contiene
+        caracteres alfanuméricos. La segunda validación; de caracteres
+        alfanuméricos; se realiza independientemente de que la primera
+        validación; de longitud entre 6 y 12 caracteres; tenga éxito. Esto
+        significa que si ambas validaciones fallan,
+            <methodname>getMessages()</methodname> devolverá mensajes de fracaso
+        desde ambos validadores. </para>
+
+    <para> En algunos casos tiene sentido detener la cadena de validación si
+        falla alguno de los procesos de validación.
+            <classname>Zend_Validate</classname> acepta tales casos pasando como
+        segundo parámetro el método <methodname>addValidator()</methodname>.
+        Poniendo <methodname>$breakChainOnFailure</methodname> a
+            <constant>TRUE</constant>, el validador agregado quebrará la cadena
+        de ejecución por el fracaso, que evita correr cualquier otra validación
+        que se decida que es innecesaria o inapropiada para la situación. Si el
+        ejemplo anterior fue escrito como sigue, entonces el sistema de
+        validación alfanumérica no se ejecutará si falla la longitud del string
+        de validación: <programlisting language="php"><![CDATA[
 $validatorChain->addValidator(new Zend_Validate_StringLength(6, 12), true)
         ->addValidator(new Zend_Validate_Alnum());
 ]]></programlisting>
-
     </para>
 
-    <para>
-        Cualquier objeto que implemente <classname>Zend_Validate_Interface</classname>
-        puede ser utilizado en una cadena de validación.
-    </para>
+    <para> Cualquier objeto que implemente
+            <classname>Zend_Validate_Interface</classname> puede ser utilizado
+        en una cadena de validación. </para>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

+ 4 - 4
documentation/manual/es/module_specs/Zend_Validate-WritingValidators.xml

@@ -42,9 +42,9 @@
         <methodname>isValid()</methodname> y definir las variables y plantillas de mensajes
         que correspondan a los tipos de fallos de validación que puedan suceder.
         Si falla un valor en su test de validación, entonces <methodname>isValid()</methodname>
-        deberá devolver <methodname>false</methodname>.
+        deberá devolver <constant>FALSE</constant>.
         Si el valor pasa su test de validación, entonces <methodname>isValid()</methodname>
-        deberá devolver <methodname>true</methodname>.
+        deberá devolver <constant>TRUE</constant>.
     </para>
 
     <para>
@@ -189,7 +189,7 @@ class MyValid_NumericBetween extends Zend_Validate_Abstract
 
             Tenga en cuenta que si cualquiera de las comprobaciones de validación
             falla en <methodname>isValid()</methodname>, ya está preparado un mensaje apropiado,
-            y el método inmediatamente devuelve <methodname>false</methodname>.
+            y el método inmediatamente devuelve <constant>FALSE</constant>.
             Estas reglas de validación son por lo tanto secuencialmente dependientes.
             Es decir, si uno de los tests falla, no hay necesidad de poner a
             prueba las posteriores reglas de validación.
@@ -278,7 +278,7 @@ class MyValid_PasswordStrength extends Zend_Validate_Abstract
 ]]></programlisting>
 
             Las cuatro pruebas de criterio en <methodname>isValid()</methodname> no devuelven
-            inmediatamente <methodname>false</methodname>.
+            inmediatamente <constant>FALSE</constant>.
             Esto permite a la clase de validación a proporcionar <emphasis role="bold">todas</emphasis>
             las razones por las que la contraseña de entrada no cumplió los requisitos
             de validación.

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

@@ -49,7 +49,7 @@
         </para>
 
         <para>
-            Si <methodname>isValid()</methodname> devuelve <methodname>false</methodname>, la función
+            Si <methodname>isValid()</methodname> devuelve <constant>FALSE</constant>, la función
             <methodname>getMessages()</methodname> devuelve un array de mensajes explicando
             el motivo(s) del fracaso de la validación. Las claves del array son
             strings cortos que identifican las razones por las cuales fracasó

+ 289 - 276
documentation/manual/es/module_specs/Zend_XmlRpc_Client.xml

@@ -7,13 +7,13 @@
     <sect2 id="zend.xmlrpc.client.introduction">
         <title>Introdución</title>
 
-        <para>
-            Zend Framework provee soporte para consumo remoto para servicios <acronym>XML-RPC</acronym>
-            como un cliente en el paquete <classname>Zend_XmlRpc_Client</classname>
-            . Su mejor característica es la conversión automática de tipos
-            entre <acronym>PHP</acronym> y <acronym>XML-RPC</acronym>, un servidor de objeto proxy, y acceso a
-            capacidades de instrospección del servidor.
-        </para>
+        <para> Zend Framework provee soporte para consumo remoto para servicios
+                <acronym>XML-RPC</acronym> como un cliente en el paquete
+                <classname>Zend_XmlRpc_Client</classname> . Su mejor
+            característica es la conversión automática de tipos entre
+                <acronym>PHP</acronym> y <acronym>XML-RPC</acronym>, un servidor
+            de objeto proxy, y acceso a capacidades de instrospección del
+            servidor. </para>
 
     </sect2>
 
@@ -21,22 +21,23 @@
     <sect2 id="zend.xmlrpc.client.method-calls">
         <title>Method Calls</title>
 
-        <para>
-            El constructor de <classname>Zend_XmlRpc_Client</classname> recibe la
-            <acronym>URL</acronym> del servidor <acronym>XML-RPC</acronym> como su primer parámetro.
-            La nueva instacia devuelta puede ser usada para llamar cualquier número de métodos remotos en el punto final.
-        </para>
+        <para> El constructor de <classname>Zend_XmlRpc_Client</classname>
+            recibe la <acronym>URL</acronym> del servidor
+                <acronym>XML-RPC</acronym> como su primer parámetro. La nueva
+            instacia devuelta puede ser usada para llamar cualquier número de
+            métodos remotos en el punto final. </para>
 
-        <para>
-            Para llamar un método remoto con el cliente <acronym>XML-RPC</acronym>, instáncealo
-            y usa el método de instancia <methodname>call()</methodname> . El código de ejemplo a continuación utiliza una demostración en el servidor <acronym>XML-RPC</acronym> en el sitio web de Zend Framework
-            . Puede utilizarlo para probar o explorar los componentes
-            <methodname>Zend_XmlRpc</methodname>.
-        </para>
+        <para> Para llamar un método remoto con el cliente
+                <acronym>XML-RPC</acronym>, instáncealo y usa el método de
+            instancia <methodname>call()</methodname> . El código de ejemplo a
+            continuación utiliza una demostración en el servidor
+                <acronym>XML-RPC</acronym> en el sitio web de Zend Framework .
+            Puede utilizarlo para probar o explorar los componentes
+                <methodname>Zend_XmlRpc</methodname>. </para>
 
         <example id="zend.xmlrpc.client.method-calls.example-1">
             <title>XML-RPC Method Call</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 echo $client->call('test.sayHello');
@@ -45,21 +46,22 @@ echo $client->call('test.sayHello');
 ]]></programlisting>
         </example>
 
-        <para>
-            El valor <acronym>XML-RPC</acronym> devuelto desde la llamada al método remoto automáticamente será convertida al tipo nativo <acronym>PHP</acronym> equivalente
+        <para> El valor <acronym>XML-RPC</acronym> devuelto desde la llamada al
+            método remoto automáticamente será convertida al tipo nativo
+                <acronym>PHP</acronym> equivalente . En el ejemplo anterior, es
+            devuelto un <methodname>string</methodname>
+            <acronym>PHP</acronym> y está listo para ser usado inmediatamente. </para>
 
-            . En el ejemplo anterior, es devuelto un <methodname>string</methodname> <acronym>PHP</acronym>
-            y está listo para ser usado inmediatamente.
-        </para>
-
-        <para>
-            El primer parámetro del método <methodname>call()</methodname> recibe el nombre del método remoto que llamar. Si el método remoto requiere algún parámetro, éste puede ser enviado por el suministro de un segundo, parámetro opcional a <methodname>call()</methodname> con un <methodname>array</methodname> de
-            valores para pasar el método remoto:
-        </para>
+        <para> El primer parámetro del método <methodname>call()</methodname>
+            recibe el nombre del método remoto que llamar. Si el método remoto
+            requiere algún parámetro, éste puede ser enviado por el suministro
+            de un segundo, parámetro opcional a <methodname>call()</methodname>
+            con un <methodname>array</methodname> de valores para pasar el
+            método remoto: </para>
 
         <example id="zend.xmlrpc.client.method-calls.example-2">
             <title>XML-RPC Method Call with Parameters</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 $arg1 = 1.1;
@@ -71,47 +73,50 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
 ]]></programlisting>
         </example>
 
-        <para>
-            si el método remoto no requiere parámetros,  este parámetro opcional
-            podrá ser excluido o se puede pasar un <methodname>array()</methodname>
-            vacío. El array de parámeters para el método repoto puede contener tipos nativos PHPs, objetos <methodname>Zend_XmlRpc_Value</methodname>
-            , o una combinación de estos.
-        </para>
-
-        <para>
-            El método <methodname>call()</methodname> convertirá automáticamente la respuesta
-            <acronym>XML-RPC</acronym> y devolverá su tipo nativo <acronym>PHP</acronym> equivalente. Un objeto
-            <methodname>Zend_XmlRpc_Response</methodname> para el valor devuelto también estará
-            disponible para llamar el método <methodname>getLastResponse()</methodname>
-            después de la llamada.
-        </para>
+        <para> si el método remoto no requiere parámetros, este parámetro
+            opcional podrá ser excluido o se puede pasar un
+                <methodname>array()</methodname> vacío. El array de parámeters
+            para el método repoto puede contener tipos nativos PHPs, objetos
+                <methodname>Zend_XmlRpc_Value</methodname> , o una combinación
+            de estos. </para>
+
+        <para> El método <methodname>call()</methodname> convertirá
+            automáticamente la respuesta <acronym>XML-RPC</acronym> y devolverá
+            su tipo nativo <acronym>PHP</acronym> equivalente. Un objeto
+                <methodname>Zend_XmlRpc_Response</methodname> para el valor
+            devuelto también estará disponible para llamar el método
+                <methodname>getLastResponse()</methodname> después de la
+            llamada. </para>
     </sect2>
 
     <sect2 id="zend.xmlrpc.value.parameters">
         <title>Tipos y Conversiones</title>
-        <para>
-            Algunas llamadas a métodos remoto requieren parámetros. Éstos son
-           dados al método <methodname>call()</methodname> de <classname>Zend_XmlRpc_Client</classname>
-            como un array en el segundo parámetro. Cada parámetro puede ser dado
-            como un tipo nativo <acronym>PHP</acronym>, que será convertido automáticamente,
-            o como un  objeto que representa un tipo específico de <acronym>XML-RPC</acronym>
-            (uno de los objetos  <methodname>Zend_XmlRpc_Value</methodname>).
-        </para>
+        <para> Algunas llamadas a métodos remoto requieren parámetros. Éstos son
+            dados al método <methodname>call()</methodname> de
+                <classname>Zend_XmlRpc_Client</classname> como un array en el
+            segundo parámetro. Cada parámetro puede ser dado como un tipo nativo
+                <acronym>PHP</acronym>, que será convertido automáticamente, o
+            como un objeto que representa un tipo específico de
+                <acronym>XML-RPC</acronym> (uno de los objetos
+                <methodname>Zend_XmlRpc_Value</methodname>). </para>
 
         <sect3 id="zend.xmlrpc.value.parameters.php-native">
             <title>Tipos Nativos PHP como Parámetro</title>
-            <para>
-                Los parámetros pueden ser pasados a <methodname>call()</methodname> como variables
-                <acronym>PHP</acronym> nativas, ya sea un <methodname>string</methodname>,
-                <methodname>integer</methodname>, <methodname>float</methodname>,
-                <methodname>boolean</methodname>, <methodname>array</methodname>, o un
-                <methodname>object</methodname>. En este caso, cada tipo PHP nativo será
-                autodetectado y convertido en uno de los tipos <acronym>XML-RPC</acronym>
-                de acuerdo con esta tabla:
-            </para>
+            <para> Los parámetros pueden ser pasados a
+                    <methodname>call()</methodname> como variables
+                    <acronym>PHP</acronym> nativas, ya sea un
+                    <methodname>string</methodname>,
+                    <methodname>integer</methodname>,
+                    <methodname>float</methodname>,
+                    <methodname>boolean</methodname>,
+                    <methodname>array</methodname>, o un
+                    <methodname>object</methodname>. En este caso, cada tipo PHP
+                nativo será autodetectado y convertido en uno de los tipos
+                    <acronym>XML-RPC</acronym> de acuerdo con esta tabla: </para>
 
             <table id="zend.xmlrpc.value.parameters.php-native.table-1">
-                <title>Tipos de Conversión entre PHP y <acronym>XML-RPC</acronym></title>
+                <title>Tipos de Conversión entre PHP y
+                        <acronym>XML-RPC</acronym></title>
                 <tgroup cols="2">
                     <thead>
                         <row>
@@ -155,32 +160,30 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
             <note>
                 <title>¿A qué tipo se convierten los arrays Vacios?</title>
 
-                <para>
-                    Pasar un array vacío a un método <acronym>XML-RPC</acronym> es problemático,
-                    as it could represent either an array or a struct.
-                    <classname>Zend_XmlRpc_Client</classname> detects such conditions and
-                    makes a request to the server's
-                    <methodname>system.methodSignature</methodname> method to determine the
-                    appropriate <acronym>XML-RPC</acronym> type to cast to.
-                </para>
-
-                <para>
-                    However, this in itself can lead to issues. First off,
+                <para> Pasar un array vacío a un método
+                        <acronym>XML-RPC</acronym> es problemático, as it could
+                    represent either an array or a struct.
+                        <classname>Zend_XmlRpc_Client</classname> detects such
+                    conditions and makes a request to the server's
+                        <methodname>system.methodSignature</methodname> method
+                    to determine the appropriate <acronym>XML-RPC</acronym> type
+                    to cast to. </para>
+
+                <para> However, this in itself can lead to issues. First off,
                     servers that do not support
-                    <methodname>system.methodSignature</methodname> will log failed
-                    requests, and <classname>Zend_XmlRpc_Client</classname> will resort to
-                    casting the value to an <acronym>XML-RPC</acronym> array type. Additionally,
-                    this means that any call with array arguments will result in
-                    an additional call to the remote server.
-                </para>
-
-                <para>
-                    To disable the lookup entirely, you can call the
-                    <methodname>setSkipSystemLookup()</methodname> method prior to making
-                    your <acronym>XML-RPC</acronym> call:
-                </para>
-
-                 <programlisting language="php"><![CDATA[
+                        <methodname>system.methodSignature</methodname> will log
+                    failed requests, and
+                        <classname>Zend_XmlRpc_Client</classname> will resort to
+                    casting the value to an <acronym>XML-RPC</acronym> array
+                    type. Additionally, this means that any call with array
+                    arguments will result in an additional call to the remote
+                    server. </para>
+
+                <para> To disable the lookup entirely, you can call the
+                        <methodname>setSkipSystemLookup()</methodname> method
+                    prior to making your <acronym>XML-RPC</acronym> call: </para>
+
+                <programlisting language="php"><![CDATA[
 $client->setSkipSystemLookup(true);
 $result = $client->call('foo.bar', array(array()));
 ]]></programlisting>
@@ -188,98 +191,128 @@ $result = $client->call('foo.bar', array(array()));
         </sect3>
 
         <sect3 id="zend.xmlrpc.value.parameters.xmlrpc-value">
-            <title><methodname>Zend_XmlRpc_Value</methodname> Objects as Parameters</title>
-            <para>
-                Parameters may also be created as <methodname>Zend_XmlRpc_Value</methodname>
-                instances to specify an exact <acronym>XML-RPC</acronym> type.  The primary reasons
-                for doing this are:
-
-                <itemizedlist>
+            <title><methodname>Zend_XmlRpc_Value</methodname> Objects as
+                Parameters</title>
+            <para> Parameters may also be created as
+                    <methodname>Zend_XmlRpc_Value</methodname> instances to
+                specify an exact <acronym>XML-RPC</acronym> type. The primary
+                reasons for doing this are: <itemizedlist>
                     <listitem>
-                        <para>
-                            When you want to make sure the correct parameter
-                            type is passed to the procedure (i.e. the
-                            procedure requires an integer and you may get it
-                            from a database as a string)
-                        </para>
+                        <para> When you want to make sure the correct parameter
+                            type is passed to the procedure (i.e. the procedure
+                            requires an integer and you may get it from a
+                            database as a string) </para>
                     </listitem>
                     <listitem>
-                        <para>
-                            When the procedure requires <methodname>base64</methodname> or
-                            <methodname>dateTime.iso8601</methodname> type (which doesn't exists as a
-                            PHP native type)
-                        </para>
+                        <para> When the procedure requires
+                                <methodname>base64</methodname> or
+                                <methodname>dateTime.iso8601</methodname> type
+                            (which doesn't exists as a PHP native type) </para>
                     </listitem>
                     <listitem>
-                        <para>
-                            When auto-conversion may fail (i.e. you want to
-                            pass an empty <acronym>XML-RPC</acronym> struct as a parameter. Empty
-                            structs are represented as empty arrays in PHP
-                            but, if you give an empty array as a parameter it
-                            will be auto-converted to an <acronym>XML-RPC</acronym> array since
-                            it's not an associative array)
-                        </para>
+                        <para> When auto-conversion may fail (i.e. you want to
+                            pass an empty <acronym>XML-RPC</acronym> struct as a
+                            parameter. Empty structs are represented as empty
+                            arrays in PHP but, if you give an empty array as a
+                            parameter it will be auto-converted to an
+                                <acronym>XML-RPC</acronym> array since it's not
+                            an associative array) </para>
                     </listitem>
                 </itemizedlist>
             </para>
 
-            <para>
-                There are two ways to create a <methodname>Zend_XmlRpc_Value</methodname>
-                object: instantiate one of the <methodname>Zend_XmlRpc_Value</methodname>
-                subclasses directly, or use the static factory method
-                <methodname>Zend_XmlRpc_Value::getXmlRpcValue()</methodname>.
-            </para>
+            <para> There are two ways to create a
+                    <methodname>Zend_XmlRpc_Value</methodname> object:
+                instantiate one of the
+                    <methodname>Zend_XmlRpc_Value</methodname> subclasses
+                directly, or use the static factory method
+                    <methodname>Zend_XmlRpc_Value::getXmlRpcValue()</methodname>. </para>
 
             <table id="zend.xmlrpc.value.parameters.xmlrpc-value.table-1">
-                <title><methodname>Zend_XmlRpc_Value</methodname> Objects for <acronym>XML-RPC</acronym> Types</title>
+                <title><methodname>Zend_XmlRpc_Value</methodname> Objects for
+                        <acronym>XML-RPC</acronym> Types</title>
                 <tgroup cols="3">
                     <thead>
                         <row>
                             <entry>XML-RPC Type</entry>
-                            <entry><methodname>Zend_XmlRpc_Value</methodname> Constant</entry>
-                            <entry><methodname>Zend_XmlRpc_Value</methodname> Object</entry>
+                            <entry><methodname>Zend_XmlRpc_Value</methodname>
+                                Constant</entry>
+                            <entry><methodname>Zend_XmlRpc_Value</methodname>
+                                Object</entry>
                         </row>
                     </thead>
                     <tbody>
                         <row>
                             <entry>int</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_INTEGER</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_Integer</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_INTEGER</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_Integer</methodname>
+                            </entry>
                         </row>
                         <row>
                             <entry>double</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_DOUBLE</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_Double</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_DOUBLE</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_Double</methodname>
+                            </entry>
                         </row>
                         <row>
                             <entry>boolean</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_BOOLEAN</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_Boolean</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_BOOLEAN</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_Boolean</methodname>
+                            </entry>
                         </row>
                         <row>
                             <entry>string</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_STRING</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_String</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_STRING</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_String</methodname>
+                            </entry>
                         </row>
                         <row>
                             <entry>base64</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_BASE64</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_Base64</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_BASE64</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_Base64</methodname>
+                            </entry>
                         </row>
                         <row>
                             <entry>dateTime.iso8601</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_DATETIME</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_DateTime</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_DATETIME</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_DateTime</methodname>
+                            </entry>
                         </row>
                         <row>
                             <entry>array</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_ARRAY</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_Array</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_ARRAY</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_Array</methodname>
+                            </entry>
                         </row>
                         <row>
                             <entry>struct</entry>
-                            <entry><methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT</methodname></entry>
-                            <entry><methodname>Zend_XmlRpc_Value_Struct</methodname></entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT</methodname>
+                            </entry>
+                            <entry>
+                                <methodname>Zend_XmlRpc_Value_Struct</methodname>
+                            </entry>
                         </row>
                     </tbody>
                 </tgroup>
@@ -288,15 +321,14 @@ $result = $client->call('foo.bar', array(array()));
             <para>
                 <note>
                     <title>Automatic Conversion</title>
-                    <para>
-                        When building a new <methodname>Zend_XmlRpc_Value</methodname>
-                        object, its value is set by a PHP type. The PHP type
-                        will be converted to the specified type using
-                        PHP casting. For example, if a string is given as a
-                        value to the <methodname>Zend_XmlRpc_Value_Integer</methodname>
+                    <para> When building a new
+                            <methodname>Zend_XmlRpc_Value</methodname> object,
+                        its value is set by a PHP type. The PHP type will be
+                        converted to the specified type using PHP casting. For
+                        example, if a string is given as a value to the
+                            <methodname>Zend_XmlRpc_Value_Integer</methodname>
                         object, it will be converted using
-                        <methodname>(int)$value</methodname>.
-                    </para>
+                            <methodname>(int)$value</methodname>. </para>
                 </note>
             </para>
         </sect3>
@@ -304,25 +336,22 @@ $result = $client->call('foo.bar', array(array()));
 
     <sect2 id="zend.xmlrpc.client.requests-and-responses">
         <title>Server Proxy Object</title>
-        <para>
-            Another way to call remote methods with the <acronym>XML-RPC</acronym> client is to
-            use the server proxy.  This is a PHP object that proxies a remote
-            <acronym>XML-RPC</acronym> namespace, making it work as close to a native PHP object
-            as possible.
-        </para>
-
-        <para>
-            To instantiate a server proxy, call the <methodname>getProxy()</methodname>
-            instance method of <classname>Zend_XmlRpc_Client</classname>. This will
-            return an instance of <methodname>Zend_XmlRpc_Client_ServerProxy</methodname>.
-            Any method call on the server proxy object will be forwarded to
-            the remote, and parameters may be passed like any other PHP
-            method.
-        </para>
+        <para> Another way to call remote methods with the
+                <acronym>XML-RPC</acronym> client is to use the server proxy.
+            This is a PHP object that proxies a remote
+                <acronym>XML-RPC</acronym> namespace, making it work as close to
+            a native PHP object as possible. </para>
+
+        <para> To instantiate a server proxy, call the
+                <methodname>getProxy()</methodname> instance method of
+                <classname>Zend_XmlRpc_Client</classname>. This will return an
+            instance of <methodname>Zend_XmlRpc_Client_ServerProxy</methodname>.
+            Any method call on the server proxy object will be forwarded to the
+            remote, and parameters may be passed like any other PHP method. </para>
 
         <example id="zend.xmlrpc.client.requests-and-responses.example-1">
             <title>Proxy the Default Namespace</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 $server = $client->getProxy();           // Proxy the default namespace
@@ -331,17 +360,15 @@ $hello = $server->test->sayHello(1, 2);  // test.Hello(1, 2) returns "hello"
 ]]></programlisting>
         </example>
 
-        <para>
-            The <methodname>getProxy()</methodname> method receives an optional argument
-            specifying which namespace of the remote server to proxy. If it
-            does not receive a namespace, the default namespace will be
-            proxied.  In the next example, the <methodname>test</methodname> namespace
-            will be proxied:
-        </para>
+        <para> The <methodname>getProxy()</methodname> method receives an
+            optional argument specifying which namespace of the remote server to
+            proxy. If it does not receive a namespace, the default namespace
+            will be proxied. In the next example, the
+                <methodname>test</methodname> namespace will be proxied: </para>
 
         <example id="zend.xmlrpc.client.requests-and-responses.example-2">
             <title>Proxy Any Namespace</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 $test  = $client->getProxy('test');     // Proxy the "test" namespace
@@ -350,38 +377,35 @@ $hello = $test->sayHello(1, 2);         // test.Hello(1,2) returns "hello"
 ]]></programlisting>
         </example>
 
-        <para>
-            If the remote server supports nested namespaces of any depth,
-            these can also be used through the server proxy. For example, if
-            the server in the example above had a method
-            <methodname>test.foo.bar()</methodname>, it could be called as
-            <methodname>$test-&gt;foo-&gt;bar()</methodname>.
+        <para> If the remote server supports nested namespaces of any depth,
+            these can also be used through the server proxy. For example, if the
+            server in the example above had a method
+                <methodname>test.foo.bar()</methodname>, it could be called as
+                <methodname>$test-&gt;foo-&gt;bar()</methodname>.
         </para>
     </sect2>
 
 
     <sect2 id="zend.xmlrpc.client.error-handling">
         <title>Error Handling</title>
-        <para>
-            Two kinds of errors can occur during an <acronym>XML-RPC</acronym> method call: HTTP
-            errors and <acronym>XML-RPC</acronym> faults. The <classname>Zend_XmlRpc_Client</classname>
-            recognizes each and provides the ability to detect and trap them
-            independently.
-        </para>
+        <para> Two kinds of errors can occur during an
+                <acronym>XML-RPC</acronym> method call: HTTP errors and
+                <acronym>XML-RPC</acronym> faults. The
+                <classname>Zend_XmlRpc_Client</classname> recognizes each and
+            provides the ability to detect and trap them independently. </para>
 
         <sect3 id="zend.xmlrpc.client.error-handling.http">
             <title>HTTP Errors</title>
 
-            <para>
-                If any HTTP error occurs, such as the remote HTTP server
+            <para> If any HTTP error occurs, such as the remote HTTP server
                 returns a <methodname>404 Not Found</methodname>, a
-                <methodname>Zend_XmlRpc_Client_HttpException</methodname> will be thrown.
-            </para>
+                    <methodname>Zend_XmlRpc_Client_HttpException</methodname>
+                will be thrown. </para>
 
             <example id="zend.xmlrpc.client.error-handling.http.example-1">
                 <title>Handling HTTP Errors</title>
 
-                 <programlisting language="php"><![CDATA[
+                <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://foo/404');
 
 try {
@@ -397,37 +421,34 @@ try {
 ]]></programlisting>
             </example>
 
-            <para>
-                Regardless of how the <acronym>XML-RPC</acronym> client is used, the
-                <methodname>Zend_XmlRpc_Client_HttpException</methodname> will be thrown
-                whenever an HTTP error occurs.
-            </para>
+            <para> Regardless of how the <acronym>XML-RPC</acronym> client is
+                used, the
+                    <methodname>Zend_XmlRpc_Client_HttpException</methodname>
+                will be thrown whenever an HTTP error occurs. </para>
         </sect3>
 
         <sect3 id="zend.xmlrpc.client.error-handling.faults">
             <title>XML-RPC Faults</title>
 
-            <para>
-                An <acronym>XML-RPC</acronym> fault is analogous to a PHP exception. It is a
-                special type returned from an <acronym>XML-RPC</acronym> method call that has
-                both an error code and an error message. <acronym>XML-RPC</acronym> faults are
-                handled differently depending on the context of how the
-                <classname>Zend_XmlRpc_Client</classname> is used.
-            </para>
-
-            <para>
-                When the <methodname>call()</methodname> method or the server
-                proxy object is used, an <acronym>XML-RPC</acronym> fault will result in a
-                <methodname>Zend_XmlRpc_Client_FaultException</methodname> being thrown.
-                The code and message of the exception will map directly to
-                their respective values in the original <acronym>XML-RPC</acronym> fault
-                response.
-            </para>
+            <para> An <acronym>XML-RPC</acronym> fault is analogous to a PHP
+                exception. It is a special type returned from an
+                    <acronym>XML-RPC</acronym> method call that has both an
+                error code and an error message. <acronym>XML-RPC</acronym>
+                faults are handled differently depending on the context of how
+                the <classname>Zend_XmlRpc_Client</classname> is used. </para>
+
+            <para> When the <methodname>call()</methodname> method or the server
+                proxy object is used, an <acronym>XML-RPC</acronym> fault will
+                result in a
+                    <methodname>Zend_XmlRpc_Client_FaultException</methodname>
+                being thrown. The code and message of the exception will map
+                directly to their respective values in the original
+                    <acronym>XML-RPC</acronym> fault response. </para>
 
             <example id="zend.xmlrpc.client.error-handling.faults.example-1">
                 <title>Handling XML-RPC Faults</title>
 
-                 <programlisting language="php"><![CDATA[
+                <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 try {
@@ -443,57 +464,56 @@ try {
 ]]></programlisting>
             </example>
 
-            <para>
-                Cuando el método <methodname>call()</methodname> es usado para realizar la
-                petición, <methodname>Zend_XmlRpc_Client_FaultException</methodname> será
-				lanzado como error. Un objeto <methodname>Zend_XmlRpc_Response</methodname> conteniendo
-				el error estará disponible llamando a
-                <methodname>getLastResponse()</methodname>.
-            </para>
-
-            <para>
-                Cuando el método <methodname>doRequest()</methodname> sea usado para realizar una
-				petición, no lanzará una excepción. En vez de eso, devolverá un objeto
-				<methodname>Zend_XmlRpc_Response</methodname> que contendrá el error.
-				Esto puede comprobarse con
-                <methodname>isFault()</methodname> método instancia de
-                <methodname>Zend_XmlRpc_Response</methodname>.
-            </para>
+            <para> Cuando el método <methodname>call()</methodname> es usado
+                para realizar la petición,
+                    <methodname>Zend_XmlRpc_Client_FaultException</methodname>
+                será lanzado como error. Un objeto
+                    <methodname>Zend_XmlRpc_Response</methodname> conteniendo el
+                error estará disponible llamando a
+                    <methodname>getLastResponse()</methodname>. </para>
+
+            <para> Cuando el método <methodname>doRequest()</methodname> sea
+                usado para realizar una petición, no lanzará una excepción. En
+                vez de eso, devolverá un objeto
+                    <methodname>Zend_XmlRpc_Response</methodname> que contendrá
+                el error. Esto puede comprobarse con
+                    <methodname>isFault()</methodname> método instancia de
+                    <methodname>Zend_XmlRpc_Response</methodname>. </para>
         </sect3>
 
     </sect2>
 
     <sect2 id="zend.xmlrpc.client.introspection">
         <title>Server Introspection</title>
-        <para>
-            Some <acronym>XML-RPC</acronym> servers support the de facto introspection methods under the <acronym>XML-RPC</acronym>
-            <methodname>system.</methodname> namespace.  <classname>Zend_XmlRpc_Client</classname> provides special
-            support for servers with these capabilities.
-        </para>
-
-        <para>
-            A <methodname>Zend_XmlRpc_Client_ServerIntrospection</methodname> instance may be retrieved by calling
-            the <methodname>getIntrospector()</methodname> method of <methodname>Zend_XmlRpcClient</methodname>.  It can
-            then be used to perform introspection operations on the server.
-        </para>
+        <para> Some <acronym>XML-RPC</acronym> servers support the de facto
+            introspection methods under the <acronym>XML-RPC</acronym>
+            <methodname>system.</methodname> namespace.
+                <classname>Zend_XmlRpc_Client</classname> provides special
+            support for servers with these capabilities. </para>
+
+        <para> A <methodname>Zend_XmlRpc_Client_ServerIntrospection</methodname>
+            instance may be retrieved by calling the
+                <methodname>getIntrospector()</methodname> method of
+                <methodname>Zend_XmlRpcClient</methodname>. It can then be used
+            to perform introspection operations on the server. </para>
     </sect2>
 
     <sect2 id="zend.xmlrpc.client.request-to-response">
         <title>From Request to Response</title>
-        <para>
-            Under the hood, the <methodname>call()</methodname> instance method of <classname>Zend_XmlRpc_Client</classname>
-            builds a request object (<methodname>Zend_XmlRpc_Request</methodname>) and sends it to another method,
-            <methodname>doRequest()</methodname>, that returns a response object (<methodname>Zend_XmlRpc_Response</methodname>).
-        </para>
+        <para> Under the hood, the <methodname>call()</methodname> instance
+            method of <classname>Zend_XmlRpc_Client</classname> builds a request
+            object (<methodname>Zend_XmlRpc_Request</methodname>) and sends it
+            to another method, <methodname>doRequest()</methodname>, that
+            returns a response object
+                (<methodname>Zend_XmlRpc_Response</methodname>). </para>
 
-        <para>
-            The <methodname>doRequest()</methodname> method is also available for use directly:
-        </para>
+        <para> The <methodname>doRequest()</methodname> method is also available
+            for use directly: </para>
 
         <example id="zend.xmlrpc.client.request-to-response.example-1">
             <title>Processing Request to Response</title>
 
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 $request = new Zend_XmlRpc_Request();
@@ -507,43 +527,36 @@ $client->doRequest($request);
 ]]></programlisting>
         </example>
 
-        <para>
-            Whenever an <acronym>XML-RPC</acronym> method call is made by the client through any
-            means, either the <methodname>call()</methodname> method,
-            <methodname>doRequest()</methodname> method, or server proxy, the last request
-            object and its resultant response object will always be available
-            through the methods <methodname>getLastRequest()</methodname> and
-            <methodname>getLastResponse()</methodname> respectively.
-        </para>
+        <para> Whenever an <acronym>XML-RPC</acronym> method call is made by the
+            client through any means, either the <methodname>call()</methodname>
+            method, <methodname>doRequest()</methodname> method, or server
+            proxy, the last request object and its resultant response object
+            will always be available through the methods
+                <methodname>getLastRequest()</methodname> and
+                <methodname>getLastResponse()</methodname> respectively. </para>
     </sect2>
 
     <sect2 id="zend.xmlrpc.client.http-client">
         <title>HTTP Client and Testing</title>
 
-        <para>
-            In all of the prior examples, an HTTP client was never specified.
+        <para> In all of the prior examples, an HTTP client was never specified.
             When this is the case, a new instance of
-            <methodname>Zend_Http_Client</methodname> will be created with its default
-            options and used by <classname>Zend_XmlRpc_Client</classname> automatically.
-        </para>
-
-        <para>
-            The HTTP client can be retrieved at any time with the
-            <methodname>getHttpClient()</methodname> method. For most cases, the default
-            HTTP client will be sufficient. However, the
-            <methodname>setHttpClient()</methodname> method allows for a different HTTP
-            client instance to be injected.
-        </para>
-
-        <para>
-            The <methodname>setHttpClient()</methodname> is particularly useful for unit testing.  When combined
-            with the <classname>Zend_Http_Client_Adapter_Test</classname>, remote services can be mocked
-            out for testing.  See the unit tests for <classname>Zend_XmlRpc_Client</classname> for examples
-            of how to do this.
-        </para>
+                <methodname>Zend_Http_Client</methodname> will be created with
+            its default options and used by
+                <classname>Zend_XmlRpc_Client</classname> automatically. </para>
+
+        <para> The HTTP client can be retrieved at any time with the
+                <methodname>getHttpClient()</methodname> method. For most cases,
+            the default HTTP client will be sufficient. However, the
+                <methodname>setHttpClient()</methodname> method allows for a
+            different HTTP client instance to be injected. </para>
+
+        <para> The <methodname>setHttpClient()</methodname> is particularly
+            useful for unit testing. When combined with the
+                <classname>Zend_Http_Client_Adapter_Test</classname>, remote
+            services can be mocked out for testing. See the unit tests for
+                <classname>Zend_XmlRpc_Client</classname> for examples of how to
+            do this. </para>
     </sect2>
 
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

Некоторые файлы не были показаны из-за большого количества измененных файлов