Sfoglia il codice sorgente

[MANUAL] English:

- structural fixes (no translations needed)

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20765 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 anni fa
parent
commit
b449697ea8
37 ha cambiato i file con 1930 aggiunte e 1374 eliminazioni
  1. 485 384
      documentation/manual/en/module_specs/Zend_Cache-Backends.xml
  2. 478 384
      documentation/manual/en/module_specs/Zend_Cache-Frontends.xml
  3. 31 16
      documentation/manual/en/module_specs/Zend_Cache-Introduction.xml
  4. 52 21
      documentation/manual/en/module_specs/Zend_Cache-Theory.xml
  5. 161 124
      documentation/manual/en/module_specs/Zend_Captcha-Adapters.xml
  6. 1 1
      documentation/manual/en/module_specs/Zend_Captcha-Operation.xml
  7. 4 3
      documentation/manual/en/module_specs/Zend_CodeGenerator-Examples.xml
  8. 0 1
      documentation/manual/en/module_specs/Zend_CodeGenerator-Reference.xml
  9. 11 0
      documentation/manual/en/module_specs/Zend_Config-Introduction.xml
  10. 57 47
      documentation/manual/en/module_specs/Zend_Config_Ini.xml
  11. 8 0
      documentation/manual/en/module_specs/Zend_Config_Writer.xml
  12. 21 2
      documentation/manual/en/module_specs/Zend_Config_Xml.xml
  13. 32 1
      documentation/manual/en/module_specs/Zend_Console_Getopt-Configuration.xml
  14. 26 1
      documentation/manual/en/module_specs/Zend_Console_Getopt-Fetching.xml
  15. 14 0
      documentation/manual/en/module_specs/Zend_Console_Getopt-Introduction.xml
  16. 18 1
      documentation/manual/en/module_specs/Zend_Console_Getopt-Rules.xml
  17. 11 7
      documentation/manual/en/module_specs/Zend_Controller-ActionController.xml
  18. 0 1
      documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-ActionStack.xml
  19. 28 24
      documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-AutoComplete.xml
  20. 148 89
      documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-ContextSwitch.xml
  21. 2 1
      documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-FlashMessenger.xml
  22. 16 8
      documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-Json.xml
  23. 16 9
      documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-ViewRenderer.xml
  24. 1 0
      documentation/manual/en/module_specs/Zend_Controller-ActionHelpers.xml
  25. 147 147
      documentation/manual/en/module_specs/Zend_Controller-Basics.xml
  26. 1 1
      documentation/manual/en/module_specs/Zend_Controller-Exceptions.xml
  27. 9 5
      documentation/manual/en/module_specs/Zend_Controller-Modular.xml
  28. 16 8
      documentation/manual/en/module_specs/Zend_Controller-Plugins-ActionStack.xml
  29. 6 6
      documentation/manual/en/module_specs/Zend_Controller-Plugins-ErrorHandler.xml
  30. 0 1
      documentation/manual/en/module_specs/Zend_Controller-Plugins-PutHandler.xml
  31. 12 6
      documentation/manual/en/module_specs/Zend_Controller-Plugins.xml
  32. 4 1
      documentation/manual/en/module_specs/Zend_Controller-QuickStart.xml
  33. 41 27
      documentation/manual/en/module_specs/Zend_Controller-Request.xml
  34. 2 0
      documentation/manual/en/module_specs/Zend_Controller-Router-Route-Chain.xml
  35. 53 44
      documentation/manual/en/module_specs/Zend_Controller-Router-Route-Rest.xml
  36. 7 1
      documentation/manual/en/module_specs/Zend_Controller-Router-Route.xml
  37. 11 2
      documentation/manual/en/module_specs/Zend_Controller-Router.xml

+ 485 - 384
documentation/manual/en/module_specs/Zend_Cache-Backends.xml

@@ -2,171 +2,197 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.cache.backends">
     <title>Zend_Cache Backends</title>
+
     <para>
         There are two kinds of backends: standard ones and extended ones. Of course, extended
         backends offer more features.
     </para>
+
     <sect2 id="zend.cache.backends.file">
         <title>Zend_Cache_Backend_File</title>
+
         <para>
             This (extended) backends stores cache records into files (in a choosen directory).
         </para>
+
         <para>
             Available options are :
         </para>
+
         <table id="zend.cache.backends.file.table">
             <title>File Backend Options</title>
+
             <tgroup cols="4">
-                 <thead>
-                      <row>
+                <thead>
+                    <row>
                         <entry>Option</entry>
                         <entry>Data Type</entry>
                         <entry>Default Value</entry>
                         <entry>Description</entry>
                     </row>
-                 </thead>
-                 <tbody>
-                      <row>
-                          <entry><emphasis>cache_dir</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>'<filename>/tmp/</filename>'</entry>
-                          <entry>
-                              Directory where to store cache files
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>file_locking</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>TRUE</constant></entry>
-                          <entry>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>cache_dir</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>'<filename>/tmp/</filename>'</entry>
+                        <entry>Directory where to store cache files</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>file_locking</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+
+                        <entry>
                             Enable or disable file_locking : Can avoid cache corruption under
                             bad circumstances but it doesn't help on multithread webservers
                             or on <acronym>NFS</acronym> filesystems...
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>read_control</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>TRUE</constant></entry>
-                          <entry>
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>read_control</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+
+                        <entry>
                             Enable / disable read control : if enabled, a control key is
                             embedded in the cache file and this key is compared with the
                             one calculated after the reading.
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>read_control_type</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>'crc32'</entry>
-                          <entry>
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>read_control_type</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>'crc32'</entry>
+
+                        <entry>
                             Type of read control (only if read control is enabled). Available values
                             are : 'md5' (best but slowest), 'crc32' (lightly less safe but faster,
                             better choice), 'adler32' (new choice, faster than crc32),
                             'strlen' for a length only test (fastest).
                         </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>hashed_directory_level</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>0</entry>
-                          <entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>hashed_directory_level</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0</entry>
+
+                        <entry>
                             Hashed directory structure level : 0 means "no hashed directory
-                             structure", 1 means "one level of directory", 2 means "two levels"...
-                             This option can speed up the cache only when you have many thousands of
-                             cache files. Only specific benchs can help you to choose the perfect
-                             value for you. Maybe, 1 or 2 is a good start.
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>hashed_directory_umask</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>0700</entry>
-                          <entry>
-                              Umask for the hashed directory structure
+                            structure", 1 means "one level of directory", 2 means "two levels"...
+                            This option can speed up the cache only when you have many thousands of
+                            cache files. Only specific benchs can help you to choose the perfect
+                            value for you. Maybe, 1 or 2 is a good start.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>hashed_directory_umask</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0700</entry>
+                        <entry>Umask for the hashed directory structure</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>file_name_prefix</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>'zend_cache'</entry>
+
+                        <entry>
+                            prefix for cache files ; be really careful with this option because
+                            a too generic value in a system cache dir
+                            (like <filename>/tmp</filename>) can cause disasters when cleaning
+                            the cache
                         </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>file_name_prefix</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>'zend_cache'</entry>
-                          <entry>
-                              prefix for cache files ; be really careful with this option because
-                              a too generic value in a system cache dir
-                              (like <filename>/tmp</filename>) can cause disasters when cleaning
-                              the cache
+                    </row>
+
+                    <row>
+                        <entry><emphasis>cache_file_umask</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0700</entry>
+                        <entry>umask for cache files</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>100</entry>
+
+                        <entry>
+                            internal max size for the metadatas array (don't change this value
+                            unless you know what you are doing)
                         </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>cache_file_umask</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>0700</entry>
-                          <entry>
-                              umask for cache files
-                          </entry>
-                      </row>
-                       <row>
-                          <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>100</entry>
-                          <entry>
-                              internal max size for the metadatas array (don't change this value
-                              unless you know what you are doing)
-                          </entry>
-                      </row>
-                  </tbody>
-              </tgroup>
-          </table>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
     </sect2>
+
     <sect2 id="zend.cache.backends.sqlite">
         <title>Zend_Cache_Backend_Sqlite</title>
+
         <para>
             This (extended) backends stores cache records into a SQLite database.
         </para>
+
         <para>
             Available options are :
         </para>
+
         <table id="zend.cache.backends.sqlite.table">
             <title>Sqlite Backend Options</title>
+
             <tgroup cols="4">
-                 <thead>
-                      <row>
-                           <entry>Option</entry>
+                <thead>
+                    <row>
+                        <entry>Option</entry>
                         <entry>Data Type</entry>
                         <entry>Default Value</entry>
                         <entry>Description</entry>
                     </row>
-                 </thead>
-                 <tbody>
-                      <row>
-                          <entry><emphasis>cache_db_complete_path (mandatory)</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry><constant>NULL</constant></entry>
-                          <entry>
-                              The complete path (filename included) of the SQLite database
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>10</entry>
-                          <entry>
-                              Disable / Tune the automatic vacuum process. The automatic vacuum
-                              process defragment the database file (and make it smaller) when a
-                              <methodname>clean()</methodname> or <methodname>delete()</methodname>
-                              is called: 0 means no automatic vacuum ; 1 means systematic vacuum
-                              (when <methodname>delete()</methodname> or
-                              <methodname>clean()</methodname> methods are called) ; x (integer) >
-                              1 => automatic vacuum randomly 1 times on x
-                              <methodname>clean()</methodname> or
-                              <methodname>delete()</methodname>.
-                          </entry>
-                      </row>
-                  </tbody>
-              </tgroup>
-          </table>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>cache_db_complete_path (mandatory)</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry><constant>NULL</constant></entry>
+
+                        <entry>
+                            The complete path (filename included) of the SQLite database
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>10</entry>
+
+                        <entry>
+                            Disable / Tune the automatic vacuum process. The automatic vacuum
+                            process defragment the database file (and make it smaller) when a
+                            <methodname>clean()</methodname> or <methodname>delete()</methodname>
+                            is called: 0 means no automatic vacuum ; 1 means systematic vacuum
+                            (when <methodname>delete()</methodname> or
+                            <methodname>clean()</methodname> methods are called) ; x (integer) >
+                            1 => automatic vacuum randomly 1 times on x
+                            <methodname>clean()</methodname> or
+                            <methodname>delete()</methodname>.
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
     </sect2>
+
     <sect2 id="zend.cache.backends.memcached">
         <title>Zend_Cache_Backend_Memcached</title>
+
         <para>
             This (extended) backends stores cache records into a memcached server. <ulink
                 url="http://www.danga.com/memcached/">memcached</ulink> is a high-performance,
@@ -174,310 +200,364 @@
             daemon and <ulink url="http://pecl.php.net/package/memcache">the memcache
                 <acronym>PECL</acronym> extension</ulink>.
         </para>
+
         <para>
             Be careful : with this backend, "tags" are not supported for the moment as
             the "doNotTestCacheValidity=true" argument.
         </para>
+
         <para>
             Available options are :
         </para>
+
         <table id="zend.cache.backends.memcached.table">
             <title>Memcached Backend Options</title>
+
             <tgroup cols="4">
-                 <thead>
-                      <row>
+                <thead>
+                    <row>
                         <entry>Option</entry>
                         <entry>Data Type</entry>
                         <entry>Default Value</entry>
                         <entry>Description</entry>
                     </row>
-                 </thead>
-                 <tbody>
-                      <row>
-                          <entry><emphasis>servers</emphasis></entry>
-                          <entry><type>Array</type></entry>
-                          <entry>
-                              <command>array(array('host' => 'localhost', 'port' => 11211,
-                                  'persistent' => true, 'weight' => 1, 'timeout' => 5,
-                                  'retry_interval' => 15, 'status' => true,
-                                  'failure_callback' => '' ))</command>
-                          </entry>
-                          <entry>
-                              An array of memcached servers ; each memcached server is described by
-                              an associative array : 'host' => (string) : the name of the memcached
-                              server, 'port' => (int) : the port of the memcached server,
-                              'persistent' => (bool) : use or not persistent connections to this
-                              memcached server 'weight' => (int) :the weight of the memcached
-                              server, 'timeout' => (int) :the time out of the memcached server,
-                              'retry_interval' => (int) :the retry interval of the memcached server,
-                              'status' => (bool) :the status of the memcached server,
-                              'failure_callback' => (callback) : the failure_callback of the
-                              memcached server
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>compression</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>FALSE</constant></entry>
-                          <entry>
-                             <constant>TRUE</constant> if you want to use on-the-fly compression
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>compatibility</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>FALSE</constant></entry>
-                          <entry>
-                             <constant>TRUE</constant> if you want to use this compatibility mode
-                             with old memcache servers or extensions
-                          </entry>
-                      </row>
-                  </tbody>
-              </tgroup>
-          </table>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>servers</emphasis></entry>
+                        <entry><type>Array</type></entry>
+
+                        <entry>
+                            <command>array(array('host' => 'localhost', 'port' => 11211,
+                                'persistent' => true, 'weight' => 1, 'timeout' => 5,
+                                'retry_interval' => 15, 'status' => true,
+                                'failure_callback' => '' ))</command>
+                        </entry>
+
+                        <entry>
+                            An array of memcached servers ; each memcached server is described by
+                            an associative array : 'host' => (string) : the name of the memcached
+                            server, 'port' => (int) : the port of the memcached server,
+                            'persistent' => (bool) : use or not persistent connections to this
+                            memcached server 'weight' => (int) :the weight of the memcached
+                            server, 'timeout' => (int) :the time out of the memcached server,
+                            'retry_interval' => (int) :the retry interval of the memcached server,
+                            'status' => (bool) :the status of the memcached server,
+                            'failure_callback' => (callback) : the failure_callback of the
+                            memcached server
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>compression</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            <constant>TRUE</constant> if you want to use on-the-fly compression
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>compatibility</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            <constant>TRUE</constant> if you want to use this compatibility mode
+                            with old memcache servers or extensions
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
     </sect2>
+
     <sect2 id="zend.cache.backends.apc">
         <title>Zend_Cache_Backend_Apc</title>
+
         <para>
             This (extended) backends stores cache records in shared memory through
             the <ulink url="http://pecl.php.net/package/APC">APC</ulink> (Alternative
             <acronym>PHP</acronym> Cache) extension (which is of course need for using this
             backend).
         </para>
+
         <para>
             Be careful : with this backend, "tags" are not supported for the moment as
             the "doNotTestCacheValidity=true" argument.
         </para>
+
         <para>
             There is no option for this backend.
         </para>
     </sect2>
+
     <sect2 id="zend.cache.backends.xcache">
         <title>Zend_Cache_Backend_Xcache</title>
+
         <para>
             This backends stores cache records in shared memory through
             the <ulink url="http://xcache.lighttpd.net/">XCache</ulink> extension
             (which is of course need for using this backend).
         </para>
+
         <para>
             Be careful : with this backend, "tags" are not supported for the moment as
             the "doNotTestCacheValidity=true" argument.
         </para>
+
         <para>
             Available options are :
         </para>
+
         <table id="zend.cache.backends.xcache.table">
             <title>Xcache Backend Options</title>
+
             <tgroup cols="4">
-                 <thead>
-                      <row>
+                <thead>
+                    <row>
                         <entry>Option</entry>
                         <entry>Data Type</entry>
                         <entry>Default Value</entry>
                         <entry>Description</entry>
                     </row>
-                 </thead>
-                 <tbody>
-                      <row>
-                          <entry><emphasis>user</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry><constant>NULL</constant></entry>
-                          <entry>
-                              <filename>xcache.admin.user</filename>, necessary for the
-                              <methodname>clean()</methodname> method
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>password</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry><constant>NULL</constant></entry>
-                          <entry>
-                              <filename>xcache.admin.pass</filename> (in clear form, not
-                              <acronym>MD5</acronym>), necessary for the
-                              <methodname>clean()</methodname> method
-                          </entry>
-                      </row>
-                  </tbody>
-              </tgroup>
-          </table>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>user</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry><constant>NULL</constant></entry>
+
+                        <entry>
+                            <filename>xcache.admin.user</filename>, necessary for the
+                            <methodname>clean()</methodname> method
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>password</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry><constant>NULL</constant></entry>
+
+                        <entry>
+                            <filename>xcache.admin.pass</filename> (in clear form, not
+                            <acronym>MD5</acronym>), necessary for the
+                            <methodname>clean()</methodname> method
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
     </sect2>
+
     <sect2 id="zend.cache.backends.platform">
         <title>Zend_Cache_Backend_ZendPlatform</title>
