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

[MANUAL] English:

- structural fixes (no translations needed)

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20774 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 лет назад
Родитель
Сommit
4652172daf
34 измененных файлов с 1654 добавлено и 1314 удалено
  1. 15 1
      documentation/manual/en/module_specs/Zend_Feed-ConsumingAtom.xml
  2. 2 0
      documentation/manual/en/module_specs/Zend_Feed-ConsumingAtomSingle.xml
  3. 20 0
      documentation/manual/en/module_specs/Zend_Feed-ConsumingRss.xml
  4. 1 1
      documentation/manual/en/module_specs/Zend_Feed-CustomFeed.xml
  5. 3 0
      documentation/manual/en/module_specs/Zend_Feed-Introduction.xml
  6. 4 0
      documentation/manual/en/module_specs/Zend_Feed-ModifyingFeed.xml
  7. 234 216
      documentation/manual/en/module_specs/Zend_Feed_Pubsubhubbub.xml
  8. 96 87
      documentation/manual/en/module_specs/Zend_Feed_Reader.xml
  9. 43 46
      documentation/manual/en/module_specs/Zend_Feed_Writer.xml
  10. 16 22
      documentation/manual/en/module_specs/Zend_File_Transfer-Filters.xml
  11. 9 21
      documentation/manual/en/module_specs/Zend_File_Transfer-Introduction.xml
  12. 30 33
      documentation/manual/en/module_specs/Zend_File_Transfer-Validators.xml
  13. 0 20
      documentation/manual/en/module_specs/Zend_Filter-Boolean.xml
  14. 1 1
      documentation/manual/en/module_specs/Zend_Filter-Callback.xml
  15. 4 3
      documentation/manual/en/module_specs/Zend_Filter-Compress.xml
  16. 3 0
      documentation/manual/en/module_specs/Zend_Filter-Decryption.xml
  17. 3 1
      documentation/manual/en/module_specs/Zend_Filter-Encryption.xml
  18. 0 1
      documentation/manual/en/module_specs/Zend_Filter-FilterChains.xml
  19. 60 30
      documentation/manual/en/module_specs/Zend_Filter-Inflector.xml
  20. 0 6
      documentation/manual/en/module_specs/Zend_Filter-LocalizedToNormalized.xml
  21. 0 5
      documentation/manual/en/module_specs/Zend_Filter-NormalizedToLocalized.xml
  22. 2 2
      documentation/manual/en/module_specs/Zend_Filter-Null.xml
  23. 0 1
      documentation/manual/en/module_specs/Zend_Filter-RealPath.xml
  24. 10 2
      documentation/manual/en/module_specs/Zend_Filter-Set.xml
  25. 0 4
      documentation/manual/en/module_specs/Zend_Filter-WritingFilters.xml
  26. 0 10
      documentation/manual/en/module_specs/Zend_Filter.xml
  27. 7 33
      documentation/manual/en/module_specs/Zend_Filter_Input.xml
  28. 4 2
      documentation/manual/en/module_specs/Zend_Form-Advanced.xml
  29. 29 16
      documentation/manual/en/module_specs/Zend_Form-Decorators.xml
  30. 465 306
      documentation/manual/en/module_specs/Zend_Form-Elements.xml
  31. 466 324
      documentation/manual/en/module_specs/Zend_Form-Forms.xml
  32. 23 49
      documentation/manual/en/module_specs/Zend_Form-QuickStart.xml
  33. 80 50
      documentation/manual/en/module_specs/Zend_Form-StandardDecorators.xml
  34. 24 21
      documentation/manual/en/module_specs/Zend_Form-StandardElements.xml

+ 15 - 1
documentation/manual/en/module_specs/Zend_Feed-ConsumingAtom.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.feed.consuming-atom">
-<title>Consuming an Atom Feed</title>
+    <title>Consuming an Atom Feed</title>
 
     <para>
         <classname>Zend_Feed_Atom</classname> is used in much the same way as
@@ -15,10 +15,12 @@
 
     <example id="zend.feed.consuming-atom.example.usage">
         <title>Basic Use of an Atom Feed</title>
+
         <para>
             Read an Atom feed and print the <code>title</code> and <code>summary</code> of each
             entry:
         </para>
