Procházet zdrojové kódy

UPDATE FILES [DOC-ES]

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19182 44c647ce-9c0f-0410-b52a-842ac1e357ba
benjamin-gonzales před 16 roky
rodič
revize
f588d3ce75
53 změnil soubory, kde provedl 4831 přidání a 5377 odebrání
  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>
         <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
  // El nuevo grupo de Marketing hereda los permisos de Staff
  $acl->addRole(new Zend_Acl_Role('marketing'), 'staff');
  $acl->addRole(new Zend_Acl_Role('marketing'), 'staff');
 ]]></programlisting>
 ]]></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
 // Crear recursos para las reglas
  // newsletter
  // newsletter
  $acl->addResource(new Zend_Acl_Resource('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');
 $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
 ]]></programlisting>
 ]]></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
  Marketing debe ser capaz de archivar y publicar boletines informativos y
  // las últimas noticias
  // las últimas noticias
@@ -88,12 +76,10 @@ $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
  $acl->deny(null, 'announcement', 'archive');
  $acl->deny(null, 'announcement', 'archive');
 ]]></programlisting>
 ]]></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') ?
  echo $acl->isAllowed('staff', 'newsletter', 'publish') ?
  "allowed" : "denied";
  "allowed" : "denied";
  // denegado
  // denegado
@@ -134,15 +120,15 @@ $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
 
 
         <title>Eliminar los controles de acceso</title>
         <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,
 // Elimina la prohibición de leer las últimas noticias de staff (y marketing,
 // por herencia)
 // por herencia)
 $acl->removeDeny('staff', 'latest', 'revise');
 $acl->removeDeny('staff', 'latest', 'revise');
@@ -168,13 +154,12 @@ echo $acl->isAllowed('marketing', 'newsletter', 'archive') ?
 
 
 ]]></programlisting>
 ]]></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
 //Permitir al grupo de "marketing" todos los permisos a las últimas noticias
 $acl->allow('marketing', 'latest');
 $acl->allow('marketing', 'latest');
 
 

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

@@ -4,142 +4,107 @@
 <sect1 id="zend.acl.introduction">
 <sect1 id="zend.acl.introduction">
     <title>Introducción</title>
     <title>Introducción</title>
     <para>
     <para>
-        <classname>Zend_Acl</classname> provee la implementación de un sistema simple y
-        flexible de Listas de Control de Acceso (<acronym>ACL</acronym>, por sus siglas en
-        inglés) para la administración de privilegios. En general, una
-        aplicación puede utilizar las <acronym>ACL</acronym> para controlar el acceso a
-        ciertos objetos protegidos, que son requeridos por otros
-        objetos.
-    </para>
-    <para>
-        Para los propósitos de esta documentación:
-        <itemizedlist>
+        <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>
             <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>
             <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>
             </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">
     <sect2 id="zend.acl.introduction.resources">
         <title>Acerca de los Recursos</title>
         <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>
         <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>
         <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>
 
 
     <sect2 id="zend.acl.introduction.roles">
     <sect2 id="zend.acl.introduction.roles">
         <title>Acerca de las Reglas</title>
         <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>
             <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';
 require_once 'Zend/Acl.php';
 $acl = new Zend_Acl();
 $acl = new Zend_Acl();
 
 
@@ -159,85 +124,81 @@ $acl->allow('miembro', 'unRecurso');
 
 
 echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';
 echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';
 ]]></programlisting>
 ]]></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>
             <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>
         </example>
         <note>
         <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>
         </note>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.acl.introduction.creating">
     <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';
 require_once 'Zend/Acl.php';
 
 
 $acl = new Zend_Acl();
 $acl = new Zend_Acl();
 ]]></programlisting>
 ]]></programlisting>
 
 
         <note>
         <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>
         </note>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.acl.introduction.role_registry">
     <sect2 id="zend.acl.introduction.role_registry">
         <title>Registrando Roles</title>
         <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
         <table
             id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
             id="zend.acl.introduction.role_registry.table.example_cms_access_controls">
@@ -275,16 +236,13 @@ $acl = new Zend_Acl();
             </tgroup>
             </tgroup>
         </table>
         </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';
 require_once 'Zend/Acl.php';
 
 
 $acl = new Zend_Acl();
 $acl = new Zend_Acl();
@@ -315,26 +273,22 @@ $acl->addRole(new Zend_Acl_Role('administrador'));
     <sect2 id="zend.acl.introduction.defining">
     <sect2 id="zend.acl.introduction.defining">
         <title>Definiendo Controles de Acceso</title>
         <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';
 require_once 'Zend/Acl.php';
 
 
 $acl = new Zend_Acl();
 $acl = new Zend_Acl();
@@ -365,30 +319,22 @@ $acl->allow('editor', null, array('publicar', 'archivar', 'eliminar'));
 $acl->allow('administrador');
 $acl->allow('administrador');
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.acl.introduction.querying">
     <sect2 id="zend.acl.introduction.querying">
         <title>Consultando la ACL</title>
         <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') ?
 echo $acl->isAllowed('invitado', null, 'ver') ?
      "permitido" : "denegado"; // permitido
      "permitido" : "denegado"; // permitido
 
 
@@ -420,6 +366,3 @@ echo $acl->isAllowed('administrador', null, 'actualizar') ?
 ]]></programlisting>
 ]]></programlisting>
     </sect2>
     </sect2>
 </sect1>
 </sect1>
-<!--
-    vim:se ts=4 sw=4 et:
--->

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

@@ -6,17 +6,18 @@
 
 
     <para>
     <para>
         <classname>Zend_Amf_Server</classname> proporciona un servidor al estilo
         <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>
         para crear servidores fácil de recordar. </para>
 
 
     <example id="zend.amf.server.basic">
     <example id="zend.amf.server.basic">
         <title>Servidor AMF básico</title>
         <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[
         <programlisting language="php"><![CDATA[
 $servidor = new Zend_Amf_Server();
 $servidor = new Zend_Amf_Server();
@@ -25,8 +26,8 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 echo $respuesta;
 ]]></programlisting>
 ]]></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[
         <programlisting language="php"><![CDATA[
 $servidor = new Zend_Amf_Server();
 $servidor = new Zend_Amf_Server();
@@ -35,10 +36,11 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 echo $respuesta;
 ]]></programlisting>
 ]]></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>
                 <methodname>setClass()</methodname>: </para>
 
 
         <programlisting language="php"><![CDATA[
         <programlisting language="php"><![CDATA[
@@ -50,42 +52,48 @@ $respuesta = $servidor->handle();
 echo $respuesta;
 echo $respuesta;
 ]]></programlisting>
 ]]></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[
         <programlisting language="php"><![CDATA[
 $servidor->addDirectory(dirname(__FILE__) .'/../services/');
 $servidor->addDirectory(dirname(__FILE__) .'/../services/');
 $servidor->addDirectory(dirname(__FILE__) .'/../package/');
 $servidor->addDirectory(dirname(__FILE__) .'/../package/');
 ]]></programlisting>
 ]]></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>
 
 
