Browse Source

[MANUAL] German:

- sync to r19604

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19776 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 years ago
parent
commit
f64d996baa

+ 45 - 1
documentation/manual/de/module_specs/Zend_Application-CoreFunctionality-Bootstrap_Bootstrap.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15718 -->
+<!-- EN-Revision: 19571 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.core-functionality.bootstrap-bootstrap">
     <title>Zend_Application_Bootstrap_Bootstrap</title>
@@ -19,4 +19,48 @@
         erweitern, oder einfach diese Klasse verwenden und eine Liste von Ressource Plugins
         angeben die zu verwenden sind.
     </para>
+
+    <sect3 id="zend.application.core-functionality.bootstrap-bootstrap.autoloading">
+        <title>Aktivieren des AutoLoadings für die Anwendung</title>
+
+        <para>
+            Zusätzlich bietet diese Bootstrap Implementation die Möglichkeit des "Namespace" oder
+            Klassenpräfix für Ressourcen zu spezifizieren der in seinem Baum ist, was wiederum das
+            automatische Laden der verschiedenen Anwendungsressourcen ermöglicht; als wichtigstes
+            instanziert es ein <link
+                linkend="zend.loader.autoloader-resource.module">Zend_Application_Module_Autoloader</link>
+            Objekt, welches den angefragten Namespace und das Verzeichnis des Bootstraps als
+            Argument angibt. Man kann diese Funktionalität aktivieren indem ein Namespace an die
+            Konfigurations Option "appnamespace" angegeben wird. Als INI Beispiel:
+        </para>
+
+        <programlisting language="ini"><![CDATA[
+appnamespace = "Application"
+]]></programlisting>
+
+        <para>
+            Oder als XML:
+        </para>
+
+        <programlisting language="xml"><![CDATA[
+<appnamespace>Application</appnamespace>
+]]></programlisting>
+
+        <para>
+            Standardmäßig aktiviert <classname>Zend_Tool</classname> diese Option mit dem Wert
+            "Application".
+        </para>
+
+        <para>
+            Alternativ kann einfach die Eigenschaft <varname>$_appNamespace</varname> der eigenen
+            Bootstrap Klasse mit dem korrekten Wert definiert werden:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
+{
+    protected $_appNamespace = 'Application';
+}
+]]></programlisting>
+    </sect3>
 </sect2>

+ 12 - 1
documentation/manual/de/module_specs/Zend_Mail-AddingRecipients.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17503 -->
+<!-- EN-Revision: 19585 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.mail.adding-recipients">
     <title>Empfänger hinzufügen</title>
@@ -46,6 +46,17 @@
             einfache und runde Klammern zu eckigen getauscht.
         </para>
     </note>
+
+    <note>
+        <title>Optionale Verwendung</title>
+
+        <para>
+            Alle drei Methoden akzeptieren auch ein Array von Email Adressen das hinzugefügt werden
+            kann, statt jeweils nur einer einzelnen.  Im Fall von <methodname>addTo()</methodname>
+            und <methodname>addCc()</methodname>, kann dies ein assoziatives Array sein, wobei der
+            Schlüssel ein menschlich lesbarer Name für den Empfänger ist.
+        </para>
+    </note>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 42 - 4
documentation/manual/de/module_specs/Zend_Service_Flickr.xml

@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17230 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.flickr">
     <title>Zend_Service_Flickr</title>
+
     <sect2 id="zend.service.flickr.introduction">
         <title>Einführung</title>
+
         <para>
             <classname>Zend_Service_Flickr</classname> ist eine einfache <acronym>API</acronym> um
             den Flickr REST Web Service zu nutzen. Für die Benutzung des Flickr Web Service,
@@ -13,12 +15,15 @@
             <ulink url="http://www.flickr.com/services/api/">Flickr <acronym>API</acronym>
                 Dokumentation</ulink>.
         </para>
+
         <para>
             Im folgenden Bespiel benutzen wir die <methodname>tagSearch()</methodname> Methode um
             Photos zu suchen welche "php" im Tag haben.
         </para>
+
         <example id="zend.service.flickr.introduction.example-1">
             <title>Simple Flickr Photo Suche</title>
+
             <programlisting language="php"><![CDATA[
 $flickr = new Zend_Service_Flickr('MY_API_KEY');
 $results = $flickr->tagSearch("php");
@@ -28,20 +33,25 @@ foreach ($results as $result) {
 }
 ]]></programlisting>
         </example>
+
         <note>
             <title>Optionale Parameter</title>
+
             <para>
                 <methodname>tagSearch()</methodname> aktepziert als optionalen zweiten Parameter ein
                 Array mit Optionen.
             </para>
         </note>
     </sect2>
+
     <sect2 id="zend.service.flickr.finding-users">
         <title>Bilder und Informationen von Flickr Benutzern finden</title>
+
         <para>
             <classname>Zend_Service_Flickr</classname> stellt verschiedene unterschiedliche Wege zur
             Verfügung um Informationen von Flickr Benutzern zu bekommen:
         </para>
+
         <itemizedlist>
             <listitem>
                 <para>