+
         <programlisting language="php"><![CDATA[
 $feed = new Zend_Feed_Atom('http://atom.example.com/feed/');
 echo 'The feed contains ' . $feed->count() . ' entries.' . "\n\n";
@@ -41,14 +43,17 @@ foreach ($feed as $entry) {
                     title
                 </para>
             </listitem>
+
             <listitem>
                 <para><code>id</code> - Every feed and entry in Atom has a unique identifier</para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>link</code> - Feeds can have multiple links, which are distinguished by a
                     <code>type</code> attribute
                 </para>
+
                 <para>
                     The equivalent to <acronym>RSS</acronym>'s channel link would be
                     <code>type="text/html"</code>. if the link is to an alternate version of the
@@ -56,11 +61,13 @@ foreach ($feed as $entry) {
                     attribute.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>subtitle</code> - The feed's description, equivalent to
                     <acronym>RSS</acronym>' channel description
                 </para>
+
                 <para><code>author->name()</code> - The feed author's name</para>
                 <para><code>author->email()</code> - The feed author's email address</para>
             </listitem>
@@ -76,38 +83,45 @@ foreach ($feed as $entry) {
             <listitem>
                 <para><code>id</code> - The entry's unique identifier</para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>title</code> - The entry's title, same as <acronym>RSS</acronym> item
                     titles
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>link</code> - A link to another format or an alternate view of this entry
                 </para>
             </listitem>
+
             <listitem>
                 <para><code>summary</code> - A summary of this entry's content</para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>content</code> - The full content of the entry; can be skipped if the feed
                     just contains summaries
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>author</code> - with <code>name</code> and <code>email</code> sub-tags
                     like feeds have
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>published</code> - the date the entry was published, in
                     <acronym>RFC</acronym> 3339 format
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>updated</code> - the date the entry was last updated, in

+ 2 - 0
documentation/manual/en/module_specs/Zend_Feed-ConsumingAtomSingle.xml

@@ -17,6 +17,7 @@
 
     <example id="zend.feed.consuming-atom-single-entry.example.atom">
         <title>Reading a Single-Entry Atom Feed</title>
+
         <programlisting language="php"><![CDATA[
 $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
 echo 'The feed has: ' . $feed->count() . ' entry.';
@@ -32,6 +33,7 @@ $entry = $feed->current();
 
     <example id="zend.feed.consuming-atom-single-entry.example.entryatom">
         <title>Using the Entry Object Directly for a Single-Entry Atom Feed</title>
+
         <programlisting language="php"><![CDATA[
 $entry = new Zend_Feed_Entry_Atom('http://atom.example.com/feed/1');
 echo $entry->title();

+ 20 - 0
documentation/manual/en/module_specs/Zend_Feed-ConsumingRss.xml

@@ -2,13 +2,16 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.feed.consuming-rss">
     <title>Consuming an RSS Feed</title>
+
     <para>
         Reading an <acronym>RSS</acronym> feed is as simple as instantiating a
         <classname>Zend_Feed_Rss</classname> object with the <acronym>URL</acronym> of the feed:
     </para>
+
     <programlisting language="php"><![CDATA[
 $channel = new Zend_Feed_Rss('http://rss.example.com/channelName');
 ]]></programlisting>
+
     <para>
         If any errors occur fetching the feed, a <classname>Zend_Feed_Exception</classname> will be
         thrown.
@@ -18,9 +21,11 @@ $channel = new Zend_Feed_Rss('http://rss.example.com/channelName');
         Once you have a feed object, you can access any of the standard <acronym>RSS</acronym>
         "channel" properties directly on the object:
     </para>
+
     <programlisting language="php"><![CDATA[
 echo $channel->title();
 ]]></programlisting>
+
     <para>
         Note the function syntax. <classname>Zend_Feed</classname> uses a convention of treating
         properties as <acronym>XML</acronym> object if they are requested with variable "getter"
@@ -33,9 +38,11 @@ echo $channel->title();
         If channel properties have attributes, they are accessible using <acronym>PHP</acronym>'s
         array syntax:
     </para>
+
     <programlisting language="php"><![CDATA[
 echo $channel->category['domain'];
 ]]></programlisting>
+
     <para>
         Since <acronym>XML</acronym> attributes cannot have children, method syntax is not necessary
         for accessing attribute values.
@@ -47,11 +54,13 @@ echo $channel->category['domain'];
         <code>Iterator</code> interface, so printing all titles of articles in a channel is just a
         matter of:
     </para>
+
     <programlisting language="php"><![CDATA[
 foreach ($channel as $item) {
     echo $item->title() . "\n";
 }
 ]]></programlisting>
+
     <para>
         If you are not familiar with <acronym>RSS</acronym>, here are the standard elements you can
         expect to be available in an <acronym>RSS</acronym> channel and in individual
@@ -67,12 +76,14 @@ foreach ($channel as $item) {
             <listitem>
                 <para><code>title</code> - The name of the channel</para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>link</code> - The <acronym>URL</acronym> of the web site corresponding to
                     the channel
                 </para>
             </listitem>
+
             <listitem>
                 <para><code>description</code> - A sentence or several describing the channel</para>
             </listitem>
@@ -91,9 +102,11 @@ foreach ($channel as $item) {
                     <acronym>RFC</acronym> 822 date format
                 </para>
             </listitem>
+
             <listitem>
                 <para><code>language</code> - The language the channel is written in</para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>category</code> - One or more (specified by multiple tags) categories the
@@ -117,25 +130,31 @@ foreach ($channel as $item) {
             <listitem>
                 <para><code>title</code> - The title of the item</para>
             </listitem>
+
             <listitem>
                 <para><code>link</code> - The <acronym>URL</acronym> of the item</para>
             </listitem>
+
             <listitem>
                 <para><code>description</code> - A synopsis of the item</para>
             </listitem>
+
             <listitem>
                 <para><code>author</code> - The author's email address</para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>category</code> - One more categories that the item belongs to
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>comments</code> - <acronym>URL</acronym> of comments relating to this item
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <code>pubDate</code> - The date the item was published, in
@@ -148,6 +167,7 @@ foreach ($channel as $item) {
     <para>
         In your code you can always test to see if an element is non-empty with:
     </para>
+
     <programlisting language="php"><![CDATA[
 if ($item->propname()) {
     // ... proceed.

+ 1 - 1
documentation/manual/en/module_specs/Zend_Feed-CustomFeed.xml

@@ -18,6 +18,7 @@
 
     <example id="zend.feed.custom-feed.example.extending">
         <title>Extending the Atom Entry Class with Custom Namespaces</title>
+
         <programlisting language="php"><![CDATA[
 /**
  * The custom entry class automatically knows the feed URI (optional) and
@@ -89,7 +90,6 @@ $entry->myUpdated();
 $entry->myUpdated;
 ]]></programlisting>
     </example>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 3 - 0
documentation/manual/en/module_specs/Zend_Feed-Introduction.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect1 id="zend.feed.introduction">
     <title>Introduction</title>
+
     <para>
         <classname>Zend_Feed</classname> provides functionality for consuming <acronym>RSS</acronym>
         and Atom feeds. It provides a natural syntax for accessing elements of feeds, feed
@@ -28,6 +29,7 @@
 
     <note>
         <title>Be aware</title>
+
         <para>
             Many <acronym>RSS</acronym> feeds have different channel and item properties available.
             The <acronym>RSS</acronym> specification provides for many optional properties, so be
@@ -37,6 +39,7 @@
 
     <example id="zend.feed.introduction.example.rss">
         <title>Putting Zend_Feed to Work on RSS Feed Data</title>
+
         <programlisting language="php"><![CDATA[
 // Fetch the latest Slashdot headlines
 try {

+ 4 - 0
documentation/manual/en/module_specs/Zend_Feed-ModifyingFeed.xml

@@ -11,6 +11,7 @@
 
     <example id="zend.feed.modifying-feed.example.modifying">
         <title>Modifying an Existing Feed Entry</title>
+
         <programlisting language="php"><![CDATA[
 $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
 $entry = $feed->current();
@@ -20,11 +21,13 @@ $entry->author->email = 'my_email@example.com';
 
 echo $entry->saveXML();
 ]]></programlisting>
+
         <para>
             This will output a full (includes <code>&lt;?xml ... &gt;</code> prologue)
             <acronym>XML</acronym> representation of the new entry, including any necessary
             <acronym>XML</acronym> namespaces.
         </para>
+
         <para>
             Note that the above will work even if the existing entry does not already have an author
             tag. You can use as many levels of <code>-&gt;</code> access as you like before getting
@@ -44,6 +47,7 @@ echo $entry->saveXML();
 
     <example id="zend.feed.modifying-feed.example.creating">
         <title>Creating an Atom Entry with Elements of Custom Namespaces</title>
+
         <programlisting language="php"><![CDATA[
 $entry = new Zend_Feed_Entry_Atom();
 // id is always assigned by the server in Atom

+ 234 - 216
documentation/manual/en/module_specs/Zend_Feed_Pubsubhubbub.xml

@@ -27,24 +27,25 @@
             model where blog feeds have been polled at regular intervals to detect and retrieve
             updates.  Depending on the frequency of polling, this can take a lot of time to
             propagate updates to interested parties from planet aggregators to desktop readers. With
-            a pubsub system in place, updates are not simply polled by Subscribers, they are pushed to
-            Subscribers, elimenating any delay. For this reason, Pubsubhubbub forms part of what has
-            been dubbed the real-time web.
+            a pubsub system in place, updates are not simply polled by Subscribers, they are pushed
+            to Subscribers, elimenating any delay. For this reason, Pubsubhubbub forms part of what
+            has been dubbed the real-time web.
         </para>
 
         <para>
             The protocol does not exist in isolation. Pubsub systems have been around for a while,
             such as the familiar Jabber Publish-Subscribe protocol, XEP-0060, or the less well known
-            rssCloud (described in 2001).  However these have not achieved widespread adoption typically
-            due to either their complexity, poor timing or lack of suitability for web applications.
-            rssCloud, which was recently revived as a response to the appearance of Pubsubhubbub, has
-            also seen its usage increase significantly though it lacks a formal specification and
-            currently does not support Atom 1.0 feeds.
+            rssCloud (described in 2001).  However these have not achieved widespread adoption
+            typically due to either their complexity, poor timing or lack of suitability for web
+            applications. rssCloud, which was recently revived as a response to the appearance of
+            Pubsubhubbub, has also seen its usage increase significantly though it lacks a formal
+            specification and currently does not support Atom 1.0 feeds.
         </para>
 
         <para>
-            Perhaps surprisingly given its relative early age, Pubsubhubbub is already in use including
-            in Google Reader, Feedburner, and there are plugins available for Wordpress blogs.
+            Perhaps surprisingly given its relative early age, Pubsubhubbub is already in use
+            including in Google Reader, Feedburner, and there are plugins available for Wordpress
+            blogs.
         </para>
     </sect2>
 
@@ -73,12 +74,12 @@
             with the Publisher since the Hub acts as an intermediary, accepting subscriptions and
             sending updates to subscribed Subscribers. The Subscriber therefore communicates only
             with the Hub, either to subscribe/unsubscribe to Topics, or when it receives updates
-            from the Hub. This communication design ("Fat Pings") effectively removes the possibility of
-            a "Thundering Herd" issue. This occurs in a pubsub system where the Hub merely informs
-            Subscribers that an update is available, prompting all Subscribers to immediately retrieve
-            the feed from the Publisher giving rise to a traffic spike. In Pubsubhubbub, the Hub
-            distributes the actual update in a "Fat Ping" so the Publisher is not subjected to any
-            traffic spike.
+            from the Hub. This communication design ("Fat Pings") effectively removes the
+            possibility of a "Thundering Herd" issue. This occurs in a pubsub system where the Hub
+            merely informs Subscribers that an update is available, prompting all Subscribers to
+            immediately retrieve the feed from the Publisher giving rise to a traffic spike. In
+            Pubsubhubbub, the Hub distributes the actual update in a "Fat Ping" so the Publisher is
+            not subjected to any traffic spike.
         </para>
 
         <para>
@@ -96,13 +97,14 @@
         <title>Zend_Feed_Pubsubhubbub_Publisher</title>
 
         <para>
-            In Pubsubhubbub, the Publisher is the party who publishes a live feed and frequently updates
-            it with new content. This may be a blog, an aggregator, or even a web service with a public
-            feed based API. In order for these updates to be pushed to Subscribers, the Publisher
-            must notify all of its supported Hubs that an update has occured using a simple HTTP POST
-            request containing the URI or the updated Topic (i.e the updated RSS or Atom feed). The Hub
-            will confirm receipt of the notification, fetch the updated feed, and forward any updates to
-            any Subscribers who have subscribed to that Hub for updates from the relevant feed.
+            In Pubsubhubbub, the Publisher is the party who publishes a live feed and frequently
+            updates it with new content. This may be a blog, an aggregator, or even a web service
+            with a public feed based API. In order for these updates to be pushed to Subscribers,
+            the Publisher must notify all of its supported Hubs that an update has occured using a
+            simple HTTP POST request containing the URI or the updated Topic (i.e the updated RSS or
+            Atom feed). The Hub will confirm receipt of the notification, fetch the updated feed,
+            and forward any updates to any Subscribers who have subscribed to that Hub for updates
+            from the relevant feed.
         </para>
 
         <para>
@@ -183,70 +185,74 @@ if (!$publisher->isSuccess()) {
         <title>Zend_Feed_Pubsubhubbub_Subscriber</title>
 
         <para>
-            In Pubsubhubbub, the Subscriber is the party who wishes to receive updates to any Topic (RSS
-            or Atom feed). They achieve this by subscribing to one or more of the Hubs advertised by
-            that Topic, usually as a set of one or more Atom 1.0 links with a rel attribute of "hub". The
-            Hub from that point forward will send an Atom or RSS feed containing all updates to that
-            Subscriber's Callback URL when it receives an update notification from the Publisher. In
-            this way, the Subscriber need never actually visit the original feed (though it's still
-            recommended at some level to ensure updates are retrieved if ever a Hub goes offline). All
-            subscription requests must contain the URI of the Topic being subscribed and a Callback URL
-            which the Hub will use to confirm the subscription and to forward updates.
+            In Pubsubhubbub, the Subscriber is the party who wishes to receive updates to any Topic
+            (RSS or Atom feed). They achieve this by subscribing to one or more of the Hubs
+            advertised by that Topic, usually as a set of one or more Atom 1.0 links with a rel
+            attribute of "hub". The Hub from that point forward will send an Atom or RSS feed
+            containing all updates to that Subscriber's Callback URL when it receives an update
+            notification from the Publisher. In this way, the Subscriber need never actually visit
+            the original feed (though it's still recommended at some level to ensure updates are
+            retrieved if ever a Hub goes offline). All subscription requests must contain the URI of
+            the Topic being subscribed and a Callback URL which the Hub will use to confirm the
+            subscription and to forward updates.
         </para>
 
         <para>
             The Subsciber therefore has two roles. To create and manage subscriptions, including
             subscribing for new Topics with a Hub, unsubscribing (if necessary), and periodically
-            renewing subscriptions since they may have a limited validity as set by the Hub. This is handled
-            by <classname>Zend_Feed_Pubsubhubbub_Subscriber</classname>.
+            renewing subscriptions since they may have a limited validity as set by the Hub. This is
+            handled by <classname>Zend_Feed_Pubsubhubbub_Subscriber</classname>.
         </para>
 
         <para>
-            The second role is to accept updates sent by a Hub to the Subscriber's Callback URL, i.e.
-            the URI the Subscriber has assigned to handle updates. The Callback URL also handles events
-            where the Hub contacts the Subscriber to confirm all subscriptions and unsubscriptions.
-            This is handled by using an instance of
-            <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> when the Callback URL is
-            accessed.
+            The second role is to accept updates sent by a Hub to the Subscriber's Callback URL,
+            i.e. the URI the Subscriber has assigned to handle updates. The Callback URL also
+            handles events where the Hub contacts the Subscriber to confirm all subscriptions and
+            unsubscriptions. This is handled by using an instance of
+            <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> when the Callback URL
+            is accessed.
         </para>
 
         <important>
             <para>
-                <classname>Zend_Feed_Pubsubhubbub_Subscriber</classname> implements the Pubsubhubbub 0.2
-                Specification. As this is a new specification version not all Hubs currently implement
-                it. The new specification allows the Callback URL to include a query string which is
-                used by this class, but not supported by all Hubs. In the interests of maximising
-                compatibility it is therefore recommended that the query string component of the
-                Subscriber Callback URI be presented as a path element, i.e. recognised as a
-                parameter in the route associated with the Callback URI and used by the application's
-                Router.
+                <classname>Zend_Feed_Pubsubhubbub_Subscriber</classname> implements the Pubsubhubbub
+                0.2 Specification. As this is a new specification version not all Hubs currently
+                implement it. The new specification allows the Callback URL to include a query
+                string which is used by this class, but not supported by all Hubs. In the interests
+                of maximising compatibility it is therefore recommended that the query string
+                component of the Subscriber Callback URI be presented as a path element, i.e.
+                recognised as a parameter in the route associated with the Callback URI and used by
+                the application's Router.
             </para>
         </important>
 
-        <sect3 id="zend.feed.pubsubhubbub.zend.feed.pubsubhubbub.subscriber.subscribing.and.unsubscribing">
+        <sect3
+            id="zend.feed.pubsubhubbub.zend.feed.pubsubhubbub.subscriber.subscribing.and.unsubscribing">
             <title>Subscribing and Unsubscribing</title>
 
             <para>
-                <classname>Zend_Feed_Pubsubhubbub_Subscriber</classname> implements a full Pubsubhubbub
-                Subscriber capable of subscribing to, or unsubscribing from, any Topic via any Hub
-                advertised by that Topic.  It operates in conjunction with
-                <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> which accepts requests
-                from a Hub to confirm all subscription or unsubscription attempts (to prevent
-                third-party misuse).
+                <classname>Zend_Feed_Pubsubhubbub_Subscriber</classname> implements a full
+                Pubsubhubbub Subscriber capable of subscribing to, or unsubscribing from, any Topic
+                via any Hub advertised by that Topic.  It operates in conjunction with
+                <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> which accepts
+                requests from a Hub to confirm all subscription or unsubscription attempts (to
+                prevent third-party misuse).
             </para>
 
             <para>
                 Any subscription (or unsubscription) requires the relevant information before
                 proceeding, i.e. the URI of the Topic (Atom or RSS feed) to be subscribed to for
-                updates, and the URI of the endpoint for the Hub which will handle the subscription and
-                forwarding of the updates. The lifetime of a subscription may be determined by the
-                Hub but most Hubs should support automatic subscription refreshes by checking with
-                the Subscriber. This is supported by <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname>
-                and requires no other work on your part. It is still strongly recommended that you use
-                the Hub sourced subscription time to live (ttl) to schedule the creation of new subscriptions
-                (the process is identical to that for any new subscription) to refresh it with the Hub.
-                While it should not be necessary per se, it covers cases where a Hub may not support
-                automatic subscription refreshing and rules out Hub errors for additional redundancy.
+                updates, and the URI of the endpoint for the Hub which will handle the subscription
+                and forwarding of the updates. The lifetime of a subscription may be determined by
+                the Hub but most Hubs should support automatic subscription refreshes by checking
+                with the Subscriber. This is supported by
+                <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> and requires no
+                other work on your part. It is still strongly recommended that you use the Hub
+                sourced subscription time to live (ttl) to schedule the creation of new
+                subscriptions (the process is identical to that for any new subscription) to refresh
+                it with the Hub. While it should not be necessary per se, it covers cases where a
+                Hub may not support automatic subscription refreshing and rules out Hub errors for
+                additional redundancy.
             </para>
 
             <para>
@@ -255,15 +261,15 @@ if (!$publisher->isSuccess()) {
             </para>
 
             <programlisting language="php"><![CDATA[
-    $storage = new Zend_Feed_Pubsubhubbub_Model_Subscription;
-
-    $subscriber = new Zend_Feed_Pubsubhubbub_Subscriber;
-    $subscriber->setStorage($storage);
-    $subscriber->addHubUrl('http://hubbub.example.com');
-    $subscriber->setTopicUrl('http://www.example.net/rss.xml');
-    $subscriber->setCallbackUrl('http://www.mydomain.com/hubbub/callback');
-    $subscriber->subscribeAll();
-    ]]></programlisting>
+$storage = new Zend_Feed_Pubsubhubbub_Model_Subscription;
+
+$subscriber = new Zend_Feed_Pubsubhubbub_Subscriber;
+$subscriber->setStorage($storage);
+$subscriber->addHubUrl('http://hubbub.example.com');
+$subscriber->setTopicUrl('http://www.example.net/rss.xml');
+$subscriber->setCallbackUrl('http://www.mydomain.com/hubbub/callback');
+$subscriber->subscribeAll();
+]]></programlisting>
 
             <para>
                 In order to store subscriptions and offer access to this data for general use,
@@ -272,9 +278,10 @@ if (!$publisher->isSuccess()) {
                 <classname>Zend_Db_Table_Abstract</classname> in the background meaning it
                 will use the default adapter you have set for your application. You may also
                 pass a specific custom <classname>Zend_Db_Table_Abstract</classname> instance
-                into the associated model <classname>Zend_Feed_Pubsubhubbub_Model_Subscription</classname>.
-                This custom adapter may be as simple in intent as changing the table name to use or as
-                complex as you deem necessary.
+                into the associated model
+                <classname>Zend_Feed_Pubsubhubbub_Model_Subscription</classname>. This custom
+                adapter may be as simple in intent as changing the table name to use or as complex
+                as you deem necessary.
             </para>
 
             <para>
@@ -289,7 +296,7 @@ if (!$publisher->isSuccess()) {
                 may look similar to:
             </para>
 
-                    <programlisting language="sql"><![CDATA[
+            <programlisting language="sql"><![CDATA[
 CREATE TABLE IF NOT EXISTS `subscription` (
   `id` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
   `topic_url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
@@ -305,20 +312,19 @@ CREATE TABLE IF NOT EXISTS `subscription` (
 ]]></programlisting>
 
             <para>
-                Behind the scenes, the Subscriber above will send a request to the Hub endpoint containing the
-                following parameters (based on the previous example):
+                Behind the scenes, the Subscriber above will send a request to the Hub endpoint
+                containing the following parameters (based on the previous example):
             </para>
 
-            <table id="zend.feed.pubsubhubbub.zend.feed.pubsubhubbub.subscriber.subscribing.and.unsubscribing.table">
+            <table
+                id="zend.feed.pubsubhubbub.zend.feed.pubsubhubbub.subscriber.subscribing.and.unsubscribing.table">
                 <title>Subscription request parameters</title>
 
                 <tgroup cols="3">
                     <thead>
                         <row>
                             <entry>Parameter</entry>
-
                             <entry>Value</entry>
-
                             <entry>Explanation</entry>
                         </row>
                     </thead>
@@ -326,31 +332,32 @@ CREATE TABLE IF NOT EXISTS `subscription` (
                     <tbody>
                         <row>
                             <entry>hub.callback</entry>
-
                             <entry>http://www.mydomain.com/hubbub/callback?xhub.subscription=5536df06b5dcb966edab3a4c4d56213c16a8184</entry>
 
                             <entry>
                                 <para>
-                                    The URI used by a Hub to contact the Subscriber and either request
-                                    confirmation of a (un)subscription request or send updates from
-                                    subscribed feeds. The appended query string contains a custom
-                                    parameter (hence the xhub designation). It is a query string
-                                    parameter preserved by the Hub and resent with all Subscriber
-                                    requests. Its purpose is to allow the Subscriber to identify and
-                                    look up the subscription associated with any Hub request in a
-                                    backend storage medium.  This is a non-standard parameter used by
-                                    this component in preference to encoding a subscription key in the
-                                    URI path which is more difficult to implement in a Zend Framework
-                                    application.
+                                    The URI used by a Hub to contact the Subscriber and either
+                                    request confirmation of a (un)subscription request or send
+                                    updates from subscribed feeds. The appended query string
+                                    contains a custom parameter (hence the xhub designation). It is
+                                    a query string parameter preserved by the Hub and resent with
+                                    all Subscriber requests. Its purpose is to allow the Subscriber
+                                    to identify and look up the subscription associated with any Hub
+                                    request in a backend storage medium.  This is a non-standard
+                                    parameter used by this component in preference to encoding a
+                                    subscription key in the URI path which is more difficult to
+                                    implement in a Zend Framework application.
                                 </para>
 
                                 <para>
-                                    Nevertheless, since not all Hubs support query string parameters,
-                                    we still strongly recommend adding the subscription key as a path component
-                                    in the form http://www.mydomain.com/hubbub/callback/5536df06b5dcb966edab3a4c4d56213c16a8184.
-                                    To accomplish this, it requires defining a route capable of parsing out the final
-                                    value of the key and then retrieving the value and passing it to the Subscriber
-                                    Callback object. The value would be passed into the method
+                                    Nevertheless, since not all Hubs support query string
+                                    parameters, we still strongly recommend adding the subscription
+                                    key as a path component in the form
+                                    http://www.mydomain.com/hubbub/callback/5536df06b5dcb966edab3a4c4d56213c16a8184.
+                                    To accomplish this, it requires defining a route capable of
+                                    parsing out the final value of the key and then retrieving the
+                                    value and passing it to the Subscriber Callback object. The
+                                    value would be passed into the method
                                     <methodname>Zend_Pubsubhubbub_Subscriber_Callback::setSubscriptionKey()</methodname>.
                                     A detailed example is offered later.
                                 </para>
@@ -359,17 +366,17 @@ CREATE TABLE IF NOT EXISTS `subscription` (
 
                         <row>
                             <entry>hub.lease_seconds</entry>
-
                             <entry>2592000</entry>
 
                             <entry>
                                 <para>
                                     The number of seconds for which the Subscriber would like a new
-                                    subscription to remain valid for (i.e. a TTL). Hubs may enforce their own maximum
-                                    subscription period. All subscriptions should be renewed by simply
-                                    re-subscribing before the subscription period ends to ensure
-                                    continuity of updates. Hubs should additionally attempt to automatically
-                                    refresh subscriptions before they expire by contacting Subscribers (handled
+                                    subscription to remain valid for (i.e. a TTL). Hubs may enforce
+                                    their own maximum subscription period. All subscriptions should
+                                    be renewed by simply re-subscribing before the subscription
+                                    period ends to ensure continuity of updates. Hubs should
+                                    additionally attempt to automatically refresh subscriptions
+                                    before they expire by contacting Subscribers (handled
                                     automatically by the Callback class).
                                 </para>
                             </entry>
@@ -377,7 +384,6 @@ CREATE TABLE IF NOT EXISTS `subscription` (
 
                         <row>
                             <entry>hub.mode</entry>
-
                             <entry>subscribe</entry>
 
                             <entry>
@@ -390,58 +396,54 @@ CREATE TABLE IF NOT EXISTS `subscription` (
 
                         <row>
                             <entry>hub.topic</entry>
-
                             <entry>http://www.example.net/rss.xml</entry>
 
                             <entry>
                                 <para>
-                                    The URI of the topic (i.e. Atom or RSS feed) which the Subscriber
-                                    wishes to subscribe to for updates.
+                                    The URI of the topic (i.e. Atom or RSS feed) which the
+                                    Subscriber wishes to subscribe to for updates.
                                 </para>
                             </entry>
                         </row>
 
                         <row>
                             <entry>hub.verify</entry>
-
                             <entry>sync</entry>
 
                             <entry>
                                 <para>
-                                    Indicates to the Hub the preferred mode of verifying subscriptions
-                                    or unsubscriptions. It is repeated twice in order of preference. Technically
-                                    this component does not distinguish between the two modes and treats both
-                                    equally.
+                                    Indicates to the Hub the preferred mode of verifying
+                                    subscriptions or unsubscriptions. It is repeated twice in order
+                                    of preference. Technically this component does not distinguish
+                                    between the two modes and treats both equally.
                                 </para>
                             </entry>
                         </row>
 
                         <row>
                             <entry>hub.verify</entry>
-
                             <entry>async</entry>
 
                             <entry>
                                 <para>
-                                    Indicates to the Hub the preferred mode of verifying subscriptions
-                                    or unsubscriptions. It is repeated twice in order of preference. Technically
-                                    this component does not distinguish between the two modes and treats both
-                                    equally.
+                                    Indicates to the Hub the preferred mode of verifying
+                                    subscriptions or unsubscriptions. It is repeated twice in order
+                                    of preference. Technically this component does not distinguish
+                                    between the two modes and treats both equally.
                                 </para>
                             </entry>
                         </row>
 
                         <row>
                             <entry>hub.verify_token</entry>
-
                             <entry>3065919804abcaa7212ae89.879827871253878386</entry>
 
                             <entry>
                                 <para>
-                                    A verification token returned to the Subscriber by the Hub when it
-                                    is confirming a subscription or unsubscription. Offers a measure of
-                                    reliance that the confirmation request originates from the correct
-                                    Hub to prevent misuse.
+                                    A verification token returned to the Subscriber by the Hub when
+                                    it is confirming a subscription or unsubscription. Offers a
+                                    measure of reliance that the confirmation request originates
+                                    from the correct Hub to prevent misuse.
                                 </para>
                             </entry>
                         </row>
@@ -450,49 +452,51 @@ CREATE TABLE IF NOT EXISTS `subscription` (
             </table>
 
             <para>
-                You can modify several of these parameters to indicate a different preference.  For
+                You can modify several of these parameters to indicate a different preference. For
                 example, you can set a different lease seconds value using
                 <methodname>Zend_Pubsubhubbub_Subscriber::setLeaseSeconds()</methodname> or show a
-                preference for the async verify mode by using <code>
-                    setPreferredVerificationMode(Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_ASYNC)</code>.
+                preference for the async verify mode by using
+                <code>setPreferredVerificationMode(Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_ASYNC)</code>.
                 However the Hubs retain the capability to enforce their own preferences and for this
-                reason the component is deliberately designed to work across almost any set of options
-                with minimum end-user configuration required. Conventions are great when they work!
+                reason the component is deliberately designed to work across almost any set of
+                options with minimum end-user configuration required. Conventions are great when
+                they work!
             </para>
 
             <note>
                 <para>
-                    While Hubs may require the use of a specific verification mode (both are supported
-                    by <classname>Zend_Pubsubhubbub</classname>), you may indicate a specific preference
-                    using the <methodname>setPreferredVerificationMode()</methodname> method. In "sync"
+                    While Hubs may require the use of a specific verification mode (both are
+                    supported by <classname>Zend_Pubsubhubbub</classname>), you may indicate a
+                    specific preference using the
+                    <methodname>setPreferredVerificationMode()</methodname> method. In "sync"
                     (synchronous) mode, the Hub attempts to confirm a subscription as soon as it is
                     received, and before responding to the subscription request. In "async"
                     (asynchronous) mode, the Hub will return a response to the subscription request
                     immediately, and its verification request may occur at a later time. Since
-                    <classname>Zend_Pubsubhubbub</classname> implements the Subscriber verification role
-                    as a separate callback class and requires the use of a backend storage medium, it
-                    actually supports both transparently though in terms of end-user performance,
-                    asynchronous verification is very much preferred to eliminate the impact of a
-                    poorly performing Hub tying up end-user server resources and connections for
-                    too long.
+                    <classname>Zend_Pubsubhubbub</classname> implements the Subscriber verification
+                    role as a separate callback class and requires the use of a backend storage
+                    medium, it actually supports both transparently though in terms of end-user
+                    performance, asynchronous verification is very much preferred to eliminate the
+                    impact of a poorly performing Hub tying up end-user server resources and
+                    connections for too long.
                 </para>
             </note>
 
             <para>
-                Unsubscribing from a Topic follows the exact same pattern as the previous example, with
-                the exception that we should call <methodname>unsubscribeAll()</methodname> instead. The
-                parameters included are identical to a subscription request with the exception that
-                "hub.mode" is set to "unsubscribe".
+                Unsubscribing from a Topic follows the exact same pattern as the previous example,
+                with the exception that we should call <methodname>unsubscribeAll()</methodname>
+                instead. The parameters included are identical to a subscription request with the
+                exception that "hub.mode" is set to "unsubscribe".
             </para>
 
             <para>
-                By default, a new instance of <classname>Zend_Pubsubhubbub_Subscriber</classname> will
-                attempt to use a database backed storage medium which defaults to using the default
-                <classname>Zend_Db</classname> adapter with a table name of "subscription".
-                It is recommended to set a custom storage solution where these defaults are not apt either
-                by passing in a new Model supporting the required interface or by passing a new instance
-                of <classname>Zend_Db_Table_Abstract</classname> to the default Model's constructor to change
-                the used table name.
+                By default, a new instance of <classname>Zend_Pubsubhubbub_Subscriber</classname>
+                will attempt to use a database backed storage medium which defaults to using the
+                default <classname>Zend_Db</classname> adapter with a table name of "subscription".
+                It is recommended to set a custom storage solution where these defaults are not apt
+                either by passing in a new Model supporting the required interface or by passing a
+                new instance of <classname>Zend_Db_Table_Abstract</classname> to the default Model's
+                constructor to change the used table name.
             </para>
         </sect3>
 
@@ -502,96 +506,109 @@ CREATE TABLE IF NOT EXISTS `subscription` (
             <para>
                 Whenever a subscription or unsubscription request is made, the Hub must verify the
                 request by forwarding a new verification request to the Callback URL set in the
-                subscription/unsubscription parameters. To handle these Hub requests, which will include
-                all future communications containing Topic (feed) updates, the Callback URL should trigger the
-                execution of an instance of <classname>Zend_Pubsubhubbub_Subscriber_Callback</classname>
-                to handle the request.
+                subscription/unsubscription parameters. To handle these Hub requests, which will
+                include all future communications containing Topic (feed) updates, the Callback URL
+                should trigger the execution of an instance of
+                <classname>Zend_Pubsubhubbub_Subscriber_Callback</classname> to handle the request.
             </para>
 
             <para>
-                The Callback class should be configured to use the same storage medium as the Subscriber
-                class. Using it is quite simple since most of its work is performed internally.
+                The Callback class should be configured to use the same storage medium as the
+                Subscriber class. Using it is quite simple since most of its work is performed
+                internally.
             </para>
 
             <programlisting language="php"><![CDATA[
-    $storage = new Zend_Feed_Pubsubhubbub_Model_Subscription;
-    $callback = new Zend_Feed_Pubsubhubbub_Subscriber_Callback;
-    $callback->setStorage($storage);
-    $callback->handle();
-    $callback->sendResponse();
-
+$storage = new Zend_Feed_Pubsubhubbub_Model_Subscription;
+$callback = new Zend_Feed_Pubsubhubbub_Subscriber_Callback;
+$callback->setStorage($storage);
+$callback->handle();
+$callback->sendResponse();
+
+/**
+ * Check if the callback resulting in the receipt of a feed update.
+ * Otherwise it was either a (un)sub verification request or invalid request.
+ * Typically we need do nothing other than add feed update handling - the rest
+ * is handled internally by the class.
+ */
+if ($callback->hasFeedUpdate()) {
+    $feedString = $callback->getFeedUpdate();
     /**
-     * Check if the callback resulting in the receipt of a feed update.
-     * Otherwise it was either a (un)sub verification request or invalid request.
-     * Typically we need do nothing other than add feed update handling - the rest
-     * is handled internally by the class.
+     *  Process the feed update asynchronously to avoid a Hub timeout.
      */
-    if ($callback->hasFeedUpdate()) {
-        $feedString = $callback->getFeedUpdate();
-        /**
-         *  Process the feed update asynchronously to avoid a Hub timeout.
-         */
-    }
-    ]]></programlisting>
+}
+]]></programlisting>
 
             <note>
                 <para>
                     It should be noted that
-                    <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> may independently
-                    parse any incoming query string and other parameters.  This is necessary since PHP
-                    alters the structure and keys of a query string when it is parsed into the
-                    <varname>$_GET</varname> or <varname>$_POST</varname> superglobals.  For example,
-                    all duplicate keys are ignored and periods are converted to underscores.
-                    Pubsubhubbub features both of these in the query strings it generates.
+                    <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> may
+                    independently parse any incoming query string and other parameters.  This is
+                    necessary since PHP alters the structure and keys of a query string when it is
+                    parsed into the <varname>$_GET</varname> or <varname>$_POST</varname>
+                    superglobals.  For example, all duplicate keys are ignored and periods are
+                    converted to underscores. Pubsubhubbub features both of these in the query
+                    strings it generates.
                 </para>
             </note>
 
             <important>
                 <para>
-                    It is essential that developers recognise that Hubs are only concerned with sending
-                    requests and receiving a response which verifies its receipt. If a feed update is
-                    received, it should never be processed on the spot since this leaves the Hub waiting
-                    for a response. Rather, any processing should be offloaded to another process or
-                    deferred until after a response has been returned to the Hub. One symptom of a
-                    failure to promptly complete Hub requests is that a Hub may continue to attempt
-                    delivery of the update/verification request leading to duplicated update attempts
-                    being processed by the Subscriber. This appears problematic - but in reality a
-                    Hub may apply a timeout of just a few seconds, and if no response is received within
-                    that time it may disconnect (assuming a delivery failure) and retry later. Note that
-                    Hubs are expected to distribute vast volumes of updates so their resources are
-                    stretched - please do process feeds asynchronously (e.g. in a separate process or
-                    a job queue or even a cron scheduled task) as much as possible.
+                    It is essential that developers recognise that Hubs are only concerned with
+                    sending requests and receiving a response which verifies its receipt. If a feed
+                    update is received, it should never be processed on the spot since this leaves
+                    the Hub waiting for a response. Rather, any processing should be offloaded to
+                    another process or deferred until after a response has been returned to the Hub.
+                    One symptom of a failure to promptly complete Hub requests is that a Hub may
+                    continue to attempt delivery of the update/verification request leading to
+                    duplicated update attempts being processed by the Subscriber. This appears
+                    problematic - but in reality a Hub may apply a timeout of just a few seconds,
+                    and if no response is received within that time it may disconnect (assuming a
+                    delivery failure) and retry later. Note that Hubs are expected to distribute
+                    vast volumes of updates so their resources are stretched - please do process
+                    feeds asynchronously (e.g. in a separate process or a job queue or even a cron
+                    scheduled task) as much as possible.
                 </para>
             </important>
         </sect3>
 
-        <sect3 id="zend.feed.pubsubhubbub.zend.feed.pubsubhubbub.subscriber.setting.up.and.using.a.callback.url.route">
+        <sect3
+            id="zend.feed.pubsubhubbub.zend.feed.pubsubhubbub.subscriber.setting.up.and.using.a.callback.url.route">
             <title>Setting Up And Using A Callback URL Route</title>
 
             <para>
-                As noted earlier, the <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname>
-                class receives the combined key associated with any subscription from the Hub via one
-                of two methods. The technically preferred method is to add this key to the Callback
-                URL employed by the Hub in all future requests using a query string parameter with
-                the key "xhub.subscription". However, for historical reasons, primarily that this was
-                not supported in Pubsubhubbub 0.1 (it was recently added in 0.2 only), it is strongly
+                As noted earlier, the
+                <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> class receives the
+                combined key associated with any subscription from the Hub via one of two methods.
+                The technically preferred method is to add this key to the Callback URL employed by
+                the Hub in all future requests using a query string parameter with the key
+                "xhub.subscription". However, for historical reasons, primarily that this was not
+                supported in Pubsubhubbub 0.1 (it was recently added in 0.2 only), it is strongly
                 recommended to use the most compatible means of adding this key to the Callback URL
                 by appending it to the URL's path.
             </para>
 
-            <para>Thus the URL http://www.example.com/callback?xhub.subscription=key would become
-            http://www.example.com/callback/key.</para>
+            <para>
+                Thus the URL http://www.example.com/callback?xhub.subscription=key would become
+                http://www.example.com/callback/key.
+            </para>
 
-            <para>Since the query string method is the default in anticipation of a greater level
-            of future support for the full 0.2 specification, this requires some additional work
-            to implement.</para>
+            <para>
+                Since the query string method is the default in anticipation of a greater level
+                of future support for the full 0.2 specification, this requires some additional work
+                to implement.
+            </para>
 
-            <para>The first step to to make the <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname>
-            class aware of the path contained subscription key. It's manually injected therefore
-            since it also requires manually defining a route for this purpose. This is achieved simply by
-            called the method <methodname>Zend_Feed_Pubsubhubbub_Subscriber_Callback::setSubscriptionKey()</methodname>
-            with the parameter being the key value available from the Router. The example below
-            demonstrates this using a Zend Framework controller.</para>
+            <para>
+                The first step to to make the
+                <classname>Zend_Feed_Pubsubhubbub_Subscriber_Callback</classname> class aware of the
+                path contained subscription key. It's manually injected therefore since it also
+                requires manually defining a route for this purpose. This is achieved simply by
+                called the method
+                <methodname>Zend_Feed_Pubsubhubbub_Subscriber_Callback::setSubscriptionKey()</methodname>
+                with the parameter being the key value available from the Router. The example below
+                demonstrates this using a Zend Framework controller.
+            </para>
 
             <programlisting language="php"><![CDATA[
 class CallbackController extends Zend_Controller_Action
@@ -626,12 +643,14 @@ class CallbackController extends Zend_Controller_Action
     }
 
 }
-    ]]></programlisting>
+]]></programlisting>
 
-        <para>Actually adding the route which would map the path-appended key
-        to a parameter for retrieval from a controller can be accomplished using
-        a Route configuration such as the INI formatted example below for use
-        with <classname>Zend_Application</classname> bootstrapping.</para>
+        <para>
+            Actually adding the route which would map the path-appended key
+            to a parameter for retrieval from a controller can be accomplished using
+            a Route configuration such as the INI formatted example below for use
+            with <classname>Zend_Application</classname> bootstrapping.
+        </para>
 
         <programlisting language="dosini"><![CDATA[
 ; Callback Route to enable appending a PuSH Subscription's lookup key
@@ -640,7 +659,6 @@ resources.router.routes.callback.defaults.module = "default"
 resources.router.routes.callback.defaults.controller = "callback"
 resources.router.routes.callback.defaults.action = "index"
 ]]></programlisting>
-
         </sect3>
     </sect2>
 </sect1>

+ 96 - 87
documentation/manual/en/module_specs/Zend_Feed_Reader.xml

@@ -424,47 +424,56 @@ if(isset($links->atom)) {
             all links using the ArrayObject's iterator.
         </para>
 
-                <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $links = Zend_Feed_Reader::findFeedLinks('http://www.planet-php.net');
 
 foreach ($links as $link) {
     echo $link['uri'], "\n";
 }
 ]]></programlisting>
-
   </sect2>
 
   <sect2 id="zend.feed.reader.attribute-collections">
         <title>Attribute Collections</title>
 
-        <para>In an attempt to simplify return types, with Zend Framework 1.10 return
-        types from the various feed and entry level methods may include an object
-        of type <classname>Zend_Feed_Reader_Collection_CollectionAbstract</classname>.
-        Despite the special class name which I'll explain below, this is just a simple
-        subclass of SPL's <classname>ArrayObject</classname>.</para>
-
-        <para>The main purpose here is to allow the presentation of as much data as possible
-        from the requested elements, while still allowing access to the most relevant
-        data as a simple array. This also enforces a standard approach to returning
-        such data which previously may have wandered between arrays and objects.</para>
-
-        <para>The new class type acts identically to <classname>ArrayObject</classname>
-        with the sole addition being a new method <methodname>getValues()</methodname>
-        which returns a simple flat array containing the most relevant information.</para>
-
-        <para>A simple example of this is
-        <methodname>Zend_Feed_Reader_FeedInterface::getCategories()</methodname>.
-        When used with any RSS or Atom feed, this method will return category data as
-        a container object called <classname>Zend_Feed_Reader_Collection_Category</classname>.
-        The container object will contain, per category, three fields of data: term, scheme and
-        label. The "term" is the basic category name, often machine readable (i.e. plays nice
-        with URIs). The scheme represents a categorisation scheme (usually a URI identifier) also
-        known as a "domain" in RSS 2.0. The "label" is a human readable category name which supports
-        html entities. In RSS 2.0, there is no label attribute so it is always set to the same value as
-        the term for convenience.</para>
-
-        <para>To access category labels by themselves in a simple value array,
-        you might commit to something like:</para>
+        <para>
+            In an attempt to simplify return types, with Zend Framework 1.10 return
+            types from the various feed and entry level methods may include an object
+            of type <classname>Zend_Feed_Reader_Collection_CollectionAbstract</classname>.
+            Despite the special class name which I'll explain below, this is just a simple
+            subclass of SPL's <classname>ArrayObject</classname>.
+        </para>
+
+        <para>
+            The main purpose here is to allow the presentation of as much data as possible
+            from the requested elements, while still allowing access to the most relevant
+            data as a simple array. This also enforces a standard approach to returning
+            such data which previously may have wandered between arrays and objects.
+        </para>
+
+        <para>
+            The new class type acts identically to <classname>ArrayObject</classname>
+            with the sole addition being a new method <methodname>getValues()</methodname>
+            which returns a simple flat array containing the most relevant information.
+        </para>
+
+        <para>
+            A simple example of this is
+            <methodname>Zend_Feed_Reader_FeedInterface::getCategories()</methodname>. When used with
+            any RSS or Atom feed, this method will return category data as a container object called
+            <classname>Zend_Feed_Reader_Collection_Category</classname>. The container object will
+            contain, per category, three fields of data: term, scheme and label. The "term" is the
+            basic category name, often machine readable (i.e. plays nice with URIs). The scheme
+            represents a categorisation scheme (usually a URI identifier) also known as a "domain"
+            in RSS 2.0. The "label" is a human readable category name which supports html entities.
+            In RSS 2.0, there is no label attribute so it is always set to the same value as the
+            term for convenience.
+        </para>
+
+        <para>
+            To access category labels by themselves in a simple value array,
+            you might commit to something like:
+        </para>
 
         <programlisting language="php"><![CDATA[
 $feed = Zend_Feed_Reader::import('http://www.example.com/atom.xml');
@@ -475,26 +484,31 @@ foreach ($categories as $cat) {
 }
 ]]></programlisting>
 
-    <para>It's a contrived example, but the point is that the labels are tied up with
-    other information.</para>
+        <para>
+            It's a contrived example, but the point is that the labels are tied up with
+            other information.
+        </para>
 
-    <para>However, the container class allows you to access the "most relevant" data
-    as a simple array using the <methodname>getValues()</methodname> method. The concept
-    of "most relevant" is obviously a judgement call. For categories it means the category labels
-    (not the terms or schemes) while for authors it would be the authors' names
-    (not their email addresses or URIs). The simple array is flat (just values) and passed
-    through <methodname>array_unique()</methodname> to remove duplication.</para>
+        <para>
+            However, the container class allows you to access the "most relevant" data
+            as a simple array using the <methodname>getValues()</methodname> method. The concept
+            of "most relevant" is obviously a judgement call. For categories it means the category
+            labels (not the terms or schemes) while for authors it would be the authors' names
+            (not their email addresses or URIs). The simple array is flat (just values) and passed
+            through <methodname>array_unique()</methodname> to remove duplication.
+        </para>
 
-    <programlisting language="php"><![CDATA[
+        <programlisting language="php"><![CDATA[
 $feed = Zend_Feed_Reader::import('http://www.example.com/atom.xml');
 $categories = $feed->getCategories();
 $labels = $categories->getValues();
 ]]></programlisting>
 
-    <para>The above example shows how to extract only labels and nothing else thus
-    giving simple access to the category labels without any additional work to extract
-    that data by itself.</para>
-
+        <para>
+            The above example shows how to extract only labels and nothing else thus
+            giving simple access to the category labels without any additional work to extract
+            that data by itself.
+        </para>
   </sect2>
 
   <sect2 id="zend.feed.reader.retrieve-info">
@@ -517,17 +531,19 @@ $labels = $categories->getValues();
             information you want.
         </para>
 
-        <note><para>
-            While determining common ground between feed types is itself complex, it
-            should be noted that RSS in particular is a constantly disputed "specification".
-            This has its roots in the original RSS 2.0 document which contains ambiguities
-            and does not detail the correct treatment of all elements. As a result, this
-            component rigorously applies the RSS 2.0.11 Specification published by the
-            RSS Advisory Board and its accompanying RSS Best Practices Profile. No
-            other interpretation of RSS 2.0 will be supported though exceptions may
-            be allowed where it does not directly prevent the application of the two
-            documents mentioned above.
-        </para></note>
+        <note>
+            <para>
+                While determining common ground between feed types is itself complex, it
+                should be noted that RSS in particular is a constantly disputed "specification".
+                This has its roots in the original RSS 2.0 document which contains ambiguities
+                and does not detail the correct treatment of all elements. As a result, this
+                component rigorously applies the RSS 2.0.11 Specification published by the
+                RSS Advisory Board and its accompanying RSS Best Practices Profile. No
+                other interpretation of RSS 2.0 will be supported though exceptions may
+                be allowed where it does not directly prevent the application of the two
+                documents mentioned above.
+            </para>
+        </note>
 
         <para>
             Of course, we don't live in an ideal world so there may be times the
@@ -559,19 +575,16 @@ $labels = $categories->getValues();
                 <tbody>
                     <row>
                         <entry><methodname>getId()</methodname></entry>
-
                         <entry>Returns a unique ID associated with this feed</entry>
                     </row>
 
                     <row>
                         <entry><methodname>getTitle()</methodname></entry>
-
                         <entry>Returns the title of the feed</entry>
                     </row>
 
                     <row>
                         <entry><methodname>getDescription()</methodname></entry>
-
                         <entry>Returns the text description of the feed.</entry>
                     </row>
 
@@ -602,10 +615,11 @@ $labels = $categories->getValues();
                         <entry><methodname>getAuthors()</methodname></entry>
 
                         <entry>
-                            Returns an object of type <classname>Zend_Feed_Reader_Collection_Author</classname>
-                            which is an <classname>ArrayObject</classname> whose elements are each simple
-                            arrays containing any combination of the keys "name", "email" and
-                            "uri". Where irrelevant to the source data, some of these keys may be omitted.
+                            Returns an object of type
+                            <classname>Zend_Feed_Reader_Collection_Author</classname> which is an
+                            <classname>ArrayObject</classname> whose elements are each simple arrays
+                            containing any combination of the keys "name", "email" and "uri". Where
+                            irrelevant to the source data, some of these keys may be omitted.
                         </entry>
                     </row>
 
@@ -661,18 +675,15 @@ $labels = $categories->getValues();
 
                     <row>
                         <entry><methodname>getCopyright()</methodname></entry>
-
-                        <entry>
-                            Returns any copyright notice associated with the feed.
-                        </entry>
+                        <entry>Returns any copyright notice associated with the feed.</entry>
                     </row>
 
                     <row>
                         <entry><methodname>getHubs()</methodname></entry>
 
                         <entry>
-                            Returns an array of all Hub Server <acronym>URI</acronym> endpoints which
-                            are advertised by the feed for use with the Pubsubhubbub
+                            Returns an array of all Hub Server <acronym>URI</acronym> endpoints
+                            which are advertised by the feed for use with the Pubsubhubbub
                             Protocol, allowing subscriptions to the feed for real-time updates.
                         </entry>
                     </row>
@@ -691,9 +702,9 @@ $labels = $categories->getValues();
                             set to <constant>NULL</constant>.
                         </entry>
                     </row>
-        </tbody>
-      </tgroup>
-    </table>
+                </tbody>
+            </tgroup>
+        </table>
 
         <para>
             Given the variety of feeds in the wild, some of these methods will
@@ -815,19 +826,16 @@ $labels = $categories->getValues();
 
                     <row>
                         <entry><methodname>key()</methodname></entry>
-
                         <entry>Returns the current entry index</entry>
                     </row>
 
                     <row>
                         <entry><methodname>next()</methodname></entry>
-
                         <entry>Increments the entry index value by one</entry>
                     </row>
 
                     <row>
                         <entry><methodname>rewind()</methodname></entry>
-
                         <entry>Resets the entry index to 0</entry>
                     </row>
 
@@ -896,19 +904,16 @@ $labels = $categories->getValues();
                 <tbody>
                     <row>
                         <entry><methodname>getId()</methodname></entry>
-
                         <entry>Returns a unique ID for the current entry.</entry>
                     </row>
 
                     <row>
                         <entry><methodname>getTitle()</methodname></entry>
-
                         <entry>Returns the title of the current entry.</entry>
                     </row>
 
                     <row>
                         <entry><methodname>getDescription()</methodname></entry>
-
                         <entry>Returns a description of the current entry.</entry>
                     </row>
 
@@ -934,10 +939,11 @@ $labels = $categories->getValues();
                         <entry><methodname>getAuthors()</methodname></entry>
 
                         <entry>
-                            Returns an object of type <classname>Zend_Feed_Reader_Collection_Author</classname>
-                            which is an <classname>ArrayObject</classname> whose elements are each simple
-                            arrays containing any combination of the keys "name", "email" and
-                            "uri". Where irrelevant to the source data, some of these keys may be omitted.
+                            Returns an object of type
+                            <classname>Zend_Feed_Reader_Collection_Author</classname> which is an
+                            <classname>ArrayObject</classname> whose elements are each simple arrays
+                            containing any combination of the keys "name", "email" and "uri". Where
+                            irrelevant to the source data, some of these keys may be omitted.
                         </entry>
                     </row>
 
@@ -1240,19 +1246,18 @@ $labels = $categories->getValues();
                     <row>
                         <entry>DublinCore (Feed and Entry)</entry>
 
-                        <entry>Implements support for Dublin Core Metadata Element Set 1.0
-                        and 1.1 </entry>
+                        <entry>
+                            Implements support for Dublin Core Metadata Element Set 1.0 and 1.1
+                        </entry>
                     </row>
 
                     <row>
                         <entry>Content (Entry only)</entry>
-
                         <entry>Implements support for Content 1.0</entry>
                     </row>
 
                     <row>
                         <entry>Atom (Feed and Entry)</entry>
-
                         <entry>Implements support for Atom 0.3 and Atom 1.0</entry>
                     </row>
 
@@ -1266,15 +1271,16 @@ $labels = $categories->getValues();
 
                     <row>
                         <entry>WellFormedWeb</entry>
-
                         <entry>Implements support for the Well Formed Web CommentAPI 1.0</entry>
                     </row>
 
                     <row>
                         <entry>Thread</entry>
 
-                        <entry>Implements support for Atom Threading Extensions as described
-                        in <acronym>RFC</acronym> 4685</entry>
+                        <entry>
+                            Implements support for Atom Threading Extensions as described
+                            in <acronym>RFC</acronym> 4685
+                        </entry>
                     </row>
 
                     <row>
@@ -1306,12 +1312,15 @@ $labels = $categories->getValues();
                 <tbody>
                     <row>
                         <entry>Syndication</entry>
+
                         <entry>
                             Implements Syndication 1.0 support for <acronym>RSS</acronym> feeds
                         </entry>
                     </row>
+
                     <row>
                         <entry>CreativeCommons</entry>
+
                         <entry>
                             A <acronym>RSS</acronym> module that adds an element at the
                             &lt;channel&gt; or &lt;item&gt; level that specifies which Creative

+ 43 - 46
documentation/manual/en/module_specs/Zend_Feed_Writer.xml

@@ -39,7 +39,6 @@
             is a standalone replacement for <classname>Zend_Feed</classname>'s Builder architecture
             and is not compatible with those classes.
         </para>
-
     </sect2>
 
     <sect2 id="zend.feed.writer.architecture">
@@ -175,13 +174,13 @@ $out = $feed->export('atom');
 </programlisting>
 
         <para>
-            This is a perfectly valid Atom 1.0 example. It should be noted that omitting an obligatory point
-            of data, such as a title, will trigger an <classname>Exception</classname> when
-            rendering as Atom 1.0. This will differ for RSS 2.0 since a title may be omitted so long
-            as a description is present. This gives rise to Exceptions that differ between the two
-            standards depending on the renderer in use. By design,
-            <classname>Zend_Feed_Writer</classname> will not render an invalid feed for either
-            standard unless the end-user deliberately elects to ignore all Exceptions.
+            This is a perfectly valid Atom 1.0 example. It should be noted that omitting an
+            obligatory point of data, such as a title, will trigger an
+            <classname>Exception</classname> when rendering as Atom 1.0. This will differ for RSS
+            2.0 since a title may be omitted so long as a description is present. This gives rise to
+            Exceptions that differ between the two standards depending on the renderer in use. By
+            design, <classname>Zend_Feed_Writer</classname> will not render an invalid feed for
+            either standard unless the end-user deliberately elects to ignore all Exceptions.
         </para>
     </sect2>
 
@@ -226,21 +225,21 @@ $out = $feed->export('atom');
                     <row>
                         <entry><methodname>setId()</methodname></entry>
 
-                        <entry>Set a unique ID associated with this feed. For Atom 1.0
-                        this is an atom:id element, whereas for RSS 2.0 it is added
-                        as a guid element. These are optional so long as a link is
-                        added, i.e. the link is set as the ID.</entry>
+                        <entry>
+                            Set a unique ID associated with this feed. For Atom 1.0
+                            this is an atom:id element, whereas for RSS 2.0 it is added
+                            as a guid element. These are optional so long as a link is
+                            added, i.e. the link is set as the ID.
+                        </entry>
                     </row>
 
                     <row>
                         <entry><methodname>setTitle()</methodname></entry>
-
                         <entry>Set the title of the feed.</entry>
                     </row>
 
                     <row>
                         <entry><methodname>setDescription()</methodname></entry>
-
                         <entry>Set the text description of the feed.</entry>
                     </row>
 
@@ -310,8 +309,9 @@ $out = $feed->export('atom');
                         <entry><methodname>getDateModified()</methodname></entry>
 
                         <entry>
-                            Sets the date on which this feed was last modified. The expected parameter
-                            may be a UNIX timestamp or a <classname>Zend_Date</classname> object.
+                            Sets the date on which this feed was last modified. The expected
+                            parameter may be a UNIX timestamp or a <classname>Zend_Date</classname>
+                            object.
                         </entry>
                     </row>
 
@@ -337,10 +337,7 @@ $out = $feed->export('atom');
 
                     <row>
                         <entry><methodname>setCopyright()</methodname></entry>
-
-                        <entry>
-                            Sets a copyright notice associated with the feed.
-                        </entry>
+                        <entry>Sets a copyright notice associated with the feed.</entry>
                     </row>
 
                     <row>
@@ -350,8 +347,9 @@ $out = $feed->export('atom');
                             Accepts an array of Pubsubhubbub Hub Endpoints to be rendered in
                             the feed as Atom links so that PuSH Subscribers may subscribe to
                             your feed. Note that you must implement a Pubsubhubbub Publisher in
-                            order for real-time updates to be enabled. A Publisher may be implemented
-                            using <classname>Zend_Feed_Pubsubhubbub_Publisher</classname>.
+                            order for real-time updates to be enabled. A Publisher may be
+                            implemented using
+                            <classname>Zend_Feed_Pubsubhubbub_Publisher</classname>.
                         </entry>
                     </row>
 
@@ -359,12 +357,13 @@ $out = $feed->export('atom');
                         <entry><methodname>setCategories()</methodname></entry>
 
                         <entry>
-                            Accepts an array of categories for rendering, where each element is itself
-                            an array whose possible keys include "term", "label" and "scheme". The "term"
-                            is a typically a category name suitable for inclusion in a URI. The "label"
-                            may be a human readable category name supporting special characters (it is encoded
-                            during rendering) and is a required key. The "scheme" (called the domain in RSS)
-                            is optional but must be a valid URI.
+                            Accepts an array of categories for rendering, where each element is
+                            itself an array whose possible keys include "term", "label" and
+                            "scheme". The "term" is a typically a category name suitable for
+                            inclusion in a URI. The "label" may be a human readable category name
+                            supporting special characters (it is encoded during rendering) and is a
+                            required key. The "scheme" (called the domain in RSS) is optional but
+                            must be a valid URI.
                         </entry>
                     </row>
                 </tbody>
@@ -376,8 +375,8 @@ $out = $feed->export('atom');
         <title>Setting Entry Data Points</title>
 
         <para>
-            Here's a summary of the Core <acronym>API</acronym> for Entries/Items. You should note it
-            comprises not only the basic <acronym>RSS</acronym> and Atom standards, but also
+            Here's a summary of the Core <acronym>API</acronym> for Entries/Items. You should note
+            it comprises not only the basic <acronym>RSS</acronym> and Atom standards, but also
             accounts for a number of included Extensions bundled with
             <classname>Zend_Feed_Writer</classname>. The naming of these
             Extension sourced methods remain fairly generic - all Extension
@@ -401,13 +400,11 @@ $out = $feed->export('atom');
 
                     <row>
                         <entry><methodname>setTitle()</methodname></entry>
-
                         <entry>Set the title of the feed.</entry>
                     </row>
 
                     <row>
                         <entry><methodname>setDescription()</methodname></entry>
-
                         <entry>Set the text description of the feed.</entry>
                     </row>
 
@@ -477,8 +474,9 @@ $out = $feed->export('atom');
                         <entry><methodname>getDateModified()</methodname></entry>
 
                         <entry>
-                            Sets the date on which this feed was last modified. The expected parameter
-                            may be a UNIX timestamp or a <classname>Zend_Date</classname> object.
+                            Sets the date on which this feed was last modified. The expected
+                            parameter may be a UNIX timestamp or a <classname>Zend_Date</classname>
+                            object.
                         </entry>
                     </row>
 
@@ -504,10 +502,7 @@ $out = $feed->export('atom');
 
                     <row>
                         <entry><methodname>setCopyright()</methodname></entry>
-
-                        <entry>
-                            Sets a copyright notice associated with the feed.
-                        </entry>
+                        <entry>Sets a copyright notice associated with the feed.</entry>
                     </row>
 
                     <row>
@@ -517,8 +512,9 @@ $out = $feed->export('atom');
                             Accepts an array of Pubsubhubbub Hub Endpoints to be rendered in
                             the feed as Atom links so that PuSH Subscribers may subscribe to
                             your feed. Note that you must implement a Pubsubhubbub Publisher in
-                            order for real-time updates to be enabled. A Publisher may be implemented
-                            using <classname>Zend_Feed_Pubsubhubbub_Publisher</classname>.
+                            order for real-time updates to be enabled. A Publisher may be
+                            implemented using
+                            <classname>Zend_Feed_Pubsubhubbub_Publisher</classname>.
                         </entry>
                     </row>
 
@@ -526,12 +522,13 @@ $out = $feed->export('atom');
                         <entry><methodname>setCategories()</methodname></entry>
 
                         <entry>
-                            Accepts an array of categories for rendering, where each element is itself
-                            an array whose possible keys include "term", "label" and "scheme". The "term"
-                            is a typically a category name suitable for inclusion in a URI. The "label"
-                            may be a human readable category name supporting special characters (it is encoded
-                            during rendering) and is a required key. The "scheme" (called the domain in RSS)
-                            is optional but must be a valid URI.
+                            Accepts an array of categories for rendering, where each element is
+                            itself an array whose possible keys include "term", "label" and
+                            "scheme". The "term" is a typically a category name suitable for
+                            inclusion in a URI. The "label" may be a human readable category name
+                            supporting special characters (it is encoded during rendering) and is a
+                            required key. The "scheme" (called the domain in RSS) is optional but
+                            must be a valid URI.
                         </entry>
                     </row>
                 </tbody>

+ 16 - 22
documentation/manual/en/module_specs/Zend_File_Transfer-Filters.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.file.transfer.filters">
-
     <title>Filters for Zend_File_Transfer</title>
 
     <para>
@@ -21,22 +20,26 @@
                 <code>Decrypt</code>: This filter can decrypt a encrypted file.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 <code>Encrypt</code>: This filter can encrypt a file.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 <code>LowerCase</code>: This filter can lowercase the content of a textfile.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 <code>Rename</code>: This filter can rename files, change the location and even
                 force overwriting of existing files.
             </para>
         </listitem>
+
         <listitem>
             <para>
                 <code>UpperCase</code>: This filter can uppercase the content of a textfile.
@@ -179,7 +182,6 @@ $upload = new Zend_File_Transfer();
 $upload->addFilter('Rename', 'C:\picture\newjpg', 'file1')
        ->addFilter('Rename', 'C:\picture\newgif', 'file2');
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -189,7 +191,6 @@ $upload->addFilter('Rename', 'C:\picture\newjpg', 'file1')
                 different options for the same filter.
             </para>
         </note>
-
     </sect2>
 
     <sect2 id="zend.file.transfer.filters.decrypt">
@@ -224,7 +225,6 @@ $upload = new Zend_File_Transfer_Adapter_Http();
 $upload->addFilter('Decrypt',
     array('adapter' => 'mcrypt', 'key' => 'mykey'));
 ]]></programlisting>
-
         </example>
 
         <example id="zend.file.transfer.filters.decrypt.example2">
@@ -240,7 +240,6 @@ $upload->addFilter('Decrypt',
           'private' => '/path/to/privatekey.pem',
           'envelope' => '/path/to/envelopekey.pem'));
 ]]></programlisting>
-
         </example>
     </sect2>
 
@@ -276,7 +275,6 @@ $upload = new Zend_File_Transfer_Adapter_Http();
 $upload->addFilter('Encrypt',
     array('adapter' => 'mcrypt', 'key' => 'mykey'));
 ]]></programlisting>
-
         </example>
 
         <example id="zend.file.transfer.filters.encrypt.example2">
@@ -291,7 +289,6 @@ $upload->addFilter('Encrypt',
     array('adapter' => 'openssl',
           'public' => '/path/to/publickey.pem'));
 ]]></programlisting>
-
         </example>
     </sect2>
 
@@ -324,7 +321,6 @@ $upload->addFilter('LowerCase', null, 'uploadfile1');
 // Adds a filter to lowercase with encoding set to ISO-8859-1
 $upload->addFilter('LowerCase', 'ISO-8859-1');
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -334,7 +330,6 @@ $upload->addFilter('LowerCase', 'ISO-8859-1');
                 want to limit it to a single file element.
             </para>
         </note>
-
     </sect2>
 
     <sect2 id="zend.file.transfer.filters.rename">
@@ -387,7 +382,6 @@ $upload->addFilter('Rename', 'C:\mypics\new');
 // Set a new destination path only for uploadfile1
 $upload->addFilter('Rename', 'C:\mypics\newgifs', 'uploadfile1');
 ]]></programlisting>