-        <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>
     </example>
 
 
     <note>
     <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[
         <programlisting language="php"><![CDATA[
 // Función que agregar:
 // Función que agregar:
@@ -124,43 +132,54 @@ class Mundo
     <sect2 id="zend.amf.server.flex">
     <sect2 id="zend.amf.server.flex">
         <title>Conectándose al Servidor desde Flex</title>
         <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>
                 <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>
             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
         <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[
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
@@ -189,8 +208,9 @@ class Mundo
 </services-config>
 </services-config>
 ]]></programlisting>
 ]]></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>
             nuestro <classname>Zend_Amf_Server</classname>: </para>
 
 
         <programlisting language="xml"><![CDATA[
         <programlisting language="xml"><![CDATA[
@@ -200,12 +220,14 @@ class Mundo
 </channel-definition>
 </channel-definition>
 ]]></programlisting>
 ]]></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[
         <programlisting language="xml"><![CDATA[
 <mx:RemoteObject id="myservice"
 <mx:RemoteObject id="myservice"
@@ -214,11 +236,11 @@ class Mundo
     destination="zend">
     destination="zend">
 ]]></programlisting>
 ]]></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[
         <programlisting language="ActionScript"><![CDATA[
 myservice.hello("Wade");
 myservice.hello("Wade");
@@ -231,24 +253,27 @@ myservice.hello("Wade");
 myservice.world.hello("Wade");
 myservice.world.hello("Wade");
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.amf.server.errors">
     <sect2 id="zend.amf.server.errors">
         <title>Manejo de errores</title>
         <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>
         <para> Para desactivar el modo de producción, haga lo siguiente: </para>
 
 
@@ -256,7 +281,8 @@ myservice.world.hello("Wade");
 $server->setProduction(false);
 $server->setProduction(false);
 ]]></programlisting>
 ]]></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[
         <programlisting language="php"><![CDATA[
 $server->setProduction(true);
 $server->setProduction(true);
@@ -265,36 +291,42 @@ $server->setProduction(true);
         <note>
         <note>
             <title>¡Deshabilite el modo de producción racionalmente!</title>
             <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>
         </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
             <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>
 
 
     <sect2 id="zend.amf.server.response">
     <sect2 id="zend.amf.server.response">
         <title>Respuestas de AMF</title>
         <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">
         <example id="zend.amf.server.response.messageHeaderExample">
             <title>Agregar cabeceras de mensaje a la respuesta de AMF</title>
             <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[
             <programlisting language="php"><![CDATA[
 $respuesta = $servidor->handle();
 $respuesta = $servidor->handle();
@@ -307,20 +339,22 @@ echo $respuesta;
     <sect2 id="zend.amf.server.typedobjects">
     <sect2 id="zend.amf.server.typedobjects">
         <title>Objetos tipados</title>
         <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>
         <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>
         <itemizedlist>
             <listitem>
             <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[
                 <programlisting language="php"><![CDATA[
 // Mapea la clase ActionScript 'ContactVO' a la clase PHP 'Contact':
 // Mapea la clase ActionScript 'ContactVO' a la clase PHP 'Contact':
@@ -329,8 +363,9 @@ $servidor->setClassMap('ContactVO', 'Contact');
             </listitem>
             </listitem>
 
 
             <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>
                     representativo de la clase ActionScript que mapear: </para>
 
 
                 <programlisting language="php"><![CDATA[
                 <programlisting language="php"><![CDATA[
@@ -342,9 +377,10 @@ class Contact
             </listitem>
             </listitem>
 
 
             <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[
                 <programlisting language="php"><![CDATA[
 class Contact
 class Contact
@@ -358,12 +394,14 @@ class Contact
             </listitem>
             </listitem>
         </itemizedlist>
         </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[
         <programlisting language="as"><![CDATA[
 package
 package
 {
 {
@@ -381,14 +419,17 @@ package
     }
     }
 }
 }
 ]]></programlisting>
 ]]></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[
         <programlisting language="as"><![CDATA[
 [Bindable]
 [Bindable]
 private var myContact:ContactVO;
 private var myContact:ContactVO;
@@ -397,8 +438,9 @@ private function getContactHandler(event:ResultEvent):void {
     myContact = ContactVO(event.result);
     myContact = ContactVO(event.result);
 }
 }
 ]]></programlisting>
 ]]></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
             ligada a myContact será actualizada con los datos retornados por
                 <emphasis>ContactVO</emphasis>. </para>
                 <emphasis>ContactVO</emphasis>. </para>
     </sect2>
     </sect2>
@@ -407,20 +449,23 @@ private function getContactHandler(event:ResultEvent):void {
         <title>Recursos</title>
         <title>Recursos</title>
 
 
         <para>
         <para>
-            <classname>Zend_Amf</classname> provides tools for mapping resource types returned by
-            service classes into data consumable by ActionScript. </para>
-
-        <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>
                 <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[
         <programlisting language="php"><![CDATA[
 Zend_Amf_Parse_TypeLoader::addResourceDirectory(
 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
         <para> For detailed discussion of loading plugins, please see the <link
                 linkend="zend.loader.pluginloader">plugin loader</link> section. </para>
                 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[
         <programlisting language="php"><![CDATA[
 // Example class implementing handling resources of type mysql result
 // Example class implementing handling resources of type mysql result
@@ -455,8 +501,8 @@ class Zend_Amf_Parse_Resource_MysqlResult
 }
 }
 ]]></programlisting>
 ]]></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>
     </sect2>
 
 
@@ -464,26 +510,31 @@ class Zend_Amf_Parse_Resource_MysqlResult
     <sect2 id="zend.amf.server.flash">
     <sect2 id="zend.amf.server.flash">
         <title>Conectándose al Servidor desde Flash</title>
         <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[
         <programlisting language="as"><![CDATA[
 package {
 package {
   import flash.display.MovieClip;
   import flash.display.MovieClip;
@@ -519,62 +570,71 @@ package {
 ]]></programlisting>
 ]]></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[
         <programlisting language="as"><![CDATA[
 import flash.net.NetConnection;
 import flash.net.NetConnection;
 import flash.net.Responder;
 import flash.net.Responder;
 ]]></programlisting>
 ]]></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[
         <programlisting language="as"><![CDATA[
 private var gateway:String = "http://example.com/server.php";
 private var gateway:String = "http://example.com/server.php";
 private var connection:NetConnection;
 private var connection:NetConnection;
 private var responder:Responder;
 private var responder:Responder;
 ]]></programlisting>
 ]]></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[
         <programlisting language="as"><![CDATA[
 responder = new Responder(onResult, onFault);
 responder = new Responder(onResult, onFault);
 connection = new NetConnection;
 connection = new NetConnection;
 connection.connect(gateway);
 connection.connect(gateway);
 ]]></programlisting>
 ]]></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[
         <programlisting language="as"><![CDATA[
 connection.call("Mundo.hola", responder, params);
 connection.call("Mundo.hola", responder, params);
 ]]></programlisting>
 ]]></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[
         <programlisting language="as"><![CDATA[
 private function onResult(result:Object):void {
 private function onResult(result:Object):void {
     // Muestra los datos devueltos
     // Muestra los datos devueltos
     trace(String(result));
     trace(String(result));
 }
 }
 ]]></programlisting>
 ]]></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[
         <programlisting language="as"><![CDATA[
 private function onFault(fault:Object):void {
 private function onFault(fault:Object):void {
     trace(String(fault.description));
     trace(String(fault.description));
 }
 }
 ]]></programlisting>
 ]]></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>
     </sect2>
 
 
@@ -582,40 +642,48 @@ private function onFault(fault:Object):void {
         <title>Authentication</title>
         <title>Authentication</title>
 
 
         <para>
         <para>
-            <classname>Zend_Amf_Server</classname> allows you to specify authentication and
-            authorization hooks to control access to the services. It is using the infrastructure
-            provided by <link 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>
                 <classname>Zend_Auth</classname>
             </link> and <link linkend="zend.acl">
             </link> and <link linkend="zend.acl">
                 <classname>Zend_Acl</classname>
                 <classname>Zend_Acl</classname>
             </link> components. </para>
             </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[
         <programlisting language="php"><![CDATA[
 $server->setAuth(new My_Amf_Auth());
 $server->setAuth(new My_Amf_Auth());
 ]]></programlisting>
 ]]></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>
                 <methodname>setAcl()</methodname> method: </para>
 
 
         <programlisting language="php"><![CDATA[
         <programlisting language="php"><![CDATA[
@@ -624,17 +692,21 @@ createPermissions($acl); // create permission structure
 $server->setAcl($acl);
 $server->setAcl($acl);
 ]]></programlisting>
 ]]></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[
         <programlisting language="php"><![CDATA[
 if($this->_acl->isAllowed($role, $class, $function)) {
 if($this->_acl->isAllowed($role, $class, $function)) {
@@ -648,6 +720,3 @@ if($this->_acl->isAllowed($role, $class, $function)) {
     </sect2>
     </sect2>
 
 
 </sect1>
 </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>
     <title>Introducción</title>
 
 
     <para>
     <para>
-        <classname>Zend_Amf</classname>
-        provee apoyo para el Formato de Mensajes de ActionScript
-        <ulink url="http://en.wikipedia.org/wiki/Action_Message_Format">Action
-            Message Format</ulink>
-        (<acronym>AMF</acronym>) de Adobe, que permite la comunicación
-        entre 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>
 </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>
     <title>Zend_Application_Resource_Db</title>
 
 
     <para>
     <para>
-        <classname>Zend_Application_Resource_Db</classname> inicializará un
-        adaptador <classname>Zend_Db</classname> basado en las opciones que se
-        le pasen. Por defecto, también establece el adaptador por defecto para
-        usarlo con <classname>Zend_Db_Table</classname>.
-    </para>
+        <classname>Zend_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>
     <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>
     </itemizedlist>
 
 
     <example id="zend.application.available-resources.db.configExample">
     <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[
         <programlisting language="ini"><![CDATA[
 
 
@@ -53,28 +57,21 @@ resources.db.isDefaultTableAdapter = true
     <note>
     <note>
         <title>Recuperando la Instancia del Adaptador</title>
         <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');
 $resource = $bootstrap->getPluginResource('db');
 ]]></programlisting>
 ]]></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();
 $db = $resource->getDbAdapter();
 ]]></programlisting>
 ]]></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">
 <sect1 id="zend.application.available-resources" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Plugins de Recursos Disponibles</title>
     <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>
 </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
         ítemes en <methodname>$localConfig</methodname> sobrescribirán cualquier item con el mismo nombre en
             <methodname>$config</methodname>. <note>
             <methodname>$config</methodname>. <note>
             <para> El objeto <classname>Zend_Config</classname> que está ejecutando el merge debe haber sido construido
             <para> El objeto <classname>Zend_Config</classname> que está ejecutando el merge debe haber sido construido
-                para permitir modificaciones, pasando constant>TRUE</constant> como el segundo parámetro del
+                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
                 constructor. El método <methodname>setReadOnly()</methodname> puede entonces ser usado para evitar
                 cualquier modificación posterior después de que el merge se haya completado. </para>
                 cualquier modificación posterior después de que el merge se haya completado. </para>
         </note>
         </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
                         <methodname>$context</methodname> puede ser un único
                     contexto, o un array de contextos. </para>
                     contexto, o un array de contextos. </para>
 
 
-                <para> Un valor de constant>TRUE</constant> para el
+                <para> Un valor de <constant>TRUE</constant> para el
                     contexto marcará todos los contextos como disponibles para
                     contexto marcará todos los contextos como disponibles para
                     la acción. </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>',
                 simplemente pedirá los parámetros finales '<filename>/comment/view</filename>',
                 '<filename>/comment/form</filename>', y '<filename>/comment/process</filename>', y pasar el parámetro
                 '<filename>/comment/form</filename>', y '<filename>/comment/process</filename>', y pasar el parámetro
                 'format': '<filename>/comment/view/format/html</filename>',
                 '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
                 puede pasar el parámetro via string de consulta: ejemplo
                 "?format=json"). </para>
                 "?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"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 16015 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect3 id="zend.controller.actionhelpers.flashmessenger">
 <sect3 id="zend.controller.actionhelpers.flashmessenger">
     <title>FlashMessenger</title>
     <title>FlashMessenger</title>
@@ -7,9 +7,9 @@
     <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
     <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
         <title>Introducción</title>
         <title>Introducción</title>
         <para>
         <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.
             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
             <classname>Zend_Session_Namespace</classname> para almacenar los
             mensajes para las futuras o próxima solicitud de recuperación.
             mensajes para las futuras o próxima solicitud de recuperación.
             Es una buena idea si planea utilizar
             Es una buena idea si planea utilizar
@@ -27,9 +27,9 @@
         <para>
         <para>
             El ejemplo de uso de abajo muestra el uso del flash messenger en
             El ejemplo de uso de abajo muestra el uso del flash messenger en
             su forma más elemental. Cuando se llama la acción
             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
             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á).
             también lo suprimirá).
         </para>
         </para>
 
 

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

@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 16503 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect3 id="zend.controller.actionhelpers.json">
 <sect3 id="zend.controller.actionhelpers.json">
     <title>JSON</title>
     <title>JSON</title>
 
 
     <para>
     <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.
         ejecutado rápidamente.
     </para>
     </para>
 
 
     <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>
     </para>
 
 
     <itemizedlist>
     <itemizedlist>
@@ -38,7 +38,7 @@ $this->_helper->json($data, array('enableJsonExprFinder' => true));
          </para></listitem>
          </para></listitem>
 
 
         <listitem><para>
         <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>
          </para></listitem>
 
 
         <listitem><para>
         <listitem><para>
@@ -75,11 +75,11 @@ class FooController extends Zend_Controller_Action
         <title>Conservando los Esquemas(Layouts)</title>
         <title>Conservando los Esquemas(Layouts)</title>
 
 
         <para>
         <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.
             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:
             habilitados:
         </para>
         </para>
 
 
@@ -103,10 +103,10 @@ $this->_helper->json($data, array('keepLayouts' => true);
 
 
         <para>
         <para>
             <classname>Zend_Json::encode()</classname> permite la codificación
             <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
             <methodname>Zend_Json_Expr</methodname>. Esta opción está desactivada por
             defecto. Para activar esta opción, pase un valor booleano
             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>
         </para>
 
 
          <programlisting language="php"><![CDATA[
          <programlisting language="php"><![CDATA[
@@ -116,7 +116,7 @@ $this->_helper->json($data, array('enableJsonExprFinder' => true);
         <para>
         <para>
             Si desea hacer esto, <emphasis>debe</emphasis> pasar un array
             Si desea hacer esto, <emphasis>debe</emphasis> pasar un array
             como segundo argumento. Esto también le permite combinar otras
             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>.
             opciones se pasan luego a <classname>Zend_Json::encode()</classname>.
         </para>
         </para>
 
 

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 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>
 
 
-       <sect3 id="zend.db.adapter.connecting.getconnection">
+        <sect3 id="zend.db.adapter.connecting.getconnection">
             <title>Managing Lazy Connections</title>
             <title>Managing Lazy Connections</title>
-
+            
             <para>
             <para>
                 Creating an instance of an Adapter class does not immediately
                 Creating an instance of an Adapter class does not immediately
                 connect to the <acronym>RDBMS</acronym> server. The Adapter saves the connection
                 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
                 that you need to run any database queries during the current
                 request your application is serving.
                 request your application is serving.
             </para>
             </para>
-
+            
             <para>
             <para>
                 If you need to force the Adapter to connect to the <acronym>RDBMS</acronym>, use
                 If you need to force the Adapter to connect to the <acronym>RDBMS</acronym>, use
                 the <methodname>getConnection()</methodname> method. This method returns
                 the <methodname>getConnection()</methodname> method. This method returns
                 an object for the connection as represented by the respective
                 an object for the connection as represented by the respective
                 <acronym>PHP</acronym> database extension. For example, if you use any of the
                 <acronym>PHP</acronym> database extension. For example, if you use any of the
                 Adapter classes for <acronym>PDO</acronym> drivers, then
                 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>
-
+            
             <para>
             <para>
                 It can be useful to force the connection if you want to catch
                 It can be useful to force the connection if you want to catch
                 any exceptions it throws as a result of invalid account
                 any exceptions it throws as a result of invalid account
                 credentials, or other failure to connect to the <acronym>RDBMS</acronym> server.
                 credentials, or other failure to connect to the <acronym>RDBMS</acronym> server.
                 These exceptions are not thrown until the connection is made,
                 These exceptions are not thrown until the connection is made,
                 so it can help simplify your application code if you handle the
                 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>
-
-            <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>
             <para>
                 Additionally, an adapter can get serialized to store it, for example,
                 Additionally, an adapter can get serialized to store it, for example,
                 in a session variable. This can be very useful not only for the
                 in a session variable. This can be very useful not only for the
                 adapter itself, but for other objects that aggregate it, like a
                 adapter itself, but for other objects that aggregate it, like a
                 <classname>Zend_Db_Select</classname> object. By default, adapters are allowed
                 <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
                 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>
             </para>
 
 
             <example id="zend.db.adapter.connecting.getconnection.example">
             <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>
     <para>
         <classname>Zend_Db_Profiler_Firebug</classname> envía información de
         <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>
     <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>
     </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>
         <title>Perfilando DB con Zend_Controller_Front</title>
 
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 // En tu archivo bootstrap
 // En tu archivo bootstrap
 
 
 $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
 $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
@@ -62,10 +61,12 @@ $db->setProfiler($profiler)
 ]]></programlisting>
 ]]></programlisting>
     </example>
     </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 = new Zend_Db_Profiler_Firebug('All DB Queries');
 $profiler->setEnabled(true);
 $profiler->setEnabled(true);
 
 
@@ -89,6 +90,3 @@ $response->sendHeaders();
 ]]></programlisting>
 ]]></programlisting>
     </example>
     </example>
 </sect3>
 </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>
         <para>
             Un argumento booleano establece el perfilador como habilitado si el valor es
             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>.
             es el la clase de perfilador por defecto del adaptador, <classname>Zend_Db_Profiler</classname>.
              <programlisting language="php"><![CDATA[
              <programlisting language="php"><![CDATA[
 $params['profiler'] = true;
 $params['profiler'] = true;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 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>
             </itemizedlist>
 
 
             <para>
             <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.
                 del conjunto de resultados han sido extraídas.
             </para>
             </para>
 
 
@@ -297,7 +297,7 @@ echo $rows[0][0];
                 conjunto de resultados, use <methodname>fetchColumn()</methodname>. El
                 conjunto de resultados, use <methodname>fetchColumn()</methodname>. El
                 parámetro opcional es el índice de la columna (integer), y por
                 parámetro opcional es el índice de la columna (integer), y por
                 defecto es 0. Este método devuelve un valor escalar, o
                 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.
                 han sido extraídas.
             </para>
             </para>
 
 

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

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

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

@@ -7,15 +7,14 @@
     <title>Using Exceptions</title>
     <title>Using Exceptions</title>
 
 
     <para>
     <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">
     <example id="zend.exception.using.example">
         <title>Catching an Exception</title>
         <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 {
 try {
     // Calling Zend_Loader::loadClass() with a non-existant class will cause
     // Calling Zend_Loader::loadClass() with a non-existant class will cause
     // an exception to be thrown in Zend_Loader
     // an exception to be thrown in Zend_Loader
@@ -28,19 +27,14 @@ try {
 ]]></programlisting>
 ]]></programlisting>
     </example>
     </example>
     <para>
     <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>
 </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>
     <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>
         <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">
     <sect2 id="zend.filter.introduction.using">
 
 
         <title>Uso básico de los filtros</title>
         <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();
 $htmlEntities = new Zend_Filter_HtmlEntities();
 
 
 echo $htmlEntities->filter('&'); // &amp;
 echo $htmlEntities->filter('&'); // &amp;
 echo $htmlEntities->filter('"'); // &quot;
 echo $htmlEntities->filter('"'); // &quot;
 ]]></programlisting>
 ]]></programlisting>
-
         </para>
         </para>
 
 
     </sect2>
     </sect2>
@@ -100,57 +69,41 @@ echo $htmlEntities->filter('"'); // &quot;
 
 
         <title> Usando el método estático staticFilter()</title>
         <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');
 echo Zend_Filter::filterStatic('&', 'HtmlEntities');
 ]]></programlisting>
 ]]></programlisting>