+
         <para>
             This backend uses content caching <acronym>API</acronym> of the <ulink
                 url="http://www.zend.com/en/products/platform/">Zend Platform</ulink> product.
             Naturally, to use this backend you need to have Zend Platform installed.
         </para>
+
         <para>
             This backend supports tags, but does not support
             <constant>CLEANING_MODE_NOT_MATCHING_TAG</constant> cleaning mode.
         </para>
+
         <para>
             Specify this backend using a word separator -- '-', '.', ' ', or '_'
             -- between the words 'Zend' and 'Platform' when using the
             <methodname>Zend_Cache::factory()</methodname> method:
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache = Zend_Cache::factory('Core', 'Zend Platform');
 ]]></programlisting>
+
         <para>
             There are no options for this backend.
         </para>
     </sect2>
+
     <sect2 id="zend.cache.backends.twolevels">
         <title>Zend_Cache_Backend_TwoLevels</title>
+
         <para>
             This (extend) backend is an hybrid one. It stores cache records in two other backends :
             a fast one (but limited) like Apc, Memcache... and a "slow" one like File, Sqlite...
         </para>
+
         <para>
             This backend will use the priority parameter (given at the frontend level when storing a
             record) and the remaining space in the fast backend to optimize the usage of these two
             backends.
         </para>
+
         <para>
             Specify this backend using a word separator -- '-', '.', ' ', or '_'
             -- between the words 'Two' and 'Levels' when using the
             <methodname>Zend_Cache::factory()</methodname> method:
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache = Zend_Cache::factory('Core', 'Two Levels');
 ]]></programlisting>
+
         <para>
             Available options are :
         </para>
+
         <table id="zend.cache.backends.twolevels.table">
             <title>TwoLevels Backend Options</title>
+
             <tgroup cols="4">
-                 <thead>
-                      <row>
+                <thead>
+                    <row>
                         <entry>Option</entry>
                         <entry>Data Type</entry>
                         <entry>Default Value</entry>
                         <entry>Description</entry>
                     </row>
-                 </thead>
-                 <tbody>
-                      <row>
-                          <entry><emphasis>slow_backend</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>File</entry>
-                          <entry>
-                              the "slow" backend name
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>fast_backend</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>Apc</entry>
-                          <entry>
-                              the "fast" backend name
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>slow_backend_options</emphasis></entry>
-                          <entry><type>Array</type></entry>
-                          <entry><methodname>array()</methodname></entry>
-                          <entry>
-                              the "slow" backend options
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>fast_backend_options</emphasis></entry>
-                          <entry><type>Array</type></entry>
-                          <entry><methodname>array()</methodname></entry>
-                          <entry>
-                              the "fast" backend options
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>FALSE</constant></entry>
-                          <entry>
-                              if <constant>TRUE</constant>, the slow_backend argument is used as a
-                              complete class name; if <constant>FALSE</constant>,
-                              the frontend argument is used as the end of
-                              "<classname>Zend_Cache_Backend_</classname>[...]" class name
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>FALSE</constant></entry>
-                          <entry>
-                              if <constant>TRUE</constant>, the fast_backend argument is used as a
-                              complete class name; if <constant>FALSE</constant>,
-                              the frontend argument is used as the end of
-                              "<classname>Zend_Cache_Backend_</classname>[...]" class name
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>slow_backend_autoload</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>FALSE</constant></entry>
-                          <entry>
-                              if <constant>TRUE</constant>, there will no require_once for the
-                              slow backend (useful only for custom backends)
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>fast_backend_autoload</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>FALSE</constant></entry>
-                          <entry>
-                              if <constant>TRUE</constant>, there will no require_once for the fast
-                              backend (useful only for custom backends)
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>TRUE</constant></entry>
-                          <entry>
-                              if <constant>TRUE</constant>, auto refresh the fast cache when a
-                              cache record is hit
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>stats_update_factor</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>10</entry>
-                          <entry>
-                              disable / tune the computation of the fast backend filling percentage
-                              (when saving a record into cache, computation of the fast backend
-                              filling percentage randomly 1 times on x cache writes)
-                          </entry>
-                      </row>
-                  </tbody>
-              </tgroup>
-          </table>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>slow_backend</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>File</entry>
+                        <entry>the "slow" backend name</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>fast_backend</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>Apc</entry>
+                        <entry>the "fast" backend name</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>slow_backend_options</emphasis></entry>
+                        <entry><type>Array</type></entry>
+                        <entry><methodname>array()</methodname></entry>
+                        <entry>the "slow" backend options</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>fast_backend_options</emphasis></entry>
+                        <entry><type>Array</type></entry>
+                        <entry><methodname>array()</methodname></entry>
+                        <entry>the "fast" backend options</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            if <constant>TRUE</constant>, the slow_backend argument is used as a
+                            complete class name; if <constant>FALSE</constant>,
+                            the frontend argument is used as the end of
+                            "<classname>Zend_Cache_Backend_</classname>[...]" class name
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            if <constant>TRUE</constant>, the fast_backend argument is used as a
+                            complete class name; if <constant>FALSE</constant>,
+                            the frontend argument is used as the end of
+                            "<classname>Zend_Cache_Backend_</classname>[...]" class name
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>slow_backend_autoload</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            if <constant>TRUE</constant>, there will no require_once for the
+                            slow backend (useful only for custom backends)
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>fast_backend_autoload</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            if <constant>TRUE</constant>, there will no require_once for the fast
+                            backend (useful only for custom backends)
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+
+                        <entry>
+                            if <constant>TRUE</constant>, auto refresh the fast cache when a
+                            cache record is hit
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>stats_update_factor</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>10</entry>
+
+                        <entry>
+                            disable / tune the computation of the fast backend filling percentage
+                            (when saving a record into cache, computation of the fast backend
+                            filling percentage randomly 1 times on x cache writes)
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
     </sect2>
+
     <sect2 id="zend.cache.backends.zendserver">
         <title>Zend_Cache_Backend_ZendServer_Disk and Zend_Cache_Backend_ZendServer_ShMem</title>
+
         <para>
             These backends store cache records using <ulink
                 url="http://www.zend.com/en/products/server/downloads-all?zfs=zf_download">Zend
                 Server</ulink> caching functionality.
         </para>
+
         <para>
              Be careful: with these backends, "tags" are not supported for the moment as the
              "doNotTestCacheValidity=true" argument.
         </para>
+
         <para>
              These backend work only withing Zend Server environment for pages requested through
              <acronym>HTTP</acronym> or <acronym>HTTPS</acronym> and don't work for command line
              script execution
         </para>
+
         <para>
             Specify this backend using parameter <emphasis>customBackendNaming</emphasis> as
             <constant>TRUE</constant> when using the <methodname>Zend_Cache::factory()</methodname>
             method:
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
                              $frontendOptions, $backendOptions, false, true);
 ]]></programlisting>
+
         <para>
             There is no option for this backend.
         </para>
@@ -485,12 +565,14 @@ $cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
 
     <sect2 id="zend.cache.backends.static">
         <title>Zend_Cache_Backend_Static</title>
+
         <para>
             This backend works in concert with <classname>Zend_Cache_Frontend_Capture</classname>
             (the two must be used together) to save the output from requests as static files. This
             means the static files are served directly on subsequent requests without any
             involvement of <acronym>PHP</acronym> or Zend Framework at all.
         </para>
+
         <para>
             The benefits of this cache include a large throughput increase since
             all subsequent requests return the static file and don't need any
@@ -502,6 +584,7 @@ $cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
             getting more performance without incurring the cost of a proxy on
             single machines.
         </para>
+
         <para>
             Before describing its options, you should note this needs some
             changes to the default <filename>.htaccess</filename> file in order for requests to be
@@ -510,6 +593,7 @@ $cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
             feeds which need additional treatment to serve a correct
             Content-Type header:
         </para>
+
         <programlisting language="text"><![CDATA[
 AddType application/rss+xml .xml
 AddType application/atom+xml .xml
@@ -536,11 +620,13 @@ RewriteRule ^.*$ - [NC,L]
 
 RewriteRule ^.*$ index.php [NC,L]
 ]]></programlisting>
+
         <para>
             The above assumes static files are cached to the directory
             <filename>./public/cached</filename>. We'll cover the option setting this location,
             "public_dir", below.
         </para>
+
         <para>
             Due to the nature of static file caching, the backend class offers two additional
             methods: <methodname>remove()</methodname> and
@@ -553,6 +639,7 @@ RewriteRule ^.*$ index.php [NC,L]
             is calculated by applying <methodname>bin2hex()</methodname> to a request
             <acronym>URI</acronym>.
         </para>
+
         <para>
             Given the level at which static caching operates, static file caching is addressed for
             simpler use with the <classname>Zend_Controller_Action_Helper_Cache</classname> action
@@ -564,138 +651,152 @@ RewriteRule ^.*$ index.php [NC,L]
             "page"). The defaults therein can be configured as needed to set up a "public_dir"
             location for caching, etc.
         </para>
+
         <note>
             <para>
                 It should be noted that the static cache actually uses a secondary cache to store
                 tags (obviously we can't store them elsewhere since a static cache does not invoke
-                <acronym>PHP</acronym> if working correctly). This is just a standard Core cache, and
-                should use a persistent backend such as File or TwoLevels (to take advantage of
+                <acronym>PHP</acronym> if working correctly). This is just a standard Core cache,
+                and should use a persistent backend such as File or TwoLevels (to take advantage of
                 memory storage without sacrificing permanent persistance). The backend includes the
                 option "tag_cache" to set this up (it is obligatory), or the
                 <methodname>setInnerCache()</methodname> method.
             </para>
         </note>
+
         <table id="zend.cache.backends.static.table">
             <title>Static Backend Options</title>
+
             <tgroup cols="4">
-                 <thead>
-                      <row>
+                <thead>
+                    <row>
                         <entry>Option</entry>
                         <entry>Data Type</entry>
                         <entry>Default Value</entry>
                         <entry>Description</entry>
                     </row>
-                 </thead>
-                 <tbody>
-                      <row>
-                          <entry><emphasis>public_dir</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry><constant>NULL</constant></entry>
-                          <entry>
-                              Directory where to store static files. This must exist
-                              in your public directory.
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>file_locking</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>TRUE</constant></entry>
-                          <entry>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><emphasis>public_dir</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry><constant>NULL</constant></entry>
+                        <entry>
+                            Directory where to store static files. This must exist
+                            in your public directory.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>file_locking</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+
+                        <entry>
                             Enable or disable file_locking : Can avoid cache corruption under
                             bad circumstances but it doesn't help on multithread webservers
                             or on <acronym>NFS</acronym> filesystems...
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>read_control</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>TRUE</constant></entry>
-                          <entry>
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>read_control</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>TRUE</constant></entry>
+
+                        <entry>
                             Enable / disable read control : if enabled, a control key is
                             embedded in the cache file and this key is compared with the
                             one calculated after the reading.
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>read_control_type</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>'crc32'</entry>
-                          <entry>
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>read_control_type</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>'crc32'</entry>
+
+                        <entry>
                             Type of read control (only if read control is enabled). Available values
                             are : 'md5' (best but slowest), 'crc32' (lightly less safe but faster,
                             better choice), 'adler32' (new choice, faster than crc32),
                             'strlen' for a length only test (fastest).
                         </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>cache_file_umask</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>0700</entry>
-                          <entry>
-                              umask for cached files.
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>cache_directory_umask</emphasis></entry>
-                          <entry><type>Integer</type></entry>
-                          <entry>0700</entry>
-                          <entry>
-                              Umask for directories created within public_dir.
+                    </row>
+
+                    <row>
+                        <entry><emphasis>cache_file_umask</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0700</entry>
+                        <entry>umask for cached files.</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>cache_directory_umask</emphasis></entry>
+                        <entry><type>Integer</type></entry>
+                        <entry>0700</entry>
+                        <entry>Umask for directories created within public_dir.</entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>file_extension</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>'<filename>.html</filename>'</entry>
+
+                        <entry>
+                            Default file extension for static files created. This can be
+                            configured on the fly, see
+                            <methodname>Zend_Cache_Backend_Static::save()</methodname> though
+                            generally it's recommended to rely on
+                            <classname>Zend_Controller_Action_Helper_Cache</classname> when
+                            doing so since it's simpler that way than messing with
+                            arrays or serialization manually.
                         </entry>
-                      </row>
-
-                      <row>
-                          <entry><emphasis>file_extension</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>'<filename>.html</filename>'</entry>
-                          <entry>
-                              Default file extension for static files created. This can be
-                              configured on the fly, see
-                              <methodname>Zend_Cache_Backend_Static::save()</methodname> though
-                              generally it's recommended to rely on
-                              <classname>Zend_Controller_Action_Helper_Cache</classname> when
-                              doing so since it's simpler that way than messing with
-                              arrays or serialization manually.
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>index_filename</emphasis></entry>
-                          <entry><type>String</type></entry>
-                          <entry>'index'</entry>
-                          <entry>
-                              If a request <acronym>URI</acronym> does not contain sufficient
-                              information to construct a static file (usually this means an index
-                              call, e.g. <acronym>URI</acronym> of '/'), the index_filename is used
-                              instead. So '' or '/' would map to '<filename>index.html</filename>'
-                              (assuming the default file_extension is '<filename>.html</filename>').
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>tag_cache</emphasis></entry>
-                          <entry><type>Object</type></entry>
-                          <entry><constant>NULL</constant></entry>
-                          <entry>
-                              Used to set an 'inner' cache utilised to store tags
-                              and file extensions associated with static files. This
-                              <emphasis>must</emphasis> be set or the static cache cannot be tracked
-                              and managed.
-                          </entry>
-                      </row>
-                      <row>
-                          <entry><emphasis>disable_caching</emphasis></entry>
-                          <entry><type>Boolean</type></entry>
-                          <entry><constant>FALSE</constant></entry>
-                          <entry>
-                              If set to <constant>TRUE</constant>, static files will not be cached.
-                              This will force all requests to be dynamic even if marked
-                              to be cached in Controllers. Useful for debugging.
-                          </entry>
-                      </row>
-                  </tbody>
-              </tgroup>
-          </table>
-    </sect2>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>index_filename</emphasis></entry>
+                        <entry><type>String</type></entry>
+                        <entry>'index'</entry>
 
+                        <entry>
+                            If a request <acronym>URI</acronym> does not contain sufficient
+                            information to construct a static file (usually this means an index
+                            call, e.g. <acronym>URI</acronym> of '/'), the index_filename is used
+                            instead. So '' or '/' would map to '<filename>index.html</filename>'
+                            (assuming the default file_extension is '<filename>.html</filename>').
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>tag_cache</emphasis></entry>
+                        <entry><type>Object</type></entry>
+                        <entry><constant>NULL</constant></entry>
+
+                        <entry>
+                            Used to set an 'inner' cache utilised to store tags
+                            and file extensions associated with static files. This
+                            <emphasis>must</emphasis> be set or the static cache cannot be tracked
+                            and managed.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry><emphasis>disable_caching</emphasis></entry>
+                        <entry><type>Boolean</type></entry>
+                        <entry><constant>FALSE</constant></entry>
+
+                        <entry>
+                            If set to <constant>TRUE</constant>, static files will not be cached.
+                            This will force all requests to be dynamic even if marked
+                            to be cached in Controllers. Useful for debugging.
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+    </sect2>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

File diff suppressed because it is too large
+ 478 - 384
documentation/manual/en/module_specs/Zend_Cache-Frontends.xml


+ 31 - 16
documentation/manual/en/module_specs/Zend_Cache-Introduction.xml

@@ -2,9 +2,11 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.cache.introduction">
     <title>Introduction</title>
+
     <para>
         <classname>Zend_Cache</classname> provides a generic way to cache any data.
     </para>