-
         </example>
 
         <para>
@@ -397,46 +391,47 @@ $upload->addFilter('Rename', 'C:\mypics\newgifs', 'uploadfile1');
         </para>
 
         <table id="zend.file.transfer.filters.rename.notations">
-
             <title>Different notations of the rename filter and their meaning</title>
 
             <tgroup cols="2" align="left">
                 <thead>
                     <row>
-                        <entry>
-                            notation
-                        </entry>
-                        <entry>
-                            description
-                        </entry>
+                        <entry>notation</entry>
+                        <entry>description</entry>
                     </row>
                 </thead>
+
                 <tbody>
                     <row>
                         <entry>
                             <methodname>addFile('C:\uploads')</methodname>
                         </entry>
+
                         <entry>
                             Specifies a new location for all files when the given string is a
                             directory. Note that you will get an exception when the file already
                             exists, see the overwriting parameter.
                         </entry>
                     </row>
+
                     <row>
                         <entry>
                             <methodname>addFile('C:\uploads\file.ext')</methodname>
                         </entry>
+
                         <entry>
                             Specifies a new location and filename for all files when the given
                             string is not detected as directory. Note that you will get an exception
                             when the file already exists, see the overwriting parameter.
                         </entry>
                     </row>
+
                     <row>
                         <entry>
                             <methodname>addFile(array('C:\uploads\file.ext', 'overwrite' =>
                                 true)</methodname>)
                         </entry>