-
         </para>
         </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));
 echo Zend_Filter::filterStatic('"', 'HtmlEntities', array(ENT_QUOTES));
 ]]></programlisting>
 ]]></programlisting>
-
         </para>
         </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">
         <sect3 id="zend.filter.introduction.static.namespaces">
 
 
             <title>Namespaces</title>
             <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[
             <programlisting language="php"><![CDATA[
 echo Zend_Filter::filterStatic(
 echo Zend_Filter::filterStatic(
@@ -162,11 +115,10 @@ echo Zend_Filter::filterStatic(
 ]]></programlisting>
 ]]></programlisting>
 
 
             <para>
             <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[
             <programlisting language="php"><![CDATA[
 Zend_Filter::setDefaultNamespaces(array('FirstNamespace', 'SecondNamespace'));
 Zend_Filter::setDefaultNamespaces(array('FirstNamespace', 'SecondNamespace'));
@@ -174,46 +126,43 @@ echo Zend_Filter::filterStatic('"', 'MyFilter', array($parameters));
 echo Zend_Filter::filterStatic('"', 'OtherFilter', array($parameters));
 echo Zend_Filter::filterStatic('"', 'OtherFilter', array($parameters));
 ]]></programlisting>
 ]]></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>
             <itemizedlist>
                 <listitem>
                 <listitem>
                     <para>
                     <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>
 
 
                 <listitem>
                 <listitem>
                     <para>
                     <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>
 
 
                 <listitem>
                 <listitem>
                     <para>
                     <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>
                     </para>
                 </listitem>
                 </listitem>
 
 
                 <listitem>
                 <listitem>
                     <para>
                     <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>
                 </listitem>
             </itemizedlist>
             </itemizedlist>
         </sect3>
         </sect3>
     </sect2>
     </sect2>
 </sect1>
 </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>
     <title>Uso avanzado de Zend_Form</title>
 
 
     <para>
     <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">
     <sect2 id="zend.form.advanced.arrayNotation">
         <title>Notación de array</title>
         <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[
         <programlisting language="html"><![CDATA[
 <form>
 <form>
@@ -74,11 +72,10 @@
 </form>
 </form>
 ]]></programlisting>
 ]]></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[
         <programlisting language="html"><![CDATA[
 <form>
 <form>
@@ -142,104 +139,96 @@
 </form>
 </form>
 ]]></programlisting>
 ]]></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>
         <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>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <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>
 
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>Zend_Form::setElementsBelongTo($array)</methodname>:
                     <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>
         </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>
 
 
     <sect2 id="zend.form.advanced.multiPage">
     <sect2 id="zend.form.advanced.multiPage">
         <title>Formularios Multi-Página</title>
         <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">
         <example id="zend.form.advanced.multiPage.registration">
             <title>Ejemplo de formulario de registro</title>
             <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
 class My_Form_Registration extends Zend_Form
 {
 {
     public function init()
     public function init()
@@ -340,17 +329,16 @@ class My_Form_Registration extends Zend_Form
 }
 }
 ]]></programlisting>
 ]]></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
 class My_Form_Registration extends Zend_Form
 {
 {
     // ...
     // ...
@@ -428,23 +416,21 @@ class My_Form_Registration extends Zend_Form
 }
 }
 ]]></programlisting>
 ]]></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
 class RegistrationController extends Zend_Controller_Action
 {
 {
     protected $_form;
     protected $_form;
@@ -459,17 +445,16 @@ class RegistrationController extends Zend_Controller_Action
 }
 }
 ]]></programlisting>
 ]]></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
 class RegistrationController extends Zend_Controller_Action
 {
 {
     // ...
     // ...
@@ -562,34 +547,31 @@ class RegistrationController extends Zend_Controller_Action
 }
 }
 ]]></programlisting>
 ]]></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
 class RegistrationController extends Zend_Controller_Action
 {
 {
     // ...
     // ...
@@ -630,13 +612,12 @@ class RegistrationController extends Zend_Controller_Action
 }
 }
 ]]></programlisting>
 ]]></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
 class RegistrationController extends Zend_Controller_Action
 {
 {
     // ...
     // ...
@@ -677,22 +658,19 @@ class RegistrationController extends Zend_Controller_Action
 }
 }
 ]]></programlisting>
 ]]></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 ?>
 <? // registration/index.phtml ?>
 <h2>registro</h2>
 <h2>registro</h2>
 <?php echo  $this->form ?>
 <?php echo  $this->form ?>