+
     <para>
       Caching in Zend Framework is operated by frontends while cache records are stored through
       backend adapters (<emphasis>File</emphasis>, <emphasis>Sqlite</emphasis>,
@@ -12,14 +14,17 @@
       is easy to delete specific types of records afterwards (for example: "delete all cache records
       marked with a given tag").
     </para>
+
     <para>
         The core of the module (<classname>Zend_Cache_Core</classname>) is generic, flexible and
         configurable. Yet, for your specific needs there are cache frontends that extend
         <classname>Zend_Cache_Core</classname> for convenience: <emphasis>Output</emphasis>,
         <emphasis>File</emphasis>, <emphasis>Function</emphasis> and <emphasis>Class</emphasis>.
     </para>
+
     <example id="zend.cache.introduction.example-1">
         <title>Getting a Frontend with Zend_Cache::factory()</title>
+
         <para>
             <methodname>Zend_Cache::factory()</methodname> instantiates correct objects and ties
             them together. In this first example, we will use <emphasis>Core</emphasis> frontend
@@ -46,6 +51,7 @@ $cache = Zend_Cache::factory('Core',
 
     <note>
         <title>Frontends and Backends Consisting of Multiple Words</title>
+
         <para>
             Some frontends and backends are named using multiple words, such
             as 'ZendPlatform'. When specifying them to the factory, separate
@@ -91,16 +97,20 @@ print_r($result);
 
     <example id="zend.cache.introduction.example-3">
         <title>Caching Output with Zend_Cache Output Frontend</title>
+
         <para>
             We 'mark up' sections in which we want to cache output by adding some conditional logic,
             encapsulating the section within <methodname>start()</methodname> and
             <methodname>end()</methodname> methods (this resembles the first example and is the core
             strategy for caching).
-        </para><para>
+        </para>
+
+        <para>
             Inside, output your data as usual - all output will be cached when execution hits the
             <methodname>end()</methodname> method. On the next run, the whole section will be
             skipped in favor of fetching data from cache (as long as the cache record is valid).
         </para>
+
         <programlisting language="php"><![CDATA[
 $frontendOptions = array(
    'lifetime' => 30,                   // cache lifetime of 30 seconds
@@ -126,22 +136,27 @@ if(!$cache->start('mypage')) {
 
 echo 'This is never cached ('.time().').';
 ]]></programlisting>
-       <para>
-           Notice that we output the result of <methodname>time()</methodname> twice; this is
-           something dynamic for demonstration purposes. Try running this and then refreshing
-           several times; you will notice that the first number doesn't change while second changes
-           as time passes. That is because the first number was output in the cached section and is
-           saved among other output. After half a minute (we've set lifetime to 30 seconds) the
-           numbers should match again because the cache record expired -- only to be cached again.
-           You should try this in your browser or console.
-       </para>
+
+        <para>
+            Notice that we output the result of <methodname>time()</methodname> twice; this is
+            something dynamic for demonstration purposes. Try running this and then refreshing
+            several times; you will notice that the first number doesn't change while second changes
+            as time passes. That is because the first number was output in the cached section and is
+            saved among other output. After half a minute (we've set lifetime to 30 seconds) the
+            numbers should match again because the cache record expired -- only to be cached again.
+            You should try this in your browser or console.
+        </para>
     </example>
-    <note><para>
-        When using <classname>Zend_Cache</classname>, pay attention to the important cache
-        identifier (passed to <methodname>save()</methodname> and <methodname>start()</methodname>).
-        It must be unique for every resource you cache, otherwise unrelated cache records may wipe
-        each other or, even worse, be displayed in place of the other.
-    </para></note>
+
+    <note>
+        <para>
+            When using <classname>Zend_Cache</classname>, pay attention to the important cache
+            identifier (passed to <methodname>save()</methodname> and
+            <methodname>start()</methodname>). It must be unique for every resource you cache,
+            otherwise unrelated cache records may wipe each other or, even worse, be displayed in
+            place of the other.
+        </para>
+    </note>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 52 - 21
documentation/manual/en/module_specs/Zend_Cache-Theory.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.cache.theory">
     <title>The Theory of Caching</title>
+
     <para>
         There are three key concepts in <classname>Zend_Cache</classname>. One is the unique
         identifier (a string) that is used to identify cache records. The second one is the
@@ -16,24 +17,33 @@
         a <classname>Zend_Cache</classname> method itself. On the end if these blocks you must save
         what you've generated, however (eg. <methodname>Zend_Cache_Core::save()</methodname>).
     </para>
-    <note><para>
-        The conditional execution design of your generating code is not necessary in some frontends
-        (<emphasis>Function</emphasis>, for an example) when the whole logic is implemented inside
-        the frontend.
-    </para></note>
-    <note><para>
-        'Cache hit' is a term for a condition when a cache record is found, is valid and is 'fresh'
-        (in other words hasn't expired yet). 'Cache miss' is everything else. When a cache miss
-        happens, you must generate your data (as you would normally do) and have it cached. When you
-        have a cache hit, on the other hand, the backend automatically fetches the record from cache
-        transparently.
-    </para></note>
+
+    <note>
+        <para>
+            The conditional execution design of your generating code is not necessary in some
+            frontends (<emphasis>Function</emphasis>, for an example) when the whole logic is
+            implemented inside the frontend.
+        </para>
+    </note>
+
+    <note>
+        <para>
+            'Cache hit' is a term for a condition when a cache record is found, is valid and is
+            'fresh' (in other words hasn't expired yet). 'Cache miss' is everything else. When a
+            cache miss happens, you must generate your data (as you would normally do) and have it
+            cached. When you have a cache hit, on the other hand, the backend automatically fetches
+            the record from cache transparently.
+        </para>
+    </note>
+
     <sect2 id="zend.cache.factory">
         <title>The Zend_Cache Factory Method</title>
+
         <para>
             A good way to build a usable instance of a <classname>Zend_Cache</classname> Frontend is
             given in the following example :
         </para>
+
         <programlisting language="php"><![CDATA[
 // We choose a backend (for example 'File' or 'Sqlite'...)
 $backendName = '[...]';
@@ -54,47 +64,61 @@ $cache = Zend_Cache::factory($frontendName,
                              $frontendOptions,
                              $backendOptions);
 ]]></programlisting>
+
         <para>
             In the following examples we will assume that the <varname>$cache</varname> variable
             holds a valid, instantiated frontend as shown and that you understand how to pass
             parameters to your chosen backends.
         </para>
-        <note><para>
-            Always use <methodname>Zend_Cache::factory()</methodname> to get frontend instances.
-            Instantiating frontends and backends yourself will not work as expected.
-        </para></note>
+
+        <note>
+            <para>
+                Always use <methodname>Zend_Cache::factory()</methodname> to get frontend instances.
+                Instantiating frontends and backends yourself will not work as expected.
+            </para>
+        </note>
     </sect2>
 
     <sect2 id="zend.cache.tags">
         <title>Tagging Records</title>
+
         <para>
             Tags are a way to categorize cache records. When you save a cache with the
             <methodname>save()</methodname> method, you can set an array of tags to apply for this
             record. Then you will be able to clean all cache records tagged with a given tag (or
             tags):
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache->save($huge_data, 'myUniqueID', array('tagA', 'tagB', 'tagC'));
 ]]></programlisting>
-        <note><para>
-            note than the <methodname>save()</methodname> method accepts an optional fourth
-            argument: <varname>$specificLifetime</varname> (if != <constant>FALSE</constant>,
-            it sets a specific lifetime for this particular cache record)
-        </para></note>
+
+        <note>
+            <para>
+                note than the <methodname>save()</methodname> method accepts an optional fourth
+                argument: <varname>$specificLifetime</varname> (if != <constant>FALSE</constant>,
+                it sets a specific lifetime for this particular cache record)
+            </para>
+        </note>
     </sect2>
+
     <sect2 id="zend.cache.clean">
         <title>Cleaning the Cache</title>
+
         <para>
             To remove or invalidate in particular cache id, you can use the
             <methodname>remove()</methodname> method :
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache->remove('idToRemove');
 ]]></programlisting>
+
         <para>
             To remove or invalidate several cache ids in one operation, you can use the
             <methodname>clean()</methodname> method. For example to remove all cache records :
         </para>
+
         <programlisting language="php"><![CDATA[
 // clean all records
 $cache->clean(Zend_Cache::CLEANING_MODE_ALL);
@@ -102,33 +126,40 @@ $cache->clean(Zend_Cache::CLEANING_MODE_ALL);
 // clean only outdated
 $cache->clean(Zend_Cache::CLEANING_MODE_OLD);
 ]]></programlisting>
+
         <para>
             If you want to remove cache entries matching the tags 'tagA' and 'tagC':
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache->clean(
     Zend_Cache::CLEANING_MODE_MATCHING_TAG,
     array('tagA', 'tagC')
 );
 ]]></programlisting>
+
         <para>
             If you want to remove cache entries not matching the tags 'tagA' or 'tagC':
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache->clean(
     Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG,
     array('tagA', 'tagC')
 );
 ]]></programlisting>
+
         <para>
             If you want to remove cache entries matching the tags 'tagA' or 'tagC':
         </para>
+
         <programlisting language="php"><![CDATA[
 $cache->clean(
     Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG,
     array('tagA', 'tagC')
 );
 ]]></programlisting>
+
         <para>
             Available cleaning modes are: <constant>CLEANING_MODE_ALL</constant>,
             <constant>CLEANING_MODE_OLD</constant>, <constant>CLEANING_MODE_MATCHING_TAG</constant>,

+ 161 - 124
documentation/manual/en/module_specs/Zend_Captcha-Adapters.xml

@@ -32,44 +32,56 @@
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                <methodname>setWordLen($length)</methodname> and
-                <methodname>getWordLen()</methodname> allow you to specify the length of the
-                generated "word" in characters, and to retrieve the current value.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setTimeout($ttl)</methodname> and <methodname>getTimeout()</methodname>
-                allow you to specify the time-to-live of the session token, and
-                to retrieve the current value. <varname>$ttl</varname> should be
-                specified in seconds.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setSessionClass($class)</methodname> and
-                <methodname>getSessionClass()</methodname> allow you to specify an
-                alternate <classname>Zend_Session_Namespace</classname> implementation to
-                use to persist the <acronym>CAPTCHA</acronym> token and to retrieve the
-                current value.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>getId()</methodname> allows you to retrieve the current token
-                identifier.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>getWord()</methodname> allows you to retrieve the generated
-                word to use with the <acronym>CAPTCHA</acronym>. It will generate the word for you
-                if none has been generated yet.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setSession(Zend_Session_Namespace $session)</methodname> allows
-                you to specify a session object to use for persisting the
-                <acronym>CAPTCHA</acronym> token. <methodname>getSession()</methodname> allows you
-                to retrieve the current session object.
-            </para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setWordLen($length)</methodname> and
+                    <methodname>getWordLen()</methodname> allow you to specify the length of the
+                    generated "word" in characters, and to retrieve the current value.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setTimeout($ttl)</methodname> and
+                    <methodname>getTimeout()</methodname> allow you to specify the time-to-live of
+                    the session token, and to retrieve the current value. <varname>$ttl</varname>
+                    should be specified in seconds.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setSessionClass($class)</methodname> and
+                    <methodname>getSessionClass()</methodname> allow you to specify an
+                    alternate <classname>Zend_Session_Namespace</classname> implementation to
+                    use to persist the <acronym>CAPTCHA</acronym> token and to retrieve the
+                    current value.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getId()</methodname> allows you to retrieve the current token
+                    identifier.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getWord()</methodname> allows you to retrieve the generated
+                    word to use with the <acronym>CAPTCHA</acronym>. It will generate the word for
+                    you if none has been generated yet.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setSession(Zend_Session_Namespace $session)</methodname> allows
+                    you to specify a session object to use for persisting the
+                    <acronym>CAPTCHA</acronym> token. <methodname>getSession()</methodname> allows
+                    you to retrieve the current session object.
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>
@@ -84,10 +96,10 @@
         </para>
 
         <note>
-        <para>
-            <classname>Zend_Captcha_Word</classname> is an abstract class and may not be
-            instantiated directly.
-        </para>
+            <para>
+                <classname>Zend_Captcha_Word</classname> is an abstract class and may not be
+                instantiated directly.
+            </para>
         </note>
     </sect2>
 
@@ -139,69 +151,88 @@
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                <methodname>setExpiration($expiration)</methodname> and
-                <methodname>getExpiration()</methodname> allow you to specify a maximum
-                lifetime the <acronym>CAPTCHA</acronym> image may reside on the filesystem. This is
-                typically a longer than the session lifetime. Garbage
-                collection is run periodically each time the <acronym>CAPTCHA</acronym> object is
-                invoked, deleting all images that have expired.
-                Expiration values should be specified in seconds.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setGcFreq($gcFreq)</methodname> and <methodname>getGcFreg()</methodname>
-                allow you to specify how frequently garbage collection should
-                run. Garbage collection will run every <command>1/$gcFreq</command>
-                calls. The default is 100.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setFont($font)</methodname> and <methodname>getFont()</methodname> allow
-                you to specify the font you will use. <varname>$font</varname>
-                should be a fully qualified path to the font file.
-                This value is required; the <acronym>CAPTCHA</acronym> will throw an
-                exception during generation if the font file has not been specified.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setFontSize($fsize)</methodname> and
-                <methodname>getFontSize()</methodname> allow you to specify the font size in pixels
-                for generating the <acronym>CAPTCHA</acronym>. The default is 24px.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setHeight($height)</methodname> and <methodname>getHeight()</methodname>
-                allow you to specify the height in pixels of the generated
-                <acronym>CAPTCHA</acronym> image. The default is 50px.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setWidth($width)</methodname> and <methodname>getWidth()</methodname>
-                allow you to specify the width in pixels of the generated
-                <acronym>CAPTCHA</acronym> image. The default is 200px.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setImgDir($imgDir)</methodname> and <methodname>getImgDir()</methodname>
-                allow you to specify the directory for storing <acronym>CAPTCHA</acronym> images.
-                The default is "<filename>./images/captcha/</filename>", relative to the bootstrap
-                script.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setImgUrl($imgUrl)</methodname> and <methodname>getImgUrl()</methodname>
-                allow you to specify the relative path to a <acronym>CAPTCHA</acronym> image to
-                use for <acronym>HTML</acronym> markup. The default is
-                "<filename>/images/captcha/</filename>".
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setSuffix($suffix)</methodname> and <methodname>getSuffix()</methodname>
-                allow you to specify the filename suffix for the <acronym>CAPTCHA</acronym> image.
-                The default is "<filename>.png</filename>". Note: changing this value will not
-                change the type of the generated image.
-            </para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setExpiration($expiration)</methodname> and
+                    <methodname>getExpiration()</methodname> allow you to specify a maximum
+                    lifetime the <acronym>CAPTCHA</acronym> image may reside on the filesystem.
+                    This is typically a longer than the session lifetime. Garbage
+                    collection is run periodically each time the <acronym>CAPTCHA</acronym> object
+                    is invoked, deleting all images that have expired.
+                    Expiration values should be specified in seconds.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setGcFreq($gcFreq)</methodname> and
+                    <methodname>getGcFreg()</methodname> allow you to specify how frequently garbage
+                    collection should run. Garbage collection will run every
+                    <command>1/$gcFreq</command> calls. The default is 100.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setFont($font)</methodname> and <methodname>getFont()</methodname>
+                    allow you to specify the font you will use. <varname>$font</varname>
+                    should be a fully qualified path to the font file.
+                    This value is required; the <acronym>CAPTCHA</acronym> will throw an
+                    exception during generation if the font file has not been specified.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setFontSize($fsize)</methodname> and
+                    <methodname>getFontSize()</methodname> allow you to specify the font size in
+                    pixels for generating the <acronym>CAPTCHA</acronym>. The default is 24px.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setHeight($height)</methodname> and
+                    <methodname>getHeight()</methodname> allow you to specify the height in pixels
+                    of the generated <acronym>CAPTCHA</acronym> image. The default is 50px.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setWidth($width)</methodname> and
+                    <methodname>getWidth()</methodname> allow you to specify the width in pixels of
+                    the generated <acronym>CAPTCHA</acronym> image. The default is 200px.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setImgDir($imgDir)</methodname> and
+                    <methodname>getImgDir()</methodname> allow you to specify the directory for
+                    storing <acronym>CAPTCHA</acronym> images. The default is
+                    "<filename>./images/captcha/</filename>", relative to the bootstrap script.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setImgUrl($imgUrl)</methodname> and
+                    <methodname>getImgUrl()</methodname> allow you to specify the relative path to
+                    a <acronym>CAPTCHA</acronym> image to use for <acronym>HTML</acronym> markup.
+                    The default is "<filename>/images/captcha/</filename>".
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setSuffix($suffix)</methodname> and
+                    <methodname>getSuffix()</methodname> allow you to specify the filename suffix
+                    for the <acronym>CAPTCHA</acronym> image. The default is
+                    "<filename>.png</filename>". Note: changing this value will not change the type
+                    of the generated image.
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>
@@ -222,25 +253,31 @@
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                <methodname>setPrivKey($key)</methodname> and <methodname>getPrivKey()</methodname>
-                allow you to specify the private key to use for the ReCaptcha
-                service. This must be specified during construction, although it
-                may be overridden at any point.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setPubKey($key)</methodname> and <methodname>getPubKey()</methodname>
-                allow you to specify the public key to use with the ReCaptcha
-                service. This must be specified during construction, although it
-                may be overridden at any point.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setService(Zend_Service_ReCaptcha $service)</methodname> and
-                <methodname>getService()</methodname> allow you to set and get
-                the ReCaptcha service object.
-            </para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setPrivKey($key)</methodname> and
+                    <methodname>getPrivKey()</methodname> allow you to specify the private key to
+                    use for the ReCaptcha service. This must be specified during construction,
+                    although it may be overridden at any point.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setPubKey($key)</methodname> and
+                    <methodname>getPubKey()</methodname> allow you to specify the public key to use
+                    with the ReCaptcha service. This must be specified during construction, although
+                    it may be overridden at any point.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setService(Zend_Service_ReCaptcha $service)</methodname> and
+                    <methodname>getService()</methodname> allow you to set and get
+                    the ReCaptcha service object.
+                </para>
+            </listitem>
         </itemizedlist>
     </sect2>
 </sect1>

+ 1 - 1
documentation/manual/en/module_specs/Zend_Captcha-Operation.xml

@@ -47,7 +47,7 @@ interface Zend_Captcha_Adapter extends Zend_Validate_Interface
         A typical use case might look like the following:
     </para>
 
-        <programlisting language="php"><![CDATA[
+    <programlisting language="php"><![CDATA[
 // Creating a Zend_View instance
 $view = new Zend_View();
 

+ 4 - 3
documentation/manual/en/module_specs/Zend_CodeGenerator-Examples.xml

@@ -36,7 +36,7 @@ echo $foo->generate();
             The above code will result in the following:
         </para>
 
-            <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
  * Sample generated class
  *
@@ -136,7 +136,7 @@ class Foo
             <classname>Zend_CodeGenerator_Php_Method</classname> instances.
         </para>
 
-            <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $foo      = new Zend_CodeGenerator_Php_Class();
 $docblock = new Zend_CodeGenerator_Php_Docblock(array(
     'shortDescription' => 'Sample generated class',
@@ -214,7 +214,7 @@ echo $foo->generate();
             The above generates the following output:
         </para>
 
-            <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 /**
  * Sample generated class
  *
@@ -379,6 +379,7 @@ file_put_contents($path, $generator->generate());
 
     <example id="zend.codegenerator.examples.reflection-class">
         <title>Seeding PHP class generation via reflection</title>
+
         <para>
             You may add code to an existing class. To do so, first use the
             static <methodname>fromReflection()</methodname> method to map the class into a

+ 0 - 1
documentation/manual/en/module_specs/Zend_CodeGenerator-Reference.xml

@@ -506,7 +506,6 @@ $parameter->setDefaultValue(
                 Internally <methodname>setDefaultValue()</methodname> also converts the values
                 which can't be expressed in <acronym>PHP</acronym> into the value holder.
             </para>
-
         </sect3>
 
         <sect3 id="zend.codegenerator.reference.concrete.php-property">

+ 11 - 0
documentation/manual/en/module_specs/Zend_Config-Introduction.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.config.introduction">
     <title>Introduction</title>
+
     <para>
         <classname>Zend_Config</classname> is designed to simplify the access to, and the use of,
         configuration data within applications. It provides a nested object property based user
@@ -12,8 +13,10 @@
             linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> and
         <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
     </para>
+
     <example id="zend.config.introduction.example.using">
         <title>Using Zend_Config</title>
+
         <para>
             Normally it is expected that users would use one of the adapter classes such as <link
                 linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> or
@@ -22,6 +25,7 @@
             simply pass the data to the <classname>Zend_Config</classname> constructor in order to
             utilize a simple object-oriented interface:
         </para>
+
         <programlisting language="php"><![CDATA[
 // Given an array of configuration data
 $configArray = array(
@@ -52,24 +56,30 @@ $db = Zend_Db::factory($config->database->adapter,
 $db = Zend_Db::factory($config->database);
 ]]></programlisting>
     </example>
+
     <para>
         As illustrated in the example above, <classname>Zend_Config</classname> provides nested
         object property syntax to access configuration data passed to its constructor.
     </para>
+
     <para>
         Along with the object oriented access to the data values,
         <classname>Zend_Config</classname> also has <methodname>get()</methodname> which will
         return the supplied default value if the data element doesn't exist. For example:
     </para>
+
     <programlisting language="php"><![CDATA[
 $host = $config->database->get('host', 'localhost');
 ]]></programlisting>
+
     <example id="zend.config.introduction.example.file.php">
         <title>Using Zend_Config with a PHP Configuration File</title>
+
         <para>
             It is often desirable to use a pure <acronym>PHP</acronym>-based configuration file.
             The following code illustrates how easily this can be accomplished:
         </para>
+
         <programlisting language="php"><![CDATA[
 // config.php
 return array(
@@ -85,6 +95,7 @@ return array(
     )
 );
 ]]></programlisting>
+
         <programlisting language="php"><![CDATA[
 // Configuration consumption
 $config = new Zend_Config(require 'config.php');

+ 57 - 47
documentation/manual/en/module_specs/Zend_Config_Ini.xml

@@ -43,7 +43,6 @@ $config = new Zend_Config_Ini('/path/to/config.ini',
                               'staging',
                               $options);
 ]]></programlisting>
-
     </note>
 
     <example id="zend.config.adapters.ini.example.using">
@@ -94,52 +93,63 @@ echo $config->database->params->dbname; // prints "dbname"
     </example>
 
     <note>
-    <table id="zend.config.adapters.ini.table">
-        <title>Zend_Config_Ini Constructor Parameters</title>
-        <tgroup cols="2">
-            <thead>
-                  <row>
-                    <entry>Parameter</entry>
-                    <entry>Notes</entry>
-                </row>
-            </thead>
-            <tbody>
-                <row>
-                    <entry><varname>$filename</varname></entry>
-                    <entry>The <acronym>INI</acronym> file to load.</entry>
-                </row>
-                <row>
-                    <entry><varname>$section</varname></entry>
-                    <entry>The [section] within the ini file that is to be loaded. Setting
-                        this parameter to <constant>NULL</constant> will load all sections.
-                        Alternatively, an array of section names may be supplied to load
-                        multiple sections.
-                    </entry>
-                </row>
-                <row>
-                    <entry><varname>$options</varname> (default <constant>FALSE</constant>)</entry>
-                    <entry>Options array. The following keys are supported:
-                        <itemizedlist>
-                            <listitem>
-                                <para>
-                                    <emphasis><property>allowModifications</property></emphasis>:
-                                    Set to <constant>TRUE</constant> to allow
-                                    subsequent modification of loaded configuration data in-memory.
-                                    Defaults to <constant>NULL</constant>
-                                </para>
-                            </listitem>
-                            <listitem>
-                                <para>
-                                    <emphasis><property>nestSeparator</property></emphasis>: Set to
-                                    the character to be used as the nest separator. Defaults to "."
-                                </para>
-                            </listitem>
-                        </itemizedlist>
-                    </entry>
-                </row>
-            </tbody>
-        </tgroup>
-    </table>
+        <table id="zend.config.adapters.ini.table">
+            <title>Zend_Config_Ini Constructor Parameters</title>
+
+            <tgroup cols="2">
+                <thead>
+                    <row>
+                        <entry>Parameter</entry>
+                        <entry>Notes</entry>
+                    </row>
+                </thead>
+
+                <tbody>
+                    <row>
+                        <entry><varname>$filename</varname></entry>
+                        <entry>The <acronym>INI</acronym> file to load.</entry>
+                    </row>
+
+                    <row>
+                        <entry><varname>$section</varname></entry>
+
+                        <entry>
+                            The [section] within the ini file that is to be loaded. Setting
+                            this parameter to <constant>NULL</constant> will load all sections.
+                            Alternatively, an array of section names may be supplied to load
+                            multiple sections.
+                        </entry>
+                    </row>
+
+                    <row>
+                        <entry>
+                            <varname>$options</varname> (default <constant>FALSE</constant>)
+                        </entry>
+
+                        <entry>
+                            Options array. The following keys are supported:
+                            <itemizedlist>
+                                <listitem>
+                                    <para>
+                                        <emphasis><property>allowModifications</property></emphasis>:
+                                        Set to <constant>TRUE</constant> to allow
+                                        subsequent modification of loaded configuration data in-memory.
+                                        Defaults to <constant>NULL</constant>
+                                    </para>
+                                </listitem>
+
+                                <listitem>
+                                    <para>
+                                        <emphasis><property>nestSeparator</property></emphasis>: Set to
+                                        the character to be used as the nest separator. Defaults to "."
+                                    </para>
+                                </listitem>
+                            </itemizedlist>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
     </note>
 </sect1>
 <!--

+ 8 - 0
documentation/manual/en/module_specs/Zend_Config_Writer.xml

@@ -23,11 +23,13 @@
                 <classname>Zend_Config_Writer_Array</classname>
             </para>
         </listitem>
+
         <listitem>
             <para>
                 <classname>Zend_Config_Writer_Ini</classname>
             </para>
         </listitem>
+
         <listitem>
             <para>
                 <classname>Zend_Config_Writer_Xml</classname>
@@ -62,10 +64,12 @@
 
     <example id="zend.config.writer.example.using">
         <title>Using Zend_Config_Writer</title>
+
         <para>
             This example illustrates the basic use of
             <classname>Zend_Config_Writer_Xml</classname> to create a new config file:
         </para>
+
         <programlisting language="php"><![CDATA[
 // Create the config object
 $config = new Zend_Config(array(), true);
@@ -97,6 +101,7 @@ $writer->setConfig($config)
 $writer = new Zend_Config_Writer_Xml();
 $writer->write('config.xml', $config);
 ]]></programlisting>
+
         <para>
             This will create an <acronym>XML</acronym> config file with the sections production
             and staging, where staging extends production.
@@ -105,9 +110,11 @@ $writer->write('config.xml', $config);
 
     <example id="zend.config.writer.modifying">
         <title>Modifying an Existing Config</title>
+
         <para>
             This example demonstrates how to edit an existing config file.
         </para>
+
         <programlisting language="php"><![CDATA[
 // Load all sections from an existing config file, while skipping the extends.
 $config = new Zend_Config_Ini('config.ini',
@@ -127,6 +134,7 @@ $writer->write();
 
     <note>
         <title>Loading a Config File</title>
+
         <para>
             When loading an existing config file for modifications it is very
             important to load all sections and to skip the extends, so that

+ 21 - 2
documentation/manual/en/module_specs/Zend_Config_Xml.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.xml">
     <title>Zend_Config_Xml</title>
+
     <para>
         <classname>Zend_Config_Xml</classname> enables developers to store configuration data in a
         simple <acronym>XML</acronym> format and read them via nested object property syntax. The
@@ -15,16 +16,20 @@
         attribute corresponds with the section from which data are to be inherited by the extending
         section.
     </para>
+
     <note>
         <title>Return Type</title>
+
         <para>
             Configuration data read into <classname>Zend_Config_Xml</classname> are always returned
             as strings. Conversion of data from strings to other types is left to developers to
             suit their particular needs.
         </para>
     </note>
+
     <example id="zend.config.adapters.xml.example.using">
         <title>Using Zend_Config_Xml</title>
+
         <para>
             This example illustrates a basic use of <classname>Zend_Config_Xml</classname> for
             loading configuration data from an <acronym>XML</acronym> file. In this example there
@@ -36,6 +41,7 @@
             situations. Suppose, then, that the following configuration data are contained in
             <filename>/path/to/config.xml</filename>:
         </para>
+
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
@@ -62,11 +68,13 @@
     </staging>
 </configdata>
 ]]></programlisting>
+
         <para>
             Next, assume that the application developer needs the staging configuration data from
             the <acronym>XML</acronym> file. It is a simple matter to load these data by specifying
             the <acronym>XML</acronym> file and the staging section:
         </para>
+
         <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Xml('/path/to/config.xml', 'staging');
 
@@ -74,8 +82,10 @@ echo $config->database->params->host;   // prints "dev.example.com"
 echo $config->database->params->dbname; // prints "dbname"
 ]]></programlisting>
     </example>
+
     <example id="zend.config.adapters.xml.example.attributes">
         <title>Using Tag Attributes in Zend_Config_Xml</title>
+
         <para>
             <classname>Zend_Config_Xml</classname> also supports two additional ways of defining
             nodes in the configuration. Both make use of attributes. Since the
@@ -84,6 +94,7 @@ echo $config->database->params->dbname; // prints "dbname"
             used. The first way of making usage of attributes is to add attributes in a parent
             node, which then will be translated into children of that node:
         </para>
+
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
@@ -101,11 +112,13 @@ echo $config->database->params->dbname; // prints "dbname"
     </staging>
 </configdata>
 ]]></programlisting>
+
         <para>
             The other way does not really shorten the config, but keeps it easier to maintain since
             you don't have to write the tag name twice. You simply create an empty tag with the
             value in the <emphasis>value</emphasis> attribute:
         </para>
+
         <programlisting language="xml"><![CDATA[
 <?xml version="1.0"?>
 <configdata>
@@ -133,14 +146,17 @@ echo $config->database->params->dbname; // prints "dbname"
 </configdata>
 ]]></programlisting>
     </example>
-<note>
+
+    <note>
         <title>XML strings</title>
+
         <para>
             <classname>Zend_Config_Xml</classname> is able to load an <acronym>XML</acronym> string
             directly, such as that retrieved from a database. The string is passed
             as the first parameter to the constructor and must start with the
             characters <emphasis>'&lt;?xml'</emphasis>:
         </para>
+
         <programlisting language="xml"><![CDATA[
 $string = <<<EOT
 <?xml version="1.0"?>
@@ -166,8 +182,10 @@ EOT;
 $config = new Zend_Config_Xml($string, 'staging');
 ]]></programlisting>
     </note>
-<note>
+
+    <note>
         <title>Zend_Config XML namespace</title>
+
         <para>
             <classname>Zend_Config</classname> comes with it's own <acronym>XML</acronym>
             namespace, which adds additional functionality to the parsing process. To take advantage
@@ -183,6 +201,7 @@ $config = new Zend_Config_Xml($string, 'staging');
             <constant>NULL</constant> namespace. It will be completely removed there in
             Zend Framework 2.0.
         </para>
+
         <programlisting language="xml"><![CDATA[
 $string = <<<EOT
 <?xml version="1.0"?>

+ 32 - 1
documentation/manual/en/module_specs/Zend_Console_Getopt-Configuration.xml

@@ -5,6 +5,7 @@
 
     <sect2 id="zend.console.getopt.configuration.addrules">
         <title>Adding Option Rules</title>
+
         <para>
             You can add more option rules in addition to those you specified
             in the <classname>Zend_Console_Getopt</classname> constructor, using the
@@ -16,8 +17,10 @@
             See <link linkend="zend.console.getopt.rules">Declaring Getopt Rules</link>
             for details on the syntax for specifying options.
         </para>
+
         <example id="zend.console.getopt.configuration.addrules.example">
             <title>Using addRules()</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->addRules(
@@ -27,6 +30,7 @@ $opts->addRules(
 );
 ]]></programlisting>
         </example>
+
         <para>
             The example above shows adding the <command>--verbose</command> option
             with an alias of <command>-v</command> to a set of options
@@ -38,6 +42,7 @@ $opts->addRules(
 
     <sect2 id="zend.console.getopt.configuration.addhelp">
         <title>Adding Help Messages</title>
+
         <para>
             In addition to specifying the help strings when declaring option
             rules in the long format, you can associate help strings
@@ -46,8 +51,10 @@ $opts->addRules(
             associative array, in which the key is a flag, and the value is a
             corresponding help string.
         </para>
+
         <example id="zend.console.getopt.configuration.addhelp.example">
             <title>Using setHelp()</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setHelp(
@@ -59,10 +66,12 @@ $opts->setHelp(
 );
 ]]></programlisting>
         </example>
+
         <para>
             If you declared options with aliases, you can use any of the
             aliases as the key of the associative array.
         </para>
+
         <para>
             The <methodname>setHelp()</methodname> method is the only way to define help
             strings if you declared the options using the short syntax.
@@ -71,6 +80,7 @@ $opts->setHelp(
 
     <sect2 id="zend.console.getopt.configuration.addaliases">
         <title>Adding Option Aliases</title>
+
         <para>
             You can declare aliases for options using the <methodname>setAliases()</methodname>
             method. The argument is an associative array, whose key is
@@ -79,12 +89,15 @@ $opts->setHelp(
             aliases. In other words, aliases you declared earlier are
             still in effect.
         </para>
+
         <para>
             An alias may be declared only once. If you try to redefine
             an alias, a <classname>Zend_Console_Getopt_Exception</classname> is thrown.
         </para>
+
         <example id="zend.console.getopt.configuration.addaliases.example">
             <title>Using setAliases()</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setAliases(
@@ -96,6 +109,7 @@ $opts->setAliases(
 );
 ]]></programlisting>
         </example>
+
         <para>
             In the example above, after declaring these aliases,
             <command>-a</command>, <command>--apple</command> and
@@ -103,6 +117,7 @@ $opts->setAliases(
             Also <command>-p</command> and <command>--pear</command> are aliases
             for each other.
         </para>
+
         <para>
             The <methodname>setAliases()</methodname> method is the only way to define aliases
             if you declared the options using the short syntax.
@@ -111,6 +126,7 @@ $opts->setAliases(
 
     <sect2 id="zend.console.getopt.configuration.addargs">
         <title>Adding Argument Lists</title>
+
         <para>
             By default, <classname>Zend_Console_Getopt</classname> uses
             <varname>$_SERVER['argv']</varname> for the array of command-line
@@ -124,8 +140,10 @@ $opts->setAliases(
             arguments, and the latter method substitutes the array for the
             current arguments.
         </para>
+
         <example id="zend.console.getopt.configuration.addargs.example">
             <title>Using addArguments() and setArguments()</title>
+
             <programlisting language="php"><![CDATA[
 // By default, the constructor uses $_SERVER['argv']
 $opts = new Zend_Console_Getopt('abp:');
@@ -141,6 +159,7 @@ $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
 
     <sect2 id="zend.console.getopt.configuration.config">
         <title>Adding Configuration</title>
+
         <para>
             The third parameter to the <classname>Zend_Console_Getopt</classname>
             constructor is an array of configuration options that affect
@@ -149,8 +168,10 @@ $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
             method, or you can set an individual option using the
             <methodname>setOption()</methodname> method.
         </para>
+
         <note>
             <title>Clarifying the Term "option"</title>
+
             <para>
                 The term "option" is used for configuration of the
                 <classname>Zend_Console_Getopt</classname> class to match terminology
@@ -159,12 +180,14 @@ $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
                 the <classname>Zend_Console_Getopt</classname> class.
             </para>
         </note>
+
         <para>
             The currently supported
             options have const definitions in the class. The options,
             their const identifiers (with literal values in parentheses)
             are listed below:
         </para>
+
         <itemizedlist>
             <listitem>
                 <para>
@@ -176,6 +199,7 @@ $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
                     option is <constant>TRUE</constant> by default.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <constant>Zend_Console_Getopt::CONFIG_IGNORECASE</constant> ("ignoreCase"),
@@ -185,6 +209,7 @@ $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
                     This configuration option is <constant>FALSE</constant> by default.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <constant>Zend_Console_Getopt::CONFIG_RULEMODE</constant>
@@ -201,21 +226,26 @@ $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
                 </para>
             </listitem>
         </itemizedlist>
+
         <para>
             More configuration options may be added as future enhancements
             of this class.
         </para>
+
         <para>
             The two arguments to the <methodname>setOption()</methodname> method are
             a configuration option name and an option value.
         </para>
+
         <example id="zend.console.getopt.configuration.config.example.setoption">
             <title>Using setOption()</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setOption('ignoreCase', true);
 ]]></programlisting>
         </example>
+
         <para>
             The argument to the <methodname>setOptions()</methodname> method is
             an associative array. The keys of this array are the configuration
@@ -224,8 +254,10 @@ $opts->setOption('ignoreCase', true);
             The configuration values you specify are merged with the current
             configuration; you don't have to list all options.
         </para>
+
         <example id="zend.console.getopt.configuration.config.example.setoptions">
             <title>Using setOptions()</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setOptions(
@@ -237,5 +269,4 @@ $opts->setOptions(
 ]]></programlisting>
         </example>
     </sect2>
-
 </sect1>

+ 26 - 1
documentation/manual/en/module_specs/Zend_Console_Getopt-Fetching.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.console.getopt.fetching">
     <title>Fetching Options and Arguments</title>
+
     <para>
         After you have declared the options that the
         <classname>Zend_Console_Getopt</classname> object should recognize, and supply
@@ -10,6 +11,7 @@
         a given command-line invocation of your program. The class implements
         magic methods so you can query for options by name.
     </para>
+
     <para>
         The parsing of the data is deferred until the first query you make
         against the <classname>Zend_Console_Getopt</classname> object to find out if an
@@ -20,6 +22,7 @@
 
     <sect2 id="zend.console.getopt.fetching.exceptions">
         <title>Handling Getopt Exceptions</title>
+
         <para>
             If the user gave any invalid options on the command-line,
             the parsing function throws a <classname>Zend_Console_Getopt_Exception</classname>.
@@ -32,8 +35,10 @@
             which returns as a string the formatted set of usage messages for
             all declared options.
         </para>
+
         <example id="zend.console.getopt.fetching.exceptions.example">
             <title>Catching Getopt Exceptions</title>
+
             <programlisting language="php"><![CDATA[
 try {
     $opts = new Zend_Console_Getopt('abp:');
@@ -44,20 +49,24 @@ try {
 }
 ]]></programlisting>
         </example>
+
         <para>
             Cases where parsing throws an exception include:
         </para>
+
         <itemizedlist>
             <listitem>
                 <para>
                     Option given is not recognized.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Option requires a parameter but none was given.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Option parameter is of the wrong type.
@@ -70,6 +79,7 @@ try {
 
     <sect2 id="zend.console.getopt.fetching.byname">
         <title>Fetching Options by Name</title>
+
         <para>
             You can use the <methodname>getOption()</methodname> method to query the value
             of an option. If the option had a parameter, this method returns
@@ -77,22 +87,27 @@ try {
             the user did specify it on the command-line, the method returns
             <constant>TRUE</constant>. Otherwise the method returns <constant>NULL</constant>.
         </para>
+
         <example id="zend.console.getopt.fetching.byname.example.setoption">
             <title>Using getOption()</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $b = $opts->getOption('b');
 $p_parameter = $opts->getOption('p');
 ]]></programlisting>
         </example>
+
         <para>
             Alternatively, you can use the magic <methodname>__get()</methodname> function
             to retrieve the value of an option as if it were a class member
             variable. The <methodname>__isset()</methodname> magic method is also
             implemented.
         </para>
+
         <example id="zend.console.getopt.fetching.byname.example.magic">
             <title>Using __get() and __isset() Magic Methods</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 if (isset($opts->b)) {
@@ -101,6 +116,7 @@ if (isset($opts->b)) {
 $p_parameter = $opts->p; // null if not set
 ]]></programlisting>
         </example>
+
         <para>
             If your options are declared with aliases, you may use any of the
             aliases for an option in the methods above.
@@ -109,10 +125,12 @@ $p_parameter = $opts->p; // null if not set
 
     <sect2 id="zend.console.getopt.fetching.reporting">
         <title>Reporting Options</title>
+
         <para>
             There are several methods to report the full set of
             options given by the user on the current command-line.
         </para>
+
         <itemizedlist>
             <listitem>
                 <para>
@@ -122,6 +140,7 @@ $p_parameter = $opts->p; // null if not set
                     is the literal string "<constant>TRUE</constant>".
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     As an array: use the <methodname>toArray()</methodname> method. The options
@@ -129,12 +148,14 @@ $p_parameter = $opts->p; // null if not set
                     strings followed by parameter strings, if any.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     As a string containing <acronym>JSON</acronym> data: use the
                     <methodname>toJson()</methodname> method.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     As a string containing <acronym>XML</acronym> data: use the
@@ -142,6 +163,7 @@ $p_parameter = $opts->p; // null if not set
                 </para>
             </listitem>
         </itemizedlist>
+
         <para>
             In all of the above dumping methods, the flag string is the
             first string in the corresponding list of aliases. For example,
@@ -154,6 +176,7 @@ $p_parameter = $opts->p; // null if not set
 
     <sect2 id="zend.console.getopt.fetching.remainingargs">
         <title>Fetching Non-option Arguments</title>
+
         <para>
             After option arguments and their parameters have been
             parsed from the command-line, there may be additional arguments
@@ -161,14 +184,17 @@ $p_parameter = $opts->p; // null if not set
             <methodname>getRemainingArgs()</methodname> method. This method returns
             an array of the strings that were not part of any options.
         </para>
+
         <example id="zend.console.getopt.fetching.remainingargs.example">
             <title>Using getRemainingArgs()</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 $opts->setArguments(array('-p', 'p_parameter', 'filename'));
 $args = $opts->getRemainingArgs(); // returns array('filename')
 ]]></programlisting>
         </example>
+
         <para>
             <classname>Zend_Console_Getopt</classname> supports the <acronym>GNU</acronym>
             convention that an argument consisting of a double-dash signifies the end of
@@ -178,5 +204,4 @@ $args = $opts->getRemainingArgs(); // returns array('filename')
             For example: "<command>rm -- -filename-with-dash</command>".
         </para>
     </sect2>
-
 </sect1>

+ 14 - 0
documentation/manual/en/module_specs/Zend_Console_Getopt-Introduction.xml

@@ -2,10 +2,12 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.console.getopt.introduction">
     <title>Introduction</title>
+
     <para>
         The <classname>Zend_Console_Getopt</classname> class helps command-line
         applications to parse their options and arguments.
     </para>
+
     <para>
         Users may specify command-line arguments when
         they execute your application. These arguments have meaning to the
@@ -17,10 +19,12 @@
         features in <command>grep</command>, <command>ls</command>, and
         <command>tar</command>.
     </para>
+
     <para>
         Below are a few definitions of terms. Common usage of the terms
         varies, but this documentation will use the definitions below.
     </para>
+
     <itemizedlist>
         <listitem>
             <para>
@@ -30,12 +34,14 @@
                 resources on which the command operates.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 "option": an argument that signifies that the command
                 should change its default behavior in some way.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 "flag": the first part of an option, identifies
@@ -48,6 +54,7 @@
                 Long flags cannot be clustered.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 "parameter": the secondary part of an option; a data value
@@ -58,6 +65,7 @@
                 <command>--user</command> almost always requires
                 a following parameter.
             </para>
+
             <para>
                 A parameter may be given as a separate argument following a
                 flag argument, or as part of the same argument string,
@@ -69,6 +77,7 @@
                 by <classname>Zend_Console_Getopt</classname>.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 "cluster": multiple single-character flags combined
@@ -81,6 +90,7 @@
             </para>
         </listitem>
     </itemizedlist>
+
     <para>
         For example, in <command>mysql --user=root mydatabase</command>,
         <command>mysql</command> is a <emphasis>command</emphasis>,
@@ -90,14 +100,17 @@
         and <command>mydatabase</command> is an argument but not an option
         by our definition.
     </para>
+
     <para>
         <classname>Zend_Console_Getopt</classname> provides an interface to declare
         which flags are valid for your application, output an error and usage
         message if they use an invalid flag, and report to your application
         code which flags the user specified.
     </para>
+
     <note>
         <title>Getopt is not an Application Framework</title>
+
         <para>
             <classname>Zend_Console_Getopt</classname> does <emphasis>not</emphasis>
             interpret the meaning of flags and parameters, nor does this class
@@ -110,6 +123,7 @@
             another <acronym>PHP</acronym> class.
         </para>
     </note>
+
     <para>
         The following sections describe usage of <classname>Zend_Console_Getopt</classname>.
     </para>

+ 18 - 1
documentation/manual/en/module_specs/Zend_Console_Getopt-Rules.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.console.getopt.rules">
     <title>Declaring Getopt Rules</title>
+
     <para>
         The constructor for the <classname>Zend_Console_Getopt</classname> class takes
         from one to three arguments. The first argument
@@ -9,11 +10,13 @@
         This class supports alternative syntax forms for declaring the options.
         See the sections below for the format and usage of these syntax forms.
     </para>
+
     <para>
         The constructor takes two more arguments, both of which are optional.
         The second argument may contain the command-line arguments.
         This defaults to <varname>$_SERVER['argv']</varname>.
     </para>
+
     <para>
         The third argument of the constructor may contain an
         configuration options to customize the behavior of
@@ -24,6 +27,7 @@
 
     <sect2 id="zend.console.getopt.rules.short">
         <title>Declaring Options with the Short Syntax</title>
+
         <para>
             <classname>Zend_Console_Getopt</classname> supports a compact syntax similar
             to that used by <acronym>GNU</acronym> Getopt (see <ulink
@@ -34,18 +38,22 @@
             character (<emphasis>:</emphasis>) indicates a flag that requires a
             parameter.
         </para>
+
         <example id="zend.console.getopt.rules.short.example">
             <title>Using the Short Syntax</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt('abp:');
 ]]></programlisting>
         </example>
+
         <para>
             The example above shows using <classname>Zend_Console_Getopt</classname>
             to declare that options may be given as <command>-a</command>,
             <command>-b</command>, or <command>-p</command>. The latter flag
             requires a parameter.
         </para>
+
         <para>
             The short syntax is limited to flags of a single character.
             Aliases, parameter types, and help strings are not supported
@@ -55,6 +63,7 @@ $opts = new Zend_Console_Getopt('abp:');
 
     <sect2 id="zend.console.getopt.rules.long">
         <title>Declaring Options with the Long Syntax</title>
+
         <para>
             A different syntax with more features is also available. This
             syntax allows you to specify aliases for flags, types of option
@@ -63,6 +72,7 @@ $opts = new Zend_Console_Getopt('abp:');
             the options, the long syntax uses an associative array as the
             first argument to the constructor.
         </para>
+
         <para>
             The key of each element of the associative array is a string with
             a format that names the flag, with any aliases, separated by the
@@ -71,34 +81,41 @@ $opts = new Zend_Console_Getopt('abp:');
             ("<emphasis>=</emphasis>") with a letter that stands for the
             <emphasis>type</emphasis> of the parameter:
         </para>
+
         <itemizedlist>
             <listitem>
                 <para>
                     "<emphasis>=s</emphasis>" for a string parameter
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     "<emphasis>=w</emphasis>" for a word parameter
                     (a string containing no whitespace)
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     "<emphasis>=i</emphasis>" for an integer parameter
                 </para>
             </listitem>
         </itemizedlist>
+
         <para>
             If the parameter is optional, use a dash ("<emphasis>-</emphasis>")
             instead of the equals symbol.
         </para>
+
         <para>
             The value of each element in the associative array is a help string
             to describe to a user how to use your program.
         </para>
+
         <example id="zend.console.getopt.rules.long.example">
             <title>Using the Long Syntax</title>
+
             <programlisting language="php"><![CDATA[
 $opts = new Zend_Console_Getopt(
   array(
@@ -109,6 +126,7 @@ $opts = new Zend_Console_Getopt(
 );
 ]]></programlisting>
         </example>
+
         <para>
             In the example declaration above, there are three options.
             <command>--apple</command> and <command>-a</command> are aliases for each
@@ -119,5 +137,4 @@ $opts = new Zend_Console_Getopt(
             for each other, and the option may take an optional string parameter.
         </para>
     </sect2>
-
 </sect1>

+ 11 - 7
documentation/manual/en/module_specs/Zend_Controller-ActionController.xml

@@ -5,6 +5,7 @@
 
     <sect2 id="zend.controller.action.introduction">
         <title>Introduction</title>
+
         <para>
             <classname>Zend_Controller_Action</classname> is an abstract class you may use
             for implementing Action Controllers for use with the Front
@@ -219,11 +220,12 @@ class FooController extends Zend_Controller_Action
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                <emphasis>Request Object</emphasis>: <methodname>getRequest()</methodname>
-                may be used to retrieve the request object used to call the
-                action.
-            </para></listitem>
+            <listitem>
+                <para>
+                    <emphasis>Request Object</emphasis>: <methodname>getRequest()</methodname>
+                    may be used to retrieve the request object used to call the action.
+                </para>
+            </listitem>
 
             <listitem>
                 <para>
@@ -384,7 +386,8 @@ string render(string $action = null,
                 <varname>$name</varname>.
             </para>
 
-            <note><para>
+            <note>
+                <para>
                     Since controller and action names may contain word delimiter
                     characters such as '_', '.', and '-', <methodname>render()</methodname>
                     normalizes these to '-' when determining the script name. Internally,
@@ -395,7 +398,8 @@ string render(string $action = null,
                     contains camelCasing, please remember that this will result
                     in '-' separated words when determining the view script
                     file name.
-            </para></note>
+                </para>
+            </note>
 
             <para>
                 Some examples:

+ 0 - 1
documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-ActionStack.xml

@@ -51,7 +51,6 @@ class FooController extends Zend_Controller_Action
     }
 }
 ]]></programlisting>
-
     </example>
 
     <example id="zend.controller.actionhelpers.actionstack.simple2">

+ 28 - 24
documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-AutoComplete.xml

@@ -23,7 +23,7 @@
         Basic usage for each implementation is the same:
     </para>
 
-        <programlisting language="php"><![CDATA[
+   <programlisting language="php"><![CDATA[
 class FooController extends Zend_Controller_Action
 {
     public function barAction()
@@ -49,21 +49,14 @@ class FooController extends Zend_Controller_Action
     </para>
 
     <itemizedlist>
-        <listitem><para>
-                Disables layouts and ViewRenderer.
-        </para></listitem>
-
-        <listitem><para>
-                Sets appropriate response headers.
-        </para></listitem>
+        <listitem><para>Disables layouts and ViewRenderer.</para></listitem>
+        <listitem><para>Sets appropriate response headers.</para></listitem>
 
-        <listitem><para>
-                Sets response body with encoded or formatted autocompletion data.
-        </para></listitem>
+        <listitem>
+            <para>Sets response body with encoded or formatted autocompletion data.</para>
+        </listitem>
 
-        <listitem><para>
-                Sends response.
-        </para></listitem>
+        <listitem><para>Sends response.</para></listitem>
     </itemizedlist>
 
     <para>
@@ -71,41 +64,51 @@ class FooController extends Zend_Controller_Action
     </para>
 
     <itemizedlist>
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>disableLayouts()</methodname> can be used to disable layouts and
                 the ViewRenderer. Typically, this is called within
                 <methodname>prepareAutoCompletion()</methodname>.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>encodeJson($data, $keepLayouts = false)</methodname> will encode
                 data to <acronym>JSON</acronym>, optionally enabling or disabling layouts.
                 Typically, this is called within
                 <methodname>prepareAutoCompletion()</methodname>.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>prepareAutoCompletion($data, $keepLayouts = false)</methodname>
                 is used to prepare data in the response format necessary for the
                 concrete implementation, optionally enabling or disabling
                 layouts. The return value will vary based on the implementation.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>sendAutoCompletion($data, $keepLayouts = false)</methodname>
                 is used to send data in the response format necessary for the
                 concrete implementation. It calls
                 <methodname>prepareAutoCompletion()</methodname>, and then sends the
                 response.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>direct($data, $sendNow = true, $keepLayouts =
                     false)</methodname> is used when calling the helper as a method of
                 the helper broker. The <varname>$sendNow</varname> flag is used to
                 determine whether to call <methodname>sendAutoCompletion()</methodname> or
                 <methodname>prepareAutoCompletion()</methodname>, respectively.
-        </para></listitem>
+            </para>
+        </listitem>
     </itemizedlist>
 
     <para>
@@ -331,6 +334,7 @@ dojo.require("custom.TestNameReadStore");
 
     <sect4 id="zend.controller.actionhelpers.autocomplete.scriptaculous">
         <title>AutoCompletion with Scriptaculous</title>
+
         <para>
             <ulink
                 url="http://wiki.script.aculo.us/scriptaculous/show/Ajax.Autocompleter">Scriptaculous</ulink>

+ 148 - 89
documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-ContextSwitch.xml

@@ -18,23 +18,31 @@
     </para>
 
     <itemizedlist>
-        <listitem><para>
+        <listitem>
+            <para>
                 Disable layouts, if enabled.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 Set an alternate view suffix, effectively requiring a separate
                 view script for the context.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 Send appropriate response headers for the context desired.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 Optionally, call specified callbacks to setup the context and/or
                 perform post-processing.
-        </para></listitem>
+            </para>
+        </listitem>
     </itemizedlist>
 
     <para>
@@ -93,14 +101,18 @@ class NewsController extends Zend_Controller_Action
     </para>
 
     <itemizedlist>
-        <listitem><para>
+        <listitem>
+            <para>
                 Set the 'Content-Type' response header to '<filename>text/xml</filename>'.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 Change the view suffix to '<filename>xml.phtml</filename>' (or, if you use an
                 alternate view suffix, 'xml.[your suffix]').
-        </para></listitem>
+            </para>
+        </listitem>
     </itemizedlist>
 
     <para>
@@ -117,15 +129,19 @@ class NewsController extends Zend_Controller_Action
     </para>
 
     <itemizedlist>
-        <listitem><para>
+        <listitem>
+            <para>
                 Via <acronym>URL</acronym> parameter: <filename>/news/list/format/xml</filename>
                 (recall, the default routing schema allows for arbitrary key to value pairs
                 following the action)
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 Via <constant>GET</constant> parameter: <command>/news/list?format=xml</command>
-        </para></listitem>
+            </para>
+        </listitem>
     </itemizedlist>
 
     <para>
@@ -198,33 +214,43 @@ $this->_helper->contextSwitch()->setAutoJsonSerialization(false);
 
         <itemizedlist>
             <listitem>
-                <para><emphasis>suffix</emphasis>: the suffix to prepend to the
-                default view suffix as registered in the ViewRenderer.</para>
+                <para>
+                    <emphasis>suffix</emphasis>: the suffix to prepend to the
+                    default view suffix as registered in the ViewRenderer.
+                </para>
             </listitem>
 
             <listitem>
-                <para><emphasis>headers</emphasis>: an array of header to value
-                    pairs you wish sent as part of the response.</para>
+                <para>
+                    <emphasis>headers</emphasis>: an array of header to value
+                    pairs you wish sent as part of the response.
+                </para>
             </listitem>
 
             <listitem>
-                <para><emphasis>callbacks</emphasis>: an array containing one or
-                more of the keys 'init' or 'post', pointing to valid <acronym>PHP</acronym>
-                callbacks that can be used for context initialization and post
-                processing.</para>
+                <para>
+                    <emphasis>callbacks</emphasis>: an array containing one or
+                    more of the keys 'init' or 'post', pointing to valid <acronym>PHP</acronym>
+                    callbacks that can be used for context initialization and post
+                    processing.
+                </para>
 
-                <para>Initialization callbacks occur when the context is
-                detected by <emphasis>ContextSwitch</emphasis>. You can use it to
-                perform arbitrary logic that should occur. As an example,
-                the <acronym>JSON</acronym> context uses a callback to disable the ViewRenderer
-                when the automatic <acronym>JSON</acronym> serialization is on.</para>
+                <para>
+                    Initialization callbacks occur when the context is
+                    detected by <emphasis>ContextSwitch</emphasis>. You can use it to
+                    perform arbitrary logic that should occur. As an example,
+                    the <acronym>JSON</acronym> context uses a callback to disable the ViewRenderer
+                    when the automatic <acronym>JSON</acronym> serialization is on.
+                </para>
 
-                <para>Post processing occurs during the action's
-                <methodname>postDispatch()</methodname> routine, and can be used to perform
-                arbitrary logic. As an example, the <acronym>JSON</acronym> context uses a callback
-                to determine if the automatic <acronym>JSON</acronym> serialization is on; if so,
-                it serializes the view variables to <acronym>JSON</acronym> and sends the response,
-                but if not, it re-enables the ViewRenderer.</para>
+                <para>
+                    Post processing occurs during the action's
+                    <methodname>postDispatch()</methodname> routine, and can be used to perform
+                    arbitrary logic. As an example, the <acronym>JSON</acronym> context uses a
+                    callback to determine if the automatic <acronym>JSON</acronym> serialization is
+                    on; if so, it serializes the view variables to <acronym>JSON</acronym> and sends
+                    the response, but if not, it re-enables the ViewRenderer.
+                </para>
             </listitem>
         </itemizedlist>
 
@@ -233,54 +259,73 @@ $this->_helper->contextSwitch()->setAutoJsonSerialization(false);
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                <methodname>addContext($context, array $spec)</methodname>: add a new
-                context. Throws an exception if the context already exists.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setContext($context, array $spec)</methodname>: add a new
-                context or overwrite an existing context. Uses the same
-                specification as <methodname>addContext()</methodname>.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>addContexts(array $contexts)</methodname>: add many contexts at
-                once. The <varname>$contexts</varname> array should be an array of
-                context to specification pairs. If any of the contexts already
-                exists, it will throw an exception.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>setContexts(array $contexts)</methodname>: add new contexts and
+            <listitem>
+                <para>
+                    <methodname>addContext($context, array $spec)</methodname>: add a new
+                    context. Throws an exception if the context already exists.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setContext($context, array $spec)</methodname>: add a new
+                    context or overwrite an existing context. Uses the same
+                    specification as <methodname>addContext()</methodname>.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>addContexts(array $contexts)</methodname>: add many contexts at
+                    once. The <varname>$contexts</varname> array should be an array of
+                    context to specification pairs. If any of the contexts already
+                    exists, it will throw an exception.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>setContexts(array $contexts)</methodname>: add new contexts and
                 overwrite existing ones. Uses the same specification as
                 <methodname>addContexts()</methodname>.
-            </para></listitem>
+            </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+            <para>
                 <methodname>hasContext($context)</methodname>: returns <constant>TRUE</constant> if
                 the context exists, <constant>FALSE</constant> otherwise.
-            </para></listitem>
+            </para>
+            </listitem>
 
-            <listitem><para> <methodname>getContext($context)</methodname>: retrieve a
+            <listitem>
+                <para>
+                    <methodname>getContext($context)</methodname>: retrieve a
                     single context by name. Returns an array following the
                     specification used in <methodname>addContext()</methodname>.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>getContexts()</methodname>: retrieve all contexts. Returns an
-                array of context to specification pairs.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>removeContext($context)</methodname>: remove a single context by
-                name. Returns <constant>TRUE</constant> if successful, <constant>FALSE</constant>
-                if the context was not found.
-            </para></listitem>
-
-            <listitem><para>
-                <methodname>clearContexts()</methodname>: remove all contexts.
-            </para></listitem>
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>getContexts()</methodname>: retrieve all contexts. Returns an
+                    array of context to specification pairs.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>removeContext($context)</methodname>: remove a single context by
+                    name. Returns <constant>TRUE</constant> if successful,
+                    <constant>FALSE</constant> if the context was not found.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <methodname>clearContexts()</methodname>: remove all contexts.
+                </para>
+            </listitem>
         </itemizedlist>
     </sect4>
 
@@ -390,51 +435,65 @@ class FooController extends Zend_Controller_Action
                 </para>
             </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>setActionContext($action, $context)</methodname>: marks one
                     or more contexts as available to an action. If mappings
                     already exists, it replaces them with those specified.
                     <varname>$context</varname> may be a single context, or an array
                     of contexts.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>addActionContexts(array $contexts)</methodname>: add several
                     action to context pairings at once. <varname>$contexts</varname>
                     should be an associative array of action to context pairs. It
                     proxies to <methodname>addActionContext()</methodname>, meaning that if
                     pairings already exist, it appends to them.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>setActionContexts(array $contexts)</methodname>: acts like
                     <methodname>addActionContexts()</methodname>, but overwrites existing
                     action to context pairs.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>hasActionContext($action, $context)</methodname>: determine
                     if a particular action has a given context.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>getActionContexts($action = null)</methodname>: returns
                     either all contexts for a given action, or all
                     action to context pairs.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>removeActionContext($action, $context)</methodname>: remove
                     one or more contexts from a given action.
                     <varname>$context</varname> may be a single context or an array of
                     contexts.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>clearActionContexts($action = null)</methodname>: remove all
                     contexts from a given action, or from all actions with
                     contexts.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
     </sect4>
 

+ 2 - 1
documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-FlashMessenger.xml

@@ -5,6 +5,7 @@
 
     <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
         <title>Introduction</title>
+
         <para>
             The <emphasis>FlashMessenger</emphasis> helper allows you to pass messages
             that the user may need to see on the next request. To accomplish
@@ -17,11 +18,11 @@
             <link linkend="zend.session.advanced_usage.starting_a_session">Zend_Session</link>
             documentation for more details on its usage.)
         </para>
-
     </sect4>
 
     <sect4 id="zend.controller.actionhelper.flashmessenger.basicusage">
         <title>Basic Usage Example</title>
+
         <para>
             The usage example below shows the use of the flash messenger at its
             most basic. When the action <filename>/some/my</filename> is called, it adds

+ 16 - 8
documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-Json.xml

@@ -15,9 +15,11 @@
     </para>
 
     <itemizedlist>
-        <listitem><para>
+        <listitem>
+            <para>
                 Disables layouts if currently enabled.
-        </para></listitem>
+            </para>
+        </listitem>
 
         <listitem>
             <para>
@@ -32,18 +34,24 @@ $this->_helper->json($data, array('enableJsonExprFinder' => true));
 ]]></programlisting>
         </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 Disables the ViewRenderer if currently enabled.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 Sets the 'Content-Type' response header to '<filename>application/json</filename>'.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 By default, immediately returns the response, without waiting
                 for the action to finish execution.
-        </para></listitem>
+            </para>
+        </listitem>
     </itemizedlist>
 
     <para>

+ 16 - 9
documentation/manual/en/module_specs/Zend_Controller-ActionHelpers-ViewRenderer.xml

@@ -288,12 +288,14 @@ $this->_helper->viewRenderer('foo');
 $this->_helper->viewRenderer('form', 'html', true);
 ]]></programlisting>
 
-                <note><para>
+                <note>
+                    <para>
                         <methodname>setRender()</methodname> and <methodname>direct()</methodname>
                         don't actually render the view script, but instead set hints
                         that <methodname>postDispatch()</methodname> and
                         <methodname>render()</methodname> will use to render the view.
-                </para></note>
+                    </para>
+                </note>
             </listitem>
         </itemizedlist>
 
@@ -420,14 +422,16 @@ $viewRenderer =
                 </para>
             </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>setInflector($inflector, $reference)</methodname> allows you
                     to set a custom inflector for use with the
                     <emphasis>ViewRenderer</emphasis>. If <varname>$reference</varname> is
                     <constant>TRUE</constant>, it will set the suffix and module directory as static
                     references to <emphasis>ViewRenderer</emphasis> properties, as well
                     as the target.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <note>
@@ -509,11 +513,13 @@ $viewRenderer =
                     <methodname>render()</methodname> method.
                 </para>
 
-                <note><para>
-                    Once the view has been rendered to the response object, it
-                    sets the <emphasis>noRender</emphasis> to prevent accidentally
-                    rendering the same view script multiple times.
-                </para></note>
+                <note>
+                    <para>
+                        Once the view has been rendered to the response object, it
+                        sets the <emphasis>noRender</emphasis> to prevent accidentally
+                        rendering the same view script multiple times.
+                    </para>
+                </note>
 
                 <note>
                     <para>
@@ -658,6 +664,7 @@ class Foo_BarController extends Zend_Controller_Action
 
         <note>
             <title>Naming Conventions: Word Delimiters in Controller and Action Names</title>
+
             <para>
                 If your controller or action name is composed of several
                 words, the dispatcher requires that these are separated on

+ 1 - 0
documentation/manual/en/module_specs/Zend_Controller-ActionHelpers.xml

@@ -5,6 +5,7 @@
 
     <sect2 id="zend.controller.actionhelper.introduction">
         <title>Introduction</title>
+
         <para>
             Action Helpers allow developers to inject runtime and/or on-demand
             functionality into any Action Controllers that extend

+ 147 - 147
documentation/manual/en/module_specs/Zend_Controller-Basics.xml

@@ -28,162 +28,162 @@
         working knowledge of the process is helpful.
     </para>
 
-        <itemizedlist>
-            <listitem>
-                <para>
-                    <classname>Zend_Controller_Front</classname> orchestrates the entire
-                    workflow of the <classname>Zend_Controller</classname> system. It is
-                    an interpretation of the FrontController pattern.
-                    <classname>Zend_Controller_Front</classname> processes all requests
-                    received by the server and is ultimately responsible for
-                    delegating requests to ActionControllers
-                    (<classname>Zend_Controller_Action</classname>).
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <classname>Zend_Controller_Request_Abstract</classname> (often
-                    referred to as the <emphasis>Request Object</emphasis>) represents
-                    the request environment and provides methods for setting and
-                    retrieving the controller and action names and any request
-                    parameters. Additionally it keeps track of whether or not
-                    the action it contains has been dispatched by
-                    <classname>Zend_Controller_Dispatcher</classname>. Extensions to the
-                    abstract request object can be used to encapsulate the
-                    entire request environment, allowing routers to pull
-                    information from the request environment in order to set the
-                    controller and action names.
-                </para>
-
-                <para>
-                    By default, <classname>Zend_Controller_Request_Http</classname> is
-                    used, which provides access to the entire <acronym>HTTP</acronym> request
-                    environment.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <classname>Zend_Controller_Router_Interface</classname> is used to
-                    define routers. Routing is the process of examining the
-                    request environment to determine which controller, and
-                    action of that controller, should receive the request. This
-                    controller, action, and optional parameters are then set in
-                    the request object to be processed by
-                    <classname>Zend_Controller_Dispatcher_Standard</classname>. Routing
-                    occurs only once: when the request is initially received and
-                    before the first controller is dispatched.
-                </para>
-
-                <para>
-                    The default router,
-                    <classname>Zend_Controller_Router_Rewrite</classname>, takes a
-                    <acronym>URI</acronym> endpoint as specified in
-                    <classname>Zend_Controller_Request_Http</classname> and decomposes it
-                    into a controller, action, and parameters based on the path information
-                    in the <acronym>URL</acronym>. As an example, the <acronym>URL</acronym>
-                    <filename>http://localhost/foo/bar/key/value</filename> would be
-                    decoded to use the <emphasis>foo</emphasis> controller,
-                    <emphasis>bar</emphasis> action, and specify a parameter
-                    <emphasis>key</emphasis> with a value of <emphasis>value</emphasis>.
-                </para>
-
-                <para>
-                    <classname>Zend_Controller_Router_Rewrite</classname> can also be used
-                    to match arbitrary paths; see <link
-                        linkend="zend.controller.router">the router documentation</link>
-                    for more information.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <classname>Zend_Controller_Dispatcher_Interface</classname> is used to
-                    define dispatchers. Dispatching is the process of pulling
-                    the controller and action from the request object and
-                    mapping them to a controller file (or class) and action method in
-                    the controller class. If the controller or action do not
-                    exist, it handles determining default controllers and
-                    actions to dispatch.
-                </para>
-
-                <para>
-                    The actual dispatching process consists of instantiating the
-                    controller class and calling the action method in that
-                    class. Unlike routing, which occurs only once, dispatching
-                    occurs in a loop. If the request object's dispatched status
-                    is reset at any point, the loop will be repeated, calling
-                    whatever action is currently set in the request object. The
-                    first time the loop finishes with the request object's
-                    dispatched status set (<type>Boolean</type> <constant>TRUE</constant>),
-                    it will finish processing.
-                </para>
-
-                <para>
-                    The default dispatcher is
-                    <classname>Zend_Controller_Dispatcher_Standard</classname>. It defines
-                    controllers as MixedCasedClasses ending in the word
-                    Controller, and action methods as camelCasedMethods ending
-                    in the word Action:
-                    <methodname>FooController::barAction()</methodname>. In this case, the
-                    controller would be referred to as <emphasis>foo</emphasis> and
-                    the action as <emphasis>bar</emphasis>.
-                </para>
+    <itemizedlist>
+        <listitem>
+            <para>
+                <classname>Zend_Controller_Front</classname> orchestrates the entire
+                workflow of the <classname>Zend_Controller</classname> system. It is
+                an interpretation of the FrontController pattern.
+                <classname>Zend_Controller_Front</classname> processes all requests
+                received by the server and is ultimately responsible for
+                delegating requests to ActionControllers
+                (<classname>Zend_Controller_Action</classname>).
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <classname>Zend_Controller_Request_Abstract</classname> (often
+                referred to as the <emphasis>Request Object</emphasis>) represents
+                the request environment and provides methods for setting and
+                retrieving the controller and action names and any request
+                parameters. Additionally it keeps track of whether or not
+                the action it contains has been dispatched by
+                <classname>Zend_Controller_Dispatcher</classname>. Extensions to the
+                abstract request object can be used to encapsulate the
+                entire request environment, allowing routers to pull
+                information from the request environment in order to set the
+                controller and action names.
+            </para>
+
+            <para>
+                By default, <classname>Zend_Controller_Request_Http</classname> is
+                used, which provides access to the entire <acronym>HTTP</acronym> request
+                environment.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <classname>Zend_Controller_Router_Interface</classname> is used to
+                define routers. Routing is the process of examining the
+                request environment to determine which controller, and
+                action of that controller, should receive the request. This
+                controller, action, and optional parameters are then set in
+                the request object to be processed by
+                <classname>Zend_Controller_Dispatcher_Standard</classname>. Routing
+                occurs only once: when the request is initially received and
+                before the first controller is dispatched.
+            </para>
+
+            <para>
+                The default router,
+                <classname>Zend_Controller_Router_Rewrite</classname>, takes a
+                <acronym>URI</acronym> endpoint as specified in
+                <classname>Zend_Controller_Request_Http</classname> and decomposes it
+                into a controller, action, and parameters based on the path information
+                in the <acronym>URL</acronym>. As an example, the <acronym>URL</acronym>
+                <filename>http://localhost/foo/bar/key/value</filename> would be
+                decoded to use the <emphasis>foo</emphasis> controller,
+                <emphasis>bar</emphasis> action, and specify a parameter
+                <emphasis>key</emphasis> with a value of <emphasis>value</emphasis>.
+            </para>
+
+            <para>
+                <classname>Zend_Controller_Router_Rewrite</classname> can also be used
+                to match arbitrary paths; see <link
+                    linkend="zend.controller.router">the router documentation</link>
+                for more information.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <classname>Zend_Controller_Dispatcher_Interface</classname> is used to
+                define dispatchers. Dispatching is the process of pulling
+                the controller and action from the request object and
+                mapping them to a controller file (or class) and action method in
+                the controller class. If the controller or action do not
+                exist, it handles determining default controllers and
+                actions to dispatch.
+            </para>
+
+            <para>
+                The actual dispatching process consists of instantiating the
+                controller class and calling the action method in that
+                class. Unlike routing, which occurs only once, dispatching
+                occurs in a loop. If the request object's dispatched status
+                is reset at any point, the loop will be repeated, calling
+                whatever action is currently set in the request object. The
+                first time the loop finishes with the request object's
+                dispatched status set (<type>Boolean</type> <constant>TRUE</constant>),
+                it will finish processing.
+            </para>
+
+            <para>
+                The default dispatcher is
+                <classname>Zend_Controller_Dispatcher_Standard</classname>. It defines
+                controllers as MixedCasedClasses ending in the word
+                Controller, and action methods as camelCasedMethods ending
+                in the word Action:
+                <methodname>FooController::barAction()</methodname>. In this case, the
+                controller would be referred to as <emphasis>foo</emphasis> and
+                the action as <emphasis>bar</emphasis>.
+            </para>
+
+            <note>
+                <title>Case Naming Conventions</title>
 
-                <note>
-                    <title>Case Naming Conventions</title>
-
-                    <para>
-                        Since humans are notoriously inconsistent at
-                        maintaining case sensitivity when typing links, Zend
-                        Framework actually normalizes path information to
-                        lowercase. This, of course, will affect how you name
-                        your controller and actions... or refer to them in
-                        links.
-                    </para>
-
-                    <para>
-                        If you wish to have your controller class or action
-                        method name have multiple MixedCasedWords or
-                        camelCasedWords, you will need to separate those words
-                        on the url with either a '-' or '.' (though you can
-                        configure the character used).
-                    </para>
-
-                    <para>
-                        As an example, if you were going to the action in
-                        <methodname>FooBarController::bazBatAction()</methodname>, you'd
-                        refer to it on the url as <filename>/foo-bar/baz-bat</filename>
-                        or <filename>/foo.bar/baz.bat</filename>.
-                    </para>
-                </note>
-            </listitem>
-
-            <listitem>
                 <para>
-                    <classname>Zend_Controller_Action</classname> is the base action
-                    controller component. Each controller is a single class
-                    that extends the <classname>Zend_Controller_Action</classname> class
-                    and should contain one or more action methods.
+                    Since humans are notoriously inconsistent at
+                    maintaining case sensitivity when typing links, Zend
+                    Framework actually normalizes path information to
+                    lowercase. This, of course, will affect how you name
+                    your controller and actions... or refer to them in
+                    links.
                 </para>
-            </listitem>
 
-            <listitem>
                 <para>
-                    <classname>Zend_Controller_Response_Abstract</classname> defines a
-                    base response class used to collect and return responses
-                    from the action controllers. It collects both headers and
-                    body content.
+                    If you wish to have your controller class or action
+                    method name have multiple MixedCasedWords or
+                    camelCasedWords, you will need to separate those words
+                    on the url with either a '-' or '.' (though you can
+                    configure the character used).
                 </para>
 
                 <para>
-                    The default response class is
-                    <classname>Zend_Controller_Response_Http</classname>, which is
-                    suitable for use in an <acronym>HTTP</acronym> environment.
+                    As an example, if you were going to the action in
+                    <methodname>FooBarController::bazBatAction()</methodname>, you'd
+                    refer to it on the url as <filename>/foo-bar/baz-bat</filename>
+                    or <filename>/foo.bar/baz.bat</filename>.
                 </para>
-            </listitem>
-        </itemizedlist>
+            </note>
+        </listitem>
+
+        <listitem>
+            <para>
+                <classname>Zend_Controller_Action</classname> is the base action
+                controller component. Each controller is a single class
+                that extends the <classname>Zend_Controller_Action</classname> class
+                and should contain one or more action methods.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <classname>Zend_Controller_Response_Abstract</classname> defines a
+                base response class used to collect and return responses
+                from the action controllers. It collects both headers and
+                body content.
+            </para>
+
+            <para>
+                The default response class is
+                <classname>Zend_Controller_Response_Http</classname>, which is
+                suitable for use in an <acronym>HTTP</acronym> environment.
+            </para>
+        </listitem>
+    </itemizedlist>
 
     <para>
         The workflow of <classname>Zend_Controller</classname> is relatively simple. A

+ 1 - 1
documentation/manual/en/module_specs/Zend_Controller-Exceptions.xml

@@ -43,7 +43,6 @@
 
                 <itemizedlist>
                     <listitem><para>Errors due to missing controllers or actions</para></listitem>
-
                     <listitem><para>Errors occurring within action controllers</para></listitem>
                 </itemizedlist>
 
@@ -238,6 +237,7 @@ class My_Controller_Action extends Zend_Controller_Action
     }
 }
 ]]></programlisting>
+
                         <para>
                             The example above intercepts any undefined action
                             method called and redirects it to the default action

+ 9 - 5
documentation/manual/en/module_specs/Zend_Controller-Modular.xml

@@ -5,6 +5,7 @@
 
     <sect2 id="zend.controller.modular.introduction">
         <title>Introduction</title>
+
         <para>
             The Conventional Modular directory structure allows you to separate
             different <acronym>MVC</acronym> applications into self-contained units, and re-use
@@ -63,6 +64,7 @@ application/
 
         <note>
             <title>No Namespacing in the Default Module</title>
+
             <para>
                 Note that in the default module, controllers do not need a
                 namespace prefix. Thus, in the example above, the controllers in
@@ -169,11 +171,13 @@ $front->setModuleControllerDirectoryName('con');
 $front->addModuleDirectory('/path/to/application/modules');
 ]]></programlisting>
 
-        <note><para>
-            You can indicate that no controller subdirectory be used for your
-            modules by passing an empty value to
-            <methodname>setModuleControllerDirectoryName()</methodname>.
-        </para></note>
+        <note>
+            <para>
+                You can indicate that no controller subdirectory be used for your
+                modules by passing an empty value to
+                <methodname>setModuleControllerDirectoryName()</methodname>.
+            </para>
+        </note>
     </sect2>
 
     <sect2 id="zend.controller.modular.router">

+ 16 - 8
documentation/manual/en/module_specs/Zend_Controller-Plugins-ActionStack.xml

@@ -20,32 +20,40 @@
     </para>
 
     <itemizedlist>
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>getRegistry()</methodname> and <methodname>setRegistry()</methodname>.
                 Internally, <emphasis>ActionStack</emphasis> uses a
                 <classname>Zend_Registry</classname> instance to store the stack. You can
                 substitute a different registry instance or retrieve it with
                 these accessors.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>getRegistryKey()</methodname> and
                 <methodname>setRegistryKey()</methodname>.
                 These can be used to indicate which registry key to use when
                 pulling the stack. Default value is
                 '<classname>Zend_Controller_Plugin_ActionStack</classname>'.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>getStack()</methodname> allows you to retrieve the stack of
                 actions in its entirety.
-        </para></listitem>
+            </para>
+        </listitem>
 
-        <listitem><para>
+        <listitem>
+            <para>
                 <methodname>pushStack()</methodname> and <methodname>popStack()</methodname> allow
                 you to add to and pull from the stack, respectively.
                 <methodname>pushStack()</methodname> accepts a request object.
-        </para></listitem>
+            </para>
+        </listitem>
     </itemizedlist>
 
     <para>

+ 6 - 6
documentation/manual/en/module_specs/Zend_Controller-Plugins-ErrorHandler.xml

@@ -45,22 +45,19 @@
     <itemizedlist>
         <listitem>
             <para>
-                <methodname>setErrorHandlerModule()</methodname> sets the controller module
-                to use.
+                <methodname>setErrorHandlerModule()</methodname> sets the controller module to use.
             </para>
         </listitem>
 
         <listitem>
             <para>
-                <methodname>setErrorHandlerController()</methodname> sets the controller
-                to use.
+                <methodname>setErrorHandlerController()</methodname> sets the controller to use.
             </para>
         </listitem>
 
         <listitem>
             <para>
-                <methodname>setErrorHandlerAction()</methodname> sets the controller action
-                to use.
+                <methodname>setErrorHandlerAction()</methodname> sets the controller action to use.
             </para>
         </listitem>
 
@@ -253,6 +250,7 @@ $this->getResponse()->clearBody();
 
         <example id="zend.controller.plugins.standard.errorhandler.examples.example-1">
             <title>Standard Usage</title>
+
             <programlisting language="php"><![CDATA[
 $front = Zend_Controller_Front::getInstance();
 $front->registerPlugin(new Zend_Controller_Plugin_ErrorHandler());
@@ -261,6 +259,7 @@ $front->registerPlugin(new Zend_Controller_Plugin_ErrorHandler());
 
         <example id="zend.controller.plugins.standard.errorhandler.examples.example-2">
             <title>Setting a Different Error Handler</title>
+
             <programlisting language="php"><![CDATA[
 $front = Zend_Controller_Front::getInstance();
 $front->registerPlugin(new Zend_Controller_Plugin_ErrorHandler(array(
@@ -273,6 +272,7 @@ $front->registerPlugin(new Zend_Controller_Plugin_ErrorHandler(array(
 
         <example id="zend.controller.plugins.standard.errorhandler.examples.example-3">
             <title>Using Accessors</title>
+
             <programlisting language="php"><![CDATA[
 $plugin = new Zend_Controller_Plugin_ErrorHandler();
 $plugin->setErrorHandlerModule('mystuff')

+ 0 - 1
documentation/manual/en/module_specs/Zend_Controller-Plugins-PutHandler.xml

@@ -41,5 +41,4 @@ public function putAction()
 }
 ...
 ]]></programlisting>
-
 </sect3>

+ 12 - 6
documentation/manual/en/module_specs/Zend_Controller-Plugins.xml

@@ -202,24 +202,30 @@ $front->dispatch();
         </para>
 
         <itemizedlist>
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>getPlugin($class)</methodname> allows you to retrieve a
                     plugin by class name. If no plugins match, it returns
                     <constant>FALSE</constant>. If more than one plugin of that class
                     is registered, it returns an array.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>getPlugins()</methodname> retrieves the entire plugin stack.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>unregisterPlugin($plugin)</methodname> allows you to remove
                     a plugin from the stack. You may pass a plugin object, or
                     the class name of the plugin you wish to unregister. If you
                     pass the class name, any plugins of that class will be
                     removed.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
     </sect2>
 

+ 4 - 1
documentation/manual/en/module_specs/Zend_Controller-QuickStart.xml

@@ -5,6 +5,7 @@
 
     <sect2 id="zend.controller.quickstart.introduction">
         <title>Introduction</title>
+
         <para>
             <classname>Zend_Controller</classname> is the heart of Zend Framework's
             <acronym>MVC</acronym> system. <acronym>MVC</acronym> stands for <ulink
@@ -17,6 +18,7 @@
             intercepted by the front controller and dispatched to individual
             Action Controllers based on the <acronym>URL</acronym> requested.
         </para>
+
         <para>
             The <classname>Zend_Controller</classname> system was built with extensibility
             in mind, either by subclassing the existing classes, writing new
@@ -58,7 +60,6 @@ html/
     .htaccess
     index.php
 ]]></programlisting>
-
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.docroot">
@@ -337,9 +338,11 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                 <listitem>
                     <para><filename>http://example.com/</filename></para>
                 </listitem>
+
                 <listitem>
                     <para><filename>http://example.com/index</filename></para>
                 </listitem>
+
                 <listitem>
                     <para><filename>http://example.com/index/index</filename></para>
                 </listitem>

+ 41 - 27
documentation/manual/en/module_specs/Zend_Controller-Request.xml

@@ -2,8 +2,10 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.controller.request">
     <title>The Request Object</title>
+
     <sect2 id="zend.controller.request.introduction">
         <title>Introduction</title>
+
         <para>
             The request object is a simple value object that is passed between
             <classname>Zend_Controller_Front</classname> and the router, dispatcher, and
@@ -14,30 +16,37 @@
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                The module name is accessed by
-                <methodname>getModuleName()</methodname> and
-                <methodname>setModuleName()</methodname>.
-            </para></listitem>
-
-            <listitem><para>
-                The controller name is accessed by
-                <methodname>getControllerName()</methodname> and
-                <methodname>setControllerName()</methodname>.
-            </para></listitem>
-
-            <listitem><para>
-                The name of the action to call within that controller is
-                accessed by <methodname>getActionName()</methodname> and
-                <methodname>setActionName()</methodname>.
-            </para></listitem>
-
-            <listitem><para>
-                Parameters to be accessible by the action are an associative array
-                of key and value pairs that are retrieved by <methodname>getParams()</methodname>
-                and set with <methodname>setParams()</methodname>, or individually by
-                <methodname>getParam()</methodname> and <methodname>setParam()</methodname>.
-            </para></listitem>
+            <listitem>
+                <para>
+                    The module name is accessed by <methodname>getModuleName()</methodname> and
+                    <methodname>setModuleName()</methodname>.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    The controller name is accessed by <methodname>getControllerName()</methodname>
+                    and <methodname>setControllerName()</methodname>.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    The name of the action to call within that controller is
+                    accessed by <methodname>getActionName()</methodname> and
+                    <methodname>setActionName()</methodname>.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    Parameters to be accessible by the action are an associative array
+                    of key and value pairs that are retrieved by
+                    <methodname>getParams()</methodname> and set with
+                    <methodname>setParams()</methodname>, or individually by
+                    <methodname>getParam()</methodname> and <methodname>setParam()</methodname>.
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>
@@ -86,6 +95,7 @@
 
             <note>
                 <title>Superglobal Data</title>
+
                 <para>
                     When accessing superglobal data through
                     <classname>Zend_Controller_Request_Http</classname> as public member
@@ -109,6 +119,7 @@
 
             <note>
                 <title>GET and POST Data</title>
+
                 <para>
                     Be cautious when accessing data from the request object as
                     it is not filtered in any way. The router and dispatcher
@@ -172,6 +183,7 @@
 
             <note>
                 <title>Apache Quirks</title>
+
                 <para>
                     If you are using Apache's 404 handler to pass incoming
                     requests to the front controller, or using a PT flag with
@@ -222,6 +234,7 @@ $front->setRequest($request);
 
             <note>
                 <title>URL Detection is Case Sensitive</title>
+
                 <para>
                     Automatic base <acronym>URL</acronym> detection is case sensitive, so make sure
                     your <acronym>URL</acronym> will match a subdirectory name in a filesystem (even
@@ -251,7 +264,6 @@ $controller->setControllerDirectory('./application/controllers')
            ->setBaseUrl('/projects/myapp'); // set the base url!
 $response   = $controller->dispatch();
 ]]></programlisting>
-
         </sect3>
 
         <sect3 id="zend.controller.request.http.method">
@@ -297,8 +309,10 @@ $response   = $controller->dispatch();
             </para>
 
             <itemizedlist>
-                <listitem><para>Prototype and Scriptaculous (and libraries derived
-                        from Prototype)</para></listitem>
+                <listitem>
+                    <para>Prototype and Scriptaculous (and libraries derived from Prototype)</para>
+                </listitem>
+
                 <listitem><para>Yahoo! UI Library</para></listitem>
                 <listitem><para>jQuery</para></listitem>
                 <listitem><para>MochiKit</para></listitem>

+ 2 - 0
documentation/manual/en/module_specs/Zend_Controller-Router-Route-Chain.xml

@@ -13,6 +13,7 @@
 
     <note>
         <title>Parameter Priority</title>
+
         <para>
             When chaining routes together, the parameters of the outer route
             have a higher priority than the parameters of the inner route. Thus
@@ -179,6 +180,7 @@ echo $chainedRoute->assemble();
     </www-imprint>
 </routes>
 ]]></programlisting>
+
         <para>
             When you configure chain routes with <classname>Zend_Config</classname> and
             want the chain name separator to be different from a dash, you

+ 53 - 44
documentation/manual/en/module_specs/Zend_Controller-Router-Route-Rest.xml

@@ -19,6 +19,7 @@
             <colspec colname='method' />
             <colspec colname='URI' />
             <colspec colname='route' />
+
             <thead>
                 <row>
                     <entry>Method</entry>
@@ -26,42 +27,51 @@
                     <entry>Module_Controller::action</entry>
                 </row>
             </thead>
+
             <tbody>
                 <row>
                     <entry><constant>GET</constant></entry>
                     <entry><filename>/product/ratings/</filename></entry>
                     <entry><methodname>Product_RatingsController::indexAction()</methodname></entry>
                 </row>
+
                 <row>
                     <entry><constant>GET</constant></entry>
                     <entry><filename>/product/ratings/:id</filename></entry>
                     <entry><methodname>Product_RatingsController::getAction()</methodname></entry>
                 </row>
+
                 <row>
                     <entry><constant>POST</constant></entry>
                     <entry><filename>/product/ratings</filename></entry>
                     <entry><methodname>Product_RatingsController::postAction()</methodname></entry>
                 </row>
+
                 <row>
                     <entry><constant>PUT</constant></entry>
                     <entry><filename>/product/ratings/:id</filename></entry>
                     <entry><methodname>Product_RatingsController::putAction()</methodname></entry>
                 </row>
+
                 <row>
                     <entry><constant>DELETE</constant></entry>
                     <entry><filename>/product/ratings/:id</filename></entry>
+
                     <entry>
                         <methodname>Product_RatingsController::deleteAction()</methodname>
                     </entry>
                 </row>
+
                 <row>
                     <entry><constant>POST</constant></entry>
                     <entry><filename>/product/ratings/:id?_method=PUT</filename></entry>
                     <entry><methodname>Product_RatingsController::putAction()</methodname></entry>
                 </row>
+
                 <row>
                     <entry><constant>POST</constant></entry>
                     <entry><filename>/product/ratings/:id?_method=DELETE</filename></entry>
+
                     <entry>
                         <methodname>Product_RatingsController::deleteAction()</methodname>
                     </entry>
@@ -73,87 +83,83 @@
     <sect4 id="zend.rest.route_usage">
         <title>Zend_Rest_Route Usage</title>
 
-    <para>
-        To enable <classname>Zend_Rest_Route</classname> for an entire
-        application, construct it with no config params and add it as the
-        default route on the front controller:
-    </para>
+        <para>
+            To enable <classname>Zend_Rest_Route</classname> for an entire
+            application, construct it with no config params and add it as the
+            default route on the front controller:
+        </para>
 
-    <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $front     = Zend_Controller_Front::getInstance();
 $restRoute = new Zend_Rest_Route($front);
 $front->getRouter()->addRoute('default', $restRoute);
 ]]></programlisting>
 
-    <note>
+        <note>
+            <para>
+                If <classname>Zend_Rest_Route</classname> cannot match a valid
+                module, controller, or action, it will return <constant>FALSE</constant> and the
+                router will attempt to match using the next route in the router.
+            </para>
+        </note>
+
         <para>
-            If <classname>Zend_Rest_Route</classname> cannot match a valid
-            module, controller, or action, it will return <constant>FALSE</constant> and the router
-            will attempt to match using the next route in the router.
+            To enable <classname>Zend_Rest_Route</classname> for specific modules,
+            construct it with an array of module names as the 3rd constructor argument:
         </para>
-    </note>
-
-    <para>
-        To enable <classname>Zend_Rest_Route</classname> for specific modules,
-        construct it with an array of module names as the 3rd constructor
-        argument:
-    </para>
 
-    <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $front     = Zend_Controller_Front::getInstance();
 $restRoute = new Zend_Rest_Route($front, array(), array('product'));
 $front->getRouter()->addRoute('rest', $restRoute);
 ]]></programlisting>
 
-    <para>
-        To enable <classname>Zend_Rest_Route</classname> for specific
-        controllers, add an array of controller names as the value of each
-        module array element.
-    </para>
+        <para>
+            To enable <classname>Zend_Rest_Route</classname> for specific
+            controllers, add an array of controller names as the value of each module array element.
+        </para>
 
-    <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $front     = Zend_Controller_Front::getInstance();
 $restRoute = new Zend_Rest_Route($front, array(), array(
     'product' => array('ratings')
 ));
 $front->getRouter()->addRoute('rest', $restRoute);
 ]]></programlisting>
-
     </sect4>
 
     <sect4 id="zend.rest.route_config">
         <title>Zend_Rest_Route with Zend_Config_Ini</title>
 
-    <para>
-        To use <classname>Zend_Rest_Route</classname> from an <acronym>INI</acronym> config file,
-        use a route type parameter and set the config options:
-    </para>
+        <para>
+            To use <classname>Zend_Rest_Route</classname> from an <acronym>INI</acronym> config
+            file, use a route type parameter and set the config options:
+        </para>
 
-    <programlisting language="ini"><![CDATA[
+        <programlisting language="ini"><![CDATA[
 routes.rest.type = Zend_Rest_Route
 routes.rest.defaults.controller = object
 routes.rest.mod = project,user
 ]]></programlisting>
 
-    <para>
-        The 'type' option designates the RESTful routing config type. The 'defaults' option is used
-        to specify custom default module, controller, and/or actions for the route. All other
-        options in the config group are treated as RESTful module names, and their values are
-        RESTful controller names. The example config defines
-        <classname>Mod_ProjectController</classname> and <classname>Mod_UserController</classname>
-        as RESTful controllers.
-    </para>
+        <para>
+            The 'type' option designates the RESTful routing config type. The 'defaults' option is
+            used to specify custom default module, controller, and/or actions for the route. All
+            other options in the config group are treated as RESTful module names, and their values
+            are RESTful controller names. The example config defines
+            <classname>Mod_ProjectController</classname> and
+            <classname>Mod_UserController</classname> as RESTful controllers.
+        </para>
 
-    <para>
-        Then use the <methodname>addConfig()</methodname> method of the Rewrite router object:
-    </para>
+        <para>
+            Then use the <methodname>addConfig()</methodname> method of the Rewrite router object:
+        </para>
 
-    <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $config = new Zend_Config_Ini('path/to/routes.ini');
 $router = new Zend_Controller_Router_Rewrite();
 $router->addConfig($config, 'routes');
 ]]></programlisting>
-
     </sect4>
 
     <sect4 id="zend.rest.controller">
@@ -175,6 +181,7 @@ $router->addConfig($config, 'routes');
                     Should retrieve an index of resources and assign it to view.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <emphasis><methodname>getAction()</methodname></emphasis> -
@@ -182,12 +189,14 @@ $router->addConfig($config, 'routes');
                     and assign it to view.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <emphasis><methodname>postAction()</methodname></emphasis> -
                     Should accept a new single resource and persist its state.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <emphasis><methodname>putAction()</methodname></emphasis> -
@@ -195,6 +204,7 @@ $router->addConfig($config, 'routes');
                     and persist its state.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <emphasis><methodname>deleteAction()</methodname></emphasis> -
@@ -202,7 +212,6 @@ $router->addConfig($config, 'routes');
                 </para>
             </listitem>
         </itemizedlist>
-
     </sect4>
 </sect3>
 <!--

+ 7 - 1
documentation/manual/en/module_specs/Zend_Controller-Router-Route.xml

@@ -42,6 +42,7 @@ $router->addRoute('user', $route);
 
     <note>
         <title>Character Usage</title>
+
         <para>
             The current implementation allows you to use any character (except a
             slash) as a variable identifier, but it is strongly recommended that
@@ -154,7 +155,6 @@ $router->addRoute('archive', $route);
             <methodname>showAction()</methodname> of the class
             <classname>ArchiveController</classname>.
         </para>
-
     </sect4>
 
     <sect4 id="zend.controller.router.routes.standard.variable-requirements">
@@ -204,12 +204,14 @@ $router->addRoute('archive', $route);
                     Put it into the registry with the key <classname>Zend_Translate</classname>.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Set it via the static method
                     <methodname>Zend_Controller_Router_Route::setDefaultTranslator()</methodname>.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Pass it as fourth parameter to the constructor.
@@ -230,17 +232,20 @@ $router->addRoute('archive', $route);
                     Put it into the registry with the key <classname>Zend_Locale</classname>.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Set it via the static method
                     <methodname>Zend_Controller_Router_Route::setDefaultLocale()</methodname>.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Pass it as fifth parameter to the constructor.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Pass it as <command>@locale</command> parameter to the assemble
@@ -262,6 +267,7 @@ $router->addRoute('archive', $route);
 
         <note>
             <title>Message IDs and separate language file</title>
+
             <para>
                 Occasionally a message ID which you want to use in one
                 of your routes is already used in a view script or somewhere

+ 11 - 2
documentation/manual/en/module_specs/Zend_Controller-Router.xml

@@ -2,8 +2,10 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.controller.router" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>The Standard Router</title>
+
     <sect2 id="zend.controller.router.introduction">
         <title>Introduction</title>
+
         <para>
             <classname>Zend_Controller_Router_Rewrite</classname> is the standard
             framework router. Routing is the process of taking a <acronym>URI</acronym> endpoint
@@ -56,6 +58,7 @@ RewriteRule ^[\w/\%]*(?:\.(?!(?:js|ico|gif|jpg|png|css|html)$)[\w\%]*$)? /index.
 
         <note>
             <title>IIS Isapi_Rewrite</title>
+
             <para>
                 When using <acronym>IIS</acronym>, <varname>$_SERVER['REQUEST_URI']</varname> will
                 either not exist, or be set as an empty string. In this case,
@@ -160,30 +163,35 @@ $router->addRoute('user',
                         linkend="zend.controller.router.routes.standard">Zend_Controller_Router_Route</link>
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <link
                         linkend="zend.controller.router.routes.static">Zend_Controller_Router_Route_Static</link>
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <link
                         linkend="zend.controller.router.routes.regex">Zend_Controller_Router_Route_Regex</link>
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <link
                         linkend="zend.controller.router.routes.hostname">Zend_Controller_Router_Route_Hostname</link>
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <link
                         linkend="zend.controller.router.routes.chain">Zend_Controller_Router_Route_Chain</link>
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <link
@@ -243,6 +251,7 @@ $router->addRoute('user',
 
         <note>
             <title>Reverse Matching</title>
+
             <para>
                 Routes are matched in reverse order so make sure your most
                 generic routes are defined first.
@@ -251,6 +260,7 @@ $router->addRoute('user',
 
         <note>
             <title>Returned Values</title>
+
             <para>
                 Values returned from routing come from <acronym>URL</acronym> parameters or user
                 defined route defaults. These variables are later accessible
@@ -268,6 +278,7 @@ $router->addRoute('user',
 
         <note>
             <title>Special Variables</title>
+
             <para>
                 The names of these special variables may be different if you
                 choose to alter the defaults in
@@ -359,7 +370,6 @@ $this->addRoute('default', $compat);
 // Remove any default routes
 $router->removeDefaultRoutes();
 ]]></programlisting>
-
     </sect2>
 
     <sect2 id="zend.controller.router.rewritebase">
@@ -385,7 +395,6 @@ $router->removeDefaultRoutes();
         <programlisting language="php"><![CDATA[
 $request->setBaseUrl('/~user/application-root/');
 ]]></programlisting>
-
     </sect2>
 
     <sect2 id="zend.controller.router.global.parameters">

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