+
                         <entry>
                             Specifies a new location and filename for all files when the given
                             string is not detected as directory and overwrites an existing file with
@@ -444,22 +439,26 @@ $upload->addFilter('Rename', 'C:\mypics\newgifs', 'uploadfile1');
                             file was overwritten.
                         </entry>
                     </row>
+
                     <row>
                         <entry>
                             <methodname>addFile(array('source' => 'C:\temp\uploads', 'target' =>
                                 'C:\uploads')</methodname>)
                         </entry>
+
                         <entry>
                             Specifies a new location for all files in the old location when the
                             given strings are detected as directory. Note that you will get an
                             exception when the file already exists, see the overwriting parameter.
                         </entry>
                     </row>
+
                     <row>
                         <entry>
                             addFile(array('source' => 'C:\temp\uploads', 'target' => 'C:\uploads',
                             'overwrite' => true))
                         </entry>
+
                         <entry>
                             Specifies a new location for all files in the old location when the
                             given strings are detected as directory and overwrites and existing file
@@ -469,9 +468,7 @@ $upload->addFilter('Rename', 'C:\mypics\newgifs', 'uploadfile1');
                     </row>
                 </tbody>
             </tgroup>
-
         </table>
-
     </sect2>
 
     <sect2 id="zend.file.transfer.filters.uppercase">