@@ -725,15 +703,11 @@ foreach ($this->info as $info):
 endforeach
 endforeach
 ]]></programlisting>
 ]]></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>
         </example>
     </sect2>
     </sect2>
 </sect1>
 </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 -->
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.form.decorators">
 <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">
     <sect2 id="zend.form.decorators.operation">
         <title>Operación</title>
         <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>
         <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
                     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
                     generado por el decorador, o entre items generados por el
                     decorador (ejemplo FormElements usa el separador entre cada
                     decorador (ejemplo FormElements usa el separador entre cada
                     item generado). En el caso que un decorador reemplace el
                     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>
         </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>
         <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>
         </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>
 
 
     <sect2 id="zend.form.decorators.standard">
     <sect2 id="zend.form.decorators.standard">
         <title>Decoradores estándar</title>
         <title>Decoradores estándar</title>
 
 
         <para>
         <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>
 
 
     <sect2 id="zend.form.decorators.custom">
     <sect2 id="zend.form.decorators.custom">
         <title>Decoradores personalizados</title>
         <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
 interface Zend_Decorator_Interface
 {
 {
     public function __construct($options = null);
     public function __construct($options = null);
@@ -162,21 +162,18 @@ interface Zend_Decorator_Interface
 }
 }
 ]]></programlisting>
 ]]></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
 class My_Decorator_Composite extends Zend_Form_Decorator_Abstract
 {
 {
     public function buildLabel()
     public function buildLabel()
@@ -262,11 +259,9 @@ class My_Decorator_Composite extends Zend_Form_Decorator_Abstract
 }
 }
 ]]></programlisting>
 ]]></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:
 // para un elemento:
 $element->addPrefixPath('My_Decorator',
 $element->addPrefixPath('My_Decorator',
                         'My/Decorator/',
                         'My/Decorator/',
@@ -278,34 +273,28 @@ $form->addElementPrefixPath('My_Decorator',
                             'decorator');
                             'decorator');
 ]]></programlisting>
 ]]></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:
 // Sobreescribe los decoradores existentes con este otro:
 $element->setDecorators(array('Composite'));
 $element->setDecorators(array('Composite'));
 ]]></programlisting>
 ]]></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
 class My_Decorator_Errors
 {
 {
     public function render($content = '')
     public function render($content = '')
@@ -327,35 +316,32 @@ class My_Decorator_Errors
 }
 }
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.form.decorators.individual">
     <sect2 id="zend.form.decorators.individual">
         <title>Generando decoradores individuales</title>
         <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:
 // genera el elemento decorador label:
 echo $element->renderLabel();
 echo $element->renderLabel();
 
 
@@ -366,17 +352,11 @@ echo $group->renderFieldset('fieldset content');
 echo $form->renderHtmlTag('wrap this content');
 echo $form->renderHtmlTag('wrap this content');
 ]]></programlisting>
 ]]></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>
     </sect2>
 </sect1>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 538 - 549
documentation/manual/es/module_specs/Zend_Form-Elements.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 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">
 <sect1 id="zend.form.i18n">
     <title>Internacionalización de Zend_Form</title>
     <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>
     <note>
         <title>La Traducción Puede Ser Deshabilitado Por Item</title>
         <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>
     </note>
 
 
     <sect2 id="zend.form.i18n.initialization">
     <sect2 id="zend.form.i18n.initialization">
         <title>Inicializando I18n en formularios</title>
         <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>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <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:
 // use la clave 'Zend_Translate'; $translate es un objeto Zend_Translate:
 Zend_Registry::set('Zend_Translate', $translate);
 Zend_Registry::set('Zend_Translate', $translate);
 ]]></programlisting>
 ]]></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>
 
 
             <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
 // Decir a todas las clases de validación que se use un adaptador especifico de traducción
 Zend_Validate_Abstract::setDefaultTranslator($translate);
 Zend_Validate_Abstract::setDefaultTranslator($translate);
 ]]></programlisting>
 ]]></programlisting>
             </listitem>
             </listitem>
 
 
             <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
 // 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
 // use este adaptador para traducir mensajes de error de validación
 Zend_Form::setDefaultTranslator($translate);
 Zend_Form::setDefaultTranslator($translate);
@@ -94,13 +78,11 @@ Zend_Form::setDefaultTranslator($translate);
             </listitem>
             </listitem>
 
 
             <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
                     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;
 // 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
 // será usado para traducir mensajes de error de validación para todos los
 // elementos:
 // elementos:
@@ -118,76 +100,61 @@ $element->setTranslator($translate);
     <sect2 id="zend.form.i18n.standard">
     <sect2 id="zend.form.i18n.standard">
         <title>Objetivos estándar I18n</title>
         <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>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <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>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <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>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
                     <emphasis>Leyendas de campos.</emphasis> Grupos de visualización y
                     <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>
 
 
             <listitem>
             <listitem>
                 <para>
                 <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>
 
 
             <listitem>
             <listitem>
                 <para>
                 <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>
 
 
             <listitem>
             <listitem>
                 <para>
                 <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>
                 </para>
             </listitem>
             </listitem>
         </itemizedlist>
         </itemizedlist>
     </sect2>
     </sect2>
 </sect1>
 </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"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 15854 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.form.introduction">
 <sect1 id="zend.form.introduction">
     <title>Zend_Form</title>
     <title>Zend_Form</title>
 
 
     <para>
     <para>
         <classname>Zend_Form</classname> simplifica la creación y manipulación de formularios en tus
         <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>
     <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>
     </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>
 </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">
 <sect1 id="zend.form.quickstart">
     <title>Inicio rápido a Zend_Form</title>
     <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>
     </para>
 
 
     <sect2 id="zend.form.quickstart.create">
     <sect2 id="zend.form.quickstart.create">
         <title>Creando un objeto formulario</title>
         <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>
         </para>
 
 
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $form = new Zend_Form;
 $form = new Zend_Form;
 ]]></programlisting>
 ]]></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>
 
 
-        <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
             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')
 $form->setAction('/resource/process')
      ->setMethod('post');
      ->setMethod('post');
 ]]></programlisting>
 ]]></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
             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');
 $form->setAttrib('id', 'login');
 ]]></programlisting>
 ]]></programlisting>
     </sect2>
     </sect2>
@@ -60,71 +52,67 @@ $form->setAttrib('id', 'login');
     <sect2 id="zend.form.quickstart.elements">
     <sect2 id="zend.form.quickstart.elements">
         <title>Añadir elementos al formulario</title>
         <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>
         <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>
         </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
             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:
 // Instanciando un elemento y pasandolo al objeto form:
 $form->addElement(new Zend_Form_Element_Text('username'));
 $form->addElement(new Zend_Form_Element_Text('username'));
 
 
@@ -132,23 +120,20 @@ $form->addElement(new Zend_Form_Element_Text('username'));
 $form->addElement('text', 'username');
 $form->addElement('text', 'username');
 ]]></programlisting>
 ]]></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
             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');
 $username = new Zend_Form_Element_Text('username');
 
 
 // Pasando un objeto Zend_Validate_*:
 // Pasando un objeto Zend_Validate_*:
@@ -158,55 +143,44 @@ $username->addValidator(new Zend_Validate_Alnum());
 $username->addValidator('alnum');
 $username->addValidator('alnum');
 ]]></programlisting>
 ]]></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
 // Pasando un patrón
 $username->addValidator('regex', false, array('/^[a-z]/i'));
 $username->addValidator('regex', false, array('/^[a-z]/i'));
 ]]></programlisting>
 ]]></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
             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:
 // Hace este elemento requerido:
 $username->setRequired(true);
 $username->setRequired(true);
 ]]></programlisting>
 ]]></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');
 $username->addFilter('StringtoLower');
 ]]></programlisting>
 ]]></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')
 $username->addValidator('alnum')
          ->addValidator('regex', false, array('/^[a-z]/'))
          ->addValidator('regex', false, array('/^[a-z]/'))
          ->setRequired(true)
          ->setRequired(true)
@@ -221,17 +195,16 @@ $username->addValidators(array('alnum',
 ]]></programlisting>
 ]]></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
             del formulario puede resultar un poco tedioso. Intentemos la opción
             (b) arriba mencionada. Cuando creamos un nuevo elemento utilizando
             (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(
 $form->addElement('text', 'username', array(
     'validators' => array(
     'validators' => array(
         'alnum',
         'alnum',
@@ -242,26 +215,24 @@ $form->addElement('text', 'username', array(
 ));
 ));
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.form.quickstart.render">
     <sect2 id="zend.form.quickstart.render">
         <title>Generar un formulario</title>
         <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:
 // Llamando a render()  explicitamente, y pasando un objeto vista opcional:
 echo $form->render($view);
 echo $form->render($view);
 
 
@@ -269,31 +240,28 @@ echo $form->render($view);
 echo $form;
 echo $form;
 ]]></programlisting>
 ]]></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
 <?php echo $this->form
 ]]></programlisting>
 ]]></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
             introspección al elemento que les es pasado. Como resultado, puede
             combinar múltiples decoradores para lograr efectos personalizados.
             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(
 $element->addDecorators(array(
     'ViewHelper',
     'ViewHelper',
     'Errors',
     'Errors',
@@ -302,14 +270,10 @@ $element->addDecorators(array(
 ));
 ));
 ]]></programlisting>
 ]]></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[
         <programlisting language="html"><![CDATA[
 <dt><label for="username" class="required">Username</dt>
 <dt><label for="username" class="required">Username</dt>
@@ -322,39 +286,31 @@ $element->addDecorators(array(
 </dd>
 </dd>
 ]]></programlisting>
 ]]></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
             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);
 $element->setOrder(10);
 ]]></programlisting>
 ]]></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));
 $form->addElement('text', 'username', array('order' => 10));
 ]]></programlisting>
 ]]></programlisting>
     </sect2>
     </sect2>
@@ -362,20 +318,17 @@ $form->addElement('text', 'username', array('order' => 10));
     <sect2 id="zend.form.quickstart.validate">
     <sect2 id="zend.form.quickstart.validate">
         <title>Comprobar si un formulario es válido</title>
         <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
             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)) {
 if ($form->isValid($_POST)) {
     // ¡Correcto!
     // ¡Correcto!
 } else {
 } else {
@@ -383,16 +336,14 @@ if ($form->isValid($_POST)) {
 }
 }
 ]]></programlisting>
 ]]></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)) {
 if ($form->isValidPartial($_POST)) {
     // de los elementos presentes, todos pasaron las validaciones
     // de los elementos presentes, todos pasaron las validaciones
 } else {
 } else {
@@ -400,27 +351,22 @@ if ($form->isValidPartial($_POST)) {
 }
 }
 ]]></programlisting>
 ]]></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();
 $values = $form->getValues();
 ]]></programlisting>
 ]]></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();
 $unfiltered = $form->getUnfilteredValues();
 ]]></programlisting>
 ]]></programlisting>
     </sect2>
     </sect2>
@@ -428,13 +374,11 @@ $unfiltered = $form->getUnfilteredValues();
     <sect2 id="zend.form.quickstart.errorstatus">
     <sect2 id="zend.form.quickstart.errorstatus">
         <title>Obteniendo el estado de error</title>
         <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)) {
 if (!$form->isValid($_POST)) {
     echo $form;
     echo $form;
 
 
@@ -444,47 +388,46 @@ if (!$form->isValid($_POST)) {
 }
 }
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.form.quickstart.puttingtogether">
     <sect2 id="zend.form.quickstart.puttingtogether">
         <title>Poniendo todo junto</title>
         <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>
         <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>
         </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
             cumplirá con tener solo caracteres alfanuméricos, comenzar con una
             letra, tener una longitud mínima de 6 caracteres y una longitud
             letra, tener una longitud mínima de 6 caracteres y una longitud
             máxima de 20 caracteres; se normalizarán en minúsculas. Las
             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
             contraseñas deben tener un mínimo de 6 caracteres. Cuando se procese
             vamos simplemente a mostrar el valor, por lo que puede permanecer
             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 = new Zend_Form();
 $form->setAction('/user/login')
 $form->setAction('/user/login')
      ->setMethod('post');
      ->setMethod('post');
@@ -509,11 +452,9 @@ $form->addElement($username)
      ->addElement('submit', 'login', array('label' => 'Login'));
      ->addElement('submit', 'login', array('label' => 'Login'));
 ]]></programlisting>
 ]]></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
 class UserController extends Zend_Controller_Action
 {
 {
     public function getForm()
     public function getForm()
@@ -547,37 +488,32 @@ class UserController extends Zend_Controller_Action
 }
 }
 ]]></programlisting>
 ]]></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>
 <h2>Please login:</h2>
 <?php echo $this->form
 <?php echo $this->form
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.form.quickstart.config">
     <sect2 id="zend.form.quickstart.config">
         <title>Usando un objeto Zend_Config</title>
         <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[
         <programlisting language="ini"><![CDATA[
 [development]
 [development]
@@ -606,30 +542,22 @@ user.login.elements.password.options.required = true
 user.login.elements.submit.type = "submit"
 user.login.elements.submit.type = "submit"
 ]]></programlisting>
 ]]></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');
 $config = new Zend_Config_Ini($configFile, 'development');
 $form   = new Zend_Form($config->user->login);
 $form   = new Zend_Form($config->user->login);
 ]]></programlisting>
 ]]></programlisting>
 
 