@@ -51,12 +61,14 @@ foreach ($results as $result) {
                     <classname>Zend_Service_Flickr_ResultSet</classname> Objekt.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <methodname>getIdByUsername()</methodname>: Gibt die Benutzer ID als String
                     zurück, welcher mit dem übergebenen String des Benutzernamens verknüpft ist.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <methodname>getIdByEmail()</methodname>: Gibt die Benutzer ID als String zurück,
@@ -64,15 +76,18 @@ foreach ($results as $result) {
                 </para>
             </listitem>
         </itemizedlist>
+
         <example id="zend.service.flickr.finding-users.example-1">
             <title>
                 Finden von öffentlichen Photos eines Flickr Benutzers durch seine E-Mail Adresse
             </title>
+
             <para>
                 In diesem Beispiel haben wir die E-Mail adresse eines Flickr Benutzers und wir holen
                 uns die öffentlichen Photos eines Benutzer durch Verwendung der
                 <methodname>userSearch()</methodname> Methode:
             </para>
+
             <programlisting language="php"><![CDATA[
 $flickr = new Zend_Service_Flickr('MY_API_KEY');
 $results = $flickr->userSearch($userEmail);
@@ -83,15 +98,19 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.flickr.grouppoolgetphotos">
         <title>Photos in einem Gruppenpool finden</title>
+
         <para>
             <classname>Zend_Service_Flickr</classname> erlaubt es Photos eines Gruppenpools
             basierend auf der ID zu empfangen. Hierfür kann die
             <methodname>groupPoolGetPhotos()</methodname> Methode verwendet werden:
         </para>
+
         <example id="zend.service.flickr.grouppoolgetphotos.example-1">
             <title>Empfangen von Photos aus einem Gruppenpool durch die Gruppen ID</title>
+
             <programlisting language="php"><![CDATA[
 $flickr = new Zend_Service_Flickr('MY_API_KEY');
 
@@ -102,27 +121,34 @@ $flickr = new Zend_Service_Flickr('MY_API_KEY');
     }
 ]]></programlisting>
         </example>
+
         <note>
             <title>Optionale Parameter</title>
+
             <para>
                 <methodname>groupPoolGetPhotos()</methodname> akzeptiert einen optionalen zweiten
                 Parameter als ein Array von Optionen.
             </para>
         </note>
     </sect2>
+
     <sect2 id="zend.service.flickr.getimagedetails">
         <title>Empfangen von Details zu Bildern durch Flickr</title>
+
         <para>
             <classname>Zend_Service_Flickr</classname> erlaubt es schnell und einfach an Details zu
             Bilders zu kommen, basieren auf einer übergebenen ID des Bildes. Einfach durch benutzen
             der <methodname>getImageDetails()</methodname> Methode, wie im folgenden Beispiel:
         </para>
+
         <example id="zend.service.flickr.getimagedetails.example-1">
             <title>Empfangen von Details zu Bildern durch Flickr</title>
+
             <para>
                 Sobald man eine Flickr Bild ID hat, ist es eine einfache Angelegenheit,
                 Informationen über ein Bild zu bekommen:
             </para>
+
             <programlisting language="php"><![CDATA[
 $flickr = new Zend_Service_Flickr('MY_API_KEY');
 $image = $flickr->getImageDetails($imageId);
@@ -132,8 +158,10 @@ echo "<a href=\"$image->clickUri\">Klicken für das Bild</a>\n";
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.flickr.classes">
         <title>Zend_Service_Flickr Ergebnis Klassen</title>
+
         <para>
             Die folgenden Klassen werden durch <methodname>tagSearch()</methodname> und
             <methodname>userSearch()</methodname> zurückgegeben:
@@ -143,11 +171,13 @@ echo "<a href=\"$image->clickUri\">Klicken für das Bild</a>\n";
                         <link linkend="zend.service.flickr.classes.resultset"><classname>Zend_Service_Flickr_ResultSet</classname></link>
                     </para>
                 </listitem>
+
                 <listitem>
                     <para>
                         <link linkend="zend.service.flickr.classes.result"><classname>Zend_Service_Flickr_Result</classname></link>
                     </para>
                 </listitem>
+
                 <listitem>
                     <para>
                         <link linkend="zend.service.flickr.classes.image"><classname>Zend_Service_Flickr_Image</classname></link>
@@ -155,20 +185,27 @@ echo "<a href=\"$image->clickUri\">Klicken für das Bild</a>\n";
                 </listitem>
             </itemizedlist>
         </para>
+
         <sect3 id="zend.service.flickr.classes.resultset">
             <title>Zend_Service_Flickr_ResultSet</title>
+
             <para>Repräsentiert ein Set von Ergebnissen von einer Flickr Suche.</para>
+
             <note>
                 <para>
-                    Implementiert das <code>SeekableIterator</code> Interface für einfache Iteration
-                    (z.B. benutzen von <code>foreach</code>), sowie einen direkten Zugriff auf ein
-                    spezielles Ergebnis durch Benutzen von <methodname>seek()</methodname>.
+                    Implementiert das <classname>SeekableIterator</classname> Interface für einfache
+                    Iteration (z.B. benutzen von <methodname>foreach()</methodname>), sowie einen
+                    direkten Zugriff auf ein spezielles Ergebnis durch Benutzen von
+                    <methodname>seek()</methodname>.
                 </para>
             </note>
+
             <sect4 id="zend.service.flickr.classes.resultset.properties">
                 <title>Eigenschaften</title>
+
                 <table id="zend.service.flickr.classes.resultset.properties.table-1">
                     <title>Zend_Service_Flickr_ResultSet Eigenschaften</title>
+
                     <tgroup cols="3">
                         <thead>
                             <row>
@@ -177,6 +214,7 @@ echo "<a href=\"$image->clickUri\">Klicken für das Bild</a>\n";
                                 <entry>Beschreibung</entry>
                             </row>
                         </thead>
+
                         <tbody>
                             <row>
                                 <entry>totalResultsAvailable</entry>

+ 35 - 3
documentation/manual/de/module_specs/Zend_Service_Yahoo.xml

@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17230 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.yahoo">
     <title>Zend_Service_Yahoo</title>
+
     <sect2 id="zend.service.yahoo.introduction">
         <title>Einführung</title>
+
         <para>
             <classname>Zend_Service_Yahoo</classname> ist eine einfach <acronym>API</acronym> für
             die Benutzung von vielen der Yahoo! REST <acronym>API</acronym>s
@@ -16,8 +18,10 @@
             ausgefüllt und abgeschickt werden
         </para>
     </sect2>
+
     <sect2 id="zend.service.yahoo.websearch">
         <title>Suchen im Web mit Yahoo!</title>
+
         <para>
             <classname>Zend_Service_Yahoo</classname> ermöglicht es im Web mit Yahoo! zu Suchen mit
             Hilfe der Methode <methodname>webSearch()</methodname>, welche einen String als Abfrage
@@ -27,8 +31,10 @@
             Dokumentation</ulink> sehen. Die <methodname>webSearch()</methodname> Methode gibt ein
             <classname>Zend_Service_Yahoo_WebResultSet</classname> Objekt zurück.
         </para>
+
         <example id="zend.service.yahoo.websearch.example-1">
             <title>Suchen im Web mit Yahoo!</title>
+
             <programlisting language="php"><![CDATA[
 $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
 $results = $yahoo->webSearch('PHP');
@@ -38,8 +44,10 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.yahoo.imagesearch">
         <title>Finden von Bildern mit Yahoo!</title>
+
         <para>
             Man kann mit Yahoo nach Bildern suchen indem man
             <classname>Zend_Service_Yahoo</classname>'s <methodname>imageSearch()</methodname>
@@ -50,8 +58,10 @@ foreach ($results as $result) {
             <ulink url="http://developer.yahoo.com/search/image/V1/imageSearch.html">Yahoo! Bild
                 Such Dokumentation</ulink> sehen.
         </para>
+
         <example id="zend.service.yahoo.imagesearch.example-1">
             <title>Finden von Bildern mit Yahoo!</title>
+
             <programlisting language="php"><![CDATA[
 $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
 $results = $yahoo->imageSearch('PHP');
@@ -61,8 +71,10 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.yahoo.videosearch">
         <title>Videos mit Yahoo! finden</title>
+
         <para>
             Mit Yahoo können Videos gesucht werden indem <classname>Zend_Service_Yahoo</classname>'s
             <methodname>videoSearch()</methodname> Methode verwendet wird. Für komplette Details und
@@ -70,8 +82,10 @@ foreach ($results as $result) {
                 url="http://developer.yahoo.com/search/video/V1/videoSearch.html">Yahoo! Video
                 Search Dokumentation</ulink> gesehen werden.
         </para>
+
         <example id="zend.service.yahoo.videosearch.example-1">
             <title>Videos mit Yahoo! finden</title>
+
             <programlisting language="php"><![CDATA[
 $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
 $results = $yahoo->videoSearch('PHP');
@@ -81,16 +95,20 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.yahoo.localsearch">
         <title>Finden von lokalen Geschäften und Services mit Yahoo!</title>
+
         <para>
             Man kann mit Yahoo! nach lokalen Geschäften und Services suchen, indem man die
             <methodname>localSearch()</methodname> Methode benutzt. Für vollständige Details bitte
             in die <ulink url="http://developer.yahoo.com/search/local/V1/localSearch.html">Yahoo!
                 Lokal Such Documentation</ulink> sehen
         </para>
+
         <example id="zend.service.yahoo.localsearch.example-1">
             <title>Finden von lokalen Geschäften und Services mit Yahoo!</title>
+
             <programlisting language="php"><![CDATA[
 $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
 $results = $yahoo->localSearch('Apple Computer', array('zip' => '95014'));
@@ -100,16 +118,20 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.yahoo.newssearch">
         <title>Suchen mit Yahoo! News</title>
+
         <para>
             Suchen mit Yahoo! News ist einfach; nur die <methodname>newsSearch()</methodname>
             Methode, wie im nachfolgenden Beispiel gezeigt, benutzen. Für vollständige Details bitte
             in die <ulink url="http://developer.yahoo.com/search/news/V1/newsSearch.html">Yahoo!
                 News Such Dokumenation</ulink> sehen
         </para>
+
         <example id="zend.service.yahoo.newssearch.example-1">
             <title>Suchen in Yahoo! News</title>
+
             <programlisting language="php"><![CDATA[
 $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
 $results = $yahoo->newsSearch('PHP');
@@ -119,8 +141,10 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.yahoo.inlinkdatasearch">
         <title>Durchsuchen von Yahoo! Site Explorer Inbound Links</title>
+
         <para>
             Das Durchsuchen von Yahoo! Site Explorer Inbound Links ist einfach; es muß nur die
             <methodname>inlinkDataSearch()</methodname> Methode wie im folgenden Beispiel verwendet
@@ -128,8 +152,10 @@ foreach ($results as $result) {
             <ulink url="http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html">Yahoo!
             Site Explorer Inbound Links Dokumentation</ulink> gesehen werden.
         </para>
+
         <example id="zend.service.yahoo.inlinkdatasearch.example-1">
             <title>Durchsuchen von Yahoo! Site Explorer Inbound Links</title>
+
             <programlisting language="php"><![CDATA[
 $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
 $results = $yahoo->inlinkDataSearch('http://framework.zend.com/');
@@ -139,8 +165,10 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.yahoo.pagedatasearch">
         <title>Durchsuchen von Yahoo! Site Explorer's PageData</title>
+
         <para>
             Das Durchsuchen von Yahoo! Site Explorer's PageData ist einfach; es muß nur die
             <methodname>pageDataSearch()</methodname> Methode wie im folgenden Beispiel verwendet
@@ -148,8 +176,10 @@ foreach ($results as $result) {
             <ulink url="http://developer.yahoo.com/search/siteexplorer/V1/pageData.html">Yahoo!
             Site Explorer PageData Dokumentation</ulink> gesehen werden.
         </para>
+
         <example id="zend.service.yahoo.pagedatasearch.example-1">
             <title>Durchsuchen von Yahoo! Site Explorer's PageData</title>
+
             <programlisting language="php"><![CDATA[
 $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
 $results = $yahoo->pageDataSearch('http://framework.zend.com/');
@@ -159,14 +189,16 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
     </sect2>
+
     <sect2 id="zend.service.yahoo.classes">
         <title>Zend_Service_Yahoo Klassen</title>
+
         <para>
             Die folgenden Klassen werden durch die verschiedenen Yahoo! Suchen zurückgegeben. Jeder
             Such Typ gibt einen speziellen Ergebnistyp zurück, welcher einfach Iteriert werden kann
             und jedes Ergebnis in einem Ergebnis Objekt beinhaltet. Alle Ergebnis Klassen beinhalten
-            ein <code>SeekableIterator</code> Interface, welches einfachste Iteration und die Suche
-            nach einem speziellen Ergebnis ermöglicht.
+            ein <classname>SeekableIterator</classname> Interface, welches einfachste Iteration und
+            die Suche nach einem speziellen Ergebnis ermöglicht.
             <itemizedlist>
                 <listitem><para><link linkend="zend.service.yahoo.classes.resultset"><classname>Zend_Service_Yahoo_ResultSet</classname></link></para></listitem>
                 <listitem><para><link linkend="zend.service.yahoo.classes.webresultset"><classname>Zend_Service_Yahoo_WebResultSet</classname></link></para></listitem>

+ 5 - 5
documentation/manual/de/module_specs/Zend_Test-PHPUnit-Bootstrapping.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18840 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.test.phpunit.bootstrapping">
     <title>Bootstrapping der eigenen TestCases</title>
@@ -8,8 +8,8 @@
         Wie im <link linkend="zend.test.phpunit.loginexample">Login Beispiel</link> gezeigt sollten
         alle <acronym>MVC</acronym> Testcases
         <classname>Zend_Test_PHPUnit_ControllerTestCase</classname> erweitern. Diese Klasse
-        ihrerseits erweitert <code>PHPUnit_Framework_TestCase</code>, und gibt einem alle Strukturen
-        und Behauptungen die man von PHPUnit erwartet -- sowie einiges an Scaffolding und
+        ihrerseits erweitert <classname>PHPUnit_Framework_TestCase</classname>, und gibt einem alle
+        Strukturen und Behauptungen die man von PHPUnit erwartet -- sowie einiges an Scaffolding und
         Behauptungs-spezifisches der Zend Framework <acronym>MVC</acronym> Implementation.
     </para>
 
@@ -104,8 +104,8 @@ class UserControllerTest extends Zend_Test_PHPUnit_ControllerTestCase
         Wärend der normalen Anwendung wird die <methodname>setUp()</methodname> Methode das
         Bootstrap der Anwendung ausführen. Dieser Prozess wird zuerst das Löschen der Umgebung
         enthalten um einen reinen Anfragestatus zu erhalten, das Resetieren jedes Plugins, Helfers
-        und Antwort Objektes. Sobald das getan wurde, wird sie anschließend die Datei
-        <methodname>laden(include)</methodname> die in <varname>$bootstrap</varname> spezifiziert
+        und Antwort Objektes. Sobald das getan wurde, wird sie anschließend die Datei mit
+        <methodname>include()</methodname> laden, die in <varname>$bootstrap</varname> spezifiziert
         wurde, oder den spezifizierten Callback aufrufen.
     </para>
 

+ 3 - 3
documentation/manual/de/module_specs/Zend_Test-PHPUnit.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17175 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.test.phpunit" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Zend_Test_PHPUnit</title>
@@ -15,8 +15,8 @@
         <title>Beispiel eines TestCases für ein Anwendungs Login</title>
 
         <para>
-            Das folgende ist ein einfacher TestCase für einen <code>UserController</code> um
-            verschiedene Dinge zu prüfen:
+            Das folgende ist ein einfacher TestCase für einen <classname>UserController</classname>
+            um verschiedene Dinge zu prüfen:
         </para>
 
         <itemizedlist>

+ 7 - 8
documentation/manual/de/module_specs/Zend_TimeSync-Working.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17133 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.timesync.working">
-
     <title>Arbeiten mit Zend_TimeSync</title>
 
     <para>
@@ -40,12 +39,12 @@ print $server->getDate()->getIso();
         <para>
             Was passiert also im Hintergrund von <classname>Zend_TimeSync</classname>? Zuerst wird
             der Syntax des Timeservers geprüft. In unserem Beispiel wird also
-            '<code>0.pool.ntp.org</code>' geprüft und als möglicherweise richtige Adresse für einen
-            Zeitserver erkannt. Wenn jetzt <methodname>getDate()</methodname> aufgerufen wird, wird
-            der aktuell gesetzte Zeitserver angefragt und er gibt seine eigene Zeit zurück.
-            <classname>Zend_TimeSync</classname> berechnet darauf die Differenz zur aktuellen Zeit
-            des Servers auf dem das Skript läuft und gibt ein <classname>Zend_Date</classname>
-            Objekt mit der korrigierten Zeit zurück.
+            '<emphasis>0.pool.ntp.org</emphasis>' geprüft und als möglicherweise richtige Adresse
+            für einen Zeitserver erkannt. Wenn jetzt <methodname>getDate()</methodname> aufgerufen
+            wird, wird der aktuell gesetzte Zeitserver angefragt und er gibt seine eigene Zeit
+            zurück. <classname>Zend_TimeSync</classname> berechnet darauf die Differenz zur
+            aktuellen Zeit des Servers auf dem das Skript läuft und gibt ein
+            <classname>Zend_Date</classname> Objekt mit der korrigierten Zeit zurück.
         </para>
 
         <para>

+ 17 - 17
documentation/manual/de/module_specs/Zend_TimeSync.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 16166 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.timesync.introduction">
-
     <title>Einführung</title>
 
     <para>
@@ -20,7 +19,6 @@
     </para>
 
     <note>
-
         <title>Hintergrund</title>
 
         <para>
@@ -28,11 +26,9 @@
             aber es gibt eine Instanz von <link linkend="zend.date.introduction">Zend_Date</link>
             zurück mit der der Unterschied zur Serverzeit verarbeitet werden kann.
         </para>
-
     </note>
 
     <sect2 id="zend.timesync.introduction.why">
-
         <title>Warum Zend_TimeSync ?</title>
 
         <para>
@@ -56,16 +52,19 @@
                 <para>
                     <emphasis>Server ohne Zeitservice</emphasis>
                 </para>
+
                 <para>
                     Wenn eine Anwendung auf einem Server läuft und auf diesem Server kein
                     Zeitservice läuft kann es Sinn machen <classname>Zend_TimeSync</classname> in
                     der eigenen Anwendung zu verwenden.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <emphasis>Separater Datenbank Server</emphasis>
                 </para>
+
                 <para>
                     Wenn eine Datenbank auf einem anderen Server läuft und dieser Server
                     nicht mit <emphasis>NTP</emphasis> oder
@@ -73,10 +72,12 @@
                     kann man Probleme haben Zeitstempel zu speichern und zu verwenden.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <emphasis>Mehrere Server</emphasis>
                 </para>
+
                 <para>
                     Wenn die Anwendung auf mehr als einem Server läuft, und die Zeitbasis dieser
                     Server nicht miteinander gekoppelt sind, kann das zu Problemen in der Anwendung
@@ -84,10 +85,12 @@
                     Server kommen.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     <emphasis>Batch Ausführung</emphasis>
                 </para>
+
                 <para>
                     Wenn man mit einem Zeitserver arbeiten oder Ihn in einer Batchdatei oder in
                     einer Kommandozeilen Anwendung inkludieren will, kann
@@ -105,36 +108,31 @@
     </sect2>
 
     <sect2 id="zend.timesync.introduction.ntp">
-
         <title>Was ist NTP ?</title>
 
         <para>
-            Das <code>Network Time Protocol</code> (<emphasis>NTP</emphasis>) ist
+            Das Network Time Protocol (<emphasis>NTP</emphasis>) ist
             ein Protokoll für die Synchronisierung von mehreren Systemuhren über
             Paket-geführte, variabel laufende Datennetzwerke. NTP verwendet den UDP Port 123 als
             seine Transportschicht. Siehe <ulink
                 url="http://en.wikipedia.org/wiki/Network_Time_Protocol">diesen Wikipedia
                 Artikel</ulink> für Details über das Protokoll.
         </para>
-
     </sect2>
 
     <sect2 id="zend.timesync.introduction.sntp">
-
         <title>Was ist SNTP?</title>
 
         <para>
-            Das <code>Simple Network Time Protocol</code> (<emphasis>SNTP</emphasis>)
+            Das Simple Network Time Protocol (<emphasis>SNTP</emphasis>)
             ist ein Protokoll für die Synchronisierung von mehreren Systemuhren über
             Paket-geführte, variabel laufende Datennetzwerke. SNTP verwendet den UDP Port 37 als
             Transportschicht. Es ist fast identisch mit dem Network Time Protokoll aber
             einfacher.
         </para>
-
     </sect2>
 
     <sect2 id="zend.timesync.introduction.problematic">
-
         <title>Problematische Verwendung</title>
 
         <para>
@@ -144,11 +142,9 @@
             Bevor man <classname>Zend_TimeSync</classname> verwendet sollte das hier sorgfältig
             durchgelesen werden.
         </para>
-
     </sect2>
 
     <sect2 id="zend.timesync.introduction.decision">
-
         <title>Auswählen welcher Server verwendet werden soll</title>
 
         <para>
@@ -161,6 +157,7 @@
                 <para>
                     Distanz
                 </para>
+
                 <para>
                     Die Distanz vom Server auf dem die Anwendung läuft und dem Zeitserver der
                     angefragt wird. Wenn der Server in Europa sitzt mach es weni Sinn einen
@@ -169,10 +166,12 @@
                     Anfrage und es reduziert auch die Last im Netzwerk.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Geschwindigkeit
                 </para>
+
                 <para>
                     Wie lange es dauert eine Anfrage zu empfangen ist auch relevant. Es sollten
                     andere Server probiert werden um das beste Ergebnis zu erhalten. Wenn ein
@@ -180,10 +179,12 @@
                     unnötige Verzögerungen haben.
                 </para>
             </listitem>
+
             <listitem>
                 <para>
                     Aufteilung
                 </para>
+
                 <para>
                     Es sollte nicht immer der gleiche Server verwendet werden. Alle Zeitserver
                     sperren Anfragen von Servern welche sie überfluten. Wenn eine Anwendung
@@ -207,9 +208,8 @@
         <para>
             Siehe <ulink url="http://www.pool.ntp.org">pool.ntp.org</ulink> um den
             am nächsten liegenden Serverpool zu finden. Wenn, zum Beispiel, der eigene Server also
-            in Deutschland liegt kann man sich auf <code>0.europe.pool.ntp.org</code> verbinden.
+            in Deutschland liegt kann man sich auf <emphasis>0.europe.pool.ntp.org</emphasis>
+            verbinden.
         </para>
-
     </sect2>
-
 </sect1>

+ 7 - 6
documentation/manual/de/module_specs/Zend_Tool_Framework-WritingProviders.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19419 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.tool.framework.writing-providers">
     <title>Erstellen von Providern für die Verwendung mit Zend_Tool_Framework</title>
@@ -138,9 +138,9 @@ Hello from my provider!
             Wie in der Archikektur Sektion diskutiert erlaubt Zend Tool unterschiedliche Clients für
             die Verwendung in Zend Tool Providern zu verwenden. Um mit den unterschiedlichen Clients
             kompatibel zu bleiben sollte man das Antwort Objekt verwenden um Nachrichten von eigenen
-            Providern zurückzugeben, statt <code>echo</code> oder ähnliche Ausgabe Mechanismen zu
-            verwenden. Unser umgeschriebener Hallo Provider sieht mit dem jetzt bekannten wie folgt
-            aus:
+            Providern zurückzugeben, statt <methodname>echo()</methodname> oder ähnliche Ausgabe
+            Mechanismen zu verwenden. Unser umgeschriebener Hallo Provider sieht mit dem jetzt
+            bekannten wie folgt aus:
         </para>
 
         <programlisting language="php"><![CDATA[
@@ -341,8 +341,9 @@ class My_Component_HelloProvider
             <para>
                 Die zurückgegebene Konfiguration ist vom Typ
                 <classname>Zend_Tool_Framework_Client_Config</classname>, aber intern verweisen die
-                magischen Methoden <code>__get</code> und <code>__set</code> auf
-                <classname>Zend_Config</classname> des angegebenen Konfigurations Typs.
+                magischen Methoden <methodname>__get()</methodname> und
+                <methodname>__set()</methodname> auf <classname>Zend_Config</classname> des
+                angegebenen Konfigurations Typs.
             </para>
 
             <para>

+ 4 - 6
documentation/manual/de/module_specs/Zend_Validate-Hostname.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18028 -->
+<!-- EN-Revision: 19568 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.validate.set.hostname">
-
     <title>Hostname</title>
 
     <para>
@@ -32,9 +31,8 @@ if ($validator->isValid($hostname)) {
 ]]></programlisting>
 
         Das prüft den Hostnamen <varname>$hostname</varname> und wird einen Fehler über
-        <code>$validator->getMessages()</code> mit einer nützlichen Fehlermeldung
+        <methodname>getMessages()</methodname> mit einer nützlichen Fehlermeldung
         auswerfen.
-
     </para>
 
     <para>
@@ -117,7 +115,7 @@ $validator =
     );
 ]]></programlisting>
 
-        Alternativ kann entweder TRUE oder FALSE an <code>$validator->setValidateIdn()</code>
+        Alternativ kann entweder TRUE oder FALSE an <methodname>setValidateIdn()</methodname>
         übergeben werden, um die IDN Prüfung ein- oder auszuschalten.
         Wenn ein IDN Hostname geprüft wird, der aktuell nicht unterstützt wird, ist es sicher das
         die Prüfung fehlschlagen wird wenn er irgendwelche internationalen Zeichen hat. Wo keine
@@ -153,7 +151,7 @@ $validator =
 ]]></programlisting>
 
         Alternativ kann entweder TRUE oder FALSE übergeben an
-        <code>$validator->setValidateTld()</code> übergeben werden um die TLD Prüfung ein- oder
+        <methodname>setValidateTld()</methodname> übergeben werden um die TLD Prüfung ein- oder
         auszuschalten.
     </para>
 

+ 25 - 11
documentation/manual/de/module_specs/Zend_Validate-Set.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18986 -->
+<!-- EN-Revision: 19577 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">
-
     <title>Standard Prüfklassen</title>
 
     <para>
@@ -42,8 +41,8 @@
         <title>Barcode</title>
         <para>
             Dieser Prüfer wird mit einem Barcode Typ instanziert gegen den ein Barcode Wert geprüft
-            werden soll. Aktuell werden die "<code>UPC-A</code>" (Universal Product Code) und
-            "<code>EAN-13</code>" (European Article Number) Barcode Typen unterstützt, und die
+            werden soll. Aktuell werden die "UPC-A" (Universal Product Code) und
+            "EAN-13" (European Article Number) Barcode Typen unterstützt, und die
             <methodname>isValid()</methodname> Methode gibt dann und nur dann true zurück wenn die
             Eingabe erfolgreich gegen den Barcode Prüfalgorithmus geprüft wurde. Es sollten alle von
             den Ziffern 0 bis 9 (0-9) unterschiedliche Zeichen vom Eingabewert entfernt werden bevor
@@ -67,6 +66,7 @@
 
     <sect2 id="zend.validate.set.ccnum">
         <title>Ccnum</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> dem Luhn
             Algorithmus (mod-10 Checksumme) für Kreditkarten Nummern folgt.
@@ -83,13 +83,14 @@
 
     <sect2 id="zend.validate.set.date">
         <title>Date</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> ein
-            gültiges Datum im Format <code>YYYY-MM-DD</code> ist. Wenn die optionale
-            <code>locale</code> Option gesetzt ist, dann wird das Datum entsprechend dem gesetzten
-            Gebietsschemas geprüft. Und wenn die optionale <code>format</code> Option gesetzt wird,
-            dann wird dieses Format für die Prüfung herangezogen. Für Details über die optionalen
-            Parametern siehe <link
+            gültiges Datum im Format 'YYYY-MM-DD' ist. Wenn die optionale
+            <property>locale</property> Option gesetzt ist, dann wird das Datum entsprechend dem
+            gesetzten Gebietsschemas geprüft. Und wenn die optionale <property>format</property>
+            Option gesetzt wird, dann wird dieses Format für die Prüfung herangezogen. Für Details
+            über die optionalen Parametern siehe <link
                 linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>.
         </para>
     </sect2>
@@ -108,6 +109,7 @@
 
     <sect2 id="zend.validate.set.float">
         <title>Float</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> ein
             Fließkomma Wert ist. Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle
@@ -120,6 +122,7 @@
 
     <sect2 id="zend.validate.set.greater_than">
         <title>GreaterThan</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> größer als
             die Minimale Grenze ist.
@@ -128,6 +131,7 @@
 
     <sect2 id="zend.validate.set.hex">
         <title>Hex</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> nur
             Hexadezimale Digitale Zeichen enthält.
@@ -138,16 +142,19 @@
 
     <sect2 id="zend.validate.set.iban">
         <title>Iban</title>
+
         <para>
             Gibe nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> eine
             gültige IBAN (Internationale Bank Account Nummer) enthält. IBAN Nummern werden gegen ein
             Land geprüft in dem Sie verwendet werden und durch eine Checksumme.
         </para>
+
         <para>
             Es gibt zwei Wege um IBAN Nummern zu prüfen. Als ersten Weg kann man ein Gebietsschema
             angeben das das Land repräsentiert. Jede angegebene IBAN Nummer wird das gegen dieses
             Land geprüft.
         </para>
+
         <programlisting language="php"><![CDATA[
 $validator = new Zend_Validate_Iban('de_AT');
 $iban = 'AT611904300234573201';
@@ -160,11 +167,13 @@ if ($validator->isValid($iban)) {
     }
 }
 ]]></programlisting>
+
         <para>
             Das sollte man tun wenn man IBAN Nummern gegen ein einzelnes Land prüfen will. Der
             einfachere Weg der Prüfung ist es kein Gebietsschema anzugeben wie im nächsten Beispiel
             gezeigt.
         </para>
+
         <programlisting language="php"><![CDATA[
 $validator = new Zend_Validate_Iban();
 $iban = 'AT611904300234573201';
@@ -174,6 +183,7 @@ if ($validator->isValid($iban)) {
     // IBAN ist ungültig
 }
 ]]></programlisting>
+
         <para>
             Aber das zeigt ein großes Problem: Wenn man nur IBAN Nummern von einem einzelnen Land
             akzeptieren darf, zum Beispiel Frankreich, sind auch die IBAN Nummer von anderen Ländern
@@ -189,6 +199,7 @@ if ($validator->isValid($iban)) {
 
     <sect2 id="zend.validate.set.int">
         <title>Int</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> ein
             gültiger Integer ist. Seit Zend Framework 1.8 verwendet diese Prüfung auch das aktuelle
@@ -203,6 +214,7 @@ if ($validator->isValid($iban)) {
 
     <sect2 id="zend.validate.set.less_than">
         <title>LessThan</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> kleiner
             als die Maximale Grenze ist.
@@ -211,6 +223,7 @@ if ($validator->isValid($iban)) {
 
     <sect2 id="zend.validate.set.not_empty">
         <title>NotEmpty</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> kein
             leerer Wert ist.
@@ -221,6 +234,7 @@ if ($validator->isValid($iban)) {
 
     <sect2 id="zend.validate.set.regex">
         <title>Regex</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn <varname>$value</varname> mit einem
             Regular Expression Pattern geprüft werden kann.
@@ -231,6 +245,7 @@ if ($validator->isValid($iban)) {
 
     <sect2 id="zend.validate.set.string_length">
         <title>StringLength</title>
+
         <para>
             Gibt nur dann <constant>TRUE</constant> zurück wenn die Länge des Strings von
             <varname>$value</varname> mindstens ein Minimum und nicht größer als ein Maximum ist
@@ -241,12 +256,11 @@ if ($validator->isValid($iban)) {
             auf einen kleineren Wert als die minimale Länge gesetzt wird. Seit Version 1.0.2
             unterstützt diese Klasse UTF-8 und andere Zeichensätze, basierend auf dem aktuellen Wert
             von <ulink
-                url="http://www.php.net/manual/de/ref.iconv.php#iconv.configuration"><code>iconv.internal_encoding</code></ulink>.
+                url="http://www.php.net/manual/de/ref.iconv.php#iconv.configuration">iconv.internal_encoding</ulink>.
             Wenn man ein anderes Encoding benötigt kann man es mit den Zugriffsmethoden getEncoding
             und setEncoding setzen.
         </para>
     </sect2>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 12 - 14
documentation/manual/de/module_specs/Zend_Validate-WritingValidators.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18032 -->
+<!-- EN-Revision: 19577 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.validate.writing_validators">
-
     <title>Schreiben von Prüfern</title>
 
     <para>
@@ -56,7 +55,6 @@
     </para>
 
     <example id="zend.validate.writing_validators.example.simple">
-
         <title>Erstellen einer einfachen Prüfklasse</title>
 
         <para>
@@ -90,18 +88,16 @@ class MyValid_Float extends Zend_Validate_Abstract
 
         <para>
             Die Klasse definiert ein Template für Ihre einzige Nachricht bei Prüfungsfehlern, welche
-            den eingebauten magischen Parameter <code>%value%</code> inkludiert. Der Aufruf von
-            <methodname>_setValue()</methodname> präpariert das Objekt den getesteten Wert
+            den eingebauten magischen Parameter <emphasis>%value%</emphasis> inkludiert. Der Aufruf
+            von <methodname>_setValue()</methodname> präpariert das Objekt den getesteten Wert
             automatisch in die Fehlernachricht einzufügen, wenn die Prüfung des Wertes fehlschlägt.
             Der Aufruf von <methodname>_error()</methodname> spürt den Grund für die fehlgeschlagene
             Prüfung auf. Da diese Klasse nur eine Fehlernachricht definiert, ist es nicht notwendig
             <methodname>_error()</methodname> den Namen des Templates der Fehlernachricht zu geben.
         </para>
-
     </example>
 
     <example id="zend.validate.writing_validators.example.conditions.dependent">
-
         <title>Schreiben einer Prüfklasse die abhängige Konditionen besitzt</title>
 
         <para>
@@ -115,9 +111,11 @@ class MyValid_Float extends Zend_Validate_Abstract
             <listitem>
                 <para>Der Eingabewert ist nicht nummerisch.</para>
             </listitem>
+
             <listitem>
                 <para>Der Eingabewert ist kleiner als der minimal erlaubte Wert.</para>
             </listitem>
+
             <listitem>
                 <para>Der Eingabewert ist größer als der maximal erlaubte Wert.</para>
             </listitem>
@@ -177,8 +175,9 @@ class MyValid_NumericBetween extends Zend_Validate_Abstract
             <varname>$maximum</varname> wurden eingeführt um die Mindest- und Maximalgrenzen
             anzubieten, beziehungsweise, für einen Wert um die Prüfung erfolgreich zu bestehen. Die
             Klasse definiert auch zwei Nachrichtenvariablen die zu den öffentlichen Eigenschaften
-            korrespondieren und es erlauben <code>min</code> und <code>max</code> in den Nachrichten
-            Templates als magische Parameter zu verwenden, genauso wie <code>value</code>.
+            korrespondieren und es erlauben <property>min</property> und <property>max</property> in
+            den Nachrichten Templates als magische Parameter zu verwenden, genauso wie
+            <property>value</property>.
         </para>
 
         <para>
@@ -191,11 +190,9 @@ class MyValid_NumericBetween extends Zend_Validate_Abstract
             besitzt, wo die Prüfobjekte mehrfache Gründe zurückgeben könnten, warum ein spezieller
             Prüfversuch fehlgeschlagen ist.
         </para>
-
     </example>
 
     <example id="zend.validate.writing_validators.example.conditions.independent">
-
         <title>Prüfen mit unabhängigen Konditionen, mehrfache Gründe für Fehler</title>
 
         <para>
@@ -209,12 +206,15 @@ class MyValid_NumericBetween extends Zend_Validate_Abstract
             <listitem>
                 <para>mindestens 8 Zeichen Länge,</para>
             </listitem>
+
             <listitem>
                 <para>enthält mindestens ein großgeschriebenes Zeichen,</para>
             </listitem>
+
             <listitem>
                 <para>enthält mindestens ein kleingeschriebenes Zeichen,</para>
             </listitem>
+
             <listitem>
                 <para>und enthält mindestens eine Ziffer.</para>
             </listitem>
@@ -277,13 +277,11 @@ class MyValid_PasswordStrength extends Zend_Validate_Abstract
             sofort <constant>FALSE</constant> zurückgeben. Das erlaubt der Prüfklasse
             <emphasis>alle</emphasis> Gründe anzubieten bei denen das Eingabepasswort
             den Prüfvoraussetzungen nicht entsprochen hat. Wenn, zum Beispiel, ein Benutzer den
-            String "<code>#$%</code>" als Passwort angegeben hat, würde
+            String "#$%" als Passwort angegeben hat, würde
             <methodname>isValid()</methodname> alle vier Prüfungfehlermeldungen zurückgeben bei
             einen nachfolgenden Aufruf von <methodname>getMessages()</methodname>.
         </para>
-
     </example>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 8 - 18
documentation/manual/de/module_specs/Zend_Validate.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19432 -->
+<!-- EN-Revision: 19577 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.validate.introduction">
     <title>Einführung</title>
@@ -34,7 +34,6 @@
     </sect2>
 
     <sect2 id="zend.validate.introduction.using">
-
         <title>Standardnutzung von Prüfungen</title>
 
         <para>
@@ -54,7 +53,7 @@
             entsprechend menschlich-lesbaren String Nachrichten. Die Schlüssel und Werte sind
             Klassenabhängig; jede Prüfklasse definiert Ihr eigenes Set von Nachrichten für
             fehlgeschlagene Prüfungen und die eindeutigen Schlüssel die diese identifizieren. Jede
-            Klasse hat also eine <code>const</code> Definition die jedem Identifikator für eine
+            Klasse hat also eine const Definition die jedem Identifikator für eine
             fehlgeschlagene Prüfung entspricht.
         </para>
 
@@ -89,13 +88,10 @@ if ($validator->isValid($email)) {
     }
 }
 ]]></programlisting>
-
         </para>
-
     </sect2>
 
     <sect2 id="zend.validate.introduction.messages">
-
         <title>Nachrichten anpassen</title>
 
         <para>
@@ -104,11 +100,12 @@ if ($validator->isValid($email)) {
             <methodname>getMessages()</methodname> im Fall einer fehlerhaften Prüfung zurückgegeben
             wird. Das erste Argument dieser Methode ist ein String der die Fehlernachricht enthält.
             Es können Kürzel in den String eingebaut werden welche mit den für die Prüfung
-            relevanten Daten aufgefüllt werden. Das Kürzel <code>%value%</code> wird von allen
-            Prüfungen unterstützt; es ist verbunden mit dem Wert der an
+            relevanten Daten aufgefüllt werden. Das Kürzel <emphasis>%value%</emphasis> wird von
+            allen Prüfungen unterstützt; es ist verbunden mit dem Wert der an
             <methodname>isValid()</methodname> übergeben wird. Andere Kürzel können unterstützt
-            werden von Fall-zu-Fall in jeder Prüfer-Klasse. Zum Beispiel ist <code>%max%</code> das
-            Kürzel welches von <classname>Zend_Validate_LessThan</classname> unterstützt wird. Die
+            werden von Fall-zu-Fall in jeder Prüfer-Klasse. Zum Beispiel ist
+            <emphasis>%max%</emphasis> das Kürzel welches von
+            <classname>Zend_Validate_LessThan</classname> unterstützt wird. Die
             <methodname>getMessageVariables()</methodname> Methode give ein Array von variablen
             Kürzel zurück welche vom Prüfer unterstützt werden.
         </para>
@@ -157,14 +154,13 @@ $validator->setMessages( array(
         'Der String \'%value%\' ist zu lang'
 ));
 ]]></programlisting>
-
         </para>
 
         <para>
             Wenn die Anwendung mehr Flexibilität benötigt in der Art und Weise wie Prüffehler
             gemeldet werden, kann auf die Eigenschaften durch den selben Namen zugegriffen
             werden wie mit dem Nachrichten Kürzel das von einer Prüfklasse unterstützt wird.
-            Die <code>value</code> Eigenschaft ist immer in einem Prüfer vorhanden; Das ist
+            Die <property>value</property> Eigenschaft ist immer in einem Prüfer vorhanden; Das ist
             der Wert der als Argument von <methodname>isValid()</methodname> definiert wurde. Andere
             Eigenschaften können von Fall zu Fall in jeder Prüfklasse unterstützt werden.
 
@@ -182,11 +178,9 @@ if (!validator->isValid('word')) {
 }
 ]]></programlisting>
         </para>
-
     </sect2>
 
     <sect2 id="zend.validate.introduction.static">
-
         <title>Verwenden der statischen is() Methode</title>
 
         <para>
@@ -241,7 +235,6 @@ if (Zend_Validate::is($value, 'Between', array('min' => 1, 'max' => 12))) {
         </para>
 
         <sect3 id="zend.validate.introduction.static.namespaces">
-
             <title>Namespaces</title>
 
             <para>
@@ -318,7 +311,6 @@ if (Zend_Validate::is($value, 'OtherValidator', array('min' => 1, 'max' => 12))
     </sect2>
 
     <sect2 id="zend.validate.introduction.translation">
-
         <title>Meldungen übersetzen</title>
 
         <para>
@@ -382,9 +374,7 @@ if (!$validator->isTranslatorDisabled()) {
             Kopf behalten das der Übersetzer auch mit den Meldungen arbeitet die man selbst gesetzt
             hat.
         </para>
-
     </sect2>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 11 - 13
documentation/manual/de/module_specs/Zend_View-Helpers.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19425 -->
+<!-- EN-Revision: 19577 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.view.helpers" xmlns:xi="http://www.w3.org/2001/XInclude">
-
     <title>View Helfer</title>
 
     <para>
@@ -45,15 +44,15 @@
 
     <para>
         Um einen Helfer in deinem View Skript zu verwenden, rufe ihn mittels
-        <code>$this->helperName()</code> auf. Im Hintergrund wird <classname>Zend_View</classname>
-        die Klasse <classname>Zend_View_Helper_HelperName</classname> laden, eine Objektinstanz der
+        <command>$this->helperName()</command> auf. Im Hintergrund wird
+        <classname>Zend_View</classname> die Klasse
+        <classname>Zend_View_Helper_HelperName</classname> laden, eine Objektinstanz der
         Klasse erstellen und deren Methode <methodname>helperName()</methodname> aufrufen. Die
         Objektinstanz bleibt innerhalb der <classname>Zend_View</classname> Instanz bestehen und
-        wird bei allen weiteren Aufrufen von <code>$this->helperName()</code> wiederverwendet.
+        wird bei allen weiteren Aufrufen von <command>$this->helperName()</command> wiederverwendet.
     </para>
 
     <sect2 id="zend.view.helpers.initial">
-
         <title>Vorhandene Helfer</title>
 
         <para>
@@ -65,7 +64,6 @@
         </para>
 
         <itemizedlist>
-
             <listitem><para>
                 <methodname>declareVars()</methodname>: Primär benutzt mit
                 <methodname>strictVars()</methodname>, kann dieser Helfer verwendet werden um
@@ -219,10 +217,10 @@ echo $this->formCheckbox('foo',
 
            <listitem><para>
                 <methodname>formLabel($name, $value, $attribs)</methodname>: Erstellt ein
-                &lt;label&gt; Element, setzt das <code>for</code> Attribut auf
+                &lt;label&gt; Element, setzt das <property>for</property> Attribut auf
                 <varname>$name</varname>, und den aktuellen Labeltext auf
-                <varname>$value</varname>. Wenn <code>disable</code> an
-                <code>attribs</code> übergeben wird, wird nichts zurückgegeben.
+                <varname>$value</varname>. Wenn <emphasis>disable</emphasis> an
+                <property>attribs</property> übergeben wird, wird nichts zurückgegeben.
             </para></listitem>
 
             <listitem><para>
@@ -469,7 +467,7 @@ $view->addHelperPath('/other/path/to/helpers', 'Your_View_Helper');
         </para>
 
         <para>
-            Hier ist ein Beispiel für unseren <code>SpecialPurpose</code> Helfer:
+            Hier ist ein Beispiel für unseren <classname>SpecialPurpose</classname> Helfer:
         </para>
 
         <programlisting language="php"><![CDATA[
@@ -486,8 +484,8 @@ class My_View_Helper_SpecialPurpose extends Zend_View_Helper_Abstract
 ]]></programlisting>
 
         <para>
-            Dann rufst du in einem View Skript den <code>SpecialPurpose</code> Helfer so oft auf,
-            wie du möchtest; er wird einmal instanziiert und bleibt für die Lebensdauer der
+            Dann rufst du in einem View Skript den <classname>SpecialPurpose</classname> Helfer so
+            oft auf, wie du möchtest; er wird einmal instanziiert und bleibt für die Lebensdauer der
             <classname>Zend_View</classname> Instanz bestehen.
         </para>
 

+ 28 - 28
documentation/manual/de/module_specs/Zend_View-Introduction.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19425 -->
+<!-- EN-Revision: 19577 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.view.introduction">
     <title>Einführung</title>
@@ -124,7 +124,7 @@ echo $view->render('booklist.php');
         <itemizedlist>
             <listitem>
                 <para>
-                    <code>basePath</code>: zeigt den Basispfad von dem der Skript-, Helfer-
+                    <property>basePath</property>: zeigt den Basispfad von dem der Skript-, Helfer-
                     und Filterpfad gesetzt wird. Es nimmt folgende Verzeichnisstruktur an:
                 </para>
 
@@ -137,39 +137,39 @@ base/path/
 
                 <para>
                     Das kann über <methodname>setBasePath()</methodname>,
-                    <methodname>addBasePath()</methodname>, oder die <code>basePath</code>
+                    <methodname>addBasePath()</methodname>, oder die <property>basePath</property>
                     Option dem Konstruktor gesetzt werden.
                 </para>
             </listitem>
 
             <listitem><para>
-                <code>encoding</code>: zeigt das Verschlüsseln der Zeichen für die Verwendung mit
-                <methodname>htmlentities()</methodname>,
+                <property>encoding</property>: zeigt das Verschlüsseln der Zeichen für die
+                Verwendung mit <methodname>htmlentities()</methodname>,
                 <methodname>htmlspecialchars()</methodname>, und anderen Operationen. Standardwert
                 ist ISO-8859-1 (latin1). Kann über
-                <methodname>setEncoding()</methodname>, oder die <code>encoding</code> Option im
-                Konstruktor, gesetzt werden.
+                <methodname>setEncoding()</methodname>, oder die <property>encoding</property>
+                Option im Constructor, gesetzt werden.
             </para></listitem>
 
             <listitem><para>
-                <code>escape</code>: zeigt einen Rückruf welche durch
+                <property>escape</property>: zeigt einen Rückruf welche durch
                 <methodname>escape()</methodname> benutzt wird. Kann über
-                <methodname>setEscape()</methodname>, oder die <code>escape</code> Option im
+                <methodname>setEscape()</methodname>, oder die <property>escape</property> Option im
                 Konstruktor, gesetzt werden.
             </para></listitem>
 
             <listitem><para>
-                <code>filter</code>: zeigt einen Filter welcher nach dem Rendern des View Skripts
-                verwendet wird. Kann über <methodname>setFilter()</methodname>,
-                <methodname>addFilter()</methodname>, oder die <code>filter</code> Option im
+                <property>filter</property>: zeigt einen Filter welcher nach dem Rendern des View
+                Skripts verwendet wird. Kann über <methodname>setFilter()</methodname>,
+                <methodname>addFilter()</methodname>, oder die <property>filter</property> Option im
                 Konstruktor, gesetzt werden.
             </para></listitem>
 
             <listitem><para>
-                <code>strictVars:</code> zwingt <classname>Zend_View</classname> Notizen und
+                <property>strictVars:</property> zwingt <classname>Zend_View</classname> Notizen und
                 Warnungen auszugeben wenn auf nicht initialisierte View Variablen zugegriffen wird.
                 Das kann durch den Aufruf von <methodname>strictVars(true)</methodname>, oder der
-                Übergabe der <code>strictVars</code> Option im Konstruktor, gesetzt werden.
+                Übergabe der <property>strictVars</property> Option im Konstruktor, gesetzt werden.
             </para></listitem>
         </itemizedlist>
     </sect2>
@@ -179,7 +179,7 @@ base/path/
 
         <para>
             In unseren Beispielen verwenden wir <acronym>PHP</acronym> Long
-            Tags: <code>&lt;?php</code>. Wir empfehlen auch die <ulink
+            Tags: <emphasis>&lt;?php</emphasis>. Wir empfehlen auch die <ulink
                 url="http://us.php.net/manual/en/control-structures.alternative-syntax.php">
                 alternative Syntax für Kontrollstrukturen</ulink>. Diese sind übliche Abkürzungen die
             Verwendet werden wenn View Skripte geschrieben werden, da Sie Konstrukte verständlicher
@@ -189,15 +189,15 @@ base/path/
 
         <para>
             In vorhergehenden Versionen haben wir oft die Verwendung von Short Tags empfohlen
-            (<code>&lt;?</code> und <code>&lt;?=</code>), da Sie die View Skripte weniger
-            kompliziert machen. Trotzdem ist der Standardwert der <filename>php.ini</filename>
-            Option <constant>short_open_tag</constant> typischerweise in Produktion oder bei
-            Shared Hosts deaktiviert -- was deren Verwendung nicht wicklich portabel macht. Wenn
-            man <acronym>XML</acronym> in View Skripten als Template verwendet, werden Short
-            Open Tags dazu führen das die Prüfung der Templates fehlschlägt. Letztendlich, wenn man
-            Short Tags verwendet, wärend <constant>short_open_tag</constant> ausgeschaltet ist,
-            werden die View Skripte entweder Fehler verursachen oder einfach den PHP Code an den
-            Betrachter zurücksenden.
+            (<emphasis>&lt;?</emphasis> und <emphasis>&lt;?=</emphasis>), da Sie die View Skripte
+            weniger kompliziert machen. Trotzdem ist der Standardwert der
+            <filename>php.ini</filename> Option <constant>short_open_tag</constant> typischerweise
+            in Produktion oder bei Shared Hosts deaktiviert -- was deren Verwendung nicht wicklich
+            portabel macht. Wenn man <acronym>XML</acronym> in View Skripten als Template verwendet,
+            werden Short Open Tags dazu führen das die Prüfung der Templates fehlschlägt.
+            Letztendlich, wenn man Short Tags verwendet, wärend <constant>short_open_tag</constant>
+            ausgeschaltet ist, werden die View Skripte entweder Fehler verursachen oder einfach den
+            PHP Code an den Betrachter zurücksenden.
         </para>
 
         <para>
@@ -208,7 +208,7 @@ base/path/
        <itemizedlist>
             <listitem>
                 <para>
-                    Die Short Tags in der <code>.htaccess</code> Datei einschalten:
+                    Die Short Tags in der <filename>.htaccess</filename> Datei einschalten:
                 </para>
 
                 <programlisting language="apache"><![CDATA[
@@ -216,9 +216,9 @@ php_value "short_open_tag" "on"
 ]]></programlisting>
 
                 <para>
-                    Das ist nur dann möglich wenn es erlaubt ist <code>.htaccess</code> Dateien zu
-                    erstellen und anzupassen. Diese Direktive kann auch in der
-                    <code>httpd.conf</code> Datei hinzugefügt werden.
+                    Das ist nur dann möglich wenn es erlaubt ist <filename>.htaccess</filename>
+                    Dateien zu erstellen und anzupassen. Diese Direktive kann auch in der
+                    <filename>httpd.conf</filename> Datei hinzugefügt werden.
                 </para>
             </listitem>
 

+ 59 - 28
documentation/manual/de/module_specs/Zend_XmlRpc_Client.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19425 -->
+<!-- EN-Revision: 19604 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.xmlrpc.client">
     <title>Zend_XmlRpc_Client</title>
@@ -14,7 +14,6 @@
             Umwandeln zwischen <acronym>PHP</acronym> und <acronym>XML-RPC</acronym>, ein Server
             Proxy-Objekt und den Zugriff auf Server-Prüfungsmöglichkeiten.
         </para>
-
     </sect2>
 
     <sect2 id="zend.xmlrpc.client.method-calls">
@@ -96,6 +95,7 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
 
     <sect2 id="zend.xmlrpc.value.parameters">
         <title>Typen und Konvertierung</title>
+
         <para>
             Einige entfernte Methodenaufrufe benötigen Parameter. Diese werden
             an die Methode <methodname>call()</methodname> des
@@ -108,18 +108,20 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
 
         <sect3 id="zend.xmlrpc.value.parameters.php-native">
             <title>Native PHP-Typen als Parameter</title>
+
             <para>
                 Parameter können der Methode <methodname>call()</methodname> als native
                 <acronym>PHP</acronym> Variablen übergeben werden, also als <type>String</type>,
-                <code>integer</code>, <code>float</code>,
-                <type>Boolean</type>, <type>Array</type> oder als ein
-                <code>Objekt</code>. In diesem Fall wird jeder native <acronym>PHP</acronym> Typ
+                <type>Integer</type>, <type>Float</type>,
+                <type>Boolean</type>, <type>Array</type> oder als
+                <type>Object</type>. In diesem Fall wird jeder native <acronym>PHP</acronym> Typ
                 automatisch erkannt und dann in einen der folgenden <acronym>XML-RPC</acronym>
                 Typen konvertiert, welche in dieser Tabelle ersichtlich ist:
             </para>
 
             <table id="zend.xmlrpc.value.parameters.php-native.table-1">
                 <title>PHP- und XML-RPC-Typkonvertierungen</title>
+
                 <tgroup cols="2">
                     <thead>
                         <row>
@@ -127,39 +129,48 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
                             <entry><acronym>XML-RPC</acronym> Typ</entry>
                         </row>
                     </thead>
+
                     <tbody>
                         <row>
                             <entry>integer</entry>
                             <entry>int</entry>
                         </row>
+
                         <row>
                             <entry>Zend_Crypt_Math_BigInteger</entry>
                             <entry>i8</entry>
                         </row>
+
                         <row>
                             <entry>double</entry>
                             <entry>double</entry>
                         </row>
+
                         <row>
                             <entry>boolean</entry>
                             <entry>boolean</entry>
                         </row>
+
                         <row>
                             <entry>string</entry>
                             <entry>string</entry>
                         </row>
+
                         <row>
                             <entry>null</entry>
                             <entry>nil</entry>
                         </row>
+
                         <row>
                             <entry>array</entry>
                             <entry>array</entry>
                         </row>
+
                         <row>
                             <entry>associative array</entry>
                             <entry>struct</entry>
                         </row>
+
                         <row>
                             <entry>object</entry>
                             <entry>array</entry>
@@ -175,18 +186,18 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
                     Die Übergabe eines leeren Array an eine <acronym>XML-RPC</acronym> Methode ist
                     problematisch, da es entweder ein Array oder ein Struct repräsentieren könnte.
                     <classname>Zend_XmlRpc_Client</classname> erkennt solche Konditionen und führt
-                    eine Abfrage zur <code>system.methodSignature</code> Methode des Servers aus,
-                    um den richtigen <acronym>XML-RPC</acronym> Typ festzustellen auf den gecastet
-                    werden soll.
+                    eine Abfrage zur <command>system.methodSignature</command> Methode des Servers
+                    aus, um den richtigen <acronym>XML-RPC</acronym> Typ festzustellen auf den
+                    gecastet werden soll.
                 </para>
 
                 <para>
                     Trotzdem kann das selbst sogar zu Problemen führen. Erstens werden Server die
-                    <code>system.methodSignature</code> nicht unterstützen fehlerhafte Anfragen
-                    protokollieren, und <classname>Zend_XmlRpc_Client</classname> wird selbst einen
-                    Ausweg nehmen und den Wert auf ein Array casten. Zusätzlich bedeutet das das
-                    jeder Aufruf mit einem Array Argument zu einem zusätzlichen Aufruf beim Remote
-                    Server führt.
+                    <command>system.methodSignature</command> nicht unterstützen fehlerhafte
+                    Anfragen protokollieren, und <classname>Zend_XmlRpc_Client</classname> wird
+                    selbst einen Ausweg nehmen und den Wert auf ein Array casten. Zusätzlich
+                    bedeutet dass das jeder Aufruf mit einem Array Argument zu einem zusätzlichen
+                    Aufruf beim Remote Server führt.
                 </para>
 
                 <para>
@@ -204,6 +215,7 @@ $result = $client->call('foo.bar', array(array()));
 
         <sect3 id="zend.xmlrpc.value.parameters.xmlrpc-value">
             <title>Zend_XmlRpc_Value-Objekte als Parameter</title>
+
             <para>
                 Parameter können auch direkt als <classname>Zend_XmlRpc_Value</classname>-Instanzen
                 erstellt werden, um einen exakten <acronym>XML-RPC</acronym> Typen darzustellen.
@@ -218,13 +230,15 @@ $result = $client->call('foo.bar', array(array()));
                             von einer Datenbank als String zurückgegeben wird).
                         </para>
                     </listitem>
+
                     <listitem>
                         <para>
-                            Wenn die Prozedur einen <code>base64</code>- oder einen
-                            <code>dateTime.iso8601</code>-Typ benötigt, da diese
+                            Wenn die Prozedur einen <property>base64</property>- oder einen
+                            <property>dateTime.iso8601</property>-Typ benötigt, da diese
                             nicht als native <acronym>PHP</acronym> Typen existieren.
                         </para>
                     </listitem>
+
                     <listitem>
                         <para>
                             Wenn eine automatische Konvertierung fehlschlägt. Zum Beispiel wenn
@@ -248,6 +262,7 @@ $result = $client->call('foo.bar', array(array()));
 
             <table id="zend.xmlrpc.value.parameters.xmlrpc-value.table-1">
                 <title>Zend_XmlRpc_Value Objekte als XML-RPC Typen</title>
+
                 <tgroup cols="3">
                     <thead>
                         <row>
@@ -256,6 +271,7 @@ $result = $client->call('foo.bar', array(array()));
                             <entry><classname>Zend_XmlRpc_Value</classname> Objekt</entry>
                         </row>
                     </thead>
+
                     <tbody>
                         <row>
                             <entry>int</entry>
@@ -264,6 +280,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_Integer</classname></entry>
                         </row>
+
                         <row>
                             <entry>i8</entry>
                             <entry>
@@ -271,6 +288,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_BigInteger</classname></entry>
                         </row>
+
                         <row>
                             <entry>ex:i8</entry>
                             <entry>
@@ -278,6 +296,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_BigInteger</classname></entry>
                         </row>
+
                         <row>
                             <entry>double</entry>
                             <entry>
@@ -285,6 +304,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_Double</classname></entry>
                         </row>
+
                         <row>
                             <entry>boolean</entry>
                             <entry>
@@ -292,6 +312,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_Boolean</classname></entry>
                         </row>
+
                         <row>
                             <entry>string</entry>
                             <entry>
@@ -299,6 +320,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_String</classname></entry>
                         </row>
+
                         <row>
                             <entry>nil</entry>
                             <entry>
@@ -306,6 +328,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_Nil</classname></entry>
                         </row>
+
                         <row>
                             <entry>ex:nil</entry>
                             <entry>
@@ -313,6 +336,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_Nil</classname></entry>
                         </row>
+
                         <row>
                             <entry>base64</entry>
                             <entry>
@@ -320,6 +344,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_Base64</classname></entry>
                         </row>
+
                         <row>
                             <entry>dateTime.iso8601</entry>
                             <entry>
@@ -327,6 +352,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_DateTime</classname></entry>
                         </row>
+
                         <row>
                             <entry>array</entry>
                             <entry>
@@ -334,6 +360,7 @@ $result = $client->call('foo.bar', array(array()));
                             </entry>
                             <entry><classname>Zend_XmlRpc_Value_Array</classname></entry>
                         </row>
+
                         <row>
                             <entry>struct</entry>
                             <entry>
@@ -355,7 +382,7 @@ $result = $client->call('foo.bar', array(array()));
                         <acronym>PHP</acronym> Typ wird durch <acronym>PHP</acronym> Casting in den
                         gewünschten Typ umgewandelt. Beispielsweise wird ein String, der als Wert
                         für ein <classname>Zend_XmlRpc_Value_Integer</classname>-Objekt genutzt
-                        wird, durch <code>(int)$value</code> in ein Integer konvertiert.
+                        wird, durch <command>(int)$value</command> in ein Integer konvertiert.
                     </para>
                 </note>
             </para>
@@ -364,6 +391,7 @@ $result = $client->call('foo.bar', array(array()));
 
     <sect2 id="zend.xmlrpc.client.requests-and-responses">
         <title>Server-Proxy-Objekt</title>
+
         <para>
             Ein anderer Weg um entfernte Methoden mit <acronym>XML-RPC</acronym> Clients
             aufzurufen, ist die Verwendung eines Server-Proxys. Dies ist ein
@@ -383,12 +411,13 @@ $result = $client->call('foo.bar', array(array()));
 
         <example id="zend.xmlrpc.client.requests-and-responses.example-1">
             <title>Umleitung zum Standard-Namenraum</title>
+
             <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
-$server = $client->getProxy();           // Umleitung im Standard-Namenraum
+$service = $client->getProxy();          // Umleitung im Standard-Namenraum
 
-$hello = $server->test->sayHello(1, 2);  // test.Hello(1, 2) gibt "hello" zurück
+$hello = $service->test->sayHello(1, 2); // test.Hello(1, 2) gibt "hello" zurück
 ]]></programlisting>
         </example>
 
@@ -397,11 +426,12 @@ $hello = $server->test->sayHello(1, 2);  // test.Hello(1, 2) gibt "hello" zurüc
             welches den Namensraum des entfernten Servers definiert, zu welchem
             die Methodenaufrufe umgeleitet werden. Wenn kein Namensraum übergeben
             wird, wird zum Standard-Namensraum umgeleitet. Im nächsten Beispiel
-            wird zum <code>test</code>-Namensraum umgeleitet:
+            wird zum 'test'-Namespace umgeleitet:
         </para>
 
         <example id="zend.xmlrpc.client.requests-and-responses.example-2">
             <title>Umleitung zu einem beliebigen Namensraum</title>
+
             <programlisting language="php"><![CDATA[
 $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 
@@ -415,13 +445,14 @@ $hello = $test->sayHello(1, 2);         // test.Hello(1,2) gibt "hello" zurück
             Wenn der entfernte Server verschachtelte Namensräume jeglicher
             Tiefe erlaubt, können diese auch durch den Server-Proxy genutzt
             werden. Wenn der Server in obigem Beispiel eine Methode
-            <methodname>test.foo.bar()</methodname> hätte, könnte es durch
-            <code>$test->foo->bar()</code> aufgerufen werden.
+            <command>test.foo.bar()</command> hätte, könnte es durch
+            <command>$test->foo->bar()</command> aufgerufen werden.
         </para>
     </sect2>
 
     <sect2 id="zend.xmlrpc.client.error-handling">
         <title>Fehlerbehandlung</title>
+
         <para>
             Es gibt zwei Arten von Fehlern, die während eines <acronym>XML-RPC</acronym>
             Methodenaufruf autreten können: <acronym>HTTP</acronym> und <acronym>XML-RPC</acronym>
@@ -434,8 +465,8 @@ $hello = $test->sayHello(1, 2);         // test.Hello(1,2) gibt "hello" zurück
 
             <para>
                 Wenn ein <acronym>HTTP</acronym> Fehler auftritt, wie z.B. wenn der entfernte
-                <acronym>HTTP</acronym> Server einen <code>404 Not Found</code> zurückgibt, wird
-                eine <classname>Zend_XmlRpc_Client_HttpException</classname> geworfen.
+                <acronym>HTTP</acronym> Server einen <emphasis>404 Not Found</emphasis> zurückgibt,
+                wird eine <classname>Zend_XmlRpc_Client_HttpException</classname> geworfen.
             </para>
 
             <example id="zend.xmlrpc.client.error-handling.http.example-1">
@@ -520,14 +551,14 @@ try {
                 <classname>Zend_XmlRpc_Response</classname> überprüft werden.
             </para>
         </sect3>
-
     </sect2>
 
     <sect2 id="zend.xmlrpc.client.introspection">
         <title>Server Selbstüberprüfung</title>
+
         <para>
             Einige <acronym>XML-RPC</acronym> Server bieten de facto Überprüfungsmethoden unter dem
-            <acronym>XML-RPC</acronym> Namesraum <code>system.</code>.
+            <acronym>XML-RPC</acronym> Namesraum <emphasis>system.</emphasis>.
             <classname>Zend_XmlRpc_Client</classname> stellt spezielle Verfahren für Server mit
             diesen Möglichkeiten zur Verfügung.
         </para>
@@ -542,6 +573,7 @@ try {
 
     <sect2 id="zend.xmlrpc.client.request-to-response">
         <title>Von der Anfrage zur Antwort</title>
+
         <para>
             Intern erstellt die Methode <methodname>call()</methodname> des
             <classname>Zend_XmlRpc_Client</classname>-Objekts ein Anfrage-Objekt
@@ -566,8 +598,8 @@ $request->setParams(array('foo', 'bar'));
 
 $client->doRequest($request);
 
-// $server->getLastRequest() gibt ein Zend_XmlRpc_Request-Objekt zurück
-// $server->getLastResponse() gibt ein Zend_XmlRpc_Response-Objekt zurück
+// $client->getLastRequest() gibt ein Zend_XmlRpc_Request-Objekt zurück
+// $client->getLastResponse() gibt ein Zend_XmlRpc_Response-Objekt zurück
 ]]></programlisting>
         </example>
 
@@ -608,7 +640,6 @@ $client->doRequest($request);
             wie so was erreicht werden kann.
         </para>
     </sect2>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 234 - 20
documentation/manual/de/module_specs/Zend_XmlRpc_Server.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17520 -->
+<!-- EN-Revision: 19604 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.xmlrpc.server">
     <title>Zend_XmlRpc_Server</title>
@@ -65,6 +65,52 @@ echo $server->handle();
         </para>
     </sect2>
 
+    <sect2 id="zend.xmlrpc.server.anatomy">
+        <title>Anatomie eines Webservices</title>
+
+        <sect3 id="zend.xmlrpc.server.anatomy.general">
+            <title>Generelle Annahmen</title>
+
+            <para>
+                Für eine maximale Performance ist es Notwendig eine einfache Bootstrap Datei für die
+                Server Komponente zu verwenden. Der Verwendung von
+                <classname>Zend_XmlRpc_Server</classname> innerhalb von <link
+                    linkend="zend.controller"><classname>Zend_Controller</classname></link> wird
+                strengstens abgeraten um den Overhead zu vermeiden.
+            </para>
+
+            <para>
+                Services ändern sich mit der Zeit, und wärend sich Webservices generell weniger
+                intensiv ändern wie Code-native <acronym>APIs</acronym>, wird empfohlen den eigenen
+                Service zu versionieren. Das legt den Grundstein für die Kompatibilität zu Clients
+                welche eine ältere Version des eigenen Services verwenden und managt den
+                Lebenszyklus des Services. Um das zu tun sollte eine Versionsnummer in die
+                <acronym>URI</acronym> eingefügt werden. Es wird auch empfohlen den Namen des
+                Remote Protokolls in der <acronym>URI</acronym> einzufügen um eine einfache
+                Integration von zukünftigen Remote Technologien zu erlauben.
+                http://myservice.ws/<emphasis>1.0/XMLRPC/</emphasis>.
+            </para>
+        </sect3>
+
+        <sect3 id="zend.xmlrpc.server.anatomy.general">
+            <title>Was kann man freigeben?</title>
+
+            <para>
+                Meistens ist es nicht sensibel Business Objekte direkt freizugeben. Business
+                Objekte sind normalerweise klein und werden häufig geändert, da die Änderung in
+                diesem Layer der Anwendung sehr billig ist. Sobald Webservices bekanntgegeben und
+                verwendet werden ist eine Änderung sehr hart. Andere Vorbehalte sind
+                <acronym>I/O</acronym> und Latenz: die besten Aufrufe von Webservices sind jene die
+                nicht stattfinden. Deswegen müssen Aufrufe zu Services grob körniger sein als die
+                normale Business Logik selbst. Oft macht ein zusätzlicher Layer vor der Business
+                Logik sinn. Dieser Layer wird manchmal als <ulink
+                    url="http://martinfowler.com/eaaCatalog/remoteFacade.html">Remote Facade</ulink>
+                bezeichnet. Solch ein Service Layer fügt ein grob körniges Interface über der
+                Business Logik hinzu und gruppiert langatmige Operationen zu kleineren.
+            </para>
+        </sect3>
+    </sect2>
+
     <sect2 id="zend.xmlrpc.server.conventions">
         <title>Konventionen</title>
         <para>
@@ -148,9 +194,9 @@ function myFunc($val1, $val2, $val3)
 ]]></programlisting>
 
         <para>
-            Dennoch eine Anmerkung: Das Erlaubung von vielen Signaturen kann
-            zu Verwirrung für Entwickler führen, wenn Sie diese Services nutzen;
-            man sollte einer <acronym>XML-RPC</acronym> Methode deshalb nur eine Signatur zuweisen.
+            Wenn man viele Signaturen erlaubt kann dies zu Verwirrung bei Entwicklern führen, welche
+            diese Services nutzen; um die Dinge einfach zu halten sollte eine
+            <acronym>XML-RPC</acronym> Methode deshalb nur eine Signatur haben.
         </para>
     </sect2>
 
@@ -270,6 +316,7 @@ Zend_XmlRpc_Server_Fault::attachFaultException('My_Project_Exception');
 
     <sect2 id="zend.xmlrpc.server.caching">
         <title>Zwischenspeichern von Serverdefinitionen zwischen den Anfragen</title>
+
         <para>
             Das Hinzufügen einer Vielzahl von Klassen zu einer <acronym>XML-RPC</acronym> Server
             Instanz kann zu einem großen Ressourcenverbrauch führen; jede Klasse muss via Reflection
@@ -277,15 +324,18 @@ Zend_XmlRpc_Server_Fault::attachFaultException('My_Project_Exception');
             werden, welche eine Liste von allen möglichen Signaturen, die der Server verwenden kann,
             zurückgibt.
         </para>
+
         <para>
             Um die Einbußen zu reduzieren, kann <classname>Zend_XmlRpc_Server_Cache</classname>
             genutzt werden, welche die Serverdefinitionen zwischen den Anfragen zwischenspeichert.
             Wenn dies mit <methodname>__autoload()</methodname> kombiniert wird, kann es zu einem
             großen Geschwindigkeitsschub kommen.
         </para>
+
         <para>
             Ein Beispiel folgt:
         </para>
+
         <programlisting language="php"><![CDATA[
 function __autoload($class)
 {
@@ -309,6 +359,7 @@ if (!Zend_XmlRpc_Server_Cache::get($cacheFile, $server)) {
 
 echo $server->handle();
 ]]></programlisting>
+
         <para>
             Obiges Beispiel zeigt, wie der Server versucht, eine Definition
             aus der Datei <property>xmlrpc.cache</property>, welches sich im selben Ordner wie das
@@ -321,12 +372,14 @@ echo $server->handle();
 
     <sect2 id="zend.xmlrpc.server.use">
         <title>Nutzungsbeispiele</title>
+
         <para>
             Unten finden sich etliche Beispiele für eine Nutzung, die das
             gesamte Spektrum der verfügbaren Optionen für den Entwickler darstellen.
             These Beispiele bauen immer auf den vorangegangenen Beispielen auf.
         </para>
-        <sect3 id="zend.xmlrpc.server.use.case1">
+
+        <example id="zend.xmlrpc.server.use.attach-function">
             <title>Grundlegende Benutzung</title>
 
             <para>
@@ -350,9 +403,9 @@ $server = new Zend_XmlRpc_Server();
 $server->addFunction('md5Value');
 echo $server->handle();
 ]]></programlisting>
-        </sect3>
+        </example>
 
-        <sect3 id="zend.xmlrpc.server.use.case2">
+        <example id="zend.xmlrpc.server.use.attach-class">
             <title>Hinzufügen einer Klasse</title>
 
             <para>
@@ -365,9 +418,106 @@ $server = new Zend_XmlRpc_Server();
 $server->setClass('Services_Comb');
 echo $server->handle();
 ]]></programlisting>
-        </sect3>
+        </example>
+
+        <example id="zend.xmlrpc.server.use.attach-class-with-arguments">
+            <title>Hinzufügen einer Klasse mit Argumenten</title>
+
+            <para>
+                Das folgende Beispiel zeigt wie öffentliche Methoden einer Klasse hinzugefügt werden
+                und an deren Methoden Argumente übergeben werden können. Das kann verwendet werden
+                um spezielle Standardwerte zu spezifizieren wenn Serviceklassen registriert werden.
+            </para>
+
+            <programlisting language="php"><![CDATA[
+class Services_PricingService
+{
+    /**
+     * Calculate current price of product with $productId
+     *
+     * @param ProductRepository $productRepository
+     * @param PurchaseRepository $purchaseRepository
+     * @param integer $productId
+     */
+    public function calculate(ProductRepository $productRepository,
+                              PurchaseRepository $purchaseRepository,
+                              $productId)
+    {
+        ...
+    }
+}
+
+$server = new Zend_XmlRpc_Server();
+$server->setClass('Services_PricingService', 'pricing', new ProductRepository(), new PurchaseRepository());
+]]></programlisting>
+
+            <para>
+                Die Argumente welche an <methodname>setClass()</methodname> wärend der
+                Erstellungszeit des Servers übergeben werden, werden dem Methodenaufruf
+                <command>pricing.calculate()</command> injiziert, wenn er aufgerufen wird. Im obigen
+                Beispiel wird vom Client nur das Argument <code>$purchaseId</code> erwartet.
+            </para>
+        </example>
+
+        <example id="zend.xmlrpc.server.use.attach-class-with-arguments-constructor">
+            <title>Argumente nur dem Constructor übergeben</title>
+
+            <para>
+                <classname>Zend_XmlRpc_Server</classname> erlaubt es die Übergabe von Argumenten nur
+                für den Constructor zu limitieren. Das kann für Dependency Injection beim
+                Constructor verwendet werden. Um die Injektion auf Constructoren zu begrenzen muss
+                <methodname>sendArgumentsToAllMethods</methodname> aufgerufen und
+                <code>false</code> als Argument übergeben werden. Dies deaktiviert das
+                Standardverhalten mit dem alle Argumente in die entfernte Methode injiziert werden.
+                Im nächsten Beispiel werden die Instanzen von
+                <classname>ProductRepository</classname> und
+                <classname>PurchaseRepository</classname> nur in dem Constructor von
+                <classname>Services_PricingService2</classname> injiziert.
+            </para>
+
+            <programlisting language="php"><![CDATA[
+class Services_PricingService2
+{
+    /**
+     * @param ProductRepository $productRepository
+     * @param PurchaseRepository $purchaseRepository
+     */
+    public function __construct(ProductRepository $productRepository,
+                                PurchaseRepository $purchaseRepository)
+    {
+        ...
+    }
+
+    /**
+     * Calculate current price of product with $productId
+     *
+     * @param integer $productId
+     * @return double
+     */
+    public function calculate($productId)
+    {
+        ...
+    }
+}
+
+$server = new Zend_XmlRpc_Server();
+$server->sendArgumentsToAllMethods(false);
+$server->setClass('Services_PricingService2', 'pricing', new ProductRepository(), new PurchaseRepository());
+]]></programlisting>
+        </example>
+
+        <example id="zend.xmlrpc.server.use.attach-instance">
+            <title>Die Instanz einer Klasse anhängen</title>
 
-        <sect3 id="zend.xmlrpc.server.use.case3">
+            <para>
+                <methodname>setClass()</methodname> erlaubt es ein vorher instanziertes Objekt beim
+                Server zu registrieren. Man muss nur die Instanz statt dem Namen der Klasse
+                übergeben. Natürlich ist die Übergabe von Argumenten an den Constructor bei vorher
+                instanzierten Objekten nicht möglich.
+            </para>
+        </example>
+
+        <example id="zend.xmlrpc.server.use.attach-several-classes-namespaces">
             <title>Mehrere Klassen unter der Nutzung von Namensräumen hinzufügen</title>
 
             <para>
@@ -392,9 +542,9 @@ $server->setClass('Services_Brush', 'brush');
 $server->setClass('Services_Pick', 'pick');
 echo $server->handle();
 ]]></programlisting>
-        </sect3>
+        </example>
 
-        <sect3 id="zend.xmlrpc.server.use.case4">
+        <example id="zend.xmlrpc.server.use.example-faults">
             <title>Bestimmen von Exceptions als valide Fehler-Antwort</title>
 
             <para>
@@ -424,10 +574,21 @@ $server->setClass('Services_Brush', 'brush');
 $server->setClass('Services_Pick', 'pick');
 echo $server->handle();
 ]]></programlisting>
-        </sect3>
+        </example>
 
-        <sect3 id="zend.xmlrpc.server.use.case5">
-            <title>Nutzen eines eigenen Anfrage-Objekts</title>
+        <title>Utilizing custom request and response objects</title>
+
+        <example id="zend.xmlrpc.server.use.custom-request-object">
+
+            <para>
+                 Einige Anwendungsfälle verlangen die Verwendung eines eigenen Request Objektes.
+                 Zum Beispiel ist <acronym>XML/RPC</acronym> nicht an <acronym>HTTP</acronym> als
+                 Übertragungsprotokoll gebunden. Es ist möglich auch andere Übertragungsprotokolle
+                 wie <acronym>SSH</acronym> oder Telnet zu verwenden um Anfrage und Antwort Daten
+                 über den Draht zu senden. Ein anderer Anwendungsfall ist die Authentifizierung
+                 und Authorisierung. Im Falle eines anderen Übertragungsprotokolls muss die
+                 Implementation geändert werden damit Anfrage Daten gelesen werden können.
+            </para>
 
             <para>
                 Im folgenden Beispiel wird ein eigenes Anfrage-Objekt instanziert
@@ -460,10 +621,9 @@ $request = new Services_Request();
 
 echo $server->handle($request);
 ]]></programlisting>
-        </sect3>
+        </example>
 
-        <sect3 id="zend.xmlrpc.server.use.case6">
-            <title>Nutzen eigener Antwort-Objekte</title>
+        <example id="zend.xmlrpc.server.use.custom-response-object">
 
             <para>
                 Das nachstehende Beispiel zeigt, wie man eine eigene Antwort-Klasse
@@ -500,9 +660,14 @@ $server->setResponseClass('Services_Response');
 
 echo $server->handle($request);
 ]]></programlisting>
-        </sect3>
+        </example>
+    </sect2>
+
+    <sect2 id="zend.xmlrpc.server.performance">
 
-        <sect3 id="zend.xmlrpc.server.use.case7">
+        <title>Performance Optimierung</title>
+
+        <example id="zend.xmlrpc.server.performance.caching">
             <title>Zwischenspeichern von Serverdefinition zwischen den Anfragen</title>
 
             <para>
@@ -543,7 +708,56 @@ $server->setResponseClass('Services_Response');
 
 echo $server->handle($request);
 ]]></programlisting>
-        </sect3>
+
+            <note>
+                Die Datei des Server Caches sollte ausserhalb des Document Roots platziert werden.
+            </note>
+        </example>
+
+        <example id="zend.xmlrpc.server.performance.xmlgen">
+            <title>Optimizing XML generation</title>
+
+            <para>
+                <classname>Zend_XmlRpc_Server</classname> verwendet
+                <classname>DOMDocument</classname> der <acronym>PHP</acronym> Erweiterung
+                <code>ext/dom</code> um seine <acronym>XML</acronym> Ausgaben zu erstellen. Wärend
+                <code>ext/dom</code> auf vielen Hosts vorhanden ist, ist es nicht wirklich das
+                schnellste. Benchmarks haben gezeigt das <classname>XMLWriter</classname> von
+                <code>ext/xmlwriter</code> schneller ist.
+            </para>
+
+            <para>
+                Wenn <code>ext/xmlwriter</code> auf dem eigenen Host vorhanden ist, kann ein
+                <classname>XMLWriter</classname>-basierter Generator ausgewählt werden um die
+                Performance Unterschiede auszunutzen.
+            </para>
+
+            <programlisting language="php"><![CDATA[
+<?php
+require_once 'Zend/XmlRpc/Server.php';
+require_once 'Zend/XmlRpc/Generator/XMLWriter.php';
+
+Zend_XmlRpc_Value::setGenerator(new Zend_XmlRpc_Generator_XMLWriter());
+
+$server = new Zend_XmlRpc_Server();
+...
+]]></programlisting>
+
+            <note>
+                Performance wird durch eine Vielzahl an Parametern und Benchmarks ermittelt welche
+                nur für den speziellen Testfall angewendet werden. Unterschiede basieren auf der PHP
+                Version, installierten Erweiterungen, dem Webserver und dem Betriebssystem um nur
+                einige zu nennen. Man sollte darauf achten das man die eigene Anwendung selbst
+                benchmarkt und anschließend auswählt welchen Generator man verwendet, aber basierend
+                auf <emphasis>eigenen</emphasis> Zahlen.
+            </note>
+
+            <note>
+                Diese Optimierung macht auch für die Client Seite Sinn. Man muss den alternativen
+                <acronym>XML</acronym> Generator nur auswählen bevor man irgendeine Arbeit mit
+                <classname>Zend_XmlRpc_Client</classname> durchführt.
+            </note>
+        </example>
     </sect2>
 </sect1>
 <!--