@@ -503,7 +500,6 @@ $upload->addFilter('UpperCase', null, 'uploadfile1');
 // Adds a filter to uppercase with encoding set to ISO-8859-1
 $upload->addFilter('UpperCase', 'ISO-8859-1');
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -513,9 +509,7 @@ $upload->addFilter('UpperCase', 'ISO-8859-1');
                 want to limit it to a single file element.
             </para>
         </note>
-
     </sect2>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 tw=80 et:

+ 9 - 21
documentation/manual/en/module_specs/Zend_File_Transfer-Introduction.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.file.transfer.introduction">
-
     <title>Zend_File_Transfer</title>
 
     <para>
@@ -14,6 +13,7 @@
 
     <note>
         <title>Limitation</title>
+
         <para>
             The current implementation of <classname>Zend_File_Transfer</classname> is limited to
             <acronym>HTTP</acronym> Post Uploads. Other adapters supporting downloads and other
@@ -26,6 +26,7 @@
 
     <note>
         <title>Forms</title>
+
         <para>
             When you are using <classname>Zend_Form</classname> you should use the
             <acronym>API</acronym>s provided by <classname>Zend_Form</classname> and not
@@ -45,10 +46,12 @@
 
     <example id="zend.file.transfer.introduction.example">
         <title>Simple Form for Uploading Files</title>