-        <para>
-            y el formulario entero será definido.
-        </para>
+        <para> y el formulario entero será definido. </para>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.form.quickstart.conclusion">
     <sect2 id="zend.form.quickstart.conclusion">
         <title>Conclusión</title>
         <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>
     </sect2>
 </sect1>
 </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>
         <para>
             La descripción es escapada utilizando los mecanismos de escapado por defecto
             La descripción es escapada utilizando los mecanismos de escapado por defecto
             del objeto de vista. Puede desactivar esto pasando un valor
             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>.
             <methodname>setEscape()</methodname>.
         </para>
         </para>
     </sect2>
     </sect2>

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

@@ -4,80 +4,58 @@
 <sect1 id="zend.form.standardElements">
 <sect1 id="zend.form.standardElements">
     <title>Elementos Enviados en el Formulario Estandard de Zend Framework</title>
     <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">
     <sect2 id="zend.form.standardElements.button">
         <title>Zend_Form_Element_Button</title>
         <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>
 
 
     <sect2 id="zend.form.standardElements.captcha">
     <sect2 id="zend.form.standardElements.captcha">
         <title>Zend_Form_Element_Captcha</title>
         <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');
 $element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
 ]]></programlisting>
 ]]></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:
 // instancia concreta:
 $element->setCaptcha(new Zend_Captcha_Figlet());
 $element->setCaptcha(new Zend_Captcha_Figlet());
 
 
@@ -85,13 +63,10 @@ $element->setCaptcha(new Zend_Captcha_Figlet());
 $element->setCaptcha('Dumb');
 $element->setCaptcha('Dumb');
 ]]></programlisting>
 ]]></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:
 // Usindo la clave captcha simple:
 $element = new Zend_Form_Element_Captcha('foo', array(
 $element = new Zend_Form_Element_Captcha('foo', array(
     'label' => "Please verify you're a human",
     'label' => "Please verify you're a human",
@@ -114,87 +89,65 @@ $element = new Zend_Form_Element_Captcha('foo', array(
 ));
 ));
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.form.standardElements.checkbox">
     <sect2 id="zend.form.standardElements.checkbox">
         <title>Zend_Form_Element_Checkbox</title>
         <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>
         <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>
 
 
     <sect2 id="zend.form.standardElements.file">
     <sect2 id="zend.form.standardElements.file">
         <title>Zend_Form_Element_File</title>
         <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
             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">
         <example id="zend.form.standardElements.file.usage">
             <title>File form element usage</title>
             <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 = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload');
         ->setDestination('/var/www/upload');
@@ -207,24 +160,19 @@ $element->addValidator('Extension', false, 'jpg,png,gif');
 $form->addElement($element, 'foo');
 $form->addElement($element, 'foo');
 ]]></programlisting>
 ]]></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');
 $form->setAttrib('enctype', 'multipart/form-data');
 ]]></programlisting>
 ]]></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) {
 if (!$form->isValid) {
     print "Ohoh... validation error";
     print "Ohoh... validation error";
 }
 }
@@ -241,70 +189,56 @@ $location = $form->foo->getFileName();
         <note>
         <note>
             <title>Ubicaciones Predeterminadas para la Carga de Archivos</title>
             <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>
 
 
         <note>
         <note>
             <title>Valores de archivo</title>
             <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>
         </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();
 $form->getValues();
 ]]></programlisting>
 ]]></programlisting>
 
 
         <note>
         <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>
         </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">
         <example id="zend.form.standardElements.file.retrievement">
             <title>Explicit file retrievement</title>
             <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 = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload')
         ->setDestination('/var/www/upload')
         ->setValueDisabled(true);
         ->setValueDisabled(true);
 ]]></programlisting>
 ]]></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();
 $values = $form->getValues();
 
 
 if ($form->isValid($form->getPost())) {
 if ($form->isValid($form->getPost())) {
@@ -315,38 +249,33 @@ if ($form->isValid($form->getPost())) {
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </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>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <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>
 
 
             <listitem>
             <listitem>
                 <para>
                 <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>
 
 
             <listitem>
             <listitem>
                 <para>
                 <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>
             </listitem>
         </itemizedlist>
         </itemizedlist>
 
 
         <example id="zend.form.standardElements.file.isuploaded">
         <example id="zend.form.standardElements.file.isuploaded">
             <title>Checking if an optional file has been uploaded</title>
             <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 = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload')
         ->setDestination('/var/www/upload')
@@ -362,23 +291,19 @@ if ($form->foo->isUploaded()) {
         </example>
         </example>
 
 
         <para>
         <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">
         <example id="zend.form.standardElements.file.multiusage">
             <title>Configuración de múltiples archivos</title>
             <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 = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload');
         ->setDestination('/var/www/upload');
@@ -393,42 +318,31 @@ $element->setMultiFile(3);
 $form->addElement($element, 'foo');
 $form->addElement($element, 'foo');
 ]]></programlisting>
 ]]></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>
         </example>
 
 
         <note>
         <note>
             <title>Elementos File en Subformularios</title>
             <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>
         </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 = new Zend_Form_Element_File('foo');
 $element->setLabel('Upload an image:')
 $element->setLabel('Upload an image:')
         ->setDestination('/var/www/upload')
         ->setDestination('/var/www/upload')
@@ -440,156 +354,138 @@ $form->addElement($element, 'foo');
         <note>
         <note>
             <title>MaxFileSize con elementos file múltiples</title>
             <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>
         </note>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.form.standardElements.hidden">
     <sect2 id="zend.form.standardElements.hidden">
         <title>Zend_Form_Element_Hidden</title>
         <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>
 
 
     <sect2 id="zend.form.standardElements.hash">
     <sect2 id="zend.form.standardElements.hash">
         <title>Zend_Form_Element_Hash</title>
         <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'));
 $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
 ]]></programlisting>
 ]]></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>
         </para>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.form.standardElements.Image">
     <sect2 id="zend.form.standardElements.Image">
         <title>Zend_Form_Element_Image</title>
         <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>
 
 
     <sect2 id="zend.form.standardElements.multiCheckbox">
     <sect2 id="zend.form.standardElements.multiCheckbox">
         <title>Zend_Form_Element_MultiCheckbox</title>
         <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>
         <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>
         <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>
         </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(
 $element = new Zend_Form_Element_MultiCheckbox('foo', array(
     'multiOptions' => array(
     'multiOptions' => array(
         'foo' => 'Foo Option',
         'foo' => 'Foo Option',
@@ -602,238 +498,259 @@ $element = new Zend_Form_Element_MultiCheckbox('foo', array(
 $element->setValue(array('bar', 'bat'));
 $element->setValue(array('bar', 'bat'));
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.form.standardElements.multiselect">
     <sect2 id="zend.form.standardElements.multiselect">
         <title>Zend_Form_Element_Multiselect</title>
         <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>
         <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>
         </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>
         </para>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.form.standardElements.password">
     <sect2 id="zend.form.standardElements.password">
         <title>Zend_Form_Element_Password</title>
         <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>
         <para>
             <classname>Zend_Form_Element_Password</classname> archiva esto llamando
             <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>
 
 
     <sect2 id="zend.form.standardElements.radio">
     <sect2 id="zend.form.standardElements.radio">
         <title>Zend_Form_Element_Radio</title>
         <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>
         <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>
         </itemizedlist>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.form.standardElements.reset">
     <sect2 id="zend.form.standardElements.reset">
         <title>Zend_Form_Element_Reset</title>
         <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>
         <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>
 
 
     <sect2 id="zend.form.standardElements.select">
     <sect2 id="zend.form.standardElements.select">
         <title>Zend_Form_Element_Select</title>
         <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>
         <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>
         </itemizedlist>
 
 
         <para>
         <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>
 
 
     <sect2 id="zend.form.standardElements.submit">
     <sect2 id="zend.form.standardElements.submit">
         <title>Zend_Form_Element_Submit</title>
         <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>
         <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>
 
 
     <sect2 id="zend.form.standardElements.text">
     <sect2 id="zend.form.standardElements.text">
         <title>Zend_Form_Element_Text</title>
         <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>
 
 
     <sect2 id="zend.form.standardElements.textarea">
     <sect2 id="zend.form.standardElements.textarea">
         <title>Zend_Form_Element_Textarea</title>
         <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>
     </sect2>
 </sect1>
 </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 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.json.basics">
 <sect1 id="zend.json.basics">
     <title>Uso Básico</title>
     <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:
 // Recuperar un valor:
 $phpNative = Zend_Json::decode($encodedValue);
 $phpNative = Zend_Json::decode($encodedValue);
 
 
@@ -16,6 +13,3 @@ $phpNative = Zend_Json::decode($encodedValue);
 $json = Zend_Json::encode($phpNative);
 $json = Zend_Json::encode($phpNative);
 ]]></programlisting>
 ]]></programlisting>
 </sect1>
 </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">
 <sect1 id="zend.json.introduction">
     <title>Introducción</title>
     <title>Introducción</title>
     <para>
     <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>
 </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">
     <sect2 id="zend.json.advanced.objects1">
         <title>Objetos JSON</title>
         <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
 // Decodifica objetos JSON como objetos PHP
 $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
 $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
 ]]></programlisting>
 ]]></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>
 
 
     <sect2 id="zend.json.advanced.objects2">
     <sect2 id="zend.json.advanced.objects2">
         <title>Codificando Objetos PHP</title>
         <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>
 
 
     <sect2 id="zend.json.advanced.internal">
     <sect2 id="zend.json.advanced.internal">
         <title>Codificador/Decodificador Interno</title>
         <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:
 Zend_Json::$useBuiltinEncoderDecoder = true:
 ]]></programlisting>
 ]]></programlisting>
     </sect2>
     </sect2>
@@ -91,31 +67,23 @@ Zend_Json::$useBuiltinEncoderDecoder = true:
     <sect2 id="zend.json.advanced.expr">
     <sect2 id="zend.json.advanced.expr">
         <title>Expresiones JSON</title>
         <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(
 $data = array(
     'onClick' => new Zend_Json_Expr('function() {'
     'onClick' => new Zend_Json_Expr('function() {'
               . 'alert("Yo soy un callback válido de javascript '
               . 'alert("Yo soy un callback válido de javascript '
@@ -130,6 +98,3 @@ $jsonObjectWithExpression = Zend_Json::encode(
 ]]></programlisting>
 ]]></programlisting>
     </sect2>
     </sect2>
 </sect1>
 </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>
     <title>Zend_Json_Server - servidor JSON-RPC</title>
 
 
     <para>
     <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
         <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>
     <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>
     </itemizedlist>
 
 
     <para>
     <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>
     <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>
     </itemizedlist>
 
 
     <para>
     <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">
     <example id="zend.json.server.usage">
         <title>Uso de Zend_Json_Server</title>
         <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
  * Calculator - clase de ejemplo para exponer via JSON-RPC
  */
  */
@@ -122,19 +127,15 @@ class Calculator
 }
 }
 ]]></programlisting>
 ]]></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();
 $server = new Zend_Json_Server();
 
 
 // Indicar que funcionalidad está disponible:
 // Indicar que funcionalidad está disponible:
@@ -144,14 +145,12 @@ $server->setClass('Calculator');
 $server->handle();
 $server->handle();
 ]]></programlisting>
 ]]></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 = new Zend_Json_Server();
 $server->setClass('Calculator');
 $server->setClass('Calculator');
 
 
@@ -172,14 +171,12 @@ if ('GET' == $_SERVER['REQUEST_METHOD']) {
 $server->handle();
 $server->handle();
 ]]></programlisting>
 ]]></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 = new Zend_Json_Server();
 $server->setClass('Calculator');
 $server->setClass('Calculator');
 
 
@@ -203,439 +200,604 @@ $server->handle();
     <sect2 id="zend.json.server.details">
     <sect2 id="zend.json.server.details">
         <title>Detalles Avanzados</title>
         <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">
         <sect3 id="zend.json.server.details.zendjsonserver">
             <title>Zend_Json_Server</title>
             <title>Zend_Json_Server</title>
 
 
             <para>
             <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>
             <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>
             </itemizedlist>
         </sect3>
         </sect3>
 
 
         <sect3 id="zend.json.server.details.zendjsonserverrequest">
         <sect3 id="zend.json.server.details.zendjsonserverrequest">
             <title>Zend_Json_Server_Request</title>
             <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>
             <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>
             </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>
 
 
         <sect3 id="zend.json.server.details.zendjsonserverresponse">
         <sect3 id="zend.json.server.details.zendjsonserverresponse">
             <title>Zend_Json_Server_Response</title>
             <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>
             <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).
                         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.
                         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>
             </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>
 
 
         <sect3 id="zend.json.server.details.zendjsonservererror">
         <sect3 id="zend.json.server.details.zendjsonservererror">
             <title>Zend_Json_Server_Error</title>
             <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>
             <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>
             <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>
             </itemizedlist>
         </sect3>
         </sect3>
 
 
         <sect3 id="zend.json.server.details.zendjsonserversmd">
         <sect3 id="zend.json.server.details.zendjsonserversmd">
             <title>Zend_Json_Server_Smd</title>
             <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>
             <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>
             <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>
             <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
                         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.
                         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>
             </itemizedlist>
 
 
             <para>
             <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>
             <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>
                     <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>
                     </itemizedlist>
                 </listitem>
                 </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>
             </itemizedlist>
         </sect3>
         </sect3>
     </sect2>
     </sect2>
 </sect1>
 </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">
 <sect1 id="zend.json.xml2json">
     <title>Conversión de XML a JSON</title>
     <title>Conversión de XML a JSON</title>
     <para>
     <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>
     <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 
 // la función fromXml simplemente toma un string conteniendo XML 
 // como entrada.
 // como entrada.
 $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 ]]></programlisting>
 ]]></programlisting>
 
 
     <para>
     <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"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <books>
 <books>
     <book id="1">
     <book id="1">
@@ -82,12 +79,10 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 </books>
 </books>
 ]]></programlisting>
 ]]></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" : {
    "books" : {
       "book" : [ {
       "book" : [ {
@@ -120,13 +115,8 @@ $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
 }
 }
 ]]></programlisting>
 ]]></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>
 </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 -->
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.layout.introduction">
 <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>
 </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>
 
 
         <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>
             <classname>Zend_Loader::loadFile()</classname> esa la función <acronym>PHP</acronym>
             <ulink url="http://php.net/include"><methodname>include_once()</methodname></ulink>
             <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>
             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>
         <para>
             El método estático <classname>Zend_Loader::isReadable($pathname)</classname>
             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>
         </para>
 
 
         <example id="zend.loader.load.isreadable.example">
         <example id="zend.loader.load.isreadable.example">
@@ -219,8 +219,8 @@ Zend_Loader::registerAutoload('My_Loader');
         <para>
         <para>
             Se puede eliminar un callback de autoload.
             Se puede eliminar un callback de autoload.
             <methodname>registerAutoload()</methodname> tiene un segundo parámetro opcional,
             <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.
             de autoload SPL.
         </para>
         </para>
 
 

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

@@ -3,28 +3,22 @@
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.create">
 <sect1 id="zend.pdf.create">
     <title>Creando y Cargando Documentos PDF</title>
     <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">
     <example id="zend.pdf.create.example-1">
         <title>Crear un nuevo documento PDF o cargar uno ya esistente.</title>
         <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
 // Crear un nuevo documento PDF
 $pdf1 = new Zend_Pdf();
 $pdf1 = new Zend_Pdf();
@@ -38,30 +32,23 @@ $pdf3 = Zend_Pdf::parse($pdfString);
 ]]></programlisting>
 ]]></programlisting>
     </example>
     </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">
     <example id="zend.pdf.create.example-2">
         <title>Requiriendo Revisiones Específicas de un documento PDF</title>
         <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
 // Cargar la revisión anterior del documento PDF
 $pdf1 = Zend_Pdf::load($fileName, 1);
 $pdf1 = Zend_Pdf::load($fileName, 1);
@@ -79,6 +66,3 @@ $pdf3->rollback($revisions - 1);
 
 
 
 
 </sect1>
 </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
             codificación de caracteres a llamar en tiempo de dibujo y
                 <classname>Zend_Pdf</classname> se encargará de la conversión.
                 <classname>Zend_Pdf</classname> se encargará de la conversión.
             Puede proporcionar la fuente de cualquier método de codificación de
             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"
                 <ulink url="http://www.php.net/manual/function.iconv.php"
                     >iconv()</ulink>
                     >iconv()</ulink>
             </code>: </para>
             </code>: </para>
@@ -611,8 +612,9 @@ $pdfPage->drawImage($image, 100, 100, 400, 300);
             <emphasis>Importante! el soporte a PNG requiere que se configure la
             <emphasis>Importante! el soporte a PNG requiere que se configure la
                 extensión ZLIB para trabajar con imágenes canal Alfa.</emphasis>
                 extensión ZLIB para trabajar con imágenes canal Alfa.</emphasis>
         </para>
         </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
                 >http://www.php.net/manual/en/ref.image.php</ulink>). (<ulink
                 url="http://www.php.net/manual/en/ref.zlib.php"
                 url="http://www.php.net/manual/en/ref.zlib.php"
                 >http://www.php.net/manual/en/ref.zlib.php</ulink>). </para>
                 >http://www.php.net/manual/en/ref.zlib.php</ulink>). </para>

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

@@ -4,72 +4,46 @@
 <sect1 id="zend.pdf.introduction">
 <sect1 id="zend.pdf.introduction">
     <!-- @todo review and revise upon completion of refactoring -->
     <!-- @todo review and revise upon completion of refactoring -->
     <title>Introducción</title>
     <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>
                 </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>
                 </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>
     </para>
 </sect1>
 </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>
     <title>Trabajando con Páginas</title>
     <sect2 id="zend.pdf.pages.creation">
     <sect2 id="zend.pdf.pages.creation">
         <title>Creación de Páginas</title>
         <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>
             </footnote>
         </para>
         </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>
                 <listitem>
                     <para>Zend_Pdf_Page::SIZE_A4</para>
                     <para>Zend_Pdf_Page::SIZE_A4</para>
                 </listitem>
                 </listitem>
@@ -54,17 +48,16 @@
             </itemizedlist>
             </itemizedlist>
         </para>
         </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">
         <example id="zend.pdf.pages.example-1">
             <title>Administración de Páginas de un Documento PDF.</title>
             <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.
 // Invertir el orden de las páginas.
 $pdf->pages = array_reverse($pdf->pages);
 $pdf->pages = array_reverse($pdf->pages);
@@ -84,15 +77,13 @@ unset($pdf->pages[$id]);
 
 
     <sect2 id="zend.pdf.pages.cloning">
     <sect2 id="zend.pdf.pages.cloning">
         <title>Clonado de Páfinas.</title>
         <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">
         <example id="zend.pdf.pages.example-2">
             <title>Clonando una Página Existente.</title>
             <title>Clonando una Página Existente.</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 ...
 ...
 // Almacenar la página plantilla en una variable
 // Almacenar la página plantilla en una variable
 $template = $pdf->pages[$templatePageIndex];
 $template = $pdf->pages[$templatePageIndex];
@@ -114,20 +105,14 @@ unset($pdf->pages[$templatePageIndex]);
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </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>
         <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>
         </caution>
     </sect2>
     </sect2>
 </sect1>
 </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">
 <sect1 id="zend.pdf.info">
     <!-- @todo review and revise upon completion of refactoring -->
     <!-- @todo review and revise upon completion of refactoring -->
     <title>Información del Documento y Metadatos.</title>
     <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);
 $pdf = Zend_Pdf::load($pdfPath);
 
 
 echo $pdf->properties['Title'] . "\n";
 echo $pdf->properties['Title'] . "\n";
@@ -22,157 +18,123 @@ echo $pdf->properties['Author'] . "\n";
 $pdf->properties['Title'] = 'New Title.';
 $pdf->properties['Title'] = 'New Title.';
 $pdf->save($pdfPath);
 $pdf->save($pdfPath);
 ]]></programlisting>
 ]]></programlisting>
-
     </para>
     </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>
             <listitem>
                 <para>
                 <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>
             <listitem>
             <listitem>
                 <para>
                 <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>
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <emphasis>Subject</emphasis> - string, opcional, el tema del documento.
-                </para>
+                    <emphasis>Subject</emphasis> - string, opcional, el tema del documento. </para>
             </listitem>
             </listitem>
             <listitem>
             <listitem>
                 <para>
                 <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>
             <listitem>
             <listitem>
                 <para>
                 <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>
             <listitem>
             <listitem>
                 <para>
                 <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>
             <listitem>
             <listitem>
                 <para>
                 <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>
                         <listitem>
                             <para>
                             <para>