+
         <para>
             This example illustrates basic file uploading.
             The first part is the file form. In our example there is one file to upload.
         </para>
+
         <programlisting language="xml"><![CDATA[
 <form enctype="multipart/form-data" action="/file/upload" method="POST">
     <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
@@ -57,16 +60,19 @@
     <input type="submit" value="Upload File" />
 </form>
 ]]></programlisting>
+
         <para>
            For convenience, you can use <link
                linkend="zend.form.standardElements.file">Zend_Form_Element_File</link> instead of
            building the HTML manually.
         </para>
+
         <para>
             The next step is to create the receiver of the upload. In our example the receiver is
             located at <code>/file/upload</code>. So next we will create the <code>file</code>
             controller and the <code>upload</code> action.
         </para>
+
         <programlisting language="php"><![CDATA[
 $adapter = new Zend_File_Transfer_Adapter_Http();
 
@@ -77,17 +83,18 @@ if (!$adapter->receive()) {
     echo implode("\n", $messages);
 }
 ]]></programlisting>
+
         <para>
             This code listing demonstrates the simplest usage of
             <classname>Zend_File_Transfer</classname>. A local destination is set with the
             <code>setDestination</code> method, then the <methodname>receive()</methodname> method
             is called. if there are any upload errors, an error will be returned.
         </para>
-
     </example>
 
     <note>
         <title>Attention</title>
+
         <para>
             This example is suitable only for demonstrating the basic <acronym>API</acronym> of
             <classname>Zend_File_Transfer</classname>. You should <emphasis>never</emphasis> use
@@ -97,7 +104,6 @@ if (!$adapter->receive()) {
     </note>
 
     <sect2 id="zend.file.transfer.introduction.adapters">
-
         <title>Supported Adapters for Zend_File_Transfer</title>
 
         <para>
@@ -109,7 +115,6 @@ if (!$adapter->receive()) {
     </sect2>
 
     <sect2 id="zend.file.transfer.introduction.options">
-
         <title>Options for Zend_File_Transfer</title>
 
         <para>
@@ -133,7 +138,6 @@ if (!$adapter->receive()) {
     </sect2>
 
     <sect2 id="zend.file.transfer.introduction.checking">
-
         <title>Checking Files</title>
 
         <para>
@@ -198,7 +202,6 @@ foreach ($files as $file => $info) {
 
 $upload->receive();
 ]]></programlisting>
-
         </example>
     </sect2>
 
@@ -273,7 +276,6 @@ $names = $upload->getFileName();
 // Returns the file names from the 'foo' form element
 $names = $upload->getFileName('foo');
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -305,7 +307,6 @@ $size = $upload->getFileSize();
 $upload->setOption(array('useByteString' => false));
 $size = $upload->getFileSize();
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -338,7 +339,6 @@ $hash = $upload->getHash('md5');
 // Returns the hash for the 'foo' form element
 $names = $upload->getHash('crc32', 'foo');
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -367,7 +367,6 @@ $mime = $upload->getMimeType();
 // Returns the mimetype for the 'foo' form element
 $names = $upload->getMimeType('foo');
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -408,7 +407,6 @@ $names = $upload->getMimeType('foo');
     </sect2>
 
     <sect2 id="zend.file.transfer.introduction.uploadprogress">
-
         <title>Progress for file uploads</title>
 
         <para>
@@ -438,7 +436,6 @@ $names = $upload->getMimeType('foo');
         </para>
 
         <sect3 id="zend.file.transfer.introduction.uploadprogress.progressadapter">
-
             <title>Using a progressbar adapter</title>
 
             <para>
@@ -455,7 +452,6 @@ $names = $upload->getMimeType('foo');
             </para>
 
             <example id="zend.file.transfer.introduction.uploadprogress.progressadapter.example1">
-
                 <title>Using the progressbar adapter to retrieve the actual state</title>
 
                 <programlisting language="php"><![CDATA[
@@ -467,18 +463,15 @@ while (!$upload['done']) {
     $upload = Zend_File_Transfer_Adapter_Http:getProgress($upload);
 }
 ]]></programlisting>
-
             </example>
 
             <para>
                 The complete handling is done by <methodname>getProgress()</methodname> for you in
                 the background.
             </para>
-
         </sect3>
 
         <sect3 id="zend.file.transfer.introduction.uploadprogress.manually">
-
             <title>Using getProgress() manually</title>
 
             <para>
@@ -568,7 +561,6 @@ while (!$upload['done']) {
             </para>
 
             <example id="zend.file.transfer.introduction.uploadprogress.manually.example1">
-
                 <title>Manual usage of the file progress</title>
 
                 <programlisting language="php"><![CDATA[
@@ -580,13 +572,9 @@ while (!$upload['done']) {
     // do whatever you need
 }
 ]]></programlisting>
-
             </example>
-
         </sect3>
-
     </sect2>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 tw=80 et:

+ 30 - 33
documentation/manual/en/module_specs/Zend_File_Transfer-Validators.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.file.transfer.validators">
-
     <title>Validators for Zend_File_Transfer</title>
 
     <para>
@@ -303,7 +302,6 @@ $upload->addValidator('Size', false, 20000)
        ->addValidator('Count', false, 2)
        ->addValidator('Filessize', false, 25000);
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -340,7 +338,6 @@ if ($upload->isValid()) {
     print "Validation failure";
 }
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -358,7 +355,6 @@ if ($upload->isValid()) {
             <methodname>hasErrors()</methodname> which returns <constant>TRUE</constant> as soon as
             a validation error has been found.
         </para>
-
     </sect2>
 
     <sect2 id="zend.file.transfer.validators.count">
@@ -421,8 +417,8 @@ $upload->addValidator('Count', false, 2);
 // Limit the amount of files to maximum 5 and minimum 1 file
 $upload->addValidator('Count', false, array('min' =>1, 'max' => 5));
 ]]></programlisting>
-
         </example>
+
         <note>
             <para>
                 Note that this validator stores the number of checked files internally. The file
@@ -436,8 +432,8 @@ $upload->addValidator('Count', false, array('min' =>1, 'max' => 5));
 
         <para>
             The <code>Crc32</code> validator checks the content of a transferred file by hashing it.
-            This validator uses the hash extension from <acronym>PHP</acronym> with the crc32 algorithm.
-            It supports the following options:
+            This validator uses the hash extension from <acronym>PHP</acronym> with the crc32
+            algorithm. It supports the following options:
         </para>
 
         <itemizedlist>
@@ -528,8 +524,8 @@ $upload->addValidator('ExcludeExtension',
                       false,
                       array('php', 'exe', 'case' => true));
 ]]></programlisting>
-
         </example>
+
         <note>
             <para>
                 Note that this validator only checks the file extension. It does not check the
@@ -570,10 +566,11 @@ $upload->addValidator('ExcludeExtension',
         </itemizedlist>
 
         <para>
-            This validator accepts multiple <acronym>MIME</acronym> types, either as a comma-delimited string, or as
-            an array. You may also use the methods <methodname>setMimeType()</methodname>,
-            <methodname>addMimeType()</methodname>, and <methodname>getMimeType()</methodname> to
-            set and retrieve the <acronym>MIME</acronym> types.
+            This validator accepts multiple <acronym>MIME</acronym> types, either as a
+            comma-delimited string, or as an array. You may also use the methods
+            <methodname>setMimeType()</methodname>, <methodname>addMimeType()</methodname>, and
+            <methodname>getMimeType()</methodname> to set and retrieve the <acronym>MIME</acronym>
+            types.
         </para>
 
         <example id="zend.file.transfer.validators.excludemimetype.example">
@@ -595,18 +592,19 @@ $upload->addValidator('ExcludeMimeType', false, 'image');
         </example>
 
         <para>
-            The above example shows that it is also possible to disallow groups of <acronym>MIME</acronym> types.
-            For example, to disallow all images, just use 'image' as the <acronym>MIME</acronym> type. This can be used
-            for all groups of <acronym>MIME</acronym> types like 'image', 'audio', 'video', 'text', etc.
+            The above example shows that it is also possible to disallow groups of
+            <acronym>MIME</acronym> types. For example, to disallow all images, just use 'image' as
+            the <acronym>MIME</acronym> type. This can be used for all groups of
+            <acronym>MIME</acronym> types like 'image', 'audio', 'video', 'text', etc.
         </para>
 
         <note>
             <para>
-                Note that disallowing groups of <acronym>MIME</acronym> types will disallow all members of this group
-                even if this is not intentional. When you disallow 'image' you will disallow all
-                types of images like 'image/jpeg' or 'image/vasa'. When you are not sure if you want
-                to disallow all types, you should disallow only specific <acronym>MIME</acronym> types instead of
-                complete groups.
+                Note that disallowing groups of <acronym>MIME</acronym> types will disallow all
+                members of this group even if this is not intentional. When you disallow 'image' you
+                will disallow all types of images like 'image/jpeg' or 'image/vasa'. When you are
+                not sure if you want to disallow all types, you should disallow only specific
+                <acronym>MIME</acronym> types instead of complete groups.
             </para>
         </note>
     </sect2>
@@ -649,8 +647,8 @@ $upload->addValidator('Exists',
                       false,
                       array('\home\images', '\home\uploads'));
 ]]></programlisting>
-
         </example>
+
         <note>
             <para>
                 Note that this validator checks whether the specified file exists in all of the
@@ -716,8 +714,8 @@ if (!$upload->isValid('C:\temp\myfile.MO')) {
     print 'Not valid because MO and mo do not match with case sensitivity;
 }
 ]]></programlisting>
-
         </example>
+
         <note>
             <para>
                 Note that this validator only checks the file extension. It does not check the
@@ -805,8 +803,8 @@ $upload->addValidator('FilesSize',
                             'max' => '4MB',
                             'bytestring' => false));
 ]]></programlisting>
-
         </example>
+
         <note>
             <para>
                 Note that this validator internally stores the file size of checked files. The file
@@ -1033,8 +1031,8 @@ $upload->addValidator('Hash',
 
         <para>
             The <code>Md5</code> validator checks the content of a transferred file by hashing it.
-            This validator uses the hash extension for <acronym>PHP</acronym> with the md5 algorithm.
-            It supports the following options:
+            This validator uses the hash extension for <acronym>PHP</acronym> with the md5
+            algorithm. It supports the following options:
         </para>
 
         <itemizedlist>
@@ -1072,15 +1070,15 @@ $upload->addValidator('Md5',
         <title>MimeType Validator</title>
 
         <para>
-            The <code>MimeType</code> validator checks the <acronym>MIME</acronym> type of transferred files.
-            It supports the following options:
+            The <code>MimeType</code> validator checks the <acronym>MIME</acronym> type of
+            transferred files. It supports the following options:
         </para>
 
         <itemizedlist>
             <listitem>
                 <para>
-                    <code>*</code>: Sets any key or use a numeric array. Sets the <acronym>MIME</acronym> type to
-                    validate against.
+                    <code>*</code>: Sets any key or use a numeric array. Sets the
+                    <acronym>MIME</acronym> type to validate against.
                 </para>
 
                 <para>
@@ -1221,8 +1219,8 @@ $upload->addValidator('NotExists', false,
                             '\home\uploads')
                      );
 ]]></programlisting>
-
         </example>
+
         <note>
             <para>
                 Note that this validator checks if the file does not exist in all of the provided
@@ -1237,8 +1235,8 @@ $upload->addValidator('NotExists', false,
 
         <para>
             The <code>Sha1</code> validator checks the content of a transferred file by hashing it.
-            This validator uses the hash extension for <acronym>PHP</acronym> with the sha1 algorithm.
-            It supports the following options:
+            This validator uses the hash extension for <acronym>PHP</acronym> with the sha1
+            algorithm. It supports the following options:
         </para>
 
         <itemizedlist>
@@ -1385,7 +1383,6 @@ $upload->addValidator('WordCount', false, 2000);
 // Limit the amount of words within files to maximum 5000 and minimum 1000 words
 $upload->addValidator('WordCount', false, array('min' => 1000, 'max' => 5000));
 ]]></programlisting>
-
         </example>
     </sect2>
 </sect1>

+ 0 - 20
documentation/manual/en/module_specs/Zend_Filter-Boolean.xml

@@ -221,9 +221,7 @@ $filter->filter('yes');
                 <thead>
                     <row>
                         <entry>Type</entry>
-
                         <entry>True</entry>
-
                         <entry>False</entry>
                     </row>
                 </thead>
@@ -231,73 +229,55 @@ $filter->filter('yes');
                 <tbody>
                     <row>
                         <entry>Zend_Filter_Boolean::BOOLEAN</entry>
-
                         <entry><constant>TRUE</constant></entry>
-
                         <entry><constant>FALSE</constant></entry>
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::INTEGER</entry>
-
                         <entry>0</entry>
-
                         <entry>1</entry>
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::FLOAT</entry>
-
                         <entry>0.0</entry>
-
                         <entry>1.0</entry>
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::STRING</entry>
-
                         <entry>""</entry>
-
                         <entry />
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::ZERO</entry>
-
                         <entry>"0"</entry>
-
                         <entry>"1"</entry>
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::EMPTY_ARRAY</entry>
-
                         <entry>array()</entry>
-
                         <entry />
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::NULL</entry>
-
                         <entry><constant>NULL</constant></entry>
-
                         <entry />
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::FALSE_STRING</entry>
-
                         <entry>"false" (case independently)</entry>
-
                         <entry>"true" (case independently)</entry>
                     </row>
 
                     <row>
                         <entry>Zend_Filter_Boolean::YES</entry>
-
                         <entry>localized "yes" (case independently)</entry>
-
                         <entry>localized "no" (case independently)</entry>
                     </row>
                 </tbody>

+ 1 - 1
documentation/manual/en/module_specs/Zend_Filter-Callback.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect2 id="zend.filter.set.callback">
     <title>Callback</title>
+
     <para>
         This filter allows you to use own methods in conjunction with
         <classname>Zend_Filter</classname>. You don't have to create a new filter when you already
@@ -71,5 +72,4 @@ $value = MyMethod('Hello', 'param1', 'param2');
             an exception.
         </para>
     </note>
-
 </sect2>

+ 4 - 3
documentation/manual/en/module_specs/Zend_Filter-Compress.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect2 id="zend.filter.set.compress">
     <title>Compress and Decompress</title>
+
     <para>
         These two filters are capable of compressing and decompressing strings, files, and
         directories. They make use of adapters and support the following compression formats:
@@ -442,9 +443,9 @@ $compressed = $filter->filter('filename.zip');
             <title>Rar compression not supported</title>
 
             <para>
-                Due to restrictions with the Rar compression format, there is no compression available
-                for free. When you want to compress files into a new Rar archive, you must provide a
-                callback to the adapter that can invoke a Rar compression program.
+                Due to restrictions with the Rar compression format, there is no compression
+                available for free. When you want to compress files into a new Rar archive, you must
+                provide a callback to the adapter that can invoke a Rar compression program.
             </para>
         </note>
 

+ 3 - 0
documentation/manual/en/module_specs/Zend_Filter-Decryption.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect2 id="zend.filter.set.decrypt">
     <title>Decrypt</title>
+
     <para>
         This filter will decrypt any given string with the provided setting. Therefor it makes use
         of Adapters. Actually there are adapters for the <code>Mcrypt</code> and
@@ -16,6 +17,7 @@
 
     <sect3 id="zend.filter.set.decrypt.mcrypt">
         <title>Decryption with Mcrypt</title>
+
         <para>
             For decrypting content which was previously encrypted with <code>Mcrypt</code> you need
             to have the options with which the encryption has been called.
@@ -61,6 +63,7 @@ print $decrypted;
 
     <sect3 id="zend.filter.set.decrypt.openssl">
         <title>Decryption with OpenSSL</title>
+
         <para>
             Decryption with <code>OpenSSL</code> is as simple as encryption. But you need to have
             all data from the person who encrypted the content.

+ 3 - 1
documentation/manual/en/module_specs/Zend_Filter-Encryption.xml

@@ -2,6 +2,7 @@
 <!-- Reviewed: no -->
 <sect2 id="zend.filter.set.encrypt">
     <title>Encrypt</title>
+
     <para>
         This filter will encrypt any given string with the provided setting. Therefor it makes use
         of Adapters. Actually there are adapters for the <code>Mcrypt</code> and
@@ -41,6 +42,7 @@ $filter->setAdapter('openssl');
 
     <sect3 id="zend.filter.set.encrypt.mcrypt">
         <title>Encryption with Mcrypt</title>
+
         <para>
             When you have installed the <code>Mcrypt</code> extension you can use the
             <code>Mcrypt</code> adapter. This adapter supports the following options at initiation:
@@ -158,6 +160,7 @@ print $encrypted;
 
     <sect3 id="zend.filter.set.encrypt.openssl">
         <title>Encryption with OpenSSL</title>
+
         <para>
             When you have installed the <code>OpenSSL</code> extension you can use the
             <code>OpenSSL</code> adapter. This adapter supports the following options at initiation:
@@ -269,7 +272,6 @@ print $encrypted;
 ]]></programlisting>
     </sect3>
 </sect2>
-
 <!--
 vim:se ts=4 sw=4 et:
 -->

+ 0 - 1
documentation/manual/en/module_specs/Zend_Filter-FilterChains.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.filter_chains">
-
     <title>Filter Chains</title>
 
     <para>

+ 60 - 30
documentation/manual/en/module_specs/Zend_Filter-Inflector.xml

@@ -299,23 +299,29 @@ class Foo
             </para>
 
             <itemizedlist>
-                <listitem><para>
+                <listitem>
+                    <para>
                         <emphasis>String</emphasis>. The string may be a filter
                         class name, or a class name segment minus any prefix set
                         in the inflector's plugin loader (by default, minus the
                         'Zend_Filter' prefix).
-                </para></listitem>
+                    </para>
+                </listitem>
 
-                <listitem><para>
+                <listitem>
+                    <para>
                         <emphasis>Filter object</emphasis>. Any object instance
                         implementing <classname>Zend_Filter_Interface</classname> may be
                         passed as a filter.
-                </para></listitem>
+                    </para>
+                </listitem>
 
-                <listitem><para>
+                <listitem>
+                    <para>
                         <emphasis>Array</emphasis>. An array of one or more
                         strings or filter objects as defined above.
-                </para></listitem>
+                    </para>
+                </listitem>
             </itemizedlist>
 
             <programlisting language="php"><![CDATA[
@@ -354,13 +360,17 @@ $inflector->setFilterRule('script', array(
             </para>
 
             <itemizedlist>
-                <listitem><para>
+                <listitem>
+                    <para>
                         <emphasis>':' prefix</emphasis>: filter rules.
-                </para></listitem>
+                    </para>
+                </listitem>
 
-                <listitem><para>
+                <listitem>
+                    <para>
                         <emphasis>No prefix</emphasis>: static rule.
-                </para></listitem>
+                    </para>
+                </listitem>
             </itemizedlist>
 
             <example id="zend.filter.inflector.rules.multiple.example">
@@ -391,40 +401,50 @@ $inflector->addRules(array(
         </para>
 
         <itemizedlist>
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>setPluginLoader()</methodname> can be used when you have
                     configured your own plugin loader and wish to use it with
                     <classname>Zend_Filter_Inflector</classname>;
                     <methodname>getPluginLoader()</methodname> retrieves the currently set
                     one.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>setThrowTargetExceptionsOn()</methodname> can be used to
                     control whether or not <methodname>filter()</methodname> throws an
                     exception when a given replacement identifier passed to it
                     is not found in the target. By default, no exceptions are
                     thrown. <methodname>isThrowTargetExceptionsOn()</methodname> will tell
                     you what the current value is.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>getRules($spec = null)</methodname> can be used to retrieve all
                     registered rules for all variables, or just the rules for a
                     single variable.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>getRule($spec, $index)</methodname> fetches a single rule
                     for a given variable; this can be useful for fetching a
                     specific filter rule for a variable that has a filter chain.
                     <varname>$index</varname> must be passed.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>clearRules()</methodname> will clear all currently
                     registered rules.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
     </sect2>
 
@@ -439,32 +459,42 @@ $inflector->addRules(array(
         </para>
 
         <itemizedlist>
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>target</code> specifies the inflection target.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>filterPrefixPath</code> specifies one or more filter
                     prefix/path pairs for use with the inflector.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>throwTargetExceptionsOn</code> should be a boolean
                     indicating whether or not to throw exceptions when a
                     replacement identifier is still present after inflection.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>targetReplacementIdentifier</code> specifies the
                     character to use when identifying replacement variables in
                     the target string.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>rules</code> specifies an array of inflection rules;
                     it should consist of keys that specify either values or
                     arrays of values, consistent with <methodname>addRules()</methodname>.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <example id="zend.filter.inflector.config.example">

+ 0 - 6
documentation/manual/en/module_specs/Zend_Filter-LocalizedToNormalized.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect2 id="zend.filter.set.localizedtonormalized">
-
     <title>LocalizedToNormalized</title>
 
     <para>
@@ -74,7 +73,6 @@
     </note>
 
     <sect3 id="zend.filter.set.localizedtonormalized.numbers">
-
         <title>Normalization for numbers</title>
 
         <para>
@@ -147,11 +145,9 @@ $filter->filter('123.456');
 $filter->filter('123.456,78901');
 // returns the value '123456.79'
 ]]></programlisting>
-
     </sect3>
 
     <sect3 id="zend.filter.set.localizedtonormalized.dates">
-
         <title>Normalization for date and time</title>
 
         <para>
@@ -186,9 +182,7 @@ $filter->filter('11:22:33');
 // returns array('hour' => '33', 'minute' => '22', 'second' => '11')
 ]]></programlisting>
     </sect3>
-
 </sect2>
-
 <!--
 vim:se ts=4 sw=4 et:
 -->

+ 0 - 5
documentation/manual/en/module_specs/Zend_Filter-NormalizedToLocalized.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect2 id="zend.filter.set.normalizedtolocalized">
-
     <title>NormalizedToLocalized</title>
 
     <para>
@@ -68,7 +67,6 @@
     </para>
 
     <sect3 id="zend.filter.set.normalizedtolocalized.numbers">
-
         <title>Localization for numbers</title>
 
         <para>
@@ -141,11 +139,9 @@ $filter->filter(123456);
 $filter->filter(123456.78901);
 // returns the value '123.456,79'
 ]]></programlisting>
-
     </sect3>
 
     <sect3 id="zend.filter.set.normalizedtolocalized.dates">
-
         <title>Localization for date and time</title>
 
         <para>
@@ -180,7 +176,6 @@ $filter->filter(array('hour' => '33', 'minute' => '22', 'second' => '11'));
 // returns '11:22:33'
 ]]></programlisting>
     </sect3>
-
 </sect2>
 
 <!--

+ 2 - 2
documentation/manual/en/module_specs/Zend_Filter-Null.xml

@@ -61,8 +61,8 @@ $result = $filter->filter($value);
 
             <listitem>
                 <para>
-                    <emphasis>integer</emphasis>: Converts an integer <emphasis>0</emphasis> value to
-                    <constant>NULL</constant>.
+                    <emphasis>integer</emphasis>: Converts an integer <emphasis>0</emphasis> value
+                    to <constant>NULL</constant>.
                 </para>
             </listitem>
 

+ 0 - 1
documentation/manual/en/module_specs/Zend_Filter-RealPath.xml

@@ -41,5 +41,4 @@ $filtered = $filter->filter($path);
 // returns '/www/non/existing/path'
 // even when file_exists or realpath would return false
 ]]></programlisting>
-
 </sect2>

+ 10 - 2
documentation/manual/en/module_specs/Zend_Filter-Set.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.set" xmlns:xi="http://www.w3.org/2001/XInclude">
-
     <title>Standard Filter Classes</title>
 
     <para>
@@ -10,6 +9,7 @@
 
     <sect2 id="zend.filter.set.alnum">
         <title>Alnum</title>
+
         <para>
             Returns the string <varname>$value</varname>, removing all but alphabetic and digit
             characters. This filter includes an option to also allow white space characters.
@@ -28,6 +28,7 @@
 
     <sect2 id="zend.filter.set.alpha">
         <title>Alpha</title>
+
         <para>
             Returns the string <varname>$value</varname>, removing all but alphabetic characters.
             This filter includes an option to also allow white space characters.
@@ -36,6 +37,7 @@
 
     <sect2 id="zend.filter.set.basename">
         <title>BaseName</title>
+
         <para>
             Given a string containing a path to a file, this filter will return the base
             name of the file
@@ -49,6 +51,7 @@
 
     <sect2 id="zend.filter.set.digits">
         <title>Digits</title>
+
         <para>
             Returns the string <varname>$value</varname>, removing all but digit characters.
         </para>
@@ -56,6 +59,7 @@
 
     <sect2 id="zend.filter.set.dir">
         <title>Dir</title>
+
         <para>
             Returns directory name component of path.
         </para>
@@ -65,6 +69,7 @@
 
     <sect2 id="zend.filter.set.htmlentities">
         <title>HtmlEntities</title>
+
         <para>
             Returns the string <varname>$value</varname>, converting characters to their
             corresponding <acronym>HTML</acronym> entity equivalents where they exist.
@@ -73,6 +78,7 @@
 
     <sect2 id="zend.filter.set.int">
         <title>Int</title>
+
         <para>
             Returns (int) <varname>$value</varname>
         </para>
@@ -88,6 +94,7 @@
 
     <sect2 id="zend.filter.set.stringtrim">
         <title>StringTrim</title>
+
         <para>
             Returns the string <varname>$value</varname> with characters stripped from the
             beginning and end.
@@ -96,6 +103,7 @@
 
     <sect2 id="zend.filter.set.stripnewlines">
         <title>StripNewlines</title>
+
         <para>
             Returns the string <varname>$value</varname> without any newline control characters.
         </para>
@@ -103,6 +111,7 @@
 
     <sect2 id="zend.filter.set.striptags">
         <title>StripTags</title>
+
         <para>
             This filter returns the input string, with all HTML and <acronym>PHP</acronym> tags
             stripped from it, except those that have been explicitly allowed. In addition to the
@@ -110,7 +119,6 @@
             allowed across all allowed tags and for specific tags only.
         </para>
     </sect2>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 0 - 4
documentation/manual/en/module_specs/Zend_Filter-WritingFilters.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.writing_filters">
-
     <title>Writing Filters</title>
 
     <para>
@@ -31,7 +30,6 @@ class MyFilter implements Zend_Filter_Interface
     }
 }
 ]]></programlisting>
-
     </para>
 
     <para>
@@ -41,9 +39,7 @@ class MyFilter implements Zend_Filter_Interface
 $filterChain = new Zend_Filter();
 $filterChain->addFilter(new MyFilter());
 ]]></programlisting>
-
     </para>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 0 - 10
documentation/manual/en/module_specs/Zend_Filter.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.introduction">
-
     <title>Introduction</title>
 
     <para>
@@ -12,7 +11,6 @@
     </para>
 
     <sect2 id="zend.filter.introduction.definition">
-
         <title>What is a filter?</title>
 
         <para>
@@ -44,11 +42,9 @@
             <classname>Zend_Filter</classname>, means to perform some transformations upon input
             data.
         </para>
-
     </sect2>
 
     <sect2 id="zend.filter.introduction.using">
-
         <title>Basic usage of filters</title>
 
         <para>
@@ -69,13 +65,10 @@ $htmlEntities = new Zend_Filter_HtmlEntities();
 echo $htmlEntities->filter('&'); // &amp;
 echo $htmlEntities->filter('"'); // &quot;
 ]]></programlisting>
-
         </para>
-
     </sect2>
 
     <sect2 id="zend.filter.introduction.static">
-
         <title>Using the static staticFilter() method</title>
 
         <para>
@@ -93,7 +86,6 @@ echo $htmlEntities->filter('"'); // &quot;
             <programlisting language="php"><![CDATA[
 echo Zend_Filter::filterStatic('&', 'HtmlEntities');
 ]]></programlisting>
-
         </para>
 
         <para>
@@ -105,7 +97,6 @@ echo Zend_Filter::filterStatic('"',
                                'HtmlEntities',
                                array('quotestyle' => ENT_QUOTES));
 ]]></programlisting>
-
         </para>
 
         <para>
@@ -123,7 +114,6 @@ echo Zend_Filter::filterStatic('"',
         </para>
 
         <sect3 id="zend.filter.introduction.static.namespaces">
-
             <title>Namespaces</title>
 
             <para>

+ 7 - 33
documentation/manual/en/module_specs/Zend_Filter_Input.xml

@@ -106,9 +106,9 @@
 
         <para>
             The following example filter rule set that declares the field
-            'month' is filtered by <classname>Zend_Filter_Digits</classname>, and the field 'account'
-            is filtered by <classname>Zend_Filter_StringTrim</classname>. Then a validation rule set
-            declares that the field 'account' is valid only if it contains only
+            'month' is filtered by <classname>Zend_Filter_Digits</classname>, and the field
+            'account' is filtered by <classname>Zend_Filter_StringTrim</classname>. Then a
+            validation rule set declares that the field 'account' is valid only if it contains only
             alphabetical characters.
         </para>
 
@@ -144,6 +144,7 @@ $validators = array(
 ]]></programlisting>
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     An object instance of one of the classes that implement
@@ -157,6 +158,7 @@ $validators = array(
 ]]></programlisting>
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     An array, to declare a chain of filters or validators.
@@ -202,11 +204,9 @@ $filters = array(
     'month' => 'Digits'
 );
 ]]></programlisting>
-
     </sect2>
 
     <sect2 id="zend.filter.input.running">
-
         <title>Creating the Filter and Validator Processor</title>
 
         <para>
@@ -252,11 +252,9 @@ $input->setData($newData);
             validation rules. Using this method, you can run the same rules
             against different sets of input data.
         </para>
-
     </sect2>
 
     <sect2 id="zend.filter.input.results">
-
         <title>Retrieving Validated Fields and other Reports</title>
 
         <para>
@@ -267,7 +265,6 @@ $input->setData($newData);
         </para>
 
         <sect3 id="zend.filter.input.results.isvalid">
-
             <title>Querying if the input is valid</title>
 
             <para>
@@ -295,11 +292,9 @@ if ($input->isValid('month')) {
   echo "Field 'month' is OK\n";
 }
 ]]></programlisting>
-
         </sect3>
 
         <sect3 id="zend.filter.input.results.reports">
-
             <title>Getting Invalid, Missing, or Unknown Fields</title>
 
             <itemizedlist>
@@ -310,6 +305,7 @@ if ($input->isValid('month')) {
                         checks.
                     </para>
                 </listitem>
+
                 <listitem>
                     <para>
                         <emphasis>Missing</emphasis> fields are
@@ -320,6 +316,7 @@ if ($input->isValid('month')) {
                         on metacommands).
                     </para>
                 </listitem>
+
                 <listitem>
                     <para>
                         <emphasis>Unknown</emphasis> fields are
@@ -423,11 +420,9 @@ $input->setTranslator($translate);
                 names, because no rule mentions the fields considered to be
                 unknown fields.
             </para>
-
         </sect3>
 
         <sect3 id="zend.filter.input.results.escaping">
-
             <title>Getting Valid Fields</title>
 
             <para>
@@ -531,13 +526,10 @@ $input->setDefaultEscapeFilter(new Zend_Filter_StringTrim());
                 <classname>Zend_Filter_Input</classname> and implement new methods in your subclass
                 to get values in different ways.
             </para>
-
         </sect3>
-
     </sect2>
 
     <sect2 id="zend.filter.input.metacommands">
-
         <title>Using Metacommands to Control Filter or Validator Rules</title>
 
         <para>
@@ -549,7 +541,6 @@ $input->setDefaultEscapeFilter(new Zend_Filter_StringTrim());
         </para>
 
         <sect3 id="zend.filter.input.metacommands.fields">
-
             <title>The FIELDS metacommand</title>
 
             <para>
@@ -619,11 +610,9 @@ $validators = array(
                 <methodname>getInvalid()</methodname>, not any of the fields named in
                 the 'fields' metacommand.
             </para>
-
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.presence">
-
             <title>The PRESENCE metacommand</title>
 
             <para>
@@ -651,11 +640,9 @@ $validators = array(
             <para>
                 The default value of this metacommand is 'optional'.
             </para>
-
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.default">
-
             <title>The DEFAULT_VALUE metacommand</title>
 
             <para>
@@ -708,11 +695,9 @@ echo $input->month; // echoes 1
             <para>
                 There is no default value for this metacommand.
             </para>
-
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.allow-empty">
-
             <title>The ALLOW_EMPTY metacommand</title>
 
             <para>
@@ -774,11 +759,9 @@ $input = new Zend_Filter_Input($filters, $validators, $data, $options);
 $input = new Zend_Filter_Input($filters, $validators, $data);
 $input->setOptions($options);
 ]]></programlisting>
-
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.break-chain">
-
             <title>The BREAK_CHAIN metacommand</title>
 
             <para>
@@ -845,11 +828,9 @@ $validators = array(
 );
 $input = new Zend_Filter_Input(null, $validators);
 ]]></programlisting>
-
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.messages">
-
             <title>The MESSAGES metacommand</title>
 
             <para>
@@ -965,11 +946,9 @@ $validators = array(
     )
 );
 ]]></programlisting>
-
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.global">
-
             <title>Using options to set metacommands for all rules</title>
 
             <para>
@@ -1001,13 +980,10 @@ $input = new Zend_Filter_Input($filters, $validators, $data, $options);
                 The 'fields', 'messages', and 'default' metacommands cannot be
                 set using this technique.
             </para>
-
         </sect3>
-
     </sect2>
 
     <sect2 id="zend.filter.input.namespaces">
-
         <title>Adding Filter Class Namespaces</title>
 
         <para>
@@ -1083,9 +1059,7 @@ $input->addFilterPrefixPath('Foo_Namespace', 'Foo/Namespace');
                 reservation of the keyword <code>namespace</code>.
             </para>
         </note>
-
     </sect2>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 4 - 2
documentation/manual/en/module_specs/Zend_Form-Advanced.xml

@@ -189,12 +189,14 @@
                 </para>
             </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>Zend_Form::setElementsBelongTo($array)</methodname>:
                     Using this method, you can specify the name of an array to
                     which all elements of the form belong. You can determine the
                     name using the <methodname>getElementsBelongTo()</methodname> accessor.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>

+ 29 - 16
documentation/manual/en/module_specs/Zend_Form-Decorators.xml

@@ -52,16 +52,19 @@
         </para>
 
         <itemizedlist>
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>placement</code>: Placement can be either 'append' or
                     'prepend' (case insensitive), and indicates whether content
                     passed to <methodname>render()</methodname> will be appended or
                     prepended, respectively. In the case that a decorator
                     replaces the content, this setting is ignored. The default
                     setting is to append.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>separator</code>: The separator is used between the
                     content passed to <methodname>render()</methodname> and new content
                     generated by the decorator, or between items rendered by the
@@ -69,7 +72,8 @@
                     item rendered). In the case that a decorator replaces the
                     content, this setting may be ignored. The default value is
                     <constant>PHP_EOL</constant>.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>
@@ -78,26 +82,35 @@
         </para>
 
         <itemizedlist>
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>setOption($key, $value)</methodname>: set a single option.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
-                    <methodname>getOption($key)</methodname>: retrieve a single option
-                    value.
-            </para></listitem>
+            <listitem>
+                <para>
+                    <methodname>getOption($key)</methodname>: retrieve a single option value.
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>getOptions()</methodname>: retrieve all options.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>removeOption($key)</methodname>: remove a single option.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <methodname>clearOptions()</methodname>: remove all options.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>

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


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


+ 23 - 49
documentation/manual/en/module_specs/Zend_Form-QuickStart.xml

@@ -66,49 +66,21 @@ $form->setAttrib('id', 'login');
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                button
-            </para></listitem>
+            <listitem><para>button</para></listitem>
 
-            <listitem><para>
-                checkbox (or many checkboxes at once with multiCheckbox)
-            </para></listitem>
+            <listitem>
+                <para>checkbox (or many checkboxes at once with multiCheckbox)</para>
+            </listitem>
 
-            <listitem><para>
-                hidden
-            </para></listitem>
-
-            <listitem><para>
-                image
-            </para></listitem>
-
-            <listitem><para>
-                password
-            </para></listitem>
-
-            <listitem><para>
-                radio
-            </para></listitem>
-
-            <listitem><para>
-                reset
-            </para></listitem>
-
-            <listitem><para>
-                select (both regular and multi-select types)
-            </para></listitem>
-
-            <listitem><para>
-                submit
-            </para></listitem>
-
-            <listitem><para>
-                text
-            </para></listitem>
-
-            <listitem><para>
-                textarea
-            </para></listitem>
+            <listitem><para>hidden</para></listitem>
+            <listitem><para>image</para></listitem>
+            <listitem><para>password</para></listitem>
+            <listitem><para>radio</para></listitem>
+            <listitem><para>reset</para></listitem>
+            <listitem><para>select (both regular and multi-select types)</para></listitem>
+            <listitem><para>submit</para></listitem>
+            <listitem><para>text</para></listitem>
+            <listitem><para>textarea</para></listitem>
         </itemizedlist>
 
         <para>
@@ -237,12 +209,14 @@ $form->addElement('text', 'username', array(
 ));
 ]]></programlisting>
 
-        <note><para>
-            If you find you are setting up elements using the same options in
-            many locations, you may want to consider creating your own
-            <classname>Zend_Form_Element</classname> subclass and utilizing that class
-            instead; this will save you typing in the long-run.
-        </para></note>
+        <note>
+            <para>
+                If you find you are setting up elements using the same options in
+                many locations, you may want to consider creating your own
+                <classname>Zend_Form_Element</classname> subclass and utilizing that class
+                instead; this will save you typing in the long-run.
+            </para>
+        </note>
     </sect2>
 
     <sect2 id="zend.form.quickstart.render">
@@ -417,8 +391,8 @@ $unfiltered = $form->getUnfilteredValues();
 ]]></programlisting>
 
         <para>
-            If you on the other hand need all the valid and filtered values of a partially valid form,
-            you can call:
+            If you on the other hand need all the valid and filtered values of a partially valid
+            form, you can call:
         </para>
 
         <programlisting language="php"><![CDATA[

+ 80 - 50
documentation/manual/en/module_specs/Zend_Form-StandardDecorators.xml

@@ -228,40 +228,54 @@ class Util
         </para>
 
         <itemizedlist>
-            <listitem><para>
-                <code>ignoreSubForms</code>: whether or not to disable recursion
-                into subforms. Default value: <constant>FALSE</constant> (i.e., allow recursion).
-            </para></listitem>
-
-            <listitem><para>
-                <code>markupElementLabelEnd</code>: Markup to append to element
-                labels. Default value: '&lt;/b&gt;'
-            </para></listitem>
-
-            <listitem><para>
-                <code>markupElementLabelStart</code>: Markup to prepend to
-                element labels. Default value: '&lt;b&gt;'
-            </para></listitem>
-
-            <listitem><para>
-                <code>markupListEnd</code>: Markup to append error message lists
-                with. Default value: '&lt;/ul&gt;'.
-            </para></listitem>
-
-            <listitem><para>
-                <code>markupListItemEnd</code>: Markup to append individual
-                error messages with. Default value: '&lt;/li&gt;'
-            </para></listitem>
-
-            <listitem><para>
-                <code>markupListItemStart</code>: Markup to prepend individual
-                error messages with. Default value: '&lt;li&gt;'
-            </para></listitem>
-
-            <listitem><para>
-                <code>markupListStart</code>: Markup to append error message
-                lists with. Default value: '&lt;ul class="form-errors"&gt;'
-            </para></listitem>
+            <listitem>
+                <para>
+                    <code>ignoreSubForms</code>: whether or not to disable recursion into
+                    subforms. Default value: <constant>FALSE</constant> (i.e., allow recursion).
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>markupElementLabelEnd</code>: Markup to append to element
+                    labels. Default value: '&lt;/b&gt;'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>markupElementLabelStart</code>: Markup to prepend to
+                    element labels. Default value: '&lt;b&gt;'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>markupListEnd</code>: Markup to append error message lists
+                    with. Default value: '&lt;/ul&gt;'.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>markupListItemEnd</code>: Markup to append individual
+                    error messages with. Default value: '&lt;/li&gt;'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>markupListItemStart</code>: Markup to prepend individual
+                    error messages with. Default value: '&lt;li&gt;'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>markupListStart</code>: Markup to append error message
+                    lists with. Default value: '&lt;ul class="form-errors"&gt;'
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>
@@ -337,33 +351,41 @@ class Util
         </para>
 
         <itemizedlist>
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>optionalPrefix</code>: set the text to prefix the
                     label with when the element is optional. Use the
                     <methodname>setOptionalPrefix()</methodname> and
                     <methodname>getOptionalPrefix()</methodname> accessors to manipulate it.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>optionalSuffix</code>: set the text to append the
                     label with when the element is optional. Use the
                     <methodname>setOptionalSuffix()</methodname> and
                     <methodname>getOptionalSuffix()</methodname> accessors to manipulate it.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>requiredPrefix</code>: set the text to prefix the
                     label with when the element is required. Use the
                     <methodname>setRequiredPrefix()</methodname> and
                     <methodname>getRequiredPrefix()</methodname> accessors to manipulate it.
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>requiredSuffix</code>: set the text to append the
                     label with when the element is required. Use the
                     <methodname>setRequiredSuffix()</methodname> and
                     <methodname>getRequiredSuffix()</methodname> accessors to manipulate it.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>
@@ -441,24 +463,32 @@ $form->setDecorators(array(
         </para>
 
         <itemizedlist>
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>element</code>: the element being decorated
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>content</code>: the content passed to the decorator
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     <code>decorator</code>: the decorator object itself
-            </para></listitem>
+                </para>
+            </listitem>
 
-            <listitem><para>
+            <listitem>
+                <para>
                     Additionally, all options passed to the decorator via
                     <methodname>setOptions()</methodname> that are not used internally (such
                     as placement, separator, etc.) are passed to the view script
                     as view variables.
-            </para></listitem>
+                </para>
+            </listitem>
         </itemizedlist>
 
         <para>

+ 24 - 21
documentation/manual/en/module_specs/Zend_Form-StandardElements.xml

@@ -232,7 +232,6 @@ if (!$form->foo->receive()) {
 
 $location = $form->foo->getFileName();
 ]]></programlisting>
-
         </example>
 
         <note>
@@ -570,15 +569,16 @@ $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
                 <para><methodname>addMultiOptions(array $options)</methodname></para>
             </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setMultiOptions(array $options)</methodname> (overwrites existing
+                    options)
+                </para>
+            </listitem>
 
             <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
-
             <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
         </itemizedlist>
 
@@ -630,15 +630,16 @@ $element->setValue(array('bar', 'bat'));
                 <para><methodname>addMultiOptions(array $options)</methodname></para>
             </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setMultiOptions(array $options)</methodname> (overwrites existing
+                    options)
+                </para>
+            </listitem>
 
             <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
-
             <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
         </itemizedlist>
 
@@ -710,15 +711,16 @@ $element->setValue(array('bar', 'bat'));
                 <para><methodname>addMultiOptions(array $options)</methodname></para>
             </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setMultiOptions(array $options)</methodname>
+                    (overwrites existing options)
+                </para>
+            </listitem>
 
             <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
-
             <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
         </itemizedlist>
     </sect2>
@@ -774,15 +776,16 @@ $element->setValue(array('bar', 'bat'));
                 <para><methodname>addMultiOptions(array $options)</methodname></para>
             </listitem>
 
-            <listitem><para><methodname>setMultiOptions(array $options)</methodname>
-                    (overwrites existing options)</para></listitem>
+            <listitem>
+                <para>
+                    <methodname>setMultiOptions(array $options)</methodname>
+                    (overwrites existing options)
+                </para>
+            </listitem>
 
             <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
-
             <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
-
             <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
         </itemizedlist>
 

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