-                                <emphasis>YYYY</emphasis> es el año.
-                            </para>
+                                <emphasis>YYYY</emphasis> es el año. </para>
                         </listitem>
                         </listitem>
                         <listitem>
                         <listitem>
                             <para>
                             <para>
-                                <emphasis>MM</emphasis> es el mes.
-                            </para>
+                                <emphasis>MM</emphasis> es el mes. </para>
                         </listitem>
                         </listitem>
                         <listitem>
                         <listitem>
                             <para>
                             <para>
-                                <emphasis>DD</emphasis> es el día (01–31).
-                            </para>
+                                <emphasis>DD</emphasis> es el día (01–31). </para>
                         </listitem>
                         </listitem>
                         <listitem>
                         <listitem>
                             <para>
                             <para>
-                                <emphasis>HH</emphasis> es la hora (00–23).
-                            </para>
+                                <emphasis>HH</emphasis> es la hora (00–23). </para>
                         </listitem>
                         </listitem>
                         <listitem>
                         <listitem>
                             <para>
                             <para>
-                                <emphasis>mm</emphasis> es el minuto (00–59).
-                            </para>
+                                <emphasis>mm</emphasis> es el minuto (00–59). </para>
                         </listitem>
                         </listitem>
                         <listitem>
                         <listitem>
                             <para>
                             <para>
-                                <emphasis>SS</emphasis> es el segundo (00–59).
-                            </para>
+                                <emphasis>SS</emphasis> es el segundo (00–59). </para>
                         </listitem>
                         </listitem>
                         <listitem>
                         <listitem>
                             <para>
                             <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>
                         <listitem>
                         <listitem>
                             <para>
                             <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>
                         <listitem>
                         <listitem>
                             <para>
                             <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>
                         </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>
                 </para>
             </listitem>
             </listitem>
             <listitem>
             <listitem>
                 <para>
                 <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>
             <listitem>
             <listitem>
                 <para>
                 <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>
                         <listitem>
                             <para>
                             <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>
                         <listitem>
                         <listitem>
                             <para>
                             <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>
                         <listitem>
                         <listitem>
                             <para>
                             <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>
                         </listitem>
                     </itemizedlist>
                     </itemizedlist>
                 </para>
                 </para>
@@ -180,17 +142,13 @@ $pdf->save($pdfPath);
         </itemizedlist>
         </itemizedlist>
     </para>
     </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);
 $pdf = Zend_Pdf::load($pdfPath);
 $metadata = $pdf->getMetadata();
 $metadata = $pdf->getMetadata();
 $metadataDOM = new DOMDocument();
 $metadataDOM = new DOMDocument();
@@ -212,13 +170,7 @@ $pdf->save($pdfPath);
 ]]></programlisting>
 ]]></programlisting>
     </para>
     </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>
 </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 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.save">
 <sect1 id="zend.pdf.save">
     <title>Guardar Cambios a Documentos PDF</title>
     <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>
     <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>
     <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">
     <example id="zend.pdf.save.example-1">
         <title>Guardando Documentos PDF</title>
         <title>Guardando Documentos PDF</title>
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 ...
 ...
 // Cargar el documento PDF
 // Cargar el documento PDF
 $pdf = Zend_Pdf::load($fileName);
 $pdf = Zend_Pdf::load($fileName);
@@ -42,6 +38,3 @@ $pdfString = $pdf->render();
     </example>
     </example>
 
 
 </sect1>
 </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 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.usage">
 <sect1 id="zend.pdf.usage">
     <title>Ejemplo de Uso del módulo Zend_Pdf</title>
     <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">
     <example id="zend.pdf.usage.example-1">
         <title>Demo de uso del módulo Zend_Pdf</title>
         <title>Demo de uso del módulo Zend_Pdf</title>
-         <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
 /**
  * @package Zend_Pdf
  * @package Zend_Pdf
  * @subpackage demo
  * @subpackage demo
@@ -266,6 +261,3 @@ if (isset($argv[2])) {
     </example>
     </example>
 
 
 </sect1>
 </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"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15103 -->
+<!-- EN-Revision: 17175 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.test.introduction">
 <sect1 id="zend.test.introduction">
     <title>Introducción</title>
     <title>Introducción</title>
 
 
     <para>
     <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>
 </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 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.tool.framework.clitool">
 <sect1 id="zend.tool.framework.clitool">
     <title>Usando la herramienta CLI</title>
     <title>Usando la herramienta CLI</title>
-    <para></para>
+    <para/>
     <!-- @todo -->
     <!-- @todo -->
 </sect1>
 </sect1>

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

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

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

@@ -5,13 +5,13 @@
     <title>Zend_Tool_Project Internos</title>
     <title>Zend_Tool_Project Internos</title>
     <sect2 id="zend.tool.project.internals.xml-structure">
     <sect2 id="zend.tool.project.internals.xml-structure">
         <title>Zend_Tool_Project Estructura Xml Interna</title>
         <title>Zend_Tool_Project Estructura Xml Interna</title>
-        <para></para>
+        <para/>
         <!-- @todo -->
         <!-- @todo -->
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.tool.project.internals.extending">
     <sect2 id="zend.tool.project.internals.extending">
         <title>Zend_Tool_Project Enxtensión Interna</title>
         <title>Zend_Tool_Project Enxtensión Interna</title>
-        <para></para>
+        <para/>
         <!-- @todo -->
         <!-- @todo -->
     </sect2>
     </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);
                                             true);
 ]]></programlisting>
 ]]></programlisting>
         Alternativamente, para activar o desactivar la validación MX puede pasar
         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>
 
 
     <para>
     <para>

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

@@ -6,22 +6,18 @@
     <title>Hostname (Nombre de Host)</title>
     <title>Hostname (Nombre de Host)</title>
 
 
     <para>
     <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>
     <para>
         <emphasis>Uso básico</emphasis>
         <emphasis>Uso básico</emphasis>
     </para>
     </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();
 $validator = new Zend_Validate_Hostname();
 if ($validator->isValid($hostname)) {
 if ($validator->isValid($hostname)) {
     // hostname parece ser válido
     // hostname parece ser válido
@@ -31,35 +27,30 @@ if ($validator->isValid($hostname)) {
         echo "$message\n";
         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>
     <para>
         <emphasis>Validar diferentes tipos de nombres de host</emphasis>
         <emphasis>Validar diferentes tipos de nombres de host</emphasis>
     </para>
     </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
         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);
 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP);
 if ($validator->isValid($hostname)) {
 if ($validator->isValid($hostname)) {
     // hostname parece ser válido
     // hostname parece ser válido
@@ -72,123 +63,98 @@ if ($validator->isValid($hostname)) {
 ]]></programlisting>
 ]]></programlisting>
     </para>
     </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 |
 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS |
                                         Zend_Validate_Hostname::ALLOW_IP);
                                         Zend_Validate_Hostname::ALLOW_IP);
 ]]></programlisting>
 ]]></programlisting>
-
     </para>
     </para>
 
 
     <para>
     <para>
         <emphasis>Validación de Nombres de Dominio Internacionales</emphasis>
         <emphasis>Validación de Nombres de Dominio Internacionales</emphasis>
     </para>
     </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>
         </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>
 
 
-    <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 =
 $validator =
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, false);
     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>
     <para>
         <emphasis>Validar dominios de nivel superior</emphasis>
         <emphasis>Validar dominios de nivel superior</emphasis>
     </para>
     </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 =
 $validator =
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS,
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS,
                                true,
                                true,
                                false);
                                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>
 </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">
     <sect2 id="zend.validate.set.alnum">
         <title>Alnum</title>
         <title>Alnum</title>
         <para>
         <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.
             caracteres alfanuméricos únicamente.
             Este validador incluye una opción para considerar también al espacio
             Este validador incluye una opción para considerar también al espacio
             en blanco como caracter válido.
             en blanco como caracter válido.
@@ -34,7 +34,7 @@
     <sect2 id="zend.validate.set.alpha">
     <sect2 id="zend.validate.set.alpha">
         <title>Alpha</title>
         <title>Alpha</title>
         <para>
         <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.
             contiene caracteres alfabéticos.
             Este validador incluye una opción para considerar también al espacio
             Este validador incluye una opción para considerar también al espacio
             en blanco como caracter válido.
             en blanco como caracter válido.
@@ -59,7 +59,7 @@
     <sect2 id="zend.validate.set.between">
     <sect2 id="zend.validate.set.between">
         <title>Between</title>
         <title>Between</title>
         <para>
         <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.
             los valores límites mínimo y máximo.
             La comparación es inclusiva por defecto (<methodname>$valor</methodname> puede ser
             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
             igual a una valor límite), aunque esto puede ser anulado a fin de
@@ -71,7 +71,7 @@
     <sect2 id="zend.validate.set.ccnum">
     <sect2 id="zend.validate.set.ccnum">
         <title>Ccnum</title>
         <title>Ccnum</title>
         <para>
         <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.
             algoritmo Luhn (mod-10 checksum) para tarjetas de crédito.
         </para>
         </para>
     </sect2>
     </sect2>
@@ -79,7 +79,7 @@
     <sect2 id="zend.validate.set.date">
     <sect2 id="zend.validate.set.date">
         <title>Date</title>
         <title>Date</title>
         <para>
         <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).
             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
             Si se usa la opción <methodname>locale</methodname> entonces la fecha
             será validada de acuerdo a lo establecido para ese locale.
             será validada de acuerdo a lo establecido para ese locale.
@@ -95,7 +95,7 @@
     <sect2 id="zend.validate.set.digits">
     <sect2 id="zend.validate.set.digits">
         <title>Digits</title>
         <title>Digits</title>
         <para>
         <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.
             solamente dígitos.
         </para>
         </para>
     </sect2>
     </sect2>
@@ -106,7 +106,7 @@
     <sect2 id="zend.validate.set.float">
     <sect2 id="zend.validate.set.float">
         <title>Float</title>
         <title>Float</title>
         <para>
         <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. 
             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             
             Puede usar get/setLocale para cambiar la configuracion regional o crear una instancia para este validador             
         </para>
         </para>
@@ -116,7 +116,7 @@
     <sect2 id="zend.validate.set.greater_than">
     <sect2 id="zend.validate.set.greater_than">
         <title>GreaterThan</title>
         <title>GreaterThan</title>
         <para>
         <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.
             al límite mínimo.
         </para>
         </para>
     </sect2>
     </sect2>
@@ -124,7 +124,7 @@
     <sect2 id="zend.validate.set.hex">
     <sect2 id="zend.validate.set.hex">
         <title>Hex</title>
         <title>Hex</title>
         <para>
         <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).
             caracteres hexadecimales (0-9 y A-F).
         </para>
         </para>
     </sect2>
     </sect2>
@@ -135,7 +135,7 @@
     <sect2 id="zend.validate.set.iban">
     <sect2 id="zend.validate.set.iban">
         <title>Iban</title>
         <title>Iban</title>
         <para>
         <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
             (International Bank Account Number). IBAN numbers are validated against the country where they are
             used and by a checksum.
             used and by a checksum.
         </para>
         </para>
@@ -181,7 +181,7 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.in_array">
     <sect2 id="zend.validate.set.in_array">
         <title>InArray</title>
         <title>InArray</title>
         <para>
         <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á
             en un array, y si la opción es estricta entonces también verificará
             el tipo de dato de <methodname>$valor</methodname>.
             el tipo de dato de <methodname>$valor</methodname>.
         </para>
         </para>
@@ -191,7 +191,7 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.int">
     <sect2 id="zend.validate.set.int">
         <title>Int</title>
         <title>Int</title>
         <para>
         <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,
             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
             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.
             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">
        <sect2 id="zend.validate.set.ip">
         <title>Ip</title>
         <title>Ip</title>
         <para>
         <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>
         </para>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.validate.set.less_than">
     <sect2 id="zend.validate.set.less_than">
         <title>LessThan</title>
         <title>LessThan</title>
         <para>
         <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.
             al límite máximo.
         </para>
         </para>
     </sect2>
     </sect2>
@@ -216,14 +216,14 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.not_empty">
     <sect2 id="zend.validate.set.not_empty">
         <title>NotEmpty</title>
         <title>NotEmpty</title>
         <para>
         <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>
         </para>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.validate.set.regex">
     <sect2 id="zend.validate.set.regex">
         <title>Regex</title>
         <title>Regex</title>
         <para>
         <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.
             con el patrón de una expresión regular.
         </para>
         </para>
     </sect2>
     </sect2>
@@ -235,7 +235,7 @@ if ($validator->isValid($iban)) {
     <sect2 id="zend.validate.set.string_length">
     <sect2 id="zend.validate.set.string_length">
         <title>StringLength</title>
         <title>StringLength</title>
         <para>
         <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
             es por lo menos un mínimo y no mayor a un máximo
             (cuando la opción max no es <constant>NULL</constant>).
             (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
             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>
     <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
 // Crea una cadena de validadores y le agrega validadores
 $validatorChain = new Zend_Validate();
 $validatorChain = new Zend_Validate();
 $validatorChain->addValidator(new Zend_Validate_StringLength(6, 12))
 $validatorChain->addValidator(new Zend_Validate_StringLength(6, 12))
@@ -27,44 +24,35 @@ if ($validatorChain->isValid($username)) {
         echo "$message\n";
         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)
 $validatorChain->addValidator(new Zend_Validate_StringLength(6, 12), true)
         ->addValidator(new Zend_Validate_Alnum());
         ->addValidator(new Zend_Validate_Alnum());
 ]]></programlisting>
 ]]></programlisting>
-
     </para>
     </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>
 </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
         <methodname>isValid()</methodname> y definir las variables y plantillas de mensajes
         que correspondan a los tipos de fallos de validación que puedan suceder.
         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>
         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>
         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>
 
 
     <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
             Tenga en cuenta que si cualquiera de las comprobaciones de validación
             falla en <methodname>isValid()</methodname>, ya está preparado un mensaje apropiado,
             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.
             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
             Es decir, si uno de los tests falla, no hay necesidad de poner a
             prueba las posteriores reglas de validación.
             prueba las posteriores reglas de validación.
@@ -278,7 +278,7 @@ class MyValid_PasswordStrength extends Zend_Validate_Abstract
 ]]></programlisting>
 ]]></programlisting>
 
 
             Las cuatro pruebas de criterio en <methodname>isValid()</methodname> no devuelven
             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>
             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
             las razones por las que la contraseña de entrada no cumplió los requisitos
             de validación.
             de validación.

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

@@ -49,7 +49,7 @@
         </para>
         </para>
 
 
         <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
             <methodname>getMessages()</methodname> devuelve un array de mensajes explicando
             el motivo(s) del fracaso de la validación. Las claves del array son
             el motivo(s) del fracaso de la validación. Las claves del array son
             strings cortos que identifican las razones por las cuales fracasó
             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">
     <sect2 id="zend.xmlrpc.client.introduction">
         <title>Introdución</title>
         <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>
     </sect2>
 
 
@@ -21,22 +21,23 @@
     <sect2 id="zend.xmlrpc.client.method-calls">
     <sect2 id="zend.xmlrpc.client.method-calls">
         <title>Method Calls</title>
         <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">
         <example id="zend.xmlrpc.client.method-calls.example-1">
             <title>XML-RPC Method Call</title>
             <title>XML-RPC Method Call</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 
 echo $client->call('test.sayHello');
 echo $client->call('test.sayHello');
@@ -45,21 +46,22 @@ echo $client->call('test.sayHello');
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </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">
         <example id="zend.xmlrpc.client.method-calls.example-2">
             <title>XML-RPC Method Call with Parameters</title>
             <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');
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 
 $arg1 = 1.1;
 $arg1 = 1.1;
@@ -71,47 +73,50 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </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>
 
 
     <sect2 id="zend.xmlrpc.value.parameters">
     <sect2 id="zend.xmlrpc.value.parameters">
         <title>Tipos y Conversiones</title>
         <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">
         <sect3 id="zend.xmlrpc.value.parameters.php-native">
             <title>Tipos Nativos PHP como Parámetro</title>
             <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">
             <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">
                 <tgroup cols="2">
                     <thead>
                     <thead>
                         <row>
                         <row>
@@ -155,32 +160,30 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
             <note>
             <note>
                 <title>¿A qué tipo se convierten los arrays Vacios?</title>
                 <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
                     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);
 $client->setSkipSystemLookup(true);
 $result = $client->call('foo.bar', array(array()));
 $result = $client->call('foo.bar', array(array()));
 ]]></programlisting>
 ]]></programlisting>
@@ -188,98 +191,128 @@ $result = $client->call('foo.bar', array(array()));
         </sect3>
         </sect3>
 
 
         <sect3 id="zend.xmlrpc.value.parameters.xmlrpc-value">
         <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>
                     <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>
                     <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>
                     <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>
                     </listitem>
                 </itemizedlist>
                 </itemizedlist>
             </para>
             </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">
             <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">
                 <tgroup cols="3">
                     <thead>
                     <thead>
                         <row>
                         <row>
                             <entry>XML-RPC Type</entry>
                             <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>
                         </row>
                     </thead>
                     </thead>
                     <tbody>
                     <tbody>
                         <row>
                         <row>
                             <entry>int</entry>
                             <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>
                         <row>
                         <row>
                             <entry>double</entry>
                             <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>
                         <row>
                         <row>
                             <entry>boolean</entry>
                             <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>
                         <row>
                         <row>
                             <entry>string</entry>
                             <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>
                         <row>
                         <row>
                             <entry>base64</entry>
                             <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>
                         <row>
                         <row>
                             <entry>dateTime.iso8601</entry>
                             <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>
                         <row>
                         <row>
                             <entry>array</entry>
                             <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>
                         <row>
                         <row>
                             <entry>struct</entry>
                             <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>
                         </row>
                     </tbody>
                     </tbody>
                 </tgroup>
                 </tgroup>
@@ -288,15 +321,14 @@ $result = $client->call('foo.bar', array(array()));
             <para>
             <para>
                 <note>
                 <note>
                     <title>Automatic Conversion</title>
                     <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
                         object, it will be converted using
-                        <methodname>(int)$value</methodname>.
-                    </para>
+                            <methodname>(int)$value</methodname>. </para>
                 </note>
                 </note>
             </para>
             </para>
         </sect3>
         </sect3>
@@ -304,25 +336,22 @@ $result = $client->call('foo.bar', array(array()));
 
 
     <sect2 id="zend.xmlrpc.client.requests-and-responses">
     <sect2 id="zend.xmlrpc.client.requests-and-responses">
         <title>Server Proxy Object</title>
         <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">
         <example id="zend.xmlrpc.client.requests-and-responses.example-1">
             <title>Proxy the Default Namespace</title>
             <title>Proxy the Default Namespace</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 
 $server = $client->getProxy();           // Proxy the default namespace
 $server = $client->getProxy();           // Proxy the default namespace
@@ -331,17 +360,15 @@ $hello = $server->test->sayHello(1, 2);  // test.Hello(1, 2) returns "hello"
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </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">
         <example id="zend.xmlrpc.client.requests-and-responses.example-2">
             <title>Proxy Any Namespace</title>
             <title>Proxy Any Namespace</title>
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 
 $test  = $client->getProxy('test');     // Proxy the "test" namespace
 $test  = $client->getProxy('test');     // Proxy the "test" namespace
@@ -350,38 +377,35 @@ $hello = $test->sayHello(1, 2);         // test.Hello(1,2) returns "hello"
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </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>
         </para>
     </sect2>
     </sect2>
 
 
 
 
     <sect2 id="zend.xmlrpc.client.error-handling">
     <sect2 id="zend.xmlrpc.client.error-handling">
         <title>Error Handling</title>
         <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">
         <sect3 id="zend.xmlrpc.client.error-handling.http">
             <title>HTTP Errors</title>
             <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
                 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">
             <example id="zend.xmlrpc.client.error-handling.http.example-1">
                 <title>Handling HTTP Errors</title>
                 <title>Handling HTTP Errors</title>
 
 
-                 <programlisting language="php"><![CDATA[
+                <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://foo/404');
 $client = new Zend_XmlRpc_Client('http://foo/404');
 
 
 try {
 try {
@@ -397,37 +421,34 @@ try {
 ]]></programlisting>
 ]]></programlisting>
             </example>
             </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>
 
 
         <sect3 id="zend.xmlrpc.client.error-handling.faults">
         <sect3 id="zend.xmlrpc.client.error-handling.faults">
             <title>XML-RPC Faults</title>
             <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">
             <example id="zend.xmlrpc.client.error-handling.faults.example-1">
                 <title>Handling XML-RPC Faults</title>
                 <title>Handling XML-RPC Faults</title>
 
 
-                 <programlisting language="php"><![CDATA[
+                <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 
 try {
 try {
@@ -443,57 +464,56 @@ try {
 ]]></programlisting>
 ]]></programlisting>
             </example>
             </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>
         </sect3>
 
 
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.xmlrpc.client.introspection">
     <sect2 id="zend.xmlrpc.client.introspection">
         <title>Server Introspection</title>
         <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>
 
 
     <sect2 id="zend.xmlrpc.client.request-to-response">
     <sect2 id="zend.xmlrpc.client.request-to-response">
         <title>From Request to Response</title>
         <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">
         <example id="zend.xmlrpc.client.request-to-response.example-1">
             <title>Processing Request to Response</title>
             <title>Processing Request to Response</title>
 
 
-             <programlisting language="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
 
 $request = new Zend_XmlRpc_Request();
 $request = new Zend_XmlRpc_Request();
@@ -507,43 +527,36 @@ $client->doRequest($request);
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </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>
 
 
     <sect2 id="zend.xmlrpc.client.http-client">
     <sect2 id="zend.xmlrpc.client.http-client">
         <title>HTTP Client and Testing</title>
         <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
             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>
     </sect2>
 
 
 </sect1>
 </sect1>
-<!--
-vim:se ts=4 sw=4 et:
--->